Скачать MetaTrader 5

Смотри, как бесплатно скачать роботов

Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят

Понравился скрипт?
Оцени его работу в терминале MetaTrader 5

2012.03.30 11:01
Библиотеки

Статистические функции statistics.mqh - библиотека для MetaTrader 5

| Russian English 中文 Español Deutsch 日本語 Português

Просмотров:
2731
Рейтинг:
голосов: 32
\MQL5\Include\\MQL5\Scripts\

Данная библиотека содержит набор базовых статистических функций, необходимых для обработки данных пользователя.

Впервые библиотека была опубликована в CodeBase на MQL4 - Библиотека статистических функций Statistica.mqh. В процессе перевода функций на MQL5 были найдены и исправлены некоторые опечатки. Код стал более интуитивно понятным. Большинство функций написаны по алгоритмам из книги С.Булашева "Статистика для трейдеров".

Функции, которые содержатся в библиотеке:

ФункцияОписание
 Mediana Вычисление медианы
 Mediana50 Вычисление медианы по 50%-ному интерквантильному промежутку
 Average Вычисление выборочного среднего арифметического
 Average50 Вычисление выборочного среднего арифметического по 50%-ному интерквантильному промежутку
 SweepCenter Вычисление центра размаха
 AverageOfEvaluations Вычисление среднего значения пяти верхних оценок
 Variance Вычисление выборочной дисперсии
 ThirdCentralMoment Вычисление 3-го центрального момента
 FourthCentralMoment Вычисление 4-ого центрального момента
 Asymmetry Вычисление выборочной асимметрии
 Excess Вычисление выборочного эксцесса
 Excess2 Вычисление выборочного эксцесса другим способом
 Gamma Вычисление Гамма-функции Эйлера, x>0.
 GammaStirling Вычисление значение Гамма-функции Эйлера, для x>33(Формула Стирлинга)
 VarianceOfSampleVariance Вычисление дисперсии выборочной дисперсии
 VarianceOfStandartDeviation Вычисление дисперсии среднего квадратичного отклонения
 VarianceOfAsymmetry Вычисление дисперсии выборочной асимметрии
 VarianceOfExcess Вычисление дисперсии выборочного эксцесса
 VarianceOfAverage Вычисление дисперсии выборочного математического ожидания
 Log Вычисление логарифма
 CensorCoeff Вычисление коэффициента цензурирования
 HistogramLength Вычисление оптимального числа столбцов для гистограммы
 Resize Вычисление оптимального количества элементов массива для гистограммы
 Histogram Построение гистограммы в *.csv файл
 Cov Вычисление выборочной ковариации
 Corr Вычисление выборочной корреляции
 VarianceOfCorr Вычисление дисперсии выборочной корреляции
 AutoCorr Вычисление автокорреляции
 AutoCorrFunc Вычисление автокорреляционной функции
 aCoeff Вычисление коэффициента a в уравнении линейной регрессии (y=a*x+b)
 bCoeff Вычисление коэффициента b в уравнении линейной регрессии (y=a*x+b)
 LineRegresErrors Вычисление ошибок линейной регрессии
 eVariance Вычисление дисперсии ошибок линейной регрессии
 aVariance Вычисление дисперсии параметра a линейной регрессии
 bVariance Вычисление дисперсии параметра b линейной регрессии
 DeterminationCoeff Вычисление коэффициента детерминации
 ArraySeparate Разделение массива arr[n][2] на два массива
 ArrayUnion Объединение двух массивов в массив вида arr[n][2]
 WriteArray Запись одномерного массива в *.csv файл
 WriteArray2 Запись двумерного массива в *.csv файл


Файл может быть включен в проекты, в которых необходима обработка параметров случайной выборки, оценка ее параметров, построение гистограмм и т.д.

Рассмотрим вызов некоторых функций:

//+------------------------------------------------------------------+
//|                                                         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>
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- зададим две выборки значений.
   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};
//--- вычислим математическое ожидание
   double mx=Average(arrX);
   double my=Average(arrY);
//--- для вычисления дисперсии используем значение мат. ожидания
   double dx = Variance(arrX,mx);
   double dy = Variance(arrY,my);
//--- значения асимметрии и эксцесс
   double as=Asymmetry(arrX,mx,dx);
   double exc=Excess(arrX,mx,dx);
//--- значения ковариации и корреляции
   double cov=Cov(arrX,arrY,mx,my);
   double corr=Corr(cov,dx,dy);
//--- вывод результатов в 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);
  }

Как видно, большинство функций требуют в качестве входных параметров некоторые значения, которые могут быть вычислены с помощью других функций.

Например:

double dx = Variance(arrX,mx);

Для вычисления дисперсии понадобится вычислить заранее математическое ожидание. С точки зрения оптимизации вычислений это дает свое преимущество. Если значение дисперсии нужно вычислить несколько раз, то лучше один раз подсчитать математическое ожидание, чем делать это несколько раз внутри функции, это сэкономит время.

Эта особенность касается большинства функций данной библиотеки.


MA-Env MA-Env

Индикатор Moving Average Envelopes.

CFastFile - класс для работы с байтовым массивом как с файлом CFastFile - класс для работы с байтовым массивом как с файлом

Класс CFastFile избавляет от необходимости промежуточной записи данных в физический файл на диске. Это позволяет получить значительное ускорение при работе с данными.

Price on Bollinger Channel Price on Bollinger Channel

Индикатор рисует полосы Болинджера относительно скользящей средней и проекции ценовых баров в отдельном окне.

Objects Description Activator Objects Description Activator

Этот скрипт позволяет включить отображение описания объектов графика. Может быть полезен для тех, кто не является программистом.