Dieser Artikel hat mich sehr interressiert. Endlich eine Möglichkeit ein echtes Fenster zu öffnen und alles was man so haben will. Das ganze Beispiel läuft mit der Einschränkung, daß nur die vorgegebenen Dateien funktionsfähig sind. Weiter gibt es Probleme mit "enum GuiEventType", wenn man diesen "enum" nicht selber hinzufügt kompiliert MetaTrader5 das Beispiel erst garnicht. Dem Editor sind die Events nur solange aus der DLL bekannt bis man kompilieren will.
Es wäre sehr schön gewesen, endlich auch echte Oberflächenmöglichkeiten zu haben. Aber leider ist dieses hier nur ein Demo - sehr neiderweckend für mich.
Die allererste Einsatzmöglichkeit für mich wäre eine Anzeige gewesen, da System-Out doch sehr altbacken und unleserlich ist. Aber leider funktioniert das Demo nur mit den kompilierten Varianten. Sobald ich selber die DLL mit Visual kompiliere, startet das Programm mit einem .NET-Fehler. Egal ob Kompilierung auf 3.x- oder 5-.NET gewählt wurde. Meine Vermutung ist, das unser Author nunmal einen speziellen MetaTrader hat, wo sowas läuft- schade.
Ich habe eine C# WinForm-Klasse erstellt, die auf der oben genannten TradingForm basiert. Ich habe einige Funktionen hinzugefügt und sie funktionieren sehr gut.
Derzeit versuche ich, zusätzliche Formular-Elemente über Nuget hinzuzufügen, aber das Formular wird nicht angezeigt, wenn die Libs referenziert und im Code verwendet werden.
Ist es möglich, dies zu tun, oder gibt es eine andere Möglichkeit, mit referenzierten Bibliotheken zu arbeiten?
Grüße. Können Sie mir bitte sagen? Was mache ich falsch? Wenn ich den Expert Advisor einschalte, erscheint das Formular nicht. Keine Fehler im Log.
Hallo! Für welche Version von .NET ist die Bibliothek und die Anwendung mit dem Formular gebaut? MT4 und MT5 unterstützen .NET Core 3 (die jüngeren Versionen habe ich nicht überprüft), .NET 5 und .NET 6 nicht, weder für die Bibliothek noch für die Formularanwendung. Es kann natürlich sein, dass ich mich irre, aber ich habe das Formular auch unter diesen Versionen nicht ausgeführt. Ich konnte es selbst starten, als ich es unter .NET Framework 4.8 erstellte.
Wenn Sie außerdem versuchen, in MT4 zu importieren, müssen Sie den Bibliothekscode dort ein wenig ändern, da es Probleme mit der Übergabe von Parametern per Referenz gibt.
GuiController aus dem Repository heruntergeladen. Installiert Visual Studio 2022, erstellt ein Formular mit einer Schaltfläche, führen Sie es in MetaTrader 5, erhalte ich einen Fehler:
2022.03.16 19:22:44.629 TradeAssistant (EURUSD_i,M5) System.Reflection.TargetInvocationException: Call destination created an exception. ---> System.BadImageFormatException: Es wurde erwartet, dass das Modul ein Assembly-Manifest enthält. (HRESULT-Ausnahme: 0x80131018)
2022.03.16 19:22:44.629 TradeAssistant (EURUSD_i,M5) in System.Reflection.RuntimeAssembly.nLoadFile(String path, Evidence evidence)
2022.03.16 19:22:44.629 TradeAssistant (EURUSD_i,M5) in System.Reflection.Assembly.LoadFile(String path)
2022.03.16 19:22:44.629 TradeAssistant (EURUSD_i,M5) in MtGuiController.GuiController.GetGuiController(String assembly_path, String form_name)
2022.03.16 19:22:44.629 TradeAssistant (EURUSD_i,M5) in MtGuiController.GuiController.ShowForm(String assembly_path, String form_name)
2022.03.16 19:22:44.629 TradeAssistant (EURUSD_i,M5) --- Ende der internen Ausnahme-Stapelverfolgung ---
Nextor Visual Studio 2022, erstellt ein Formular mit einer Schaltfläche, führen Sie es in MetaTrader 5, ich bekomme einen Fehler:
2022.03.16 19:22:44.629 TradeAssistant (EURUSD_i,M5) System.Reflection.TargetInvocationException: Call destination created an exception. ---> System.BadImageFormatException: Es wurde erwartet, dass das Modul ein Assembly-Manifest enthält. (HRESULT-Ausnahme: 0x80131018)
2022.03.16 19:22:44.629 TradeAssistant (EURUSD_i,M5) in System.Reflection.RuntimeAssembly.nLoadFile(String path, Evidence evidence)
Das Ergebnis des Befehls clrver:
PS C:\Entwicklung\Visual Studio Community 2022\C Sharp\GuiMt> clrver
Microsoft (R) .NET CLR Version Tool Version 4.8.3928.0
Copyright (c) Microsoft Corporation, alle Rechte vorbehalten.
Auf dem Rechner installierte Versionen:
v2.0.50727
v4.0.30319
Worauf kann der Fehler zurückzuführen sein?
GuiController ist veraltet und muss neu kompiliert werden.
Seit Oktober 2018 unterstützt MQL5 nativ die Integration mit Net Framwork Bibliotheken
Guten Tag! Könnten Sie mir bitte sagen, wo ich offizielle Informationen über die C#-Unterstützung lesen kann? Ich habe es nicht in der Dokumentation gefunden, es gibt Informationen über die Verbindung von VS, die Verwendung von MT als Compiler, die Arbeit mit Python, aber ich habe keine Informationen über Sharp gesehen. Ich wäre dankbar für einen Link zur offiziellen Dokumentation, um mich mit allen Funktionen vertraut zu machen.
Hallo Vasily und hallo an euch alle. Ich verwende den GuiController, der ein mit Visual Studio C # erstelltes Formular verwendet.
Die Idee war, die Felder der ComboBox mit Daten aus einer SQLite3 DB zu füllen.
Ich habe das gesamte System.Data.SQLite-Paket installiert, aber mit dem GuiController kann ich es nicht zum Laufen bringen.
Kann mir jemand erklären, warum?
Danke
Dieser Artikel hat mich sehr interressiert. Endlich eine Möglichkeit ein echtes Fenster zu öffnen und alles was man so haben will. Das ganze Beispiel läuft mit der Einschränkung, daß nur die vorgegebenen Dateien funktionsfähig sind. Weiter gibt es Probleme mit "enum GuiEventType", wenn man diesen "enum" nicht selber hinzufügt kompiliert MetaTrader5 das Beispiel erst garnicht. Dem Editor sind die Events nur solange aus der DLL bekannt bis man kompilieren will.
Es wäre sehr schön gewesen, endlich auch echte Oberflächenmöglichkeiten zu haben. Aber leider ist dieses hier nur ein Demo - sehr neiderweckend für mich.
Die allererste Einsatzmöglichkeit für mich wäre eine Anzeige gewesen, da System-Out doch sehr altbacken und unleserlich ist. Aber leider funktioniert das Demo nur mit den kompilierten Varianten. Sobald ich selber die DLL mit Visual kompiliere, startet das Programm mit einem .NET-Fehler. Egal ob Kompilierung auf 3.x- oder 5-.NET gewählt wurde. Meine Vermutung ist, das unser Author nunmal einen speziellen MetaTrader hat, wo sowas läuft- schade.
Hallo
Ich frage mich, ob es ein Ereignis gibt, damit der EA aus dem Diagramm entfernt wird, wenn das Formular geschlossen wird.
Muß ich die Bibliothek ändern?
Kann mir jemand helfen?
Ich habe eine C# WinForm-Klasse erstellt, die auf der oben genannten TradingForm basiert. Ich habe einige Funktionen hinzugefügt und sie funktionieren sehr gut.
Derzeit versuche ich, zusätzliche Formular-Elemente über Nuget hinzuzufügen, aber das Formular wird nicht angezeigt, wenn die Libs referenziert und im Code verwendet werden.
Ist es möglich, dies zu tun, oder gibt es eine andere Möglichkeit, mit referenzierten Bibliotheken zu arbeiten?
Vielen Dank im Voraus für einige Hinweise :-)
Können wir diese .Net-App in ein Diagramm einfügen?
Grüße. Können Sie mir bitte sagen? Was mache ich falsch? Wenn ich den Expert Advisor einschalte, erscheint das Formular nicht. Keine Fehler im Log.
Grüße. Können Sie mir bitte sagen? Was mache ich falsch? Wenn ich den Expert Advisor einschalte, erscheint das Formular nicht. Keine Fehler im Log.
Hallo! Für welche Version von .NET ist die Bibliothek und die Anwendung mit dem Formular gebaut? MT4 und MT5 unterstützen .NET Core 3 (die jüngeren Versionen habe ich nicht überprüft), .NET 5 und .NET 6 nicht, weder für die Bibliothek noch für die Formularanwendung.
Es kann natürlich sein, dass ich mich irre, aber ich habe das Formular auch unter diesen Versionen nicht ausgeführt. Ich konnte es selbst starten, als ich es unter .NET Framework 4.8 erstellte.
Wenn Sie außerdem versuchen, in MT4 zu importieren, müssen Sie den Bibliothekscode dort ein wenig ändern, da es Probleme mit der Übergabe von Parametern per Referenz gibt.
Es funktioniert nicht:
GuiController aus dem Repository heruntergeladen. Installiert Visual Studio 2022, erstellt ein Formular mit einer Schaltfläche, führen Sie es in MetaTrader 5, erhalte ich einen Fehler:
Ergebnis des Befehls clrver:
PS C:{Entwicklung\Visual Studio Community 2022\C Sharp\GuiMt> clrver
Microsoft (R) .NET CLR Version Tool Version 4.8.3928.0
Copyright (c) Microsoft Corporation, alle Rechte vorbehalten.
Auf dem Computer installierte Versionen:
v2.0.50727
v4.0.30319
Worauf kann der Fehler zurückzuführen sein?
Das Ergebnis des Befehls clrver:
PS C:\Entwicklung\Visual Studio Community 2022\C Sharp\GuiMt> clrver
Microsoft (R) .NET CLR Version Tool Version 4.8.3928.0
Copyright (c) Microsoft Corporation, alle Rechte vorbehalten.
Auf dem Rechner installierte Versionen:
v2.0.50727
v4.0.30319
Worauf kann der Fehler zurückzuführen sein?
GuiController ist veraltet und muss neu kompiliert werden.
Seit Oktober 2018 unterstützt MQL5 nativ die Integration mit Net Framwork Bibliotheken
Guten Tag! Könnten Sie mir bitte sagen, wo ich offizielle Informationen über die C#-Unterstützung lesen kann? Ich habe es nicht in der Dokumentation gefunden, es gibt Informationen über die Verbindung von VS, die Verwendung von MT als Compiler, die Arbeit mit Python, aber ich habe keine Informationen über Sharp gesehen. Ich wäre dankbar für einen Link zur offiziellen Dokumentation, um mich mit allen Funktionen vertraut zu machen.