Voir comment télécharger gratuitement des robots de trading
Retrouvez-nous sur Telegram !
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
Bibliothèque

Fonctions statistiques statistics.mqh - bibliothèque pour MetaTrader 5

Vues:
34
Note:
(44)
Publié:
\MQL5\Include\ \MQL5\Scripts\
test.mq5 (1.67 KB) afficher
MQL5 Freelance Besoin d'un robot ou d'un indicateur basé sur ce code ? Commandez-le sur Freelance Aller sur Freelance

Cette bibliothèque contient un ensemble de fonctions statistiques de base nécessaires au traitement des données des utilisateurs.

La bibliothèque a été publiée pour la première fois dans CodeBase en MQL4 - Library of Statistical Functions Statistica.mqh. Lors de la traduction des fonctions en MQL5, quelques fautes de frappe ont été trouvées et corrigées. Le code est devenu plus intuitif. La plupart des fonctions sont basées sur des algorithmes du livre "Statistics for Traders" de S. Bulashev.

Fonctions contenues dans la bibliothèque :

FonctionDescription de la fonction
MedianaCalcul de Mediana
Mediana50Calcul de la médiane par l'intervalle interquantile de 50%.
MoyenneCalcul de la moyenne arithmétique de l'échantillon
Moyenne50Calcul de la moyenne arithmétique de l'échantillon par intervalle interquantile de 50%.
Centre de balayageCalcul du centre de balayage
AverageOfEvaluationsCalcul de la moyenne des cinq premières estimations
VarianceCalcul de la variance de l'échantillon
TroisièmeMomentCentralCalcul du 3èmecentre central
QuatrièmeMomentCentralCalcul du quatrième moment central
AsymétrieCalcul de l'asymétrie de l'échantillon
ExcèsCalcul de l'excès de l'échantillon
Excès2Calcul de l'excès d'échantillonnage d'une autre manière
GammaCalcul de la fonction Gamma d'Euler, x>0.
GammaStirlingCalcul de la valeur de la fonction Gamma d'Euler, pour x>33 (formule de Stirling).
Variance de la variance de l'échantillonCalcul de la variance de la variance de l'échantillon
VarianceOfStandartDeviationCalcul de la variance de l'écart-type de l'écart quadratique moyen
VarianceOfAsymmetryCalcul de la variance de l'asymétrie de l'échantillon
VarianceOfExcessCalcul de la variance de l'excès de l'échantillon
VarianceOfAverageCalcul de la variance de l'espérance mathématique de l'échantillon
LogarithmeCalcul du logarithme
CensorCoeffCalcul du coefficient de censure
HistogramLengthCalcul du nombre optimal de colonnes pour un histogramme
ResizeCalcul du nombre optimal d'éléments du tableau pour l'histogramme
HistogrammeConstruction d'un histogramme dans un fichier *.csv
CovCalcul de la covariance de l'échantillon
CorrCalcul de la corrélation de l'échantillon
VarianceOfCorrCalcul de la variance de la corrélation de l'échantillon
AutoCorrCalcul de l'AutoCorr
AutoCorrFuncCalcul de la fonction d'autocorrélation
aCoeffCalcul du coefficient a dans l'équation de régression linéaire (y=a*x+b)
bCoeffCalcul du coefficient b dans l'équation de régression linéaire (y=a*x+b)
LineRegresErrorsCalcul des erreurs de régression linéaire
eVarianceCalcul de la variance des erreurs de régression linéaire
aVarianceCalcul de la variance du paramètre a de la régression linéaire
bVarianceCalcul de la variance du paramètre de régression linéaire b
Coefficient de déterminationCalcul du coefficient de détermination
ArraySeparateSéparation du tableau arr[n][2] en deux tableaux
ArrayUnionCombinaison de deux tableaux en un tableau de la forme arr[n][2]
WriteArrayÉcriture d'un tableau unidimensionnel dans un fichier *.csv
WriteArray2Écriture d'un tableau à deux dimensions dans un fichier *.csv


Le fichier peut être inclus dans des projets qui nécessitent le traitement des paramètres d'un échantillon aléatoire, l'estimation de ses paramètres, la construction d'histogrammes, etc.

Examinons l'appel de quelques fonctions :

//+------------------------------------------------------------------+
//|test.mq5 |
//| Copyright 2012, MetaQuotes Software Corp.
//|http ://www.mql5.com
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"

#include <Statistics.mqh>
//+------------------------------------------------------------------+
//| Fonction de démarrage du programme de script|
//+------------------------------------------------------------------+
void OnStart()
  {
//--- définir deux échantillons de valeurs.
   double arrX[10]={3,4,5,2,3,4,5,6,4,7};
   double arrY[10]={7,4,1,2,1,6,9,2,1,5};
//--- calculer l'espérance mathématique
   double mx=Average(arrX);
   double my=Average(arrY);
//--- pour calculer la variance, nous utilisons la valeur de la matrice d'espérance
   double dx = Variance(arrX,mx);
   double dy = Variance(arrY,my);
//--- valeurs de l'asymétrie et de l'aplatissement
   double as=Asymmetry(arrX,mx,dx);
   double exc=Excess(arrX,mx,dx);
//--- valeurs de covariance et de corrélation
   double cov=Cov(arrX,arrY,mx,my);
   double corr=Corr(cov,dx,dy);
//--- sortie des résultats dans le fichier journal
   PrintFormat("mx=%.6e",mx);
   PrintFormat("my=%.6e",my);
   PrintFormat("dx=%.6e",dx);
   PrintFormat("dy=%.6e",dy);
   PrintFormat("As=%.6e",as);
   PrintFormat("exc=%.6e",exc);
   PrintFormat("cov=%.6e",cov);
   PrintFormat("corr=%.6e",corr);
  }

Comme vous pouvez le constater, la plupart des fonctions requièrent comme paramètres d'entrée des valeurs qui peuvent être calculées à l'aide d'autres fonctions.

Prenons l'exemple de la variance :

double dx = Variance(arrX,mx);

Pour calculer la variance, vous devrez calculer au préalable l'espérance mathématique. Du point de vue de l'optimisation des calculs, cela présente un avantage. Si la valeur de la variance doit être calculée plusieurs fois, il est préférable de calculer l'espérance mathématique une fois plutôt que de le faire plusieurs fois à l'intérieur de la fonction, ce qui permet de gagner du temps.

Cette caractéristique s'applique à la plupart des fonctions de cette bibliothèque.


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

MA-Env MA-Env

Enveloppes de moyennes mobiles.

Local Timezones and Local Session Hours Local Timezones and Local Session Hours

Classe permettant d'accéder à l'heure locale pour le lieu spécifié, ainsi qu'aux informations relatives au fuseau horaire et aux heures de la séance boursière locale.

Prix sur le canal de Bollinger Prix sur le canal de Bollinger

L'indicateur dessine les bandes de Bolinger par rapport à la moyenne mobile et la projection des barres de prix dans une fenêtre séparée.

Clavier Clavier

Travailler avec les données du clavier