Ich habe Ihre Anweisungen sorgfältig befolgt, aber ich bin nicht in der Lage, dies mit Matlab 2007b zum Laufen zu bringen. Ich erhalte ständig diese Fehler, wenn ich versuche, Ihre vorgefertigten Beispiele mit dem MT5 Terminal zu verwenden.
2010.08.29 10:33:30 TestMLEngine (EURUSD,H1) Cannot open 'C:\Users\QuantFX\AppData\Roaming\MetaQuotes\Terminal\216E2BD2BB8CE60176A41ADF6AC1C76D\MQL5\Libraries\LibMlEngine.dll' (126)
2010.08.29 10:33:47 TestDllMatlab (EURUSD,H1) Cannot open 'C:\Users\QuantFX\AppData\Roaming\MetaQuotes\Terminal\216E2BD2BB8CE60176A41ADF6AC1C76D\MQL5\Libraries\nnSMA.dll' (126)
Ich weiß nicht so recht, was ich davon halten soll, da ich das im Artikel"How to Exchange Data" erwähnte Projekt bekommen kann:A DLL for MQL5 in 10 Minutes " hier https://www.mql5.com/en/articles/18 gefundene Projekt ohne Probleme zum Laufen zu bringen.
2010.08.29 10:44:16 MQL5DLL_Test (EURUSD,H1) Zugriffsverletzung schreiben auf 0x00000000 in 'C:\Users\QuantFX\AppData\Roaming\MetaQuotes\Terminal\216E2BD2BB8CE60176A41ADF6AC1C76D\MQL5\Libraries\MQL5DLLSamples.dll'
2010.08.29 10:44:16 MQL5DLL_Test (EURUSD,H1) Ersetzen: Eine schnelle braune Katze springt über einen faulen Hund
2010.08.29 10:44:16 MQL5DLL_Test (EURUSD,H1) Array: 0 1 2 3 4 5 6 7 8 9
2010.08.29 10:44:16 MQL5DLL_Test (EURUSD,H1) Zeit 297 msec, int: -752584127 double: 17247836076609
Also das Terminal obvioulsy hat keine Probleme mit Zugriffsverletzungen auf die \Libraries Ordner, und ich bin sicher, dass die Expert Advisor "Optionen" für dll-Importe und Autotrading ermöglichen...Jede Hilfe wäre sehr geschätzt, weil ich durch diese seit dem ersten Lesen dieses Artikels verblüfft gewesen. Vielen Dank im Voraus
- 2010.01.27
- MetaQuotes Software Corp.
- www.mql5.com
Endlich hat es geklappt...Ausgezeichneter Artikel muss ich sagen. Ich bin nicht sehr erfahren mit Visual Studio und ich bin ein Neuling in der Metatrader-Programmierung. Also schien dies eine Herausforderung zu sein mit all den Fehlern, die ich erhielt. Obwohl es auf lange Sicht für alle Versionen von Matlab und Visual Studio sehr einfach ist.Jedem, der seine ersten Versuche unternimmt, Metatrader und Matlab miteinander zu verbinden, schlage ich vor, Folgendes zu tun, um einen Einblick zu gewinnen, falls Sie noch nie mit der Matlab-Engine oder den externen Metatrader-Bibliotheken gearbeitet haben. 1. Erstellen Sie das Projekt, das mit Matlab geliefert wird, in matlabroot\externs\examples\eng_mat\engwindemo.c, indem Sie diesem Artikel folgen. http://www.mathworks.com/support/solutions/en/data/1-78077S/index.html?product=ML&solution=1-78077S Kompilieren Sie es, und sollten Sie Probleme haben, wie fehlende dll-Dateien, verwenden Sie den Dependency Walker, den Sie hier finden http://www.dependencywalker.com/, um herauszufinden, welche fehlenden Dateien in Ihrem C:\Windows\System 32-Ordner platziert werden müssen, damit die von Ihnen verwendete Version der Matlab-Engine funktioniert. Es könnte gut sein, dass Sie am Ende viele Dateien in Ihrem System 32-Ordner platzieren müssen oder die richtigen Stellen kennen, um sie in Ihrem Projekt zu verknüpfen. Obwohl die meisten dll's in Ihrem matlabroot\bin\win (32 oder 64) Ordner zu finden sind. Nachdem Sie die ersten benötigten dll Dateien eingefügt haben, gehen Sie zurück und versuchen Sie Ihr Projekt erneut zu erstellen. Sie werden feststellen, dass Sie nicht alles tun müssen, was der Dependency Walker vorschlägt. Wenn Sie das Projekt kompilieren und ausführen können, sind Sie fast fertig... 2. Erstellen Sie das Projekt, das im Artikel How to Exchange Data: A DLL for MQL5 in 10 Minutes https://www.mql5.com/en/articles/18 vorgeschlagene Projekt. Wenn Sie dieses Projekt zum Laufen bringen, denken Sie daran, dass Sie beim Erstellen des obigen Projekts die beiden Projekte kombinieren. Erinnern Sie sich an alle Schritte, die Sie befolgt haben, und wenn Sie bereit sind, dieses Projekt zu kompilieren, stellen Sie sicher, dass "stdafx.h" der erste #include-Header in DLLUnit.cpp ist und Sie die vorkompilierten Header deaktiviert haben, bevor Sie das Projekt kompilieren. Wenn Sie die obigen Dateien so verwenden, wie sie sind, kann es zu einigen Warnungen kommen, die leicht zu beheben sind, aber das Projekt sollte ohne Probleme funktionieren. Meine zusätzlichen zwei Cent hier mögen wie eine Anleitung für Dummies für dieses Projekt klingen, aber wenn Sie diese Dinge tun, können Sie ein paar Stunden Ihrer Freizeit sparen, wenn Sie dieses Projekt mit einer anderen Version von Matlab bauen oder Visual Studio verwenden müssten.
Prost
Wenn ich mich nicht irre, ist der Typ der Matlab-Matrizen in Tabelle 1 falsch. Es fehlt der Buchstabe u. D.h. für den Bereich von 0 bis 65535 ist z.B. der Typ uint16 zuständig, nicht der Typ int16. Und so weiter...
Klasse | Wertebereich | Konvertierung Funktion |
|---|---|---|
8-Bit-Ganzzahl mit Vorzeichen | -27 bis27-1 | int8 |
Vorzeichenbehaftete 16-Bit-Ganzzahl | -215 bis215-1 | int16 |
Vorzeichenbehaftete 32-Bit-Ganzzahl | -231 bis231-1 | int32 |
64-Bit-Ganzzahl mit Vorzeichen | -263 bis263-1 | int64 |
8-Bit-Ganzzahl ohne Vorzeichen | 0 bis28-1 | uint8 |
16-Bit-Ganzzahl ohne Vorzeichen | 0 bis216-1 | uint16 |
32-Bit-Ganzzahl ohne Vorzeichen | 0 bis232-1 | uint32 |
64-Bit-Ganzzahl ohne Vorzeichen | 0 bis264-1 | uint64 |
Guten Tag, danke für den tollen Artikel, sehr hilfreich!
Es ist jedoch ein Problem aufgetreten. Vielleicht ist es schon jemandem aufgefallen.
Beim Schließen eines Expert Advisors hängt sich MT5 komplett auf, wenn ich ihn schließe. Ich verwende MS Visual Studio2010 + Matlab r2011a.
Was denken Sie, könnte der Grund dafür sein? Vielen Dank im Voraus!
Guten Tag, ich habe alles wie im Artikel beschrieben gemacht, aber beim Ausführen des TestMlEngine-Skripts ist ein Fehler aufgetreten:
2011.12.17 15:55:23 TestMLEngine(EURUSD,H1) Cannot open 'C:\Users\H_F_M\AppData\Roaming\MetaQuotes\Terminal\DEA4AAFB99C996D79821EC8BDBADDC3C\MQL5\Libraries\LibMlEngine.dll' (126)
und dann sofort:
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) Cannot find 'mlxGetSizeOfName' in 'LibMlEngine.dll'
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) Cannot find 'mlxGetLogical' in 'LibMlEngine.dll'
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) Kann 'mlxGetInt' nicht finden in 'LibMlEngine.dll'
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) Kann 'mlxGetDouble' nicht finden in 'LibMlEngine.dll'
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) Cannot find 'mlxInputLogical' in 'LibMlEngine.dll'
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) Cannot find 'mlxInputInt' in 'LibMlEngine.dll'
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) Cannot find 'mlxInputDouble' in 'LibMlEngine.dll'
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) Kann 'mlxInputChar' in 'LibMlEngine.dll' nicht finden
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) Kann 'mlxOpen' in 'LibMlEngine.dll' nicht finden
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) Kann 'mlxClose' in 'LibMlEngine.dll' nicht finden
Irgendwo im Forum habe ich gefunden, dass dies an fehlenden dlls liegt, mit Hilfe von depends.exe habe ich die fehlende dll gefunden, ich habe sie in den gleichen Ordner geworfen, es hat geholfen, aber nicht ganz, jetzt wird sie angezeigt:
2011.12.17 15:57:59 TestMLEngine (EURUSD,H1) Cannot open 'C:\Users\H_F_M\AppData\Roaming\MetaQuotes\Terminal\DEA4AAFB99C996D79821EC8BDBADDC3C\MQL5\Libraries\LibMlEngine.dll' (127).
und die Liste geht weiter mit "Cannot find...". Können Sie mir sagen, was das Problem ist? Ich kämpfe schon seit einer Woche damit...
Ja, ich habe Win7 + Matlab R2011a + VS201.
.
Guten Tag, ich habe alles wie im Artikel beschrieben gemacht, aber beim Ausführen des TestMlEngine-Skripts ist ein Fehler aufgetreten:
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) Cannot open 'C:\Users\H_F_M\AppData\Roaming\MetaQuotes\Terminal\DEA4AAFB99C996D79821EC8BDBADDC3C\MQL5\Libraries\LibMlEngine.dll' (126)
und dann sofort:
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) Cannot find 'mlxGetSizeOfName' in 'LibMlEngine.dll'
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) Cannot find 'mlxGetLogical' in 'LibMlEngine.dll'
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) Kann 'mlxGetInt' nicht finden in 'LibMlEngine.dll'
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) Kann 'mlxGetDouble' nicht finden in 'LibMlEngine.dll'
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) Cannot find 'mlxInputLogical' in 'LibMlEngine.dll'
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) Cannot find 'mlxInputInt' in 'LibMlEngine.dll'
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) Cannot find 'mlxInputDouble' in 'LibMlEngine.dll'
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) Kann 'mlxInputChar' in 'LibMlEngine.dll' nicht finden
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) Kann 'mlxOpen' in 'LibMlEngine.dll' nicht finden
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) Kann 'mlxClose' in 'LibMlEngine.dll' nicht finden
Irgendwo im Forum habe ich gefunden, dass dies an fehlenden dlls liegt, mit Hilfe von depends.exe habe ich die fehlende dll gefunden, ich habe sie in den gleichen Ordner geworfen, es hat geholfen, aber nicht ganz, jetzt wird sie angezeigt:
2011.12.17 15:57:59 TestMLEngine (EURUSD,H1) Cannot open 'C:\Users\H_F_M\AppData\Roaming\MetaQuotes\Terminal\DEA4AAFB99C996D79821EC8BDBADDC3C\MQL5\Libraries\LibMlEngine.dll' (127).
und die Liste geht weiter mit "Cannot find...". Können Sie mir sagen, was das Problem ist? Ich kämpfe schon seit einer Woche damit...
Ja, ich habe Win7 + Matlab R2011a + VS201.
Als ich Matlab installiert habe, war der Systempfad nur "C:\Program Files\MATLAB\R2011b\bin". Ich habe "C:\Programme\MATLAB\R2011b\bin\win32" hinzugefügt. Die Dlls aus dem Matlab-Verzeichnis wurden sichtbar und die Matlab Engine startete. Vorher schrieb ich, dass ich die Dlls nicht sehen konnte.
Guten Tag) Ich habe ein weiteres Problem - aus irgendeinem Grund wird der Katalog "Borland" nicht im Ordner <MATLAB>\extern\lib\win32\ gefunden, obwohl Borland C++ Builder 6 installiert ist. Dementsprechend können auch die Dateien libeng.lib und libmx.lib nicht mit dem Projekt verbunden werden. Far gibt auf den Befehl "implib libeng libeng.lib libeng.dll" folgendes aus:
)
Und der Borland-Ordner war nicht da und ist es immer noch nicht... Kann mir jemand sagen, wie man mit diesem Problem umgehen kann? Oder zumindest diese beiden Dateien werfen?:-)
Im Allgemeinen, bitte helfen, weil ich nicht verstehen, etwas....
Für die Reinheit des Experiments habe ich VMware installiert, wo ich 2 Systeme installiert habe - XP und 7.
Dann installierte ich Matlab R2011b, installierte MCR, installierte den neuesten Build von MT5. Aus dem Archiv, das dem Artikel beigefügt ist, habe ich alle Dateien in Ordnern verteilt, wie es in den Anweisungen im Archiv steht. Ich habe die mq5-Dateien zu ex5 kompiliert (d. h. ich habe die vorhandenen ex5-Dateien im Archiv gelöscht und die neu kompilierten an deren Stelle gesetzt). Ich starte MT5, starte Matlab (ich habe versucht, es nicht zu starten - das Ergebnis ist das gleiche), im Terminal klicke ich auf TestMlEngine, und es gibt mir:
TestMLEngine (EURUSD,H1) 13:44:58 Cannot open 'C:\Users\User\AppData\Roaming\MetaQuotes\Terminal\DEA4AAFB99C996D79821EC8BDBADDC3C\MQL5\Libraries\LibMlEngine.dll' (126)
TestMLEngine (EURUSD,H1) 13:44:58 Cannot find 'mlxClose' in 'LibMlEngine.dll'
TestMLEngine (EURUSD,H1) 13:44:58 Kann 'mlxOpen' nicht finden in 'LibMlEngine.dll'
TestMLEngine (EURUSD,H1) 13:44:58 Kann 'mlxInputChar' nicht finden in 'LibMlEngine.dll'
TestMLEngine (EURUSD,H1) 13:44:58 Kann 'mlxInputDouble' nicht finden in 'LibMlEngine.dll'
TestMLEngine (EURUSD,H1) 13:44:58 Kann 'mlxInputInt' nicht finden in 'LibMlEngine.dll'
TestMLEngine (EURUSD,H1) 13:44:58 Kann 'mlxInputLogical' nicht finden in 'LibMlEngine.dll'
TestMLEngine (EURUSD,H1) 13:44:58 Kann 'mlxGetDouble' nicht finden in 'LibMlEngine.dll'
TestMLEngine (EURUSD,H1) 13:44:58 Kann 'mlxGetInt' nicht finden in 'LibMlEngine.dll'
TestMLEngine (EURUSD,H1) 13:44:58 Kann 'mlxGetLogical' nicht finden in 'LibMlEngine.dll'
TestMLEngine (EURUSD,H1) 13:44:58 Kann 'mlxGetSizeOfName' in 'LibMlEngine.dll' nicht finden.
Ich weiß nicht, was ich tun soll. Ich habe alles ausprobiert, was ich konnte. Ich habe die DLL aus dem Artikel "How to write a DLL library for MQL5 and exchange data in 10 minutes?"(https://www.mql5.com/ru/articles/18)- sie funktioniert ohne Probleme.
Kann mir jemand sagen, wie ich sonst noch an sie herankomme? Was mache ich falsch?
Vielen Dank im Voraus.
- 2010.01.27
- MetaQuotes Software Corp.
- www.mql5.com
Bei der Installation von Matlab war der Systempfad nur "C:C:\Programmdateien\MATLAB\R2011b\bin". Ich habe "C:\Programme\MATLAB\R2011b\bin\win32" hinzugefügt. Die Dlls aus dem Matlab-Verzeichnis wurden sichtbar und die Matlab Engine startete. Davor schrieb ich, dass ich die Dlls nicht sehen konnte.
Wenn Sie die Umgebungsvariable Path meinen, habe ich "C:\Program Files\MATLAB\R2011b\bin\win32" hinzugefügt, aber die Situation hat sich nicht geändert :-(
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Neuer Artikel Die Interaktion von MetaTrader 5 und MATLAB :
Autor: Andrey Emelyanov