Propriedades da Transação

Uma transação é o reflexo de uma execução de uma negociação baseada em uma ordem que contém uma solicitação de negociação. Cada negociação é descrita através de propriedades que permitem obter informações sobre ela. A fim de ler valores destas propriedades, as funções do tipo HistoryDealGet...() são usadas, que retornam valores provenientes das enumerações correspondentes.

Para a função PlotIndexSetDouble()

ENUM_DEAL_PROPERTY_INTEGER

Identificador

Descrição

Tipo

DEAL_TICKET

Bilhete da transação. Um número exclusivo atribuído a cada transação.

long

DEAL_ORDER

Número da ordem da transação.

long

DEAL_TIME

Propriedades da Transação

datetime

DEAL_TIME_MSC

O tempo de execução de negociações em milissegundos desde 01.01.1970

long

DEAL_TYPE

Tipo de transação

ENUM_DEAL_TYPE

DEAL_ENTRY

Entrada de uma transação - entrada, saída, reversão

ENUM_DEAL_ENTRY

DEAL_MAGIC

Número mágico de uma transação (veja ORDER_MAGIC)

long

DEAL_REASON

Razão ou origem para realizar a transação

ENUM_DEAL_REASON

DEAL_POSITION_ID

Identificador de uma posição, na abertura, modificação ou fechamento da qual esta transação tomou parte. Cada posição tem um identificador único que é atribuído a todas as operações (deals) executadas para o ativo durante todo o tempo de vida da posição.

long

Para a função HistoryDealGetDouble()

ENUM_DEAL_PROPERTY_DOUBLE

Identificador

Descrição

Tipo

DEAL_VOLUME

Volume da transação

double

DEAL_PRICE

Preço da transação

double

DEAL_COMMISSION

Comissão da transação

double

DEAL_SWAP

Swap acumulativo no fechamento

double

DEAL_PROFIT

Lucro da transação

double

DEAL_FEE

O pagamento da transação é cobrado imediatamente após a ela ser concluída.

double

DEAL_SL

Nível de Stop Loss

  • Para uma operação de entrada ou reversão, o valor Stop Loss é tomado da ordem que abre ou reverte a posição
  • Para uma operação de saída, o valor do Stop Loss é tomado do fechamento da posição

double

DEAL_TP

Nível Take Profit

  • Para uma operação de entrada ou reversão, o valor Take Profit é tomado da ordem que abre ou reverte a posição
  • Para uma operação de saída, o valor Take Profit é tomado do fechamento da posição

double

Para a função HistoryDealGetString()

ENUM_DEAL_PROPERTY_STRING

Identificador

Descrição

Tipo

DEAL_SYMBOL

Ativo (symbol) da transação

string

DEAL_COMMENT

Comentário da transação

string

 

Cada transação é caracterizada por um tipo, cujos valores permitidos são enumerados em ENUM_DEAL_TYPE. A fim de obter informações sobre o tipo de transação, use a função HistoryDealGetInteger() com o modificador DEAL_TYPE.

ENUM_DEAL_TYPE

Identificador

Descrição

DEAL_TYPE_BUY

Compra

DEAL_TYPE_SELL

Venda

DEAL_TYPE_BALANCE

Saldo

DEAL_TYPE_CREDIT

Crédito

DEAL_TYPE_CHARGE

Cobrança adicional

DEAL_TYPE_CORRECTION

Correção

DEAL_TYPE_BONUS

Bonus

DEAL_TYPE_COMMISSION

Comissão adicional

DEAL_TYPE_COMMISSION_DAILY

Comissão diária

DEAL_TYPE_COMMISSION_MONTHLY

Comissão mensal

DEAL_TYPE_COMMISSION_AGENT_DAILY

Comissão de agente diário

DEAL_TYPE_COMMISSION_AGENT_MONTHLY

Comissão de agente mensal

DEAL_TYPE_INTEREST

Taxa de juros

DEAL_TYPE_BUY_CANCELED

