Propriétés des Transactions

Une transaction est le reflet d'un trade exécuté sur la base d'unordre qui contient une demande de trade. Chaque trade est décrit par des propriétés qui permettent d'obtenir des informations le concernant. Pour lire les valeurs des propriétés, on utlise des fonctions de type HistoryDealGet...(), qui renvoient les valeurs des énumérations correspondantes.

Pour la fonction HistoryDealGetInteger()

ENUM_DEAL_PROPERTY_INTEGER

Identificateur

Description

Type

DEAL_TICKET

Ticket de la transaction. Numéro unique attribué à chaque transaction

long

DEAL_ORDER

Transaction numéro de l'ordre

long

DEAL_TIME

Heure de la transaction

datetime

DEAL_TIME_MSC

L'heure de l'éxécution de la transaction en millisecondes depuis le 01.01.1970

long

DEAL_TYPE

Type de transaction

ENUM_DEAL_TYPE

DEAL_ENTRY

Entrée de la transaction - entrée, sortie, renversement

ENUM_DEAL_ENTRY

DEAL_MAGIC

Nombre magique de la transaction (regardez ORDER_MAGIC)

long

DEAL_REASON

La raison ou la source de l'exécution d'une transaction

ENUM_DEAL_REASON

DEAL_POSITION_ID

Identifiant de la position, à l'ouverture, en modification ou à la fermeture de la transaction. Chaque position possède un identifiant unique qui et affecté à toutes les transactions éxécutées pour le symbole pendant toute la durée de vie de la position.

long

Pour la fonction HistoryDealGetDouble()

ENUM_DEAL_PROPERTY_DOUBLE

Identificateur

Description

Type

DEAL_VOLUME

Volume de la transaction

double

DEAL_PRICE

Prix de la transaction

double

DEAL_COMMISSION

Commission de la transaction

double

DEAL_SWAP

Swap cumulatif à la fermeture

double

DEAL_PROFIT

Pofit de la transaction

double

DEAL_FEE

Frais pour qu'une transaction soit facturée immédiatement après son exécution

double

DEAL_SL

Niveau de Stop Loss

  • Les transactions d'entrée et d'inversion utilisent les valeurs du Stop Loss de l'ordre d'origine sur la base desquelles la position a été ouverte ou inversée
  • Les transactions de sortie utilisent le Stop Loss d'une position au moment de la clôture de la position

double

DEAL_TP

Niveau du Take Profit

  • Les transactions d'entrée et de renversement utilisent les valeurs du Take Profit de l'ordre d'origine sur la base duquel la position a été ouverte ou renversée
  • Les transactions de sortie utilisent la valeur du Take Profit d'une position au moment de la clôture de la position

double

Pour la fonction HistoryDealGetString()

ENUM_DEAL_PROPERTY_STRING

Identificateur

Description

Type

DEAL_SYMBOL

Symbole de la transaction

string

DEAL_COMMENT

Commentaire de la transaction

string

DEAL_EXTERNAL_ID

L'identifiant de la transaction dans un système de trading externe (sur l'Echange)

string

 

Chaque transaction est caractérisé par le type, les valeurs autorisées sont énumérées dans ENUM_DEAL_TYPE. Pour obtenir des informations sur le type de transaction, utilisez la fonction HistoryDealGetInteger() avec le modificateur DEAL_TYPE.

ENUM_DEAL_TYPE

Identificateur

Description

DEAL_TYPE_BUY

Achat (Buy)

DEAL_TYPE_SELL

Vente (Sell)

DEAL_TYPE_BALANCE

Solde

DEAL_TYPE_CREDIT

Crédit

DEAL_TYPE_CHARGE

Frais supplémentaires

DEAL_TYPE_CORRECTION

Correction

DEAL_TYPE_BONUS

Bonus

DEAL_TYPE_COMMISSION

Commission supplémentaire

DEAL_TYPE_COMMISSION_DAILY

Commission journalière

DEAL_TYPE_COMMISSION_MONTHLY

Commission mensuelle

DEAL_TYPE_COMMISSION_AGENT_DAILY

Commission d'agent journalière

DEAL_TYPE_COMMISSION_AGENT_MONTHLY

Commission d'agent mensuelle

DEAL_TYPE_INTEREST

Taux d'intérêt

DEAL_TYPE_BUY_CANCELED

Transaction d'achat annulée. Il peut y avoir une situation où une transaction d'achat éxécutée précédemment est annulée. Dans ce cas, le type de transaction précédemment éxécutée (DEAL_TYPE_BUY) est changé en DEAL_TYPE_BUY_CANCELED, et son profit/perte est remis à zéro. Le profit/perte précédemment obtenu est facturé/ retiré à l'aide d'une balance séparée

DEAL_TYPE_SELL_CANCELED

Transaction de vente annulée. Il peut y avoir une situation où une transaction de vente éxécutée précédemment est annulée. Dans ce cas, le type de transaction précédemment éxécutée (DEAL_TYPE_SELL) est changé en DEAL_TYPE_SELL_CANCELED, et son profit/perte est remis à zéro. Le profit/perte précédemment obtenu est facturé/ retiré à l'aide d'une balance séparée

DEAL_DIVIDEND

Opérations de dividendes

DEAL_DIVIDEND_FRANKED

Opérations de dividendes franche (non imposable)

DEAL_TAX

Frais d'impôts

 

Les offres diffèrent non seulement dans leurs types définis dans ENUM_DEAL_TYPE, mais aussi dans la façon dont ils changent de position. Il peut s'agir d'une ouverture de position simple ou d'une accumulation d'une position préalablement ouverte (entrée au marché), d'une fermeture de position par une transaction opposée d'un volume correspondant (sortie au marché) ou d'une inversion de position si la transaction en sens inverse couvre le volume de la position précédemment ouverte.

Toutes ces situations sont décrites par des valeurs de l'énumération ENUM_DEAL_ENTRY. Pour recevoir ces informations sur une transaction, utilisez la fonction HistoryDealGetInteger() avec le modificateur DEAL_ENTRY.

ENUM_DEAL_ENTRY

Identificateur

Description

DEAL_ENTRY_IN

Entrée

DEAL_ENTRY_OUT

Sortie

DEAL_ENTRY_INOUT

Renversement

DEAL_ENTRY_OUT_BY

Fermer une position par une position opposée

 

La raison de l'exécution d'une transaction est contenue dans la propriéé DEAL_REASON. Une transaction peut être exécutée comme étant le résultat du déclenchement d'un ordre placé depuis une application mobile ou un programme MQL5, mais aussi comme étant le résultat d'un évènement StopOut, du calcul de la marge de variation, etc. Les valeurs possibles de DEAL_REASON sont décrites dans l'énumération ENUM_DEAL_REASON. Pour les transactions hors trading résultant d'opérations liées au solde, au crédit, aux commissions et autres, DEAL_REASON_CLIENT est indiqué comme étant la raison.

ENUM_DEAL_REASON

Identificateur

Description

DEAL_REASON_CLIENT

La transaction a été exécutée comme étant le résultat de l'activation d'un ordre placé depuis un terminal de bureau

DEAL_REASON_MOBILE

La transaction a été exécutée comme étant le résultat de l'activation d'un ordre placé depuis une application mobile

DEAL_REASON_WEB

La transaction a été exécutée comme étant le résultat de l'activation d'un ordre placé depuis la plateforme web

DEAL_REASON_EXPERT

La transaction a été exécutée comme étant le résultat de l'activation d'un ordre placé depuis un programme MQL5, c'est à dire un Expert Advisor ou un script

DEAL_REASON_SL

La transaction a été exécutée comme étant le résultat de l'activation d'un Stop Loss

DEAL_REASON_TP

La transaction a été exécutée comme étant le résultat de l'activation d'un Take Profit

DEAL_REASON_SO

La transaction a été exécutée comme étant le résultat de l'activation d'un évènement Stop Out

DEAL_REASON_ROLLOVER

La transaction a été exécutée en raison d'un rollover

DEAL_REASON_VMARGIN

La transaction a été exécutée après la facturation de la marge de variation

DEAL_REASON_SPLIT

La transaction a été exécutée après le découpage (réduction du prix) d'un instrument sur lequel une position était ouverte au moment de l'annonce du découpage

DEAL_REASON_CORPORATE_ACTION

La transaction a été exécutée à la suite d'une opération sur titres : fusion ou renommage d'un titre, transfert d'un client vers un autre compte, etc.