Diskussion über "Wie man eine DLL für MQL5 schreibt und Daten in 10 Minuten austauscht". - Seite 2
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
getestet.
Ich habe ein solches Problem mit Stringübergabe in MQL4-DLL bemerkt. Im MQL4-Code rufe ich die Funktion in der DLL auf und übergebe den String:
und in der DLL erhalte ich diese Zeichenfolge mit einem Toolnamen.
Zu einem bestimmten Zeitpunkt (es kann einen halben Tag lang gut funktionieren) empfängt die DLL plötzlich eine linksläufige Zeichenfolge mit unklaren Zeichen anstelle des Instrumentennamens.
Vielleicht können Sie einen ähnlichen Code in mql5 überprüfen? Der Speicherzeiger scheint in MQL4 nicht korrekt zu sein, oder es gibt manchmal einen Konflikt beim Zugriff auf die Stromlinien innerhalb des Terminals.
Die Double-Arrays und int-Variablen werden ohne Probleme korrekt durchlaufen.
Ich werde einen Test für MQL5-DLL schreiben, sobald die Zeit dafür da ist. Aber wenn Sie auch dieses Zeug testen, schreiben Sie einen solchen Test, um die Stabilität der Stringübergabe an die DLL zu überprüfen, indem Sie den Prozess bei jedem Tick für eine lange Zeitspanne wiederholen.
Wenn es möglich ist, Kurse nur über eine DLL zu exportieren, bedeutet dies, dass für jedes zu exportierende Instrument ein Skript erstellt werden muss. Was ist, wenn es viele davon gibt? Zum Beispiel, 50?
Ich verstehe, dass es möglich ist, Kurse für viele Instrumente in einem Skript zu übergeben, aber es wird kein vollwertiger Ersatz für DDE sein, bei dem die Ticks nicht verloren gehen.
Es geht darum, dass wir nicht die Aufgabe haben, "die Schnittstelle für die Abgabe von Angeboten bereitzustellen".
Unsere Aufgabe ist es, eine vollständige und autarke Umgebung für die Entwicklung analytischer Systeme zu schaffen. Eine solche Umgebung, so dass auch Programme von Drittanbietern nicht verwendet werden müssten.
Der Punkt ist, dass es nicht unsere Aufgabe ist, "eine Schnittstelle für die Abgabe von Angeboten bereitzustellen".
Unsere Aufgabe ist es, eine vollständige und autarke Umgebung für die Entwicklung von Analysesystemen zu schaffen. Eine solche Umgebung, so dass auch Programme von Drittanbietern nicht viel brauchen, um verwendet werden.
Die GUI ist sehr schwach - es dauerte 2 Tage, um die Logik zu schreiben, und einen ganzen Tag, um die berechneten Informationen in irgendeiner Weise anzuzeigen
Daraufhin habe ich alles deaktiviert - ich habe den Datentransport aufgebaut(https://www.mql5.com/ru/forum/382) und bin jetzt zufrieden.
Sind die Ziele der Entwickler nicht zu hoch gesteckt?
Und warum das Rad neu erfinden, wenn alles schon vor langer Zeit gemacht wurde (C, Delphi, ...)?
Die GUI ist sehr schwach - ich habe 2 Tage gebraucht, um die Logik zu schreiben, und einen ganzen Tag, um die berechneten Informationen in irgendeiner Weise anzuzeigen
Am Ende habe ich alles aufgegeben - ich habe den Datentransport(https://www.mql5.com/ru/forum/382) gebaut und genieße mein Leben
Sind die Ziele der Entwickler nicht zu hoch gesteckt?
Und warum sollte man das Rad neu erfinden, wenn alles schon vor langer Zeit gemacht wurde (C, Delphi, ...)?
IMHO begann das Problem mit MT5 schon bei seiner Einführung: das Fehlen einer klaren Vorstellung davon, was dieses Produkt lösen soll. Entweder handelt es sich um eine aktualisierte und auf MT4 basierende, aber in Bezug auf Geschwindigkeit und erweiterte Funktionen auf eine neue Version angehobene Handelsplattform oder um eine neue moderne Handelsplattform mit einer gut durchdachten Struktur und Erweiterbarkeit (d. h. mit Geschäftsklassen oder einem Handelsrahmen zur Durchführung klar definierter spezifischer Aufgabenklassen und basierend auf einer modernen Programmiersprache/-umgebung mit ihrer allgemeinen Funktionalität und weithin verfügbaren Software-Support-Tools). Dieses Dilemma zu lösen, indem man versucht, Gegensätze zu kombinieren, indem man sozusagen eine Art Kompott braut, durch die Methode des "Stegreifspiels der talentiertesten Solisten", scheint nicht ganz gelungen zu sein.
Wenn es scheint, jemand reinen Unsinn ohne einen Schatten der konstruktiven, zum zweiten Mal zu einem Badehaus führen, oder schießen ihn für immer :)
2Pisara
Gehen Sie der Sache auf den Grund.
MQL ist eher für Händler mit geringen Programmierkenntnissen geeignet. A la Basic für Dummies.
Ich habe nichts gegen eine solche Position - auch dafür danke ich Ihnen.
Aber die Positionierung von MQL5 als"eine vollständige und autarke Umgebung für die Entwicklung von Analysesystemen. Dies ist die Art von Umgebung, in der selbst Programme von Drittanbietern nicht angewendet werden müssen."Dies ist eine ernsthafte Bitte. Es wird Jahre der Arbeit erfordern, nicht nur von einzelnen Enthusiasten, sondern von einem Team professioneller Programmierer unter der Leitung eines guten Architekten, um den Kern mit einer verdaulichen Suppe zu "verbinden". Zu Budget und Management kann ich nichts sagen - das ist eine andere Ebene des Projekts.
Ich möchte die Mitarbeiter des Unternehmens bei ihrer harten Arbeit unterstützen. Ich möchte ihnen für ihre harte Arbeit danken. Aber seien wir ehrlich - MQL5 ist nur eine Etappe auf dem Weg zum Ziel.
P.S. Moskau wurde nicht an einem Tag erbaut
Es ist sehr einfach, die Anrufgeschwindigkeit zu überprüfen. Sie können ihn zum Beispiel grob wie folgt berechnen:
Ich habe 57.000 Anrufe pro Sekunde auf einem Quad Q9400 @2.66Ghz. Derselbe Code führt im MetaTrader 4 zu etwa 20.000.000 Aufrufen pro Sekunde, da es keine Kontrolle und kein Piping gibt.
Wir werden auf jeden Fall versuchen, die Verluste bei DLL-Aufrufen in MetaTrader 5 zu reduzieren.
Es ist eine gute Idee, eine spezielle Compiler-Direktive zu erstellen, die standardmäßig aktiviert ist und die diese Wrapper in die DLL-Aufrufe einfügt. Wenn sie deaktiviert sind, ist es ratsam, diese Umhüllungen nicht einzufügen. Wie Debug- und Release-Modus. Doch manchmal sind 57 000 Euro nicht genug. Die gleiche Zeit wird von der Laufzeit der DLL in Anspruch genommen.
Wir haben seit 2001 methodisch 4 Generationen von Handelssprachen mit einer großen Gemeinschaft von Händlern entwickelt. Die Konkurrenten starben, ihre Kontrollsprachen entwickelten sich nicht, während wir arbeiteten, arbeiten und weiter arbeiten werden.
Renat:
und wir haben gearbeitet, arbeiten und werden weiter arbeiten.
Wie der Urgroßvater Lenin vermacht hat.
;)
Ich weiß nicht mehr, ich glaube, ich habe schon mal gefragt...Ist es möglich, einfache DLLs mit den µl5-Tools zu erstellen?
es einfach in Unitor schreiben und kompilieren...?