Operação de compra cancelada. Pode haver uma situação quando uma operação de compra executada anteriormente é cancelada. Neste caso, o tipo de transação executada anteriormente (DEAL_TYPE_BUY) é alterada para DEAL_TYPE_BUY_CANCELED, e seu lucro/prejuízo é zerado Lucro/prejuízo obtido anteriormente é cobrado/sacado usando uma operação de saldo separada

DEAL_TYPE_SELL_CANCELED

Operação de venda cancelada. Pode haver uma situação quando uma operação de venda executada anteriormente é cancelada. Neste caso, o tipo da operação executada anteriormente (DEAL_TYPE_SELL) é alterada para DEAL_TYPE_SELL_CANCELED, e seu lucro/prejuízo é zerado. Lucro/prejuízo obtido anteriormente é cobrado/sacado usando uma operação de saldo separada

DEAL_DIVIDEND

Operação de dividendos

DEAL_DIVIDEND_FRANKED

Operação de dividendos franqueados (não tributáveis)

DEAL_TAX

Cálculo do imposto

 

As operações (deal) diferem entre si não somente no seu conjunto de tipos em ENUM_DEAL_TYPE, mas também na forma como elas alteram posições. Isto pode ser uma simples abertura de posição, ou acumulação de uma posição aberta anteriormente (entrada de mercado), encerramento de posição através de uma operação oposta no volume correspondente (saída de mercado), ou reversão de posição, se a operação em direção oposta cobrir o volume da posição aberta anteriormente.

Todas estas situações são descritas pelos valores provenientes da enumeração ENUM_DEAL_ENTRY. A fim de receber esta informação sobre uma transação, use a função HistoryDealGetInteger() com o modificador DEAL_ENTRY.

ENUM_DEAL_ENTRY

Identificador

Descrição

DEAL_ENTRY_IN

Entrada

DEAL_ENTRY_OUT

Saída

DEAL_ENTRY_INOUT

Reversão

DEAL_ENTRY_OUT_BY

Fechamento pela posição oposta

 

A propriedade DEAL_REASON contém a razão para a realização da transação. A transação pode ser realizada como resultado da ativação da ordem colocada a partir do aplicativo móvel ou a partir de um programa MQL5; ou como resultado de um evento StopOut, ou debitada/creditada a margem de variação, etc. Os valores possíveis DEAL_REASON são descritos na enumeração ENUM_DEAL_REASON. Para as operações não-comerciais resultantes da alteração do balanço, crédito comissões e outras operações, indica-se como a razão DEAL_REASON_CLIENT.

ENUM_DEAL_REASON

Identificador

Descrição

DEAL_REASON_CLIENT

Transação realizada como resultado da ativação de uma ordem colocada a partir de um terminal desktop

DEAL_REASON_MOBILE

Transação realizada como resultado da ativação de uma ordem colocada a partir de um aplicativo móvel

DEAL_REASON_WEB

Transação realizada como resultado da ativação de uma ordem colocada a partir da plataforma web

DEAL_REASON_EXPERT

Transação realizada como resultado da ativação de uma ordem colocada a partir de um programa MQL5, Expert Advisor ou script

DEAL_REASON_SL

Transação realizada como resultado da ativação de uma ordem Stop Loss

DEAL_REASON_TP

Transação realizada como resultado da ativação de uma ordem Take Profit

DEAL_REASON_SO

Transação realizada como resultado do evento Stop Out

DEAL_REASON_ROLLOVER

Transação realizada devido à transferência da posição

DEAL_REASON_VMARGIN

Transação realizada após creditada/debitada a margem de variação

DEAL_REASON_SPLIT

Transação realizada após o fracionamento (redução do preço) do instrumento que tinha a posição aberta durante o fracionamento

DEAL_REASON_CORPORATE_ACTION

A operação foi realizada como resultado de uma ação corporativa: fusão ou renomeação de título, transferência de um cliente para outra conta, etc.