Typen der Handelstransaktionen

Als Ergebnis der Durchführung von bestimmten Aktionen auf dem Handelskonto, ändert sich der Kontostand. Zu solchen Aktionen gehören:

  • Senden der Handelsanfrage aus einer beliebigen MQL5-Anwendung in dem Client-Terminal mittels der Funktionen OrderSend und OrderSendAsync und ihre nachfolgende Ausführung;
  • Senden der Handelsanfrage über die grafische Oberfläche des Terminals und ihre nachfolgende Ausführung;
  • Auslösen von aufgeschobenen Ordern und Stop-Ordern auf dem Server;
  • Ausführen von Operationen auf der Seite der Handel-Server.

Als Ergebnis dieser Aktionen werden die folgenden Handelstransaktionen durchgeführt:

  • Die Verarbeitung der Handelsanfrage;
  • Änderung der offenen Aufträge;
  • Änderung der Ordergeschichte;
  • Änderung der Dealgeschichte;
  • Änderung der Position.

Zum Beispiel, beim Senden Marktkauforder, wird Marktkauforder behandelt und eine entsprechende Marktkauforder für das Konto erstellt. Ist die Order ausgeführt, wird sie aus der Auftragsliste entfernt und zur Ordergeschichte hinzugefügt. Dann wird der entsprechende Deal zur Geschichte hinzugefügt und eine neue Position wird erstellt. Alle diese Aktionen sind Handelstransaktionen.

Damit ein Programmierer die Aktionen verfolgen konnte, die bezüglich eines Handelskontos ausgeführt werden, ist die Funktion OnTradeTransaction vorgesehen. Mit Hilfe dieses Handlers kann man die auf das Konto angewendeten Handelstransaktionen im MQL5-Anwendung bekommen. Beschreibung der Handelstransaktion wird im ersten Parameter OnTradeTransaction mit Hilfe der Struktur MqlTradeTransaction übergeben.

Typ der Handelstransaktion wird im type Parameter der Struktur MqlTradeTransaction übergeben. Möglichen Typen der Handelstransaktionen werden von der folgenden Enumeration beschrieben:

ENUM_TRADE_TRANSACTION_TYPE

Identifikator

Beschreibung

TRADE_TRANSACTION_ORDER_ADD

Hinzufügen von einer neuen offenen Order.

TRADE_TRANSACTION_ORDER_UPDATE

Änderung der offenen Order. Zu solchen Änderungen gehören nicht nur die offensichtlichen Änderungen seitens des Client-Terminals oder Handel-Servers, sondern auch die Änderung ihres Zustandes bei der Ausstellung (zum Beispiel, Übergang vom Zustand ORDER_STATE_STARTED im ORDER_STATE_PLACED oder vom ORDER_STATE_PLACED im ORDER_STATE_PARTIAL usw.).

TRADE_TRANSACTION_ORDER_DELETE

Entfernung der Order aus der offenen Auftragsliste. Eine Order kann aus der offenen Auftragsliste als Ergebnis der Stellung der entsprechenden Anfrage oder als Ergebnis der Durchführung (Füllung) und Übertragung in die Geschichte entfernt werden.

TRADE_TRANSACTION_DEAL_ADD

Hinzufügen des Deals zur Geschichte. Es erfolgt als Ergebnis der Orderausfüllung oder Durchführung der Operationen mit einem Kontostand.

TRADE_TRANSACTION_DEAL_UPDATE

Änderung des Deals in der Geschichte. Es kann eine Situation sein, wenn zuvor ausgeführter Deal auf dem Server geändert wird. Zum Beispiel, ein Deal war im externen Handelssystem (die Börse) geändert, wohin er vom Broker übertragen wurde.

TRADE_TRANSACTION_DEAL_DELETE

Entfernung der Order aus der Geschichte. Es kann eine Situation sein, wenn zuvor ausgeführter Deal vom Server entfernt wird. Zum Beispiel, ein Deal war vom externen Handelssystem (die Börse) entfernt, wohin er vom Broker übertragen wurde.

TRADE_TRANSACTION_HISTORY_ADD

Hinzufügen der Order zur Geschichte als Ergebnis der Ausführung oder Stornierung.

TRADE_TRANSACTION_HISTORY_UPDATE

Änderung der Order, die sich in der Ordergeschichte befindet. Dieser Typ ist für die Erweiterung der Funktionalität auf der Seite des Handel-Servers vorgesehen.

TRADE_TRANSACTION_HISTORY_DELETE

Entfernung der Order aus der Ordergeschichte. Dieser Typ ist für die Erweiterung der Funktionalität auf der Seite des Handel-Servers vorgesehen.

TRADE_TRANSACTION_POSITION

Änderung der Position, die mit der Ausführung des Deals nicht verbunden ist. Dieser Typ der Transaktion zeigt, dass die Position auf der Seite des Handel-Servers geändert wurde. Volumen, Eröffnungspreis sowie Stop Loss und Take Profit Ebenen von Position können geändert werden. Informationen über Änderungen werden in der Struktur MqlTradeTransaction durch den Händler OnTradeTransaction übergeben. Änderung der Position (Hinzufügen, Änderung oder Liquidation) als Ergebnis des Abschlusses des Deals zieht kein Erscheinen der Transaktion TRADE_TRANSACTION_POSITION nach sich.

TRADE_TRANSACTION_REQUEST

Benachrichtigung, dass die Handelsanfrage vom Server bearbeitet ist und das Ergebnis seiner Bearbeitung empfangen ist. Für Transaktionen dieses Typs in der Struktur MqlTradeTransaction muss nur type Feld (Typ der Transaktion) analysiert werden. Für zusätzliche Informationen muss man die zweiten und dritten Parameter der Funktion OnTradeTransaction (request und result) analysieren.

Verschiedene Parameter werden je nach Typ der Handelstransaktion in der Struktur MqlTradeTransaction, die sie beschreibt, ausgefüllt. Die ausführliche Beschreibung der übertragenen Daten ist im Abschnitt "Struktur der Handelstransaktion" gegeben.

Sehen Sie auch

Struktur der Handelstransaktion, OnTradeTransaction