Mira cómo descargar robots gratis
¡Búscanos en Facebook!
Pon "Me gusta" y sigue las noticias
¿Es interesante este script?
Deje un enlace a él, ¡qué los demás también lo valoren!
¿Le ha gustado el script?
Evalúe su trabajo en el terminal MetaTrader 5
Librerías

Funciones Statistics.mqh - librería para MetaTrader 5

Visualizaciones:
1779
Ranking:
(44)
Publicado:
2014.01.14 12:47
Actualizado:
2016.11.22 07:33
\MQL5\Include\
statistics.mqh (27.16 KB) ver
\MQL5\Scripts\
test.mq5 (1.64 KB) ver
¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa

Esta biblioteca contiene un conjunto de funciones estadísticas básicas necesarias para el procesamiento de datos de usuario.

Esta biblioteca fue publicada por primera vez en CodeBase de MQL4 - biblioteca de funciones Statistica.mqh. Algunos errores se han detectado y corregido durante la transferencia de las funciones a MQL5. El código se ha vuelto más intuitivamente claro. La mayoría de las funciones se han escrito utilizando los algoritmos del libro "Estadísticas para los traders" de S.Bulashov.

Las funciones de la biblioteca son los siguientes:

FunciónDescripción
 Mediana Cálculo de la Mediana
 Mediana50 Cálculo de la Mediana en el rango intercuartílico del 50%
 Average Cálculo de la media aritmética de la muestra
 Average50 Cálculo de la media aritmética de la muestra en el rango intercuartílico del 50%
 SweepCenter Cálculo del centro Sweep
 AverageOfEvaluations Cálculo de la mediana de las cinco evaluaciones anteriores
 Variance Cálculo de la varianza de la muestra
 ThirdCentralMoment Cálculo del tercer momento centrado
 FourthCentralMoment Cálculo del cuarto momento centrado
 Asymmetry Cálculo de la asimetría de la muestra
 Excess Cálculo de la curtosis de la muestra
 Excess2 Otro método para el cálculo de la curtosis de la muestra
 Gamma Cálculo de la función gamma de Euler, x>0.
 GammaStirling Cálculo del valor de la función gamma de Euler, para x>33 (aproximación de Stirling).
 VarianceOfSampleVariance Cálculo de la varianza de la varianza de una muestra
 VarianceOfStandartDeviation Cálculo de la varianza de una desviación típica
 VarianceOfAsymmetry Cálculo de la varianza de la asimetría de la muestra
 VarianceOfExcess Cálculo de la varianza de la curtosis de la muestra
 VarianceOfAverage Cálculo de la varianza de la media de la muestra
 Log Cálculo del Logaritmo
 CensorCoeff Cálculo del ratio de censura
 HistogramLength Cálculo del número óptimo de columnas del histograma
 Resize Cálculo del número óptimo de elementos de la matriz para el histograma
 Histogram Creación del histograma para el fichero *.csv
 Cov Cálculo de la covarianza de la muestra
 Corr Cálculo de la correlación de la muestra
 VarianceOfCorr Cálculo de la varianza de la correlación de la muestra
 AutoCorr Cálculo de la autocorrelación
 AutoCorrFunc Función de cálculo de autocorrelación
 aCoeff Cálculo de la constante a en la ecuación de regresión lineal (y=a*x+b)
 bCoeff Cálculo de la constante b en la ecuación de regresión lineal (y=a*x+b)
 LineRegresErrors Cálculo de los errores de regresión lineal
 eVariance Cálculo de la varianza de los errores de regresión lineal
 aVariance Cálculo de la varianza de la constante a de la regresión lineal
 bVariance Cálculo de la varianza de la constante b de la regresión lineal
 DeterminationCoeff Cálculo del coeficiente de determinación
 ArraySeparate Divide la matriz arr[n][2] en dos matrices
 ArrayUnion Une dos matrices en la matriz de tipo arr[n][2]
 WriteArray Escribe la matriz de una dimensión en el fichero *.csv
 WriteArray2 Escribe la matriz bidimensional en el fichero *.csv


El fichero puede ser incluido en los proyectos que requieren el procesamiento de parámetros de muestras al azar, sus parámetros de evaluación, histogramas, etc.

Vamos a examinar las llamadas a algunas funciones:

//+------------------------------------------------------------------+
//|                                                         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>
//+------------------------------------------------------------------+
//| Función de inicio del programa Script                            |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- especificando dos muestras de valores.
   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};
//--- calculando la media
   double mx=Average(arrX);
   double my=Average(arrY);
//--- usando la media para calcular la varianza
   double dx = Variance(arrX,mx);
   double dy = Variance(arrY,my);
//--- Valor asimetría y curtosis
   double as=Asymmetry(arrX,mx,dx);
   double exc=Excess(arrX,mx,dx);
//--- Valores de covarianza y correlación
   double cov=Cov(arrX,arrY,mx,my);
   double corr=Corr(cov,dx,dy);
//--- escribe los resultados en el fichero de registro
   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);
  }

Como puede observar, la mayoría de las funciones requieren valores (como parámetros de entrada) que pueden calcularse utilizando otras funciones.

Por ejemplo:

double dx = Variance(arrX,mx);

Para calcular la varianza, tenemos que calcular primero la media. Eso le da una cierta ventaja en cuanto a la optimización de los cálculos. En caso de que sea necesario calcular la varianza por varias veces, será mejor calcular la media una vez en lugar de hacerlo en diversas ocasiones dentro de la función. Eso reducirá el tiempo.

Esta característica se aplica a la mayoría de las funciones de la biblioteca.

Traducción del ruso realizada por MetaQuotes Ltd
Artículo original: https://www.mql5.com/ru/code/866

Percentage of Trend Percentage of Trend

Este indicador se utiliza para el cálculo de la tendencia.

ColorChart ColorChart

Sencillo script para modificar aleatoriamente los colores de su gráfico. ¡Basta con hacer clic y ver los resultados!

Activa Descripción de Objetos Activa Descripción de Objetos

Activa la "Descripción de Objetos del gráfico" para los no programadores. Para cualquier ventana de gráfico abierta.

Precio en Canal de Bollinger Precio en Canal de Bollinger

El indicador traza (en una ventana separada) las Bandas de Bollinger en relación a la media móvil y la proyección de las barras de precios.