Propiedades de transacciones

Una transacción refleja el hecho de que se ha realizado una operación de trading sobre la base de una orden. Una orden puede generar varias transacciones debido a la ejecución por partes o al cierre opuesto de posiciones.

Las transacciones se caracterizan por propiedades de tres tipos básicos: entero (y compatibles con ellos), real y cadena. Cada propiedad se describe mediante su propia constante en una de las enumeraciones: ENUM_DEAL_PROPERTY_INTEGER, ENUM_DEAL_PROPERTY_DOUBLE, ENUM_DEAL_PROPERTY_STRING.

Para leer las propiedades de las transacciones, utilice las funciones HistoryDealGet . Todos ellos asumen que la sección necesaria del historial fue solicitada previamente utilizando funciones especiales para la selección de órdenes y transacciones del historial

Las propiedades de enteros se describen en la enumeración ENUM_DEAL_PROPERTY_INTEGER.

Identificador

Descripción

Tipo

DEAL_TICKET

Ticket de transacción; un número único que se asigna a cada transacción.

ulong

DEAL_ORDER

El ticket de la orden en base a la cual se ejecutó la operación.

ulong

DEAL_TIME

Hora de la transacción

datetime

DEAL_TIME_MSC

Tiempo de la transacción en milisegundos

ulong

DEAL_TYPE

Tipo de transacción

ENUM_DEAL_TYPE (véase más abajo)

DEAL_ENTRY

Dirección de la transacción: entrada en el mercado, salida del mercado o inversión

ENUM_DEAL_ENTRY (véase más abajo)

DEAL_MAGIC

Número mágico de la transacción (basado en ORDER_MAGIC)

ulong

DEAL_REASON

Fuente o motivo de la transacción

ENUM_DEAL_REASON (véase más abajo)

DEAL_POSITION_ID

Identificador de la posición abierta, modificada o cerrada por la transacción

ulong

Los posibles tipos de transacción se representan mediante la enumeración ENUM_DEAL_TYPE.

Identificador

Descripción

DEAL_TYPE_BUY

Comprar

DEAL_TYPE_SELL

Vender

DEAL_TYPE_BALANCE

Saldo devengado

DEAL_TYPE_CREDIT

Devengo de créditos

DEAL_TYPE_CHARGE

Cargos adicionales

DEAL_TYPE_CORRECTION

Corrección

DEAL_TYPE_BONUS

Bonificaciones

DEAL_TYPE_COMMISSION

Comisión adicional

DEAL_TYPE_COMMISSION_DAILY

Comisión cobrada al final del día de trading

DEAL_TYPE_COMMISSION_MONTHLY

Comisión cobrada a final de mes

DEAL_TYPE_COMMISSION_AGENT_DAILY

Comisión de agente cobrada al final del día de trading

DEAL_TYPE_COMMISSION_AGENT_MONTHLY

Comisión del agente cobrada a final de mes

DEAL_TYPE_INTEREST

Devengo de intereses de los fondos libres

DEAL_TYPE_BUY_CANCELED

Transacción de compra cancelada

DEAL_TYPE_SELL_CANCELED

Transacción de venta cancelada

DEAL_DIVIDEND

Devengo de dividendos

DEAL_DIVIDEND_FRANKED

Devengo de un dividendo con franquicia (exento de impuestos)

DEAL_TAX

Devengo de impuestos

Las opciones DEAL_TYPE_BUY_CANCELED y DEAL_TYPE_SELL_CANCELED reflejan la situación cuando se cancela una transacción anterior. En este caso, el tipo de la transacción ejecutada previamente (DEAL_TYPE_BUY o DEAL_TYPE_SELL) se cambia a DEAL_TYPE_BUY_CANCELED o DEAL_TYPE_SELL_CANCELED, y su beneficio/pérdida se pone a cero. Los beneficios/pérdidas percibidos anteriormente se abonan/cargan en la cuenta como una operación de saldo independiente.

Las transacciones difieren en la forma de cambiar de posición. Puede tratarse de la simple apertura de una posición (entrada en el mercado), el aumento del volumen de una posición abierta previamente, el cierre de una posición con una transacción en sentido opuesto o la inversión de la posición cuando la transacción opuesta cubre el volumen de una posición abierta previamente. Esta última operación sólo se admite en las cuentas de compensación.

Todas estas situaciones se describen mediante los elementos de la enumeración ENUM_DEAL_ENTRY.

Identificador

Descripción

DEAL_ENTRY_IN

Entrada en el mercado

DEAL_ENTRY_OUT

Salida del mercado

DEAL_ENTRY_INOUT

Inversión

DEAL_ENTRY_OUT_BY

Cierre por una posición opuesta

Los motivos de la transacción se resumen en la enumeración ENUM_DEAL_REASON.

Identificador

Descripción

DEAL_REASON_CLIENT

Activación de una orden cursada desde el terminal de sobremesa.

DEAL_REASON_MOBILE

Activación de una orden cursada desde una aplicación móvil.

DEAL_REASON_WEB

Activación de una orden cursada desde la plataforma web.

DEAL_REASON_EXPERT

Activación de una orden cursada por un Asesor Experto o un script.

DEAL_REASON_SL

Orden Stop Loss activada

DEAL_REASON_TP

Activación de la orden Take Profit

DEAL_REASON_SO

Evento Stop Out

DEAL_REASON_ROLLOVER

Transferencia de posición a un nuevo día

DEAL_REASON_VMARGIN

Añadir/deducir margen de variación

DEAL_REASON_SPLIT

Dividir (precio más bajo) el instrumento en el que había una posición

Las propiedades de tipo real se representan mediante la enumeración ENUM_DEAL_PROPERTY_DOUBLE.

Identificador

Descripción

DEAL_VOLUME

Volumen de la transacción

DEAL_PRICE

Precio de la transacción

DEAL_COMMISSION

Comisión de la transacción

DEAL_SWAP

Permuta acumulada al cierre

DEAL_PROFIT

Resultado financiero de la transacción

DEAL_FEE

Comisión por la transacción que se cobra inmediatamente después de la misma.

DEAL_SL

Nivel de Stop Loss

DEAL_TP

Nivel de Take Profit

Las dos últimas propiedades se rellenan de la siguiente manera: para una transacción de entrada o de inversión, el valor Stop Loss/Take Profit se toma de la orden por la que se abrió o amplió la posición. Para la transacción de salida, el valor Stop Loss/Take Profit se toma de la posición en el momento de su cierre.

Las propiedades de transacción de cadenas están disponibles a través de las constantes de enumeración ENUM_DEAL_PROPERTY_STRING.

Identificador

Descripción

DEAL_SYMBOL

El nombre del símbolo por el que se ha realizado la transacción

DEAL_COMMENT

Comentarios de la transacción

DEAL_EXTERNAL_ID

Identificador de la transacción en el sistema de trading externo (en la bolsa)

Probaremos cómo leer las propiedades en la sección sobre las funciones HistoryDealGet a través de las clases DealMonitor y DealFilter.