Der große und schreckliche MT4 für immer (oder wie man einen Übergang strategisch plant) - Seite 23
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
Es scheint folgendermaßen zu funktionieren:
aber es ist sehr langsam und keine besonders gute Lösung.
Es scheint folgendermaßen zu funktionieren:
aber es ist sehr langsam und keine besonders gute Lösung.
Sie haben fast diese Möglichkeit geschaffen.
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
The Great and Horrible MT4 Forever (oder wie man die Migration strategisch plant)
fxsaber, 2021.05.09 00:36
Sie können diese Bedingung verwenden:
Generell benötigen wir von den Entwicklern eine Art synchrones RefreshPositions(), das zuverlässig den Stand der Positionen + Aufträge vom Server zurückliefert
Dann sendet derjenige, der es braucht, die Aufträge asynchron, und derjenige, der es nicht braucht, wartet im Hauptteil des Programms auf die Antwort des Servers.
Das ist es ja, das war es. Wenn das Skript zu Ende ist, bleiben ein oder zwei Positionen hängen (je nachdem, wie viele Drucke in den Code eingefügt wurden).
Code:
Ergebnis:
Um das Bild zu vervollständigen, fügen Sie den Handelsereignis-Listener aus dem Artikel https://www.mql5.com/ru/articles/2513 in das nebenstehende Diagramm ein
Um die Reihenfolge der Ereignisse zu sehen
+ addrequest_id output - Request ID, die vom Terminal beim Absenden der Bestellung gesetzt wird
Wie viele Aufträge werden wirklich dorthin geschickt?
Imho garantiert OnTradeTransaction() auch nichts, die Abfolge der Ereignisse ist nicht garantiert, ebenso wenig wie die Zustellung der Informationen an das Terminal selbst - ich meine den Fall mit nicht den zuverlässigsten Internet-Providern
es gibt keinen Mechanismus zur Steuerung von OnTradeTransaction(), oder ich habe alle Ereignisse in strikter Reihenfolge erhalten oder nicht
PZY: Ich wünschte, ein nicht allzu beschäftigter MQ-Programmierer könnte 2 Stunden Zeit finden, um eine Funktion zu schreiben, die eine Textbeschreibung des Fehlercodes zurückgibt. Das wäre großartig, und es gäbe weniger Schreibarbeit in MQL5 und keinen Bedarf in MT4 - lassen Sie sie es manuell tun
;)
In der Codobase gefunden und die neuesten Codes hinzugefügt
Also verlangten die Leute Zugang zur Blackbox - und sie bekamen ihn.
Jetzt müssen Sie die Synchronisierung selbst vornehmen. Gefragt? Das taten sie. Haben sie? Das taten sie. Ist es gut? Sie sagten, es würde gut sein. Sobald sie gegeben war, wurde sie schlecht.
1. ich habe nicht darum gebeten.
2. Niemand hat gesagt, dass der Preis die Datenintegrität sein würde, die viel wichtiger ist.
Können Sie statt nackter Demagogie wie "es ist unsere Schuld" eine Lösung ohne Krücken anbieten?
In kodobase gefunden und die neuesten Codes hinzugefügt
Ich habe den gleichen Code in einer halben Stunde mit der ME-Hilfe erstellt - ich habe die Fehlercodes geöffnet, die Maus markiert, Strg+C gedrückt, eine leere Excel-Seite erstellt, Strg+V gedrückt und Spalten mit Groß- und Kleinschreibung und Anführungszeichen hinzugefügt
dann Strg+C+Strg+V in ME
Okay, offenbar ist "Härte ertragen" nicht nur ein Artikel aus dem Militärhandbuch, sondern eher unsere Mentalität
1. ich habe nicht darum gebeten.
2. Niemand hat gesagt, dass der Preis die Datenintegrität sein würde, die viel wichtiger ist.
Können Sie anstelle der "Selbst schuld"-Demagogie eine Lösung ohne Krücken vorschlagen?
Ich habe den gleichen Code in einer halben Stunde mit der ME-Hilfe erstellt - ich habe die Fehlercodes geöffnet, die Maus markiert, Strg+C gedrückt, eine leere Excel-Seite erstellt, Strg+V gedrückt und Spalten mit Groß- und Kleinschreibung und Anführungszeichen hinzugefügt.
dann Strg+C+Strg+V in ME
Okay, offenbar ist "Härte ertragen" nicht nur ein Artikel aus dem Militärhandbuch, sondern eher unsere Mentalität