Accueil Indicateur technique Publication

UltraRSI : L'indicateur incontournable pour MetaTrader 5

Pièce jointe
725.zip (20.73 KB, Télécharger 0 fois)

Auteur :

dm34@mail.ru

L'indicateur UltraRSI est basé sur le RSI (Indice de Force Relative) et analyse plusieurs lignes de signal. Voici comment il fonctionne. Les paramètres d'entrée de l'indicateur sont les suivants :

  • StartLength - valeur initiale minimale de la première ligne de signal ;
  • Step - pas de changement de période ;
  • StepsTotal - nombre total de changements de période.

Chaque valeur de période parmi les lignes de signal est calculée par une progression arithmétique :

SignalPeriod(Number) = StartLength + Number * Step,

où la variable Number varie de zéro à StepsTotal. Les valeurs obtenues sont ajoutées à un tableau de variables et utilisées à chaque tick de l'indicateur pour obtenir une série de valeurs RSI lissées. Les directions de la tendance actuelle pour chaque lissage sont calculées, ainsi que le nombre de tendances positives et négatives pour l'ensemble du tableau des valeurs RSI lissées. Le nombre final de tendances positives et négatives est également lissé et utilisé comme lignes de l'indicateur qui forment un nuage coloré affiché grâce à la classe DRAW_FILLING.

La direction de la tendance dans cet indicateur est déterminée par la couleur du nuage, tandis que sa puissance est définie par la largeur du nuage. Vous pouvez également utiliser les niveaux de surachat (UpLevel) et de survente (DnLevel) qui sont fixés en pourcentage de l'amplitude maximale de l'indicateur.

Vous avez la possibilité de choisir parmi dix algorithmes de lissage :

  1. SMA - moyenne mobile simple ;
  2. EMA - moyenne mobile exponentielle ;
  3. SMMA - moyenne mobile lissée ;
  4. LWMA - moyenne mobile linéaire pondérée ;
  5. JJMA - moyenne adaptative JMA ;
  6. JurX - lissage ultralinéaire ;
  7. ParMA - lissage parabolique ;
  8. T3 - lissage exponentiel multiple de Tillson ;
  9. VIDYA - lissage utilisant l'algorithme de Tushar Chande ;
  10. AMA - lissage selon l'algorithme de Perry Kaufman.

Il est important de noter que les paramètres Phase1 et Phase2 ont des significations complètement différentes selon les algorithmes de lissage. Pour le JMA, c'est une variable externe qui varie de -100 à +100. Pour le T3, c'est un ratio de lissage multiplié par 100 pour une meilleure visualisation, pour le VIDYA c'est une période d'oscillateur CMO et pour l'AMA, c'est une période de EMA lente. Dans d'autres algorithmes, ces paramètres n'affectent pas le lissage. Pour l'AMA, la période de EMA rapide est une valeur fixe égale à 2 par défaut. Le rapport de montée à la puissance est également égal à 2 pour l'AMA.

L'indicateur utilise les classes de la bibliothèque SmoothAlgorithms.mqh (doivent être copiées dans le dossier terminal_data_folder\MQL5\Include). L'utilisation de ces classes est décrite en détail dans l'article "Moyennage des séries de prix pour des calculs intermédiaires sans utiliser de buffers supplémentaires".

Paramètres d'entrée de l'indicateur :

//+----------------------------------------------+
//| Paramètres d'entrée de l'indicateur |
//+----------------------------------------------+
input int RSI_Period=13;                           // Période de l'indicateur RSI
input ENUM_APPLIED_PRICE Applied_price=PRICE_CLOSE; // Prix appliqué
//----
input Smooth_Method W_Method=MODE_JJMA;           // Méthode de lissage
input int StartLength=3;                          // Période de lissage initiale                    
input int WPhase=100;                             // Paramètre de lissage
//----  
input uint Step=5;                               // Pas de changement de période
input uint StepsTotal=10;                        // Nombre de changements de période
//----
input Smooth_Method SmoothMethod=MODE_JJMA;      // Méthode de lissage
input int SmoothLength=3;                        // Profondeur de lissage
input int SmoothPhase=100;                       // Paramètre de lissage
//----                          
input uint UpLevel=80;                           // Niveau de surachat, %%
input uint DnLevel=20;                           // Niveau de survente, %%
input color UpLevelsColor=Blue;                  // Couleur du niveau de surachat
input color DnLevelsColor=Blue;                  // Couleur du niveau de survente
input STYLE Levelstyle=DASH_;               // Style des niveaux
input WIDTH  LevelsWidth=Width_1;               // Largeur des niveaux

UltraRSI


Articles connexes

Commentaire (0)