Discussione sull’articolo "Libreria di analisi numerica ALGLIB in MQL5"

 

Il nuovo articolo Libreria di analisi numerica ALGLIB in MQL5 è stato pubblicato:

L'articolo dà una rapida occhiata alla libreria di analisi numerica ALGLIB 3.19, alle sue applicazioni e ai nuovi algoritmi che possono migliorare l'efficienza dell'analisi dei dati finanziari.

Perché scegliere ALGLIB quando si lavora con i dati finanziari?

Ecco i principali vantaggi della libreria:

  • Portabilità: ALGLIB si compila facilmente su una varietà di piattaforme utilizzando una varietà di compilatori, rendendolo accessibile a sviluppatori con background diversi.
  • Facilità d'uso: Supporto per vari linguaggi di programmazione, in modo da poter scegliere il linguaggio con cui ci si sente più a proprio agio, senza dover imparare una nuova sintassi.
  • Codice sorgente aperto: ALGLIB è open source e può essere utilizzato con licenza GPL 2+. Questo lo rende accessibile sia per la ricerca scientifica che per i progetti commerciali.
  • Supporto agli utenti commerciali: Gli utenti commerciali possono acquistare una licenza che fornisce loro una protezione legale quando utilizzano ALGLIB.

Inoltre, la libreria contiene un'ampia raccolta di casi test che coprono la maggior parte delle funzionalità dei metodi proposti.

Autore: MetaQuotes

 

Mi sono sempre chiesto di "ALgLIB in MQL": quanto è vicino all'originale e quanto gli corrisponde?

Per capire bene, la cosa peggiore che può accadere è ottenere risultati diversi utilizzando AlgLIB, ad esempio in C/C++ e in MQL.

 
Maxim Kuznetsov #:

La domanda su "ALgLIB in MQL" è sempre stata interessante: quanto è vicino all'originale e quanto gli corrisponde?

Per capire bene, la cosa peggiore che può accadere è ottenere risultati diversi utilizzando AlgLIB, ad esempio in C/C++ e in MQL.

Le ultime due righe (sui casi di test) si riferiscono proprio a questo: eseguite, testate e confrontate, nessuno vi impedisce di farlo.
 
Aleksey Nikolayev #:
Le ultime due righe (sui test-case) riguardano proprio questo: eseguite, testate e confrontate, nessuno ve lo impedisce.

Le ultime due righe riguardano i test-case dell'AlgLIB originale. Non ci sono test nell'adattamento di MQL5.

 
Maxim Kuznetsov #:

le ultime due righe sui test-case dell'AlgLIB originale. Non ci sono test nell'adattamento di MQL5.

Penso che ce ne siano alcuni. Ma se non sono quelli, cosa impedisce di riscrivere quelli in mql5?
 
Maxim Kuznetsov #:

le ultime due righe sui test-case dell'AlgLIB originale. Non ci sono test nell'adattamento di MQL5.

Tutti i test-case di Alglib sono sempre stati effettuati a partire dalla prima versione della libreria MQL5(ottobre 2012):

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

Ora sono 3.850 kb di test nel codice sorgente e 105.000 linee di codice che coprono quasi tutte le funzionalità.

Chiunque può compilare i test unitari TestClasses.mq5 / TestInterfaces.mq5 ed eseguirli nel terminale.

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

Oltre ad Alglib, sono presenti testcase per altre librerie matematiche:


 
Colleghi, dove (in quale file) posso vedere il numero di versione della libreria?
 

Dopo l'aggiornamento la rete neurale ha smesso di funzionare.

Sono tornato alla vecchia versione di ALGLIB. Se ne avete bisogno - in allegato.

File:
Alglib_old.zip  644 kb
 

Buon pomeriggio!

Qualcuno è riuscito a capire come utilizzare l'ottimizzazione ISC non lineare?

Ecco un esempio tratto dal sito di Alglib https://www.alglib.net/translator/man/manual.cpp.html#example_lsfit_d_nlf.

Potreste dirmi cosa sto sbagliando?

//+------------------------------------------------------------------+
//|Ottimale.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)
{
    // questo callback calcola f(c,x)=exp(-c0*sqr(x0))
    // dove x è una posizione sull'asse X e c è un parametro regolabile
    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;

//
// Fitting senza pesi
//
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); // ATTESA: [1.5]
Print(grep.GetIterationsCount());
Print(grep.GetRMSError());
   
  }