無料でロボットをダウンロードする方法を見る

興味深いスクリプト?
それではリンクにそれを投稿してください。-
他の人にそれをレーティングしてもらいます

記事を気に入りましたか?MetaTrader 5ターミナルの中でそれを試してみてください。

ライブラリ

Statistics.mqh 関数 - MetaTrader 5のためのライブラリ

QSer29 | Japanese English Русский 中文 Español Deutsch Português

ビュー:
745
レーティング:
投票: 39
パブリッシュされた:
2016.06.10 13:20
アップデートされた:
2016.11.22 07:34
\MQL5\Include\\MQL5\Scripts\

このライブラリは、ユーザデータ処理に必要な基本的な統計関数のセットを含んでいます。

このライブラリは最初にMQL4コードベースでStatistica.mqh関数ライブラリとして発表されました。いくつかのタイプミスが検出されましたが、MQL5への関数の変換中に修正されました。コードは、より直感的に明らかになってきました。ほとんどの関数は、S Bulashov著作の「Statistics for traders8(トレーダーの統計)」のアルゴリズムを使用して書かれています。

ライブラリ関数は下記の通りです。

関数説明
 Mediana 中央値の算出
 Mediana50 50%の四分位範囲による中央値の算出
 Average 標本算術平均値演算
 Average50 50%の四分位範囲による標本算術平均値演算
 SweepCenter スイープ中心算出
 AverageOfEvaluations 上位5評価の平均値の算出
 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 線形回帰式 (y=a*x+b)の比の算出
 bCoeff 線形回帰式 (y=a*x+b)におけるb比の算出
 LineRegresErrors 線形回帰誤差の算出
 eVariance 線形回帰誤差分散の算出
 aVariance 線形回帰をパラメータ分散の算出
 bVariance 線形回帰bパラメータ変動の算出
 DeterminationCoeff 決意率算出
 ArraySeparate arr[n][2]配列の2配列への分割
 ArrayUnion 2配列のarr[n][2] 型配列への結合
 WriteArray 1次元配列の*.csvファイルへの書き込み
 WriteArray2 2次元配列の*.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>
//+------------------------------------------------------------------+
//| スクリプトプログラム開始関数                                    |
//+------------------------------------------------------------------+
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ライブラリ EAX_Mysql - MySQLライブラリ

このライブラリはMySQLと容易にインタフェースすることができます。

ボリンジャーチャネルの価格 ボリンジャーチャネルの価格

この指標は、(別のウィンドウで)移動平均線と価格バーの投影に相対するボリンジャーバンドを描画します。

オブジェクト説明アクティベーター オブジェクト説明アクティベーター

非プログラマのために「チャートオブジェクトの説明」を有効にします。開いているすべてのチャートウィンドウのため。

トレンドの割合 トレンドの割合

この指標はトレンドを計算するために使用されます。