Rejoignez notre page de fans
- Vues:
- 34
- Note:
- Publié:
-
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 :
| Fonction | Description de la fonction |
|---|---|
| Mediana | Calcul de Mediana |
| Mediana50 | Calcul de la médiane par l'intervalle interquantile de 50%. |
| Moyenne | Calcul de la moyenne arithmétique de l'échantillon |
| Moyenne50 | Calcul de la moyenne arithmétique de l'échantillon par intervalle interquantile de 50%. |
| Centre de balayage | Calcul du centre de balayage |
| AverageOfEvaluations | Calcul de la moyenne des cinq premières estimations |
| Variance | Calcul de la variance de l'échantillon |
| TroisièmeMomentCentral | Calcul du 3èmecentre central |
| QuatrièmeMomentCentral | Calcul du quatrième moment central |
| Asymétrie | Calcul de l'asymétrie de l'échantillon |
| Excès | Calcul de l'excès de l'échantillon |
| Excès2 | Calcul de l'excès d'échantillonnage d'une autre manière |
| Gamma | Calcul de la fonction Gamma d'Euler, x>0. |
| GammaStirling | Calcul de la valeur de la fonction Gamma d'Euler, pour x>33 (formule de Stirling). |
| Variance de la variance de l'échantillon | Calcul de la variance de la variance de l'échantillon |
| VarianceOfStandartDeviation | Calcul de la variance de l'écart-type de l'écart quadratique moyen |
| VarianceOfAsymmetry | Calcul de la variance de l'asymétrie de l'échantillon |
| VarianceOfExcess | Calcul de la variance de l'excès de l'échantillon |
| VarianceOfAverage | Calcul de la variance de l'espérance mathématique de l'échantillon |
| Logarithme | Calcul du logarithme |
| CensorCoeff | Calcul du coefficient de censure |
| HistogramLength | Calcul du nombre optimal de colonnes pour un histogramme |
| Resize | Calcul du nombre optimal d'éléments du tableau pour l'histogramme |
| Histogramme | Construction d'un histogramme dans un fichier *.csv |
| Cov | Calcul de la covariance de l'échantillon |
| Corr | Calcul de la corrélation de l'échantillon |
| VarianceOfCorr | Calcul de la variance de la corrélation de l'échantillon |
| AutoCorr | Calcul de l'AutoCorr |
| AutoCorrFunc | Calcul de la fonction d'autocorrélation |
| aCoeff | Calcul du coefficient a dans l'équation de régression linéaire (y=a*x+b) |
| bCoeff | Calcul du coefficient b dans l'équation de régression linéaire (y=a*x+b) |
| LineRegresErrors | Calcul des erreurs de régression linéaire |
| eVariance | Calcul de la variance des erreurs de régression linéaire |
| aVariance | Calcul de la variance du paramètre a de la régression linéaire |
| bVariance | Calcul de la variance du paramètre de régression linéaire b |
| Coefficient de détermination | Calcul du coefficient de détermination |
| ArraySeparate | Séparation du tableau arr[n][2] en deux tableaux |
| ArrayUnion | Combinaison 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
Enveloppes de moyennes mobiles.
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
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
Travailler avec les données du clavier