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
Im Tester ist es bei der ersten erfolgreichen Ausführung von MT5-OrderSend/OrderSendAsync immer MqlTradeResult.request_id == 0.
Ich halte dieses Verhalten für einen Fehler von MQ, da die request_id mit eins beginnen sollte.
Dies ist einer der Gründe, warum MT4Orders OrderSendAsync für Tester nicht implementiert. Es gibt einen weiteren, weniger guten Grund(aus dem Buch).
Ich entschuldige mich, ich habe nicht den ganzen Thread durchgelesen. Um die Anzahl der offenen Positionen ohne Aufträge zu erhalten, gibt es eine Art Überladung von OrdersTotal() oder muss ich jedes Mal einen solchen Code schreiben:
Ihr Original ist insofern besser, als dass es einen MT5-Auftrag zur Eröffnung einer Position als offene Position zählt. Was GetOpenTradesCount1 nicht tut.
Ihre Quellvariante ist insofern besser, als dass sie die MT5-Order zum Schließen einer Position nicht zählt. Dies ist bei GetOpenTradesCount2 nicht der Fall.
OrdersTotal(false)
OrdersTotal' - falsche Parameteranzahl
OrdersTotal(false)
OrdersTotal' - falsche Parameteranzahl
#include <MT4Orders.mqh>Ihre ursprüngliche Variante ist besser, da sie den MT5-Auftrag zur Eröffnung einer Position als offene Position zählt. Was GetOpenTradesCount1 nicht tut.
Ihre Ausgangsvariante ist insofern besser, als sie den MT5-Auftrag zum Schließen einer Position nicht zählt. Was GetOpenTradesCount2 nicht tun wird.
und wenn die virtuelle Bibliothek auch angeschlossen ist, dann schlägt es bei OrdersTotal(false) fehl
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Bibliotheken: MT4Orders
fxsaber, 2025.03.26 10:50 Uhr.
Es gab berechtigte Kommentare, dass die Bibliothek eine ernsthafte Verlangsamung der Kompilierung verursacht. Aus diesem Grund haben wir einen alternativen vollständigen Bibliotheksmodus in Form einer importierten EX5-Bibliothek hinzugefügt.
Kompiliergeschwindigkeit.
Messungen der Kompilierungsgeschwindigkeit auf MT4/5 (MT5 - maximale X64_Regular Optimierung) des folgenden plattformübergreifenden Skripts.
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien.
Wie haben Sie MQL4/5 gelernt?
fxsaber, 2024.12.03 14:30
Der Code im neuen Modus wird in MT5 mit ähnlicher Geschwindigkeit kompiliert wie in MT4. Die Kompilierungsgeschwindigkeit ist schneller als z.B. bei der Verwendung von CTrade. Das liegt daran, dass alle Handelsfunktionen analog importiert werden, wie es in MT4 der Fall ist - der Compiler verschwendet keine Zeit mit ihnen.
Dies wirkt sich entsprechend auf die Größe von EX5 aus.
So aktivieren Sie.
Sie müssen nur eine zweizeilige Datei MQL5\Libraries\MT4Orders.mq5 erstellen und sie einmal kompilieren.
Dann schreiben Sie in Ihrem Code vor der Aktivierung von MT4Orders ein Makro.
Und die Bibliothek wird die Dauer der Kompilierung nicht mehr beeinflussen.
Externe Zeichen des Modus.
Wenn Sie Ihr Programm starten, können Sie das Vorhandensein des MT4Orders-Aufrufs auf der Registerkarte Abhängigkeiten sehen.
DLLs werden nicht verwendet, offener Quellcode.
Es gab berechtigte Kommentare, dass die Bibliothek die Kompilierung stark verlangsamt. Aus diesem Grund wurde ein alternativer vollständiger Bibliotheksmodus in Form einer importierten EX5-Bibliothek hinzugefügt.
Kompilierungsgeschwindigkeit.
Messungen der Kompiliergeschwindigkeit auf MT4/5 (MT5 - maximale X64_Regular-Optimierung) des folgenden plattformübergreifenden Skripts.
Der Code im neuen Modus wird in MT5 mit ähnlicher Geschwindigkeit kompiliert wie in MT4. Die Kompilierungsgeschwindigkeit ist schneller als z.B. bei der Verwendung von CTrade. Da alle Handelsfunktionen analog importiert werden, wie es in MT4 der Fall ist, verschwendet der Compiler keine Zeit mit ihnen.
So aktivieren Sie.
Sie müssen nur einmal eine zweizeilige Datei MQL5\Libraries\MT4Orders.mq5 erstellen und diese kompilieren.
Dann schreiben Sie in Ihrem Code vor der Aktivierung von MT4Orders ein Makro.
Und die Bibliothek wird die Kompilierungszeit nicht mehr beeinflussen.
Äußere Zeichen des Modus.
Wenn Sie Ihr Programm ausführen, können Sie das Vorhandensein des MT4Orders-Aufrufs auf der Registerkarte Abhängigkeiten sehen.
DLLs werden nicht verwendet, offener Quellcode.
Es ist eine lausige Option ... eine Harke auf dem Boden.
Zu oft wird ex5 als "veraltet" deklariert - und auch #import-Direktiven sind davon betroffen.