私たちのファンページに参加してください
- ビュー:
- 1683
- 評価:
- パブリッシュ済み:
- 2016.06.10 13:20
- アップデート済み:
- 2016.11.22 07:34
-
このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動
このライブラリは、ユーザデータ処理に必要な基本的な統計関数のセットを含んでいます。
このライブラリは最初に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 Ltdによってロシア語から翻訳されました。
元のコード: https://www.mql5.com/ru/code/866

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

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

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

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