Types de Transaction de Trading

Lors de l'exécution de certains actions définies sur un compte de trading, son état change. De telles actions incluent :

  • L'envoi d'une demande de trading depuis n'importe application MQL5 dans le terminal client avec les fonctions OrderSend et OrderSendAsync et son exécution ;
  • L'envoi d'une demande de trading vie l'interface graphique du terminal et son exécution ;
  • L'activation des ordres en attente et des stops sur le serveur ;
  • Effectuer des opérations du côté du serveur de trades.

Les transactions de trading suivantes sont effectuées suite à ces actions :

  • traitement d'une demande de trading ;
  • changement des ordres ouverts ;
  • changement de l'historique des ordres ;
  • changement de l'historique des transactions ;
  • changement des positions.

Par exemple, lors de l'envoi d'un ordre d'achat, il est pris en compte par le gestionnaire, un ordre d'achat correspondant est créé pour le compte, l'ordre est ensuite exécuté et supprimé de la liste des ordres ouverts, puis il est ajouté à l'historique des ordres, une transaction correspondante est ajoutée à l'hisorique et une nouvelle position est créée. Toutes ces actions sont des transactions de trading.

Pour laisser un programmeur suivre les actions effectuées en relation avec un compte de trading, la fonction OnTradeTransaction est fournie. Ce gestionnaire permet d'obtenir les transactions appliquées à un compte dans l'application MQL5. La description de la transaction est soumis dans le premier paramètre de OnTradeTransaction en utilisant la structure MqlTradeTransaction.

Le type de transaction de trading est soumis dans le paramètre type de la structure MqlTradeTransaction. Les différents types de transactions sont décrits dans l'énumération suivante :

ENUM_TRADE_TRANSACTION_TYPE

Identificateur

Description

TRADE_TRANSACTION_ORDER_ADD

Ajout d'un nouvel ordre d'ouverture.

TRADE_TRANSACTION_ORDER_UPDATE

Mise à jour d'un ordre d'ouverture. Les mises à jour incluent non seulement les changements évidents du terminal client ou du serveur de trades, mais également les changements d'état d'un ordre lors de sa définition (par exemple, transition de ORDER_STATE_STARTED à ORDER_STATE_PLACED ou de ORDER_STATE_PLACED à ORDER_STATE_PARTIAL, etc.).

TRADE_TRANSACTION_ORDER_DELETE

Suppression d'un ordre de la liste des ordres ouverts. Un ordre peut être supprimé par des ordres ouverts suite à une requête correspondante ou à son exécution (remplissage) et au déplacement vers l'historique.

TRADE_TRANSACTION_DEAL_ADD

Ajout d'une transaction dans l'historique. L'action est exécutée à la suite de l'exécution d'un ordre ou d'opérations sur le solde de compte.

TRADE_TRANSACTION_DEAL_UPDATE

Mise à jour d'une transaction dans l'historique. Il peut y avoir des cas où la transaction précédemment éxécutée est modifiée sur le serveur. Par exemple, une transaction a été modifiée dans un système de trading externe (bourse) où elle a été précédemment transférée par un courtier.

TRADE_TRANSACTION_DEAL_DELETE

Suppression d'une transaction de l'historique. Il peut y avoir des cas où la transaction précédemment exécutée est supprimée sur le serveur. Par exemple, une transaction a été supprimée dans un système de trading externe (bourse) où elle a été précédemment transférée par un courtier.

TRADE_TRANSACTION_HISTORY_ADD

Ajout d'un ordre à l'historique à la suite de son exécution ou de son annulation.

TRADE_TRANSACTION_HISTORY_UPDATE

Changement d'un ordre situé dans l'historique des ordres. Ce type est fourni pour améliorer la fonctionnalité du côté du serveur de trades.

TRADE_TRANSACTION_HISTORY_DELETE

Suppression d'un ordre de l'historique des ordres. Ce type est fourni pour améliorer la fonctionnalité du côté du serveur de trades.

TRADE_TRANSACTION_POSITION

Modification d'une position non liée à l'exécution d'une transaction. Ce type de transaction montre qu'une position a été modifiée sur le serveur de trades. Le volume de la position, le prix d'ouverture, les niveaux Stop Loss et Take Profit peuvent être modifiés. Les données du changement sons soumises dans une structure MqlTradeTransaction via le gestionnaire OnTradeTransaction. La changement de la position (ajout, changement, ou clôture), comme étant le résultat de l'éxécution d'une transaction, ne mène pas à une transaction TRADE_TRANSACTION_POSITION.

TRADE_TRANSACTION_REQUEST

Notification du fait qu'une demande de trade a été traitée par le serveur et que le résultat du traitement a été reçu. Un seul champ (type de la transaction de trading) doit être analysé pour ces transactions dans la structure MqlTradeTransaction. Les second et troisième paramètres de la fonction OnTradeTransaction (demande et résultat) doivent être analysés pour obtenir des données supplémentaires.

Suivant le type de la transaction de trading, différents paramètres sont remplis dans la structure MqlTradeTransaction la décrivant. Une description détaillée des données soumises est affichée dans "Structure d'une Transaction de Trade".

Voir aussi

Structure de Transaction de Trade , OnTradeTransaction