Discussion de l'article "Bibliothèque d'analyse numérique ALGLIB en MQL5"

 

Un nouvel article Bibliothèque d'analyse numérique ALGLIB en MQL5 a été publié :

L'article présente rapidement la bibliothèque d'analyse numérique ALGLIB 3.19, ses applications et les nouveaux algorithmes qui peuvent améliorer l'efficacité de l'analyse des données financières.

Pourquoi choisir ALGLIB pour travailler avec des données financières ?

Voici les principaux avantages de la bibliothèque :

  • Portabilité : ALGLIB se compile facilement sur différentes plateformes à l'aide de divers compilateurs, ce qui le rend accessible aux développeurs de tous horizons.
  • Facilité d'utilisation : Prend en charge plusieurs langages de programmation afin que vous puissiez choisir le langage avec lequel vous êtes le plus à l'aise, sans avoir à apprendre une nouvelle syntaxe.
  • Open source : ALGLIB est un logiciel libre et peut être utilisé sous licence GPL 2+. Il est donc accessible à la fois à la recherche scientifique et aux projets commerciaux.
  • Soutien aux utilisateurs commerciaux : Les utilisateurs commerciaux peuvent acheter une licence qui leur assure une protection juridique lors de l'utilisation d'ALGLIB.

La bibliothèque contient de plus une vaste collection de cas de test couvrant la majeure partie des fonctionnalités des méthodes proposées. Cela vous permettra de réaliser les tests et de transmettre les erreurs détectées aux auteurs du projet. Des informations plus détaillées sur la bibliothèque sont disponibles sur le site web du projet https://www.alglib.net/.

Auteur : MetaQuotes

 

Je me suis toujours interrogé sur "ALgLIB in MQL" - dans quelle mesure est-il proche de l'original et y correspond-il ?

Si je comprends bien, la pire chose qui puisse arriver est d'obtenir des résultats différents en utilisant AlgLIB par exemple en C/C++ et en MQL.

 
Maxim Kuznetsov #:

La question de "ALgLIB in MQL" a toujours été intéressante : dans quelle mesure est-elle proche de l'original et y correspond-elle ?

Si l'on comprend bien, la pire chose qui puisse arriver est d'obtenir des résultats différents en utilisant AlgLIB par exemple en C/C++ et en MQL.

Les deux dernières lignes (sur les cas de test) ne sont que des exemples - exécutez, testez et comparez, personne ne vous en empêche.
 
Aleksey Nikolayev #:
Les deux dernières lignes (à propos des cas de test) ne sont rien d'autre que cela - exécutez, testez et comparez, personne ne vous en empêche.

Les deux dernières lignes concernent les cas de test de l'AlgLIB originale. Il n'y a pas de tests dans l'adaptation MQL5.

 
Maxim Kuznetsov #:

les deux dernières lignes concernant les cas de test de l'AlgLIB originale. Il n'y a pas de tests dans l'adaptation MQL5.

Je pense qu'il y en a. Mais si ce ne sont pas eux, qu'est-ce qui vous empêche de réécrire ceux de MQL5 ?
 
Maxim Kuznetsov #:

les deux dernières lignes concernant les cas de test de l'AlgLIB originale. Il n'y a pas de tests dans l'adaptation MQL5.

Tous les cas de test étendus d'Alglib ont toujours été à partir de la toute première version portée de la bibliothèque MQL5(octobre 2012) :

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

Maintenant, c'est 3,850 kb de tests dans le code source et 105,000 lignes de code couvrant presque toutes les fonctionnalités.

Tout le monde peut compiler les tests unitaires TestClasses.mq5 / TestInterfaces.mq5 et les exécuter dans le terminal.

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

En plus d'Alglib, il existe des cas de test pour d'autres bibliothèques mathématiques :


 
Chers collègues, où (dans quel fichier) puis-je trouver le numéro de version de la bibliothèque ?
 

Après la mise à jour, le réseau neuronal a cessé de fonctionner.

Je suis revenu à l'ancienne version d'ALGLIB. Si vous en avez besoin - ci-joint.

Dossiers :
Alglib_old.zip  644 kb
 

Bonjour !

Est-ce que quelqu'un a réussi à comprendre comment utiliser l'optimisation non-linéaire ISC ?

Voici un exemple tiré du site Alglib https://www.alglib.net/translator/man/manual.cpp.html#example_lsfit_d_nlf

Pourriez-vous me dire ce que je fais de travers ?

//+------------------------------------------------------------------+
//|Optim.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)
{
    // ce callback calcule f(c,x)=exp(-c0*sqr(x0))
    // où x est une position sur l'axe X et c est un paramètre réglable
    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;

//
// Ajustement sans poids
//
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); // ATTENDU : [1.5]
Print(grep.GetIterationsCount());
Print(grep.GetRMSError());
   
  }