下载MetaTrader 5

请观看如何免费下载自动交易

有趣的脚本?
因此发布一个链接 -
让其他人评价

喜欢这个脚本? 在MetaTrader 5客户端尝试它

程序库

Statistics.mqh 函数 - MetaTrader 5程序库

| Chinese English Русский Español Deutsch 日本語 Português

显示:
1060
等级:
投票: 33
已发布:
2014.01.28 06:50
已更新:
2016.11.22 07:33
\MQL5\Include\\MQL5\Scripts\
test.mq5 (1.64 KB)预览

该库包含一组用户进行数据处理时必要基本统计函数。

该库首次发表在 MQL4 代码库 - Statistica.mqh 函数库。在移植到 MQL5 时, 有些错别字已被检测并校正。代码变得更加直观清晰。许多函数的编程算法, 来自 S. Bulashov 的书 "Statistics for traders (交易者统计)"。

库函数如下:

函数描述
 Mediana 中位数计算
 Mediana50 50%四分位范围的中位数计算
 Average 样本算术平均值计算
 Average50 50%四分位范围的样本算术平均值计算
 SweepCenter 中置计算
 AverageOfEvaluations 计算五个上部评估的平均值
 Variance 样本方差计算
 ThirdCentralMoment 三阶中心矩计算
 FourthCentralMoment 四阶中心矩计算
 Asymmetry 样本非对称计算
 Excess 样本超额计算
 Excess2 另一种样本超额计算方法
  Gamma Euler 的伽玛函数计算, x>0.
 GammaStirling Euler 的伽玛函数值计算, 对于 x>33 (Stirling 的近似)
 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);
//--- 在日志文件中输出值
   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);

为了计算方差, 我们不得不首先计算平均值。这提供了有关计算优化的确定优势。在必须多次计算方差的情况下, 最好是一次找到平均值来代替函数内的多次计算。这将节省时间。

此特性适用于库中的大部分函数。

本文译自 MetaQuotes Software Corp. 撰写的俄文原文
官方代码: https://www.mql5.com/ru/code/866

EAX_Mysql - MySQL library EAX_Mysql - MySQL library

该库是连接 MySQL 的简单接口。

价格在布林通道 价格在布林通道

该指标绘制 (在分离窗口) 相对于均线的布林带以及价格柱线的投影。

对象描述激活器 对象描述激活器

对于非程序员, 允许 "图表对象描述"。任何打开的图表窗口。

趋势百分比 趋势百分比

本指标用来计算趋势。