Diskussion zum Artikel "Die Wechselwirkung zwischen MеtaTrader 4 und der MATLAB Engine (Virtual MATLAB Maschine)"

 

Neuer Artikel Die Wechselwirkung zwischen MеtaTrader 4 und der MATLAB Engine (Virtual MATLAB Maschine) :

Der Artikel enthält Überlegungen hinsichtlich der Errichtung einer DLL-Bibliothek - eines "Wrapper", der die Wechselwirkung zwischen MetaTrader 4 und dem mathematischen Desktop-Paket MATLAB ermöglicht. Er beschreibt "Fallen" und die Wege, um sie zu überwinden. Der Artikel ist für erfahrene C/C++ Programmierer vorgesehen, die den Borland C++ Builder 6 Compiler verwenden.

MetaTrader 4 und das mathematische Paket MATLAB haben aufgrund ihrer positiven Eigenschaften wie zum Beispiel die "Flexibilität" bei der Erstellung komplexer Berechnungssysteme, bei den Benutzern stark an Popularität gewonnen. Es gibt drei Möglichkeiten, um eine Verbindung ziwschen MATLAB und externen Anwendungen herzustellen, aber nur eine von ihnen wird empfohlen - und zwar die Verwendung der virtuellen Desktop MATLAB Engine. Diese Methode garantiert die vollständige Kompatibilität mit dem gesamten MATLAB-Paket. Viele Programmierer vermeiden diese Methode aus den folgenden Gründen:

  • Viele Benutzer finden sie langsam. Dies stimmt, wenn man die Methode mit dem direkten Funktionsaufruf aus den DLL-Bibliotheken von MATLAB vergleicht. Die größte Verzögerung erfolgt zu Beginn der Operation, wenn der virtuelle Computer aufgerufen wird. Der Grund dafür ist das Aufrufen zahlreicher Bibliotheken, die in den virtuellen Raum des aufrufenden Prozesses hochgeladen werden (in unserem Fall MetaTrader 4).
  • Die Übertragbarkeit des Projekts. Es stimmt, wenn ein Projekt auf einen anderen Computer übertragen wird, dann müssen auch alle MATLAB DLL Bibliotheken übertragen werden, selbst wenn ein direkter Aufruf verwendet wird, um die "Beziehungen" der letzteren zu kennen, das heißt Beginn der Warteschlange!
  • Kenntnisse in C++ oder Fortran werden vorausgesetzt. Nun, wenn Sie MQL4 kennen, können Sie ganz einfach C++ erlernen und andersrum verhält es sich genauso.

Warum ich diese Methode empfehle:

  1. Dies ist die zuverlässigste und unabhängigste Methode der MATLAB Version hinsichtlich einer Verbindung mit externen Programmen. Sie können die MATLAB Version ändern und Ihre Indikatoren oder Expert Advisors werden keine Notiz davon nehmen. Dies ist der wichtigste Vorteil.
  2. Sie hat eine relativ schnelle Entwicklungsmethode. Sie benötigt keine Debugger und das Schreiben des DLL-Wrapper wird keine Schwierigkeiten bereiten.
  3. "Gemeinsamer Desktop" für mehrere Indikatoren und/oder Expert Advisors. Ich betrachte diese Methode als hilfreich, wenn wir eine Entscheidung anhand von Daten mehrerer Indikatoren treffen müssen oder bei der Umsetzung eines Pyramiden-Trades.

Dieser Artikel beschreibt die Möglichkeit, über einen "DLL-Wrapper", der im Borland C++ Builder 6 geschrieben wurde, eine Verbindung zwischen MetaTrader 4 und MATLAB Version 7.4.0 (R2007a) herzustellen. Programmierer, die Microsoft-Produkte bevorzugen, müssen die Beispiele ihrem Compiler anpassen (viel Glück bei dieser komplizierten Angelegenheit!).

Autor: Andrey Emelyanov