Diskussion zum Artikel "Die Entwicklung von grafischen Oberflächen für Expert Advisors und Indikatoren auf Basis von .Net Framework und C#" - Seite 5
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
in dem Artikel gibt es eine ganz andere Art der MT5 Interaktion mit der "Außenwelt", müssen Sie Signaturen von C++-Funktionen in MT5-Code zu beschreiben und rufen Sie als eine normale DLL, hier ist ein funktionierendes Beispiel, ich habe es vor einem Monat getestet.
https://www.mql5.com/de/articles/18
HI: tensorflow c# ist perfekt googlebar, hier sind fertige Lösungen für C# https://nugetmusthaves.com/Tag/tensorflow
Guter Artikel, ich werde ihn zur Kenntnis nehmen, danke!
Ich weiß bereits, dass tensorflow c# perfekt googlebar ist, ich möchte nur keine Zeit damit verbringen, C# zu lernen, also integriere ich tensorflow mit C++.
Das war nicht meine Frage.
Was ist der Unterschied zwischen der im Artikel beschriebenen Art der Interaktion und der üblichen? Im Text steht, dass es ausreicht, wenn der dllka auf der .Net Plattform geschrieben ist. Aber Sie müssen nicht C# verwenden, um auf dieser Plattform zu schreiben. Aber wenn ich C++/CLR (und Visual Studio schlägt vor, dass ich eine Anwendung mit .Net-Klassen erhalten ), MQL5 noch erfordert, um Funktionen aus der resultierenden dllka wie gewohnt zu deklarieren , und sieht nicht Klassen überhaupt.
Ist es möglich, einen String von Visual Studio an MT5 zu senden? Wie kann ich dies tun?
Vielen Dank für Ihre Hilfe
Was ist der Unterschied zwischen der in dem Artikel beschriebenen Art der Interaktion und der üblichen Art? Im Text heißt es, dass es ausreicht, wenn der dllka auf der .Net-Plattform geschrieben wird. Aber Sie müssen nicht C# verwenden, um auf dieser Plattform zu schreiben.
Wenn ich mich nicht irre, ist die Methode, die in dem Artikel verwendet wird C#-Injektion genannt - googeln Sie es, ich bin keine Hilfe hier, wie die Interaktion zwischen C# und MQL5 stattfindet, als eine Option "Spin" das Beispiel https://www.mql5.com/ru/forum/303283/page3#comment_10607873.
Ist es realistisch, ein Beispiel für die Verwendung z. B. dieser Bibliothek zu zeigen?
Die Bibliothek ist interessant. Ich denke, es ist durchaus realistisch, sie in den Motor zu integrieren.
Hallo, das ist ein toller Artikel!
Es gibt eine Reihe von Fragen, die sich aus den obigen Ausführungen ergeben:
1) Aus dem Text des Artikels habe ich den Eindruck gewonnen, dass nicht nur grafische Schnittstellen, sondern auch die Implementierung fast aller APIs, die nicht in MQL5 "passen", auf dieselbe Weise organisiert werden können.
Ja, das ist absolut richtig. Der Artikel beschreibt im Wesentlichen ein modifiziertes MVC-Entwurfsmuster. Muster sind universell und hängen nicht von Sprachwerkzeugen und Aufgaben ab, die Hauptsache ist, dass das Konzept des "Model-Representation-Controller" gut zur Aufgabe passt.
Meine Frage ist, ist es möglich, eine C++ .Net Bibliothek zu schreiben (ich verstehe C++/CLR), so dass MQL5 in seinem .Net Code wie in Ihrer GuiController Engine implementiert werden kann?
2) Theoretisch können Sie. Net dll ist eine gepackte CIL, in die Hochsprachen wie C#, VB Net, C++ Net übersetzt werden. D.h. MQL sollte net dll lesen, egal in welcher Sprache es geschrieben wurde. Es sollte aber nur geprüft werden, wie es in der Praxis sein wird, da die Entwickler offensichtlich beabsichtigten, C# zu verwenden.
Das praktische Beispiel, an dem ich interessiert bin, ist dieses. Heutzutage gibt es Möglichkeiten, Opsensor-Bibliotheken zum maschinellen Lernen in VS2017 zu integrieren, und zum Beispiel bietet TensorFlow eine API in C++ mit Unterstützung für GPU-Computing. Ihr Artikel bietet eine großartige Möglichkeit, die C++-Implementierung von TensorFloW (oder einer anderen Bibliothek für maschinelles Lernen) direkt in MQL5 zu integrieren, was mir sehr praktisch erscheint. Das Problem ist, dass ich aus irgendeinem Grund nicht einmal eine Test-C++ dll in MQL5 importieren kann, indem ich die hier beschriebene Methode verwende.
Meinen Sie die Net C++ dll? Wenn ja, sollten Sie das überprüfen und nachsehen. Es ist schwer zu verstehen, wie das in der Realität funktionieren soll.
Aber im Allgemeinen haben Sie sehr recht: Die schnelle Integration in bestehenden Code ist definitiv die Zukunft. Und Sie werden nicht genug Zeit haben, um alles selbst zu schreiben. Und hier können Sie herunterladen, was Sie brauchen, und loslegen.
...
Was ist der Unterschied zwischen der in dem Artikel beschriebenen Art der Interaktion und der üblichen Art? Im Text heißt es, dass es ausreicht, eine Dllka auf der .Net-Plattform zu schreiben. Aber Sie müssen nicht C# verwenden, um auf dieser Plattform zu schreiben. Aber wenn ich C++/CLR verwende (und Visual Studio vorschlägt, dass ich eine Anwendung mit .Net-Klassen erhalte ), verlangt MQL5 immer noch die Deklaration von Funktionen aus der resultierenden dllka wie üblich, aber es sieht überhaupt keine Klassen.
Dies ist sehr seltsam, denn alles funktioniert ganz anders mit C#. MQL sieht Net-Klassen und ihre Methoden mit Signaturen perfekt. Sogar intellisense funktioniert in MetaEditor.
Leider bin ich in C++ fast unerfahren. Ich würde Ihnen gerne helfen, aber ich fürchte, ich werde es nicht können.
Ist es möglich, einen String von Visual Studio an MT5 zu senden? Wie kann ich dies tun?
Vielen Dank für Ihre Hilfe
Ja, natürlich ist das möglich. Sie können den String aus einer Methode zurückgeben (Zeile 1). Sie können die Zeichenkette auch von einer Referenz zurückgeben (Zeile 3):
Dabei ist SharpClass die statische C#-Klasse in Ihrer Assembly.
Das ist sehr seltsam, denn mit C# funktioniert alles ganz anders. MQL sieht Net-Klassen und ihre Methoden mit Signaturen perfekt. Sogar Intellisense in MetaEditor funktioniert.
Leider bin ich in C++ fast unerfahren. Ich würde Ihnen gerne helfen, aber ich fürchte, ich kann es nicht.
Bis jetzt habe ich folgendes:
Die einfachste dllka in C++ mit .NET:
Diese Bibliothek interagiert mit MQL5 auf die gleiche Weise wie eine ähnliche Bibliothek in C# (ich habe es überprüft) und ähnlich wie die in Ihrem Artikel beschriebene.
Wenn wir das Programm in MQL5 einfügen:
Alles wird kompiliert, der Compiler sieht die Klasse Class1 und die Funktion Func1. Aber im Gegensatz zum Sharpe-Verhalten sagt das Terminal, dass es die DLL nicht laden kann:
Cannot load 'C:\Users\...\MQL5\Libraries\TesterMQL5_4.dll' [0]
EX5-Laden fehlgeschlagen.
Ja, natürlich. Die Zeichenfolge kann von der Methode zurückgegeben werden (Zeile 1). Sie können auch die String-Referenz zurückgeben (Zeile 3):
Wobei SharpClass eine statische C # Klasse in Ihrer Assembly ist.
Vielen Dank für Ihre Hilfe, aber ich muss mehr über C # lernen, kann ich wirklich machen diese einfache Sache funktionieren oder den Code enthalten
Nochmals vielen Dank für Ihre Zeit
Bislang habe ich Folgendes erhalten:
Eine einfache DLL in C++ mit .NET:
...Bitte fügen Sie den Code korrekt ein: