記事「MQL5のALGLIB数値解析ライブラリ」についてのディスカッション

 

新しい記事「MQL5のALGLIB数値解析ライブラリ」はパブリッシュされました:

この記事では、ALGLIB3.19数値分析ライブラリ、その応用、金融データ分析の効率を向上させる新しいアルゴリズムについて簡単に説明します。

金融データを扱うときにALGLIBを選択する理由は何でしょうか。

このライブラリの主な利点は次のとおりです。

  • 携帯性:ALGLIBは、さまざまなコンパイラを使用してさまざまなプラットフォーム上で簡単にコンパイルできるため、さまざまな背景を持つ開発者が利用できます。
  • 使いやすさ:複数のプログラミング言語をサポートしているため、新しい構文を学習することなく、最も使いやすい言語を選択できます。
  • オープンソース:ALGLIBはオープンソースであり、GPL2+条件に基づいて使用できます。これにより、科学研究と商業プロジェクトの両方でアクセスできるようになります。
  • 商用ユーザーのサポート:商用ユーザーは、ALGLIBの使用時に法的保護を提供するライセンスを購入できます。

さらに、ライブラリには、提案されたメソッドの機能の主要部分をカバーするテストケースの大規模なコレクションが含まれています。これにより、テストを実行し、検出されたエラーをプロジェクトの作成者に報告できるようになります。ライブラリについて詳しくは、プロジェクトWebサイトhttps://www.alglib.net/を参照してください。

作者: MetaQuotes

 

ALgLIB in MQL "についていつも不思議に思っていたのですが、どの程度オリジナルに近く、それに対応しているのでしょうか?

正しく理解すれば、例えばC/C++とMQLでAlgLIBを使って異なる結果を得ることは最悪の事態です。

 
Maxim Kuznetsov #:

MQLのALgLIB」についての疑問はいつも興味深い。

正しく理解すれば、例えばC/C++でAlgLIBを使った場合とMQLで使った場合で異なる結果が得られるという最悪の事態が起こり得る。

最後の2行(テストケースについて)は、まさにこれに関するものだ。
 
Aleksey Nikolayev #:
最後の2行(テストケースについて)は、実行、テスト、比較、誰もあなたを止めない。

最後の2行は、オリジナルのAlgLIBのテストケースについてです。MQL5の適応にはテストはない。

 
Maxim Kuznetsov #:

最後の2行は、オリジナルのAlgLIBのテストケースについてです。MQL5の適応にはテストがない。

いくつかあると 思います。しかし、もしテストがないのであれば、MQL5にあるものを書き直せないのですか?
 

視野を広げるためのリンクをいくつか。

<img width="640" height="480" src="https://c.mql5.com/3/419/3676818984909.png" loading="lazy" alt style="vertical-align:middle;"/ translate="no">

 
Maxim Kuznetsov #:

最後の2行は、オリジナルのAlgLIBのテストケースについてです。MQL5の適応にはテストがない。

Alglibのテストケースはすべて、MQL5ライブラリの最初の移植版(2012年10月)のものです:

\MQL5\Scripts\UnitTests\Alglib\
                               TestClasses.mq5
                               TestInterfaces.mq5
                               TestClasses.mqh
                               TestInterfaces.mqh

現在、ソースコードのテストは3,850kb、ほぼすべての機能をカバーするコードは105,000行になります。

誰でもユニットテストTestClasses.mq5 / TestInterfaces.mq5をコンパイルし、ターミナルで実行することができます。

Библиотеки: ALGLIB - библиотека численного анализа - Хорошая библиотека численного анализа MetaQuotes.
Библиотеки: ALGLIB - библиотека численного анализа - Хорошая библиотека численного анализа MetaQuotes.
  • 2012.10.12
  • www.mql5.com
ALGLIB - библиотека численного анализа MetaQuotes. Библиотека ALGLIB - крайне нужный инструмент исследователя и строителя торговых систем. Хотелось бы увидеть развернутую документацию по использованию функционала библиотеки и несколько статей на эту тему
 

Alglibに加えて、他の数学ライブラリのテストケースもある:


 
同僚の皆さん、ライブラリのバージョン番号はどこで(どのファイルで)確認できますか?
 

アップデート後、ニューラルネットワークが機能しなくなった。

古いバージョンのALGLIBにロールバックしました。必要であれば、添付してください。

ファイル:
Alglib_old.zip  644 kb
 

こんにちは!

どなたか非線形ISC最適化の使い方をご存じですか?

Alglibのサイトhttps://www.alglib.net/translator/man/manual.cpp.html#example_lsfit_d_nlf

何が間違っているのか教えてください。

//+------------------------------------------------------------------+
//|最適。mq5|最適。
//|vp
//|https://www.mql5.com
//+------------------------------------------------------------------+
#property copyright "vp"
#property link      "https://www.mql5.com"
#property version   "1.00"
#include <Math\Alglib\alglib.mqh>
 
 void function_cx_1_func(double &c[],double &x[],double &func,CObject &obj)
{
    // このコールバックは f(c,x)=exp(-c0*sqr(x0)) を計算する。
    // ここで、xはX軸上の位置、cは調整可能なパラメータである。
    func = MathExp(-c[0]*MathPow(x[0],2));
}


void OnStart()
  {
int info;
CObject  obj;
vector v = {-1,-0.8,-0.6,-0.4,-0.2,0,0.2,0.4,0.6,0.8,1.0}; 
double y[] = {0.223130, 0.382893, 0.582748, 0.786628, 0.941765, 1.000000, 0.941765, 0.786628, 0.582748, 0.382893, 0.223130};
double c[] = {0.3}; 
CMatrixDouble x;
x.Col(0,v);
double epsx = 0.000001;
int maxits = 0;
double diffstep = 0.0001;

//
// ウェイトなしのフィッティング
//
CLSFitStateShell state;
CAlglib::LSFitCreateF(x,y,c,diffstep,state);
CAlglib::LSFitSetCond(state,epsx,maxits);
CNDimensional_Rep rep;
CNDimensional_PFunc function_cx_1_func;
CAlglib::LSFitFit(state,function_cx_1_func,rep,0,obj);

CLSFitReportShell grep;
CAlglib::LSFitResults(state,info,c,grep); 
 
ArrayPrint(c); // 期待される[1.5]
Print(grep.GetIterationsCount());
Print(grep.GetRMSError());
   
  }