Propiedades de transacciones

Una transacción refleja el hecho de ejecución de una operación comercial a base de una orden que contiene una disposición comercial. Cada transacción se describe por las propiedades que permiten obtener información sobre ella.  Para leer los valores de las propiedades se utilizan las funciones del tipo HistoryDealGet...() que devuelven los valores de las enumeraciones correspondientes.

Para la función HistoryDealGetInteger()

ENUM_DEAL_PROPERTY_INTEGER

Identificador

Descripción

Tipo

DEAL_TICKET

Ticket de la operación. Número único que se asigna a cada operación

long

DEAL_ORDER

Orden a base de la cual la transacción ha sido ejecutada

long

DEAL_TIME

Hora de ejecución de transacción

datetime

DEAL_TIME_MSC

Tiempo de ejecución de la transacción en milisegundos desde 01.01.1970

long

DEAL_TYPE

Tipo de transacción

ENUM_DEAL_TYPE

DEAL_ENTRY

Dirección de transacción — entra en el mercado, sale del mercado o da la vuelta

ENUM_DEAL_ENTRY

DEAL_MAGIC

Magic number para la transacción (véase ORDER_MAGIC)

long

DEAL_REASON

Causa u origen de la realización de la transacción

ENUM_DEAL_REASON

DEAL_POSITION_ID

Identificador de posición, en la apertura, modificación o cierre de la cual participa esta transacción. Cada posición tiene su único identificador que se asigna a todas las transacciones realizadas con el instrumento durante toda la vida de la posición.

long

Para la función HistoryDealGetDouble()

ENUM_DEAL_PROPERTY_DOUBLE

Identificador

Descripción

Tipo

DEAL_VOLUME

Volumen de transacción

double

DEAL_PRICE

Precio de transacción

double

DEAL_COMMISSION

Comisión de transacción

double

DEAL_SWAP

Swap acumulado con el cierre

double

DEAL_PROFIT

Beneficio de transacción

double

DEAL_FEE

El pago por la realización de una transacción se efectúa justo después de ejecutar la misma.

double

DEAL_SL

Nivel de Stop Loss

  • Para una operación de entrada o vuelta, el valor de Stop Loss se toma de la orden que abre o da vuelta a la posición.
  • Para una operación de salida, el valor de Stop Loss se toma del cierre de la posició

double

DEAL_TP

Nivel de Nível Take Profit

  • Para una operación de entrada o vuelta, el valor de Take Profit se toma de la orden que abre o da vuela a la posición
  • Para una operación de salida, el valor de Take Profit se toma del cierre de la posición

double

Para la función HistoryDealGetString()

ENUM_DEAL_PROPERTY_STRING

Identificador

Descripción

Tipo

DEAL_SYMBOL

Símbolo de transacción

string

DEAL_COMMENT

Comentarios de transacción

string

 

Cada transacción se caracteriza por el tipo; los posibles valores se encuentran en la enumeración ENUM_DEAL_TYPE. Para obtener la información sobre el tipo de la transacción, utilice la función HistoryDealGetInteger() con el modificador DEAL_TYPE.

ENUM_DEAL_TYPE

Identificador

Descripción

DEAL_TYPE_BUY

Compra

DEAL_TYPE_SELL

Venta

DEAL_TYPE_BALANCE

Balance

DEAL_TYPE_CREDIT

Crédito

DEAL_TYPE_CHARGE

Cargas adicionales

DEAL_TYPE_CORRECTION

Corrección

DEAL_TYPE_BONUS

Bonos

DEAL_TYPE_COMMISSION

Comisiones adicionales

DEAL_TYPE_COMMISSION_DAILY

Comisión calculada al final de la jornada de trading

DEAL_TYPE_COMMISSION_MONTHLY

Comisión calculada al final del mes

DEAL_TYPE_COMMISSION_AGENT_DAILY

Comisión de agente calculada al final de la jornada de trading

DEAL_TYPE_COMMISSION_AGENT_MONTHLY

Comisión de agente calculada al final del mes

DEAL_TYPE_INTEREST

Calculo de intereses sobre fondos libres

