Guarda come scaricare robot di trading gratuitamente
Ci trovi su Twitter!
Unisciti alla nostra fan page
Script interessante?
Pubblica il link!
lasciare che altri lo valutino
Ti è piaciuto lo script? Provalo nel Terminale MetaTrader 5
Librerie

Funzioni statistiche statistics.mqh - libreria per MetaTrader 5

Visualizzazioni:
35
Valutazioni:
(44)
Pubblicato:
\MQL5\Include\ \MQL5\Scripts\
test.mq5 (1.67 KB) visualizza
Freelance MQL5 Hai bisogno di un robot o indicatore basato su questo codice? Ordinalo su Freelance Vai a Freelance

Questa libreria contiene un insieme di funzioni statistiche di base necessarie per l'elaborazione dei dati degli utenti.

La libreria è stata pubblicata per la prima volta in CodeBase in MQL4 - Library of Statistical Functions Statistica.mqh. Nel processo di traduzione delle funzioni in MQL5, sono stati trovati e corretti alcuni errori di battitura. Il codice è diventato più intuitivo. La maggior parte delle funzioni si basa sugli algoritmi del libro "Statistics for Traders" di S. Bulashev.

Funzioni contenute nella libreria:

FunzioneDescrizione
MedianaCalcolo di Mediana
Mediana50Calcolo della mediana in base all'intervallo interquantile del 50%.
MediaCalcolo della media aritmetica del campione
Media50Calcolo della media aritmetica del campione con un intervallo interquantile del 50%.
Centro dello sweepCalcolo del centro dello sweep
Media delle valutazioniCalcolo della media delle prime cinque stime
VarianzaCalcolo della varianza del campione
TerzoMomentoCentraleCalcolo del 3°MomentoCentrale
QuartoMomentoCentraleCalcolo del 4° momento centrale
AsimmetriaCalcolo dell'asimmetria del campione
EccessoCalcolo dell'eccesso del campione
Eccesso2Calcolo dell'eccesso di campione in un altro modo
GammaCalcolo della funzione Gamma di Eulero, x>0.
GammaStirlingCalcolo del valore della funzione Gamma di Eulero, per x>33 (formula di Stirling).
Varianza della varianza del campioneCalcolo della varianza del campione
Varianza della deviazione inizialeCalcolo della varianza della deviazione standard dello scarto quadratico medio
Varianza dell'asimmetriaCalcolo della varianza dell'asimmetria del campione
Varianza dell'eccessoCalcolo della varianza dell'eccesso del campione
Varianza della mediaCalcolo della varianza dell'aspettativa matematica del campione
LogCalcolo del logaritmo
Coefficiente di censuraCalcolo del coefficiente di censura
Lunghezza istogrammaCalcolo del numero ottimale di colonne per l'istogramma
RidimensionaCalcolo del numero ottimale di elementi dell'array per l'istogramma
IstogrammaCreazione dell'istogramma in un file *.csv
CovCalcolo della covarianza del campione
CorrCalcolo della correlazione del campione
VarianzaOfCorrCalcola la varianza della correlazione del campione
AutoCorrCalcolo dell'AutoCorr
AutoCorrFuncCalcolo della funzione di autocorrelazione
aCoeffCalcolo del coefficiente a nell'equazione di regressione lineare (y=a*x+b)
bCoeffCalcolo del coefficiente b nell'equazione di regressione lineare (y=a*x+b)
Errori di regressione lineareCalcolo degli errori di regressione lineare
eVarianzaCalcolo della varianza degli errori di regressione lineare
aVarianzaCalcolo della varianza del parametro della regressione lineare a
bVarianzaCalcolo della varianza del parametro di regressione lineare b
Coefficiente di determinazioneCalcolo del coefficiente di determinazione
ArraySeparateDivisione dell'array arr[n][2] in due array
ArrayUnionUnione di due array in un array della forma arr[n][2]
ScriviArrayScrittura di un array monodimensionale in un file *.csv
ScriviArray2Scrittura di un array bidimensionale in un file *.csv


Il file può essere incluso in progetti che richiedono l'elaborazione dei parametri di un campione casuale, la stima dei suoi parametri, la costruzione di istogrammi, ecc.

Consideriamo la chiamata di alcune funzioni:

//+------------------------------------------------------------------+
//|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>
//+------------------------------------------------------------------+
//| Funzione di avvio del programma di script|
//+------------------------------------------------------------------+
void OnStart()
  {
//--- impostare due campioni di valori.
   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};
//--- calcolare l'aspettativa matematica
   double mx=Average(arrX);
   double my=Average(arrY);
//--- per calcolare la varianza utilizziamo il valore della matrice di aspettativa
   double dx = Variance(arrX,mx);
   double dy = Variance(arrY,my);
//-- valori di skewness e kurtosis
   double as=Asymmetry(arrX,mx,dx);
   double exc=Excess(arrX,mx,dx);
//--- valori di covarianza e correlazione
   double cov=Cov(arrX,arrY,mx,my);
   double corr=Corr(cov,dx,dy);
//--- risultati in uscita nel file di log
   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);
  }

Come si può notare, la maggior parte delle funzioni richiede come parametri di ingresso alcuni valori che possono essere calcolati con altre funzioni.

Ad esempio:

double dx = Variance(arrX,mx);

Per calcolare la varianza, è necessario calcolare in anticipo l'aspettativa matematica. Dal punto di vista dell'ottimizzazione computazionale, questo ha un suo vantaggio. Se il valore della varianza deve essere calcolato più volte, è meglio calcolare l'aspettativa matematica una volta sola che farlo più volte all'interno della funzione, risparmiando tempo.

Questa caratteristica si applica alla maggior parte delle funzioni di questa libreria.


Tradotto dal russo da MetaQuotes Ltd.
Codice originale https://www.mql5.com/ru/code/866

MA-Env MA-Env

Inviluppi di medie mobili.

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

Classe che consente di accedere all'ora locale della località specificata, alle informazioni sul fuso orario e agli orari della sessione di trading locale.

Prezzo sul canale di Bollinger Prezzo sul canale di Bollinger

L'indicatore disegna le bande di Bolinger relative alla media mobile e alla proiezione delle barre di prezzo in una finestra separata.

Tastiera Tastiera

Lavorare con i dati della tastiera