Die Ereignisfunktion OnTradeTransaction() wird im Terminal bei jedem Buchungsvorgang aufgerufen, das kann zwischen 1 und 4 Mal sein für ein und denselben Vorgang. Leider werden außerdem nicht immer alle Infos Deal-ID, Pos.-ID,... ausgefüllt. Aus historischen Gründen ist ORDER_BUY == 0, sodass, wenn die Struktur nullifiziert wird, sie einen Kauf suggeriert.
Lies:
https://www.mql5.com/de/articles/11248
https://www.mql5.com/de/articles/1111
Creating an EA that works automatically (Part 08): OnTradeTransaction
- www.mql5.com
In this article, we will see how to use the event handling system to quickly and efficiently process issues related to the order system. With this system the EA will work faster, so that it will not have to constantly search for the required data.
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
Ich nutze die Ctrade Klasse für Handelsoperationen.
Die Ausführung prüfe ich über Tradetransaction.
Nun möchte ich auch das ändern von TP und SL abfangen.
Die erste if-Anweisung mit DEAL_ADD führt zum gewünschten Ergebnis. Die zweite mit TRANSACTION_POSITION leider nicht. Hier hätte ich erwartet dass ich nun bei Änderung des SL/TP lande.
Was habe ich falsch gemacht oder verstanden?