DEAL_TYPE_BUY_CANCELED

Transacción de compra cancelada. Puede surgir la situación cuando una transacción de compra realizada anteriormente se cancele. En este caso el tipo de la operación realizada (DEAL_TYPE_BUY) se cambia a DEAL_TYPE_BUY_CANCELED, y su beneficio/pérdida se anula. El beneficio/pérdida producido/a anteriormente se carga/se quita de la cuenta por medio de una operación contable separada

DEAL_TYPE_SELL_CANCELED

Transacción de venta cancelada. Puede surgir la situación cuando una transacción de venta realizada anteriormente se cancele. En este caso el tipo de la operación realizada (DEAL_TYPE_SELL) se cambia a DEAL_TYPE_SELL_CANCELED, y su beneficio/pérdida se anula. El beneficio/pérdida producido/a anteriormente se carga/se quita de la cuenta por medio de una operación contable separada

DEAL_DIVIDEND

Operaciones con dividendos

DEAL_DIVIDEND_FRANKED

Operaciones con dividendos franqueados (no tributables)

DEAL_TAX

Carga impositiva

 

Las transacciones se diferencian no sólo por sus tipos que se establecen de la enumeración ENUM_DEAL_TYPE, sino por el modo de cambiar la posición. Esto puede ser una simple apertura de posición, o acumulación de una posición abierta anteriormente (entrada en el mercado), cierre de posición con una transacción de dirección opuesta de un volumen correspondiente (salida del mercado), o bien, la vuelta de posición en caso cuando el volumen de transacción en dirección opuesta supera el volumen de la posición abierta anteriormente.

Todas estas situaciones se describen por los valores de la enumeración ENUM_DEAL_ENTRY. para obtener esta información, utilice la función HistoryDealGetInteger() con el modificador DEAL_ENTRY.

ENUM_DEAL_ENTRY

Identificador

Descripción

DEAL_ENTRY_IN

Entrada en el mercado

DEAL_ENTRY_OUT

Salida del mercado

DEAL_ENTRY_INOUT

Vuelta

DEAL_ENTRY_OUT_BY

Cierre con la posición opuesta

 

En la propiedad DEAL_REASON se contiene el motivo de la realización de la transacción. La transacción puede realizarse como resultado de la activación de una orden colocada desde la aplicación móvil o desde un programa MQL5; o bien como resultado del evento StopOut o el abono/retirada del margen de variación, etcétera. Los posibles valores de DEAL_REASON se describen en la enumeración ENUM_DEAL_REASON. Para algunas transacciones provocadas por operaciones de cambio de balance, crédito, abono de comisiones, etcétera, se indica como causa DEAL_REASON_CLIENT.

ENUM_DEAL_REASON

Identificador

Descripción

DEAL_REASON_CLIENT

La transacción se realizado como resultado de la activación de una orden colocada desde el terminal de escritorio

DEAL_REASON_MOBILE

La transacción se realizado como resultado de la activación de una orden colocada desde la aplicación móvil

DEAL_REASON_WEB

La transacción se realizado como resultado de la activación de una orden colocada desde la plataforma web

DEAL_REASON_EXPERT

La transacción se realizado como resultado de la activación de una orden colocada desde un programa MQL5 - un asesor o script

DEAL_REASON_SL

La transacción se realizado como resultado de la activación de una orden Stop Loss

DEAL_REASON_TP

La transacción se realizado como resultado de la activación de una orden Take Profit

DEAL_REASON_SO

La transacción se realizado como resultado del evento Stop Out

DEAL_REASON_ROLLOVER

La transacción se realizado a causa del traslado de una posición

DEAL_REASON_VMARGIN

La transacción se realizado después de abonarse/retirarse el margen de variación

DEAL_REASON_SPLIT

La transacción se realizado a causa del fraccionamiento (reducción del precio) de un instrumento que tenía una posición abierta en el momento del fraccionamiento

DEAL_REASON_CORPORATE_ACTION

La transacción se ha realizado como resultado de una acción corporativa: fusión o cambio del nombre de un valor, transferencia de un cliente a otra cuenta, etc.