Voir comment télécharger gratuitement des robots de trading
Retrouvez-nous sur Twitter !
Rejoignez notre page de fans
Un script intéressant ?
Poster un lien vers celui-ci -
laisser les autres l'évaluer
Vous avez aimé le script ? Essayez-le dans le terminal MetaTrader 5
Vues:
422
Note:
(53)
Publié:
2022.01.11 12:42
\MQL5\Include\
Besoin d'un robot ou d'un indicateur basé sur ce code ? Commandez-le sur Freelance Aller sur Freelance

La bibliothèque MovingAverages fait partie du package standard du terminal client MetaTrader 5.

La bibliothèque contient des fonctions pour le calcul de différents types de moyennes mobiles. Au total, il y a 8 fonctions qui peuvent être divisées en 2 groupes de fonctions du même type, chacun en contenant 4.

Le premier groupe contient des fonctions qui reçoivent un tableau et renvoient simplement une valeur d'une moyenne mobile à une position spécifiée :

Ces fonctions sont destinées à obtenir la valeur d'une moyenne une fois pour un tableau et ne sont pas optimisées pour des appels multiples. Si vous devez utiliser une fonction de ce groupe dans une boucle (pour calculer les valeurs d'une moyenne et écrire davantage chaque valeur calculée dans un tableau), vous devrez écrire un algorithme optimal.

Le deuxième groupe de fonctions est destiné à remplir le tableau destination par les valeurs d'une moyenne mobile basée sur le tableau des valeurs initiales :

  • SimpleMAOnBuffer() - remplit le tampon du tableau de sortie[] par les valeurs d'une moyenne simple du tableau price[] ;
  • ExponentialMAOnBuffer() - remplit le tampon du tableau de sortie[] par les valeurs d'une moyenne exponentielle du tableau price[] ;
  • SmoothedMAOnBuffer() - remplit le tampon du tableau de sortie[] par les valeurs d'une moyenne lissée du tableau price[] ;
  • LinearWeightedMAOnBuffer() - remplit le tampon du tableau de sortie[] par les valeurs d'une moyenne pondérée linéaire du tableau price[].

Fonctions :

//+------------------------------------------------------------------+
//|                                               MovingAverages.mqh |
//|                        Copyright 2009, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+-------------------------------------------- ---------------------+
#property copyright "2009, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
//+------------------------------------------------------------------+
//| Moyenne mobile simple                                            |
//+------------------------------------------------------------------+
double SimpleMA(const int position,const int period,const  double &price[])
//+------------------------------------------------------------------+
//| Moyenne mobile exponentielle                                     |
//+------------------------------------------------------------------+
double ExponentialMA(const int position,const int period,const  double prev_value,const double &price[])
//+------------------------------------------------------------------+
//| Moyenne mobile lissée                                            |
//+------------------------------------------------------------------+
double SmoothedMA(const int position,const int period,const  double prev_value,const double &price[])
//+------------------------------------------------------------------+
//| Moyenne mobile pondérée linéaire                                 |
//+------------------------------------------------------------------+
double LinearWeightedMA(const int position,const int period,const  double &price[])

//+------------------------------------------------------------------+
//| Moyenne mobile simple sur le tableau des prix                    |
//+------------------------------------------------------------------+
int SimpleMAOnBuffer(const int rates_total,const int prev_calculated,const  int begin,
//+------------------------------------------------------------------+
//| Moyenne mobile exponentielle sur le tableau des prix             |
//+------------------------------------------------------------------+
int ExponentialMAOnBuffer(const int rates_total,const int prev_calculated, const int begin,
const int period,const double& price[],double& buffer[ ])
//+------------------------------------------------------------------+
//| Moyenne mobile lissée sur le tableau des prix                    |
//+------------------------------------------------------------------+
int SmoothedMAOnBuffer(const int rates_total,const int prev_calculated,const  int begin,
const int period,const double& price[],double& buffer[ ])
//+------------------------------------------------------------------+
//| Moyenne mobile pondérée linéaire sur le tableau des prix         |
//+------------------------------------------------------------------+
int LinearWeightedMAOnBuffer(const int rates_total,const int prev_calculated,const  int begin,
const int period,const double& price[],double& buffer[ ])

Exemple :

Pour des exemples d'utilisation, consultez l'article "MQL5 : Créez votre propre indicateur"

Traduit du russe par MetaQuotes Ltd.
Code original : https://www.mql5.com/ru/code/77

Moyenne Exponentielle Triple - Triple Exponential Average (TRIX) Moyenne Exponentielle Triple - Triple Exponential Average (TRIX)

C'est un oscillateur des conditions de surachat/survente du marché. Il peut également être utilisé comme indicateur de Momentum. Le triple lissage est utilisé pour supprimer les composantes cycliques des mouvements de prix avec une période inférieure à celle de la TRIX.

Moyenne Dynamique à Indice Variable - Variable Index Dynamic Average (VIDYA) Moyenne Dynamique à Indice Variable - Variable Index Dynamic Average (VIDYA)

Cet oscillateur mesure le rapport entre la somme des incréments positifs et la somme des incréments négatifs pendant une certaine période.

ErrorDescription ErrorDescription

La bibliothèque contient des fonctions qui renvoient une description des codes d'erreur d'exécution et des codes de retour du serveur de trades.

WININET_TEST WININET_TEST

Voici un exemple simple qui montre comment télécharger une page (fichier) à partir d'Internet en utilisant la bibliothèque wininet.dll.