Diskussion zum Artikel "Offenlegen von C#-Code in MQL5 mithilfe nicht gemanagter Exporte" - Seite 4
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
Seit einem Monat schlage ich schüchtern vor, ein Wiki-Tutorial zu mql5 zu erstellen, das von der Community befüllt wird. Das würde die Probleme mit dem Mega-Tutorial lösen. Autoren könnten sogar mit Credits für besonders besuchte Artikel belohnt werden.
Die Wiki-Engine ist kostenlos und verfügbar.
// Wenn Metaquotes es nicht machen will, könnte es jemand anderes auf einer externen Seite machen. Ich für meinen Teil ziehe es in Betracht.
Bei externen Websites gibt es ein Problem - wir haben das Urheberrecht an unserem Material. Und wenn wir ein externes Wiki erstellen, wird fast 100 % des Textes aus Kopien unserer Materialien bestehen.
Man könnte argumentieren, dass öffentliche Wikis eine Utopie sind. Die Idee der öffentlichen Wikis ist in der Praxis schon seit langem begraben. Sehen Sie sich an, wie viel Mühe wir in die Entwicklung unserer Gemeinschaften und Dokumentationen stecken. Das ist eine Menge Geld und tägliche Arbeit.
Die Lösung des Problems liegt im Bereich der verwalteten Inhaltserstellung mit obligatorischer Auslieferung an das Endgerät eines jeden Nutzers. Dies erhöht die Effizienz der Masseneinarbeitung von vernachlässigbaren 0,00x% auf sehr realistische 3-5%.
Wir erhöhen täglich den Umfang und die Konnektivität der MQL5-Materialien. Das Dokumentationsprojekt(MQL5-Sprache, Hilfe, Mehrsprachigkeit) nimmt einen sehr großen Anteil an unserer Arbeit ein.
Bei externen Websites gibt es ein Problem - wir haben das Urheberrecht an unseren Materialien. Und bei der Erstellung eines externen Wikis werden fast 100 % des Textes aus unseren Materialien kopiert.
Man kann argumentieren, dass öffentliche Wikis eine Utopie sind. Die Idee der öffentlichen Wikis ist in der Praxis längst begraben. Sehen Sie sich an, wie viel Mühe wir in die Entwicklung unserer Gemeinschaften und Dokumentationen stecken. Das ist eine Menge Geld und tägliche Arbeit.
Die Lösung des Problems liegt im Bereich der verwalteten Inhaltserstellung mit obligatorischer Auslieferung an das Endgerät eines jeden Nutzers. Dies erhöht die Effizienz der Masseneinarbeitung von vernachlässigbaren 0,00x% auf sehr realistische 3-5%.
Wir erhöhen täglich den Umfang und die Konnektivität der MQL5-Materialien. Das Dokumentationsprojekt(MQL5-Sprache, Hilfe, Mehrsprachigkeit) nimmt einen sehr großen Anteil an unserer Arbeit ein.
Wie wäre es, wenn wir Wettbewerbe im Rahmen des Tutorials wiederbeleben. Immerhin fragen Neulinge nach einem Lehrbuch.
Machen Sie einen mehrstufigen Wettbewerb, die Teilnehmer melden sich an, reichen einen Lehrbuchplan ein, 50% scheiden aus, der Rest bekommt je 20 Dollar, geht in die zweite Stufe usw.
Bis zum Ende des Marathons wird das Ende der wenigen, aber mit den besten Arbeiten erreichen. Setzen Sie reale Bedingungen für die Erstellung mit einem halben Jahr, brechen Sie es in Phasen und alles wird funktionieren.
Das ist ein sehr interessanter und nützlicher Artikel über die allgemeine Interoperabilität von C++ und .NET.
Die am einfachsten zu implementierende Strategie ist "2.4. C++/Cli-Wrapper-Klasse", denn man kann die .NET-API in C++/Cli ohne Probleme verwenden, so dass der einzige Klebstoff-Code eine kleine und einfache Klasse ist, die "gcroot" enthält.
Dieser Ansatz wurde als Grundlage für die Implementierung von http://www.nquotes.net gewählt - einer Bibliothek, die MQL-Programmierung in C# ermöglicht.
Obwohl die erste Version nur MQL4 unterstützt, wird sie in zukünftigen Versionen definitiv auf MQL5 portiert werden.
Toller Artikel, sehr, sehr praktisch. Aber ...
Ich habe einen kleinen Fehler mit Visual Studio. Wenn ich ein neues Projekt mit der Vorlage erstellen und bauen es, VS hat kein Problem. Ich kann dann das neue Projekt (einschließlich der erstellten DLL) auf der Festplatte in einem Lösungsordner speichern. Die DLL läuft einwandfrei. Wenn ich jedoch das gespeicherte Projekt in VS wieder aufrufe, beschwert es sich, dass das Projekt "RGiescke.DllExport.targets" nicht gefunden wird oder sich nicht auf der Festplatte befindet, obwohl die Datei vorhanden ist.
Ich vermute, es ist ein Problem mit der Projektdatei.....
Sehr gutes Tutorial, ich mag das.
großen Dank.
Hallo Investeo,
Vielen Dank für diesen Artikel war es sehr nützlich, obwohl scheint, dass ich einige Probleme konfrontiert, die versuchen, Vorlage von RGiesecke zu verwenden.
Wenn ich eine DLL erstellt und gebaut habe, verwende ich den DLL Export Viewer, um die Namen der exportierten Funktionen zu überprüfen, damit ich sie über GetProcAddress finden und aufrufen kann. Leider wird die DLL selbst mit der Funktion LoadLibrary geladen, aber GetProcAddress liefert den Fehler 127 - Funktion nicht gefunden. Gleichzeitig zeigt der DLL Export Viewer an, dass keine meiner Funktionen exportiert wurde ...
Könnten Sie bitte vorschlagen, was mit meinem Code falsch sein kann?
Und dann in Win 32 Konsolenanwendung tue ich das folgende:
Danke, Art
Übrigens kann MetaTrader 5 seit einigen Builds Funktionen aus DLLs, die in .NET geschrieben wurden, nativ importieren.
Wir haben diese Unterstützung speziell hinzugefügt, so dass keine Umgehungslösungen mehr erforderlich sind.
Ich kann keine Informationen darüber finden, wie man eine .Net-Funktion aus dem Stegreif erstellt. Wer kann, bitte teilen Sie einen Link oder ein einfaches Beispiel.
Schalten Sie im Editor-Navigator "Alle Dateitypen anzeigen" ein, nehmen Sie Ihre DLL mit der Maus und werfen Sie sie in das MQL5-Fenster des Programms.
Das Ergebnis wird Sie wahrscheinlich überraschen.
Schalten Sie im Editor-Navigator "Alle Dateitypen anzeigen" ein, nehmen Sie Ihre DLL mit der Maus und werfen Sie sie in das MQL5-Fenster des Programms.
Das Ergebnis wird Sie wahrscheinlich überraschen.
cool.
Wenn ich alle Funktionen aus der DLL auf einmal einfügen könnte.
Schalten Sie im Editor-Navigator "Alle Dateitypen anzeigen" ein, nehmen Sie Ihre DLL mit der Maus und werfen Sie sie in das MQL5-Fenster des Programms.
Sie werden wahrscheinlich vom Ergebnis überrascht sein.
P.S.
Win8 Enterprise 64
MetaEditor build 842
.Net lib hat eine Funktion: