Discusión sobre el artículo "Biblioteca de análisis numérico ALGLIB en MQL5"

 

Artículo publicado Biblioteca de análisis numérico ALGLIB en MQL5:

En este artículo, echaremos un vistazo rápido a la biblioteca de análisis numérico ALGLIB 3.19, sus aplicaciones y sus nuevos algoritmos, que pueden mejorar la eficiencia del análisis de datos financieros.

¿Por qué elegir ALGLIB al trabajar con datos financieros?

Estas son las ventajas clave de esta biblioteca:

  • Portabilidad: ALGLIB se compila fácilmente en una amplia variedad de plataformas utilizando diferentes compiladores, lo cual lo hace accesible para desarrolladores con distinto nivel de experiencia.
  • Facilidad de uso: La compatibilidad con múltiples lenguajes de programación nos permite elegir el lenguaje que nos resulte más cómodo, sin necesidad de aprender una nueva sintaxis.
  • Código fuente abierto: ALGLIB es de código abierto y se puede usar bajo los términos de GPL 2+. Esto lo hace accesible tanto para investigaciones científicas como para proyectos comerciales.
  • Soporte a usuarios comerciales: Los usuarios comerciales pueden adquirir una licencia que les ofrezca protección legal al utilizar ALGLIB.

Además, la biblioteca ALGLIB contiene un enorme conjunto de casos de prueba que abarcan al máximo la funcionalidad de los métodos propuestos. Esto nos permitirá realizar pruebas por nosotros mismos y informar sobre cualquier error encontrado a los autores del proyecto. Encontrará información más detallada sobre la biblioteca en el sitio web del proyecto https://www.alglib.net/

Autor: MetaQuotes

 

Siempre me pregunté acerca de "ALgLIB en MQL" - ¿qué tan cerca está de la original y corresponde a ella?

Entender correctamente, lo peor que puede pasar es obtener resultados diferentes utilizando AlgLIB por ejemplo en C / C ++ y en MQL.

 
Maxim Kuznetsov #:

La pregunta sobre "ALgLIB en MQL" siempre ha sido interesante - ¿hasta qué punto se parece al original y se corresponde con él?

Entendido correctamente, lo peor que puede pasar es obtener resultados diferentes usando AlgLIB por ejemplo en C/C++ y en MQL.

Las dos últimas líneas (acerca de los casos de prueba) son sólo acerca de esto - ejecutar, probar y comparar, nadie te detiene.
 
Aleksey Nikolayev #:
Las dos últimas líneas (sobre los casos de prueba) son sólo eso - ejecuta, prueba y compara, nadie te lo impide.

Las dos últimas líneas se refieren a los casos de prueba del AlgLIB original. No hay pruebas en la adaptación a MQL5.

 
Maxim Kuznetsov #:

las dos últimas líneas sobre test-case del AlgLIB original. No hay pruebas en la adaptación MQL5.

Creo que hay algunos. Pero si no los hay, ¿qué te impide reescribir los de mql5?
 
Maxim Kuznetsov #:

las dos últimas líneas sobre test-case del AlgLIB original. No hay pruebas en la adaptación MQL5.

Todos los extensos casos de prueba de Alglib han sido siempre de la primera versión portada de la biblioteca MQL5(octubre de 2012):

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

Ahora son 3.850 kb de pruebas en código fuente y 105.000 líneas de código que cubren casi toda la funcionalidad.

Cualquiera puede compilar las pruebas unitarias TestClasses.mq5 / TestInterfaces.mq5 y ejecutarlas en el terminal.

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

Además de Alglib, hay casos de prueba para otras bibliotecas matemáticas:


 
Colegas, ¿dónde (en qué archivo) puedo ver el número de versión de la biblioteca?
 

Tras la actualización, la red neuronal dejó de funcionar.

Volví a la versión anterior de ALGLIB. Si usted lo necesita - adjunto.

Archivos adjuntos:
Alglib_old.zip  644 kb
 

¡Buenas tardes!

¿Alguien ha podido averiguar cómo utilizar la optimización ISC no lineal?

Aquí hay un ejemplo de Alglib sitio https://www.alglib.net/translator/man/manual.cpp.html#example_lsfit_d_nlf

¿Podríais decirme qué estoy haciendo mal?

//+------------------------------------------------------------------+
//|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)
{
    // esta llamada de retorno calcula f(c,x)=exp(-c0*sqr(x0))
    // donde x es una posición en el eje X y c es un parámetro ajustable
    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;

//
// Ajuste sin pesos
//
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); // ESPERADO: [1.5]
Print(grep.GetIterationsCount());
Print(grep.GetRMSError());
   
  }