Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 1271

 
Alexey Viktorov:

Ich habe es nie benutzt, aber ich denke, wir sollten die Transaktionsart TRADE_TRANSACTION_ORDER_UPDATE prüfen.

Das ist offensichtlich. Was sollte ich als nächstes überprüfen?

 
leonerd:

Das ist offensichtlich. Was sollte ich als nächstes überprüfen?

Aktion in MqlTradeRequest?

 
leonerd:

Aktion in MqlTradeRequest?

nein, das tut es nicht

 
trans.order_state==ORDER_STATE_REQUEST_MODIFY
das funktioniert auch nicht
 
leonerd:
Auch das funktioniert nicht.

Kumpel, Hut ab und Respekt für dich! Du versuchst etwas. Die meisten Leute fragen nach und beklagen sich dann nur darüber, dass ihnen das nicht erklärt wurde. )))

 
leonerd:

Das ist offensichtlich. Was ist als nächstes zu überprüfen?

Vergleichen Sie natürlich den Preis "gestern" und "heute". Grob gesagt, was es war und was es jetzt ist. Wenn es sich geändert hat, dann ist es eben so.

 
Alexey Viktorov:

Vergleichen Sie natürlich den Preis "gestern" und "heute". Grob gesagt, was es war und was es jetzt ist. Wenn es sich geändert hat, dann ist es eben so.

Sollte ich also den Preis von gestern irgendwo speichern? Ich kann es nicht in OnTradeTransaction bekommen, oder?

 
leonerd:

Ich muss also irgendwo den Preis von gestern speichern? Ich kann es nicht in OnTradeTransaction bekommen, oder?

Nur bei der Aufgabe einer Bestellung. Vorgangsart TRADE_TRANSACTION_ORDER_ADD

Und dann muss es aufbewahrt werden, bis es geändert wird.

 

Sie zu

Alexey Viktorov:

Nur wenn eine Bestellung aufgegeben wird. Vorgangsart TRADE_TRANSACTION_ORDER_ADD

Und dann muss es aufbewahrt werden, bis es geändert wird.

Wie kann man sich das überhaupt vorstellen? Ich speichere alle Aufträge und ihre offenen Preise in einer Art Array oder Liste. Jedes Mal, wenn ich aktualisiere(TRADE_TRANSACTION_ORDER_UPDATE), muss ich die Liste durchgehen, um den Auftrag mit dem benötigten Ticket zu finden? Gibt es da nicht eine elegante Lösung?

 
leonerd:

Sind Sie zu...

Wie kann man sich das überhaupt vorstellen? Ich speichere alle Aufträge und ihre offenen Preise in einem Array oder einer Liste. Jedes Mal, wenn ich sie aktualisiere(TRADE_TRANSACTION_ORDER_UPDATE), muss ich die Liste durchgehen, um einen Auftrag mit dem benötigten Ticket zu finden. Gibt es da nicht eine elegante Lösung?

Das hängt davon ab, zu welchem Zweck die Aktualisierung eingefangen werden soll. Wie wäre es, wenn Sie das Array einfach neu laden würden?

Grund der Beschwerde: