Diskussion zum Artikel "ALGLIB Bibliothek für numerische Analysen in MQL5"

 

Neuer Artikel ALGLIB Bibliothek für numerische Analysen in MQL5 :

Der Artikel wirft einen kurzen Blick auf die numerische Analysebibliothek ALGLIB 3.19, ihre Anwendungen und neue Algorithmen, die die Effizienz der Finanzdatenanalyse verbessern können.

Warum sollte man sich bei der Arbeit mit Finanzdaten für ALGLIB entscheiden?

Hier sind die wichtigsten Vorteile der Bibliothek:

  • Portabilität: ALGLIB lässt sich auf einer Vielzahl von Plattformen mit einer Vielzahl von Compilern kompilieren, sodass es für Entwickler mit unterschiedlichem Hintergrund zugänglich ist.
  • Nutzerfreundlichkeit: Unterstützung von mehreren Programmiersprachen, sodass Sie die Sprache wählen können, mit der Sie am besten zurechtkommen, ohne eine neue Syntax lernen zu müssen.
  • Open source: ALGLIB ist quelloffen und kann unter den Bedingungen der GPL 2+ verwendet werden. Damit ist es sowohl für die wissenschaftliche Forschung als auch für kommerzielle Projekte zugänglich.
  • Unterstützung für kommerzielle Nutzer: Kommerzielle Nutzer können eine Lizenz erwerben, die ihnen rechtlichen Schutz bei der Nutzung von ALGLIB bietet.

Daneben enthält die Bibliothek eine große Menge von Testdaten, die den Hauptteil der Funktionalität der vorgeschlagenen Methoden abdecken. So können Sie die Tests und erkannte Fehler an die Autoren eines Projekts weiterleiten. Ausführlichere Informationen über die Bibliothek finden Sie auf der Projektwebsite https://www.alglib.net/

Autor: MetaQuotes

 

Ich habe mich immer über "ALgLIB in MQL" gewundert - wie nah ist es am Original und entspricht es diesem?

Verstehen Sie richtig, das Schlimmste, was passieren kann, ist, unterschiedliche Ergebnisse mit AlgLIB zum Beispiel in C/C++ und in MQL zu erhalten.

 
Maxim Kuznetsov #:

Die Frage nach "ALgLIB in MQL" war schon immer interessant - wie nah ist es am Original und entspricht es diesem?

Richtig verstanden, ist das Schlimmste, was passieren kann, unterschiedliche Ergebnisse mit AlgLIB zum Beispiel in C/C++ und in MQL zu erhalten.

In den letzten beiden Zeilen (über Testfälle) geht es genau darum - ausführen, testen und vergleichen, niemand hält Sie davon ab.
 
Aleksey Nikolayev #:
In den letzten beiden Zeilen (über Testfälle) geht es genau darum - ausführen, testen und vergleichen, niemand hält Sie davon ab.

In den letzten beiden Zeilen geht es um Testfälle der ursprünglichen AlgLIB. In der MQL5-Anpassung gibt es keine Tests.

 
Maxim Kuznetsov #:

die letzten beiden Zeilen über Testfälle der ursprünglichen AlgLIB. In der MQL5-Anpassung gibt es keine Tests.

Ich denke, es gibt einige. Aber wenn sie nicht die sind, was hindert Sie daran, die in mql5 neu zu schreiben?
 
Maxim Kuznetsov #:

die letzten beiden Zeilen über Testfälle der ursprünglichen AlgLIB. In der MQL5-Anpassung gibt es keine Tests.

Alle umfangreichen Alglib-Testfälle stammen aus der allerersten portierten Version der MQL5-Bibliothek(Oktober 2012):

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

Jetzt sind es 3.850 kb Tests im Quellcode und 105.000 Zeilen Code, die fast alle Funktionen abdecken.

Jeder kann die Unit-Tests TestClasses.mq5 / TestInterfaces.mq5 kompilieren und sie im Terminal ausführen.

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

Zusätzlich zu Alglib gibt es Testfälle für andere Mathematikbibliotheken:


 
Liebe Kollegen, wo (in welcher Datei) kann ich die Versionsnummer der Bibliothek sehen?
 

Nach der Aktualisierung funktionierte das neuronale Netz nicht mehr.

Ich habe auf die alte Version der ALGLIB zurückgesetzt. Wenn Sie es brauchen - beigefügt.

Dateien:
Alglib_old.zip  644 kb
 

Guten Tag!

Hat jemand herausfinden können, wie man die nicht-lineare ISC-Optimierung einsetzt?

Hier ist ein Beispiel von der Alglib-Seite https://www.alglib.net/translator/man/manual.cpp.html#example_lsfit_d_nlf

Könnten Sie mir bitte sagen, was ich falsch mache?

//+------------------------------------------------------------------+
//|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)
{
    // dieser Callback berechnet f(c,x)=exp(-c0*sqr(x0))
    // wobei x eine Position auf der X-Achse und c ein einstellbarer Parameter ist
    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;

//
// Anpassungen ohne Gewichte
//
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); // ERWARTET: [1.5]
Print(grep.GetIterationsCount());
Print(grep.GetRMSError());
   
  }