Principios y conceptos básicos: orden, transacción y posición

Antes de comenzar a estudiar el desarrollo de Asesores Expertos en MQL5, recordemos la arquitectura general de la plataforma y los conceptos básicos que formalizan la actividad de trading.

MetaTrader 5 es un terminal de cliente conectado a una parte de servidor multinivel distribuida entre los ordenadores de un bróker, operador o bolsa. Una vez que un usuario rellena una orden para ejecutar una operación, ésta pasa por varias etapas de envío y verificación, tras las cuales es registrada o rechazada por el operador o la bolsa. Entonces, una orden registrada en el mercado puede ejecutarse o no en función de circunstancias como la liquidez, el ritmo de variación de los precios, la pausa en el trading de símbolos o cuestiones técnicas.

Régimen general de procesamiento de una solicitud de operación
Régimen general de procesamiento de una solicitud de operación

Aquí, las flechas verdes indican la ejecución satisfactoria de una operación de trading a medida que pasa del terminal al mercado, y las flechas rojas indican un posible rechazo.

Las órdenes generadas por programas MQL también pasan por instancias similares. En caso de resultado desfavorable, la API de MQL5 nos permitirá conocer el motivo del fallo a través del código de error.

Todo este proceso se expresa (y documenta en informes) en tres términos fundamentales: orden, transacción y posición.

Una orden es la instrucción que un operador da a una empresa de correduría para comprar o vender un instrumento financiero. MetaTrader 5 admite varios tipos de órdenes, pero de forma simplificada se pueden dividir condicionalmente en mercado, pendientes y niveles de protección especiales Take Profit y Stop Loss.

Como resultado de la ejecución satisfactoria de una orden, se produce una transacción en el sistema de trading. Concretamente, una transacción puede cerrarse al precio actual en el caso de una orden de mercado, o cuando una orden pendiente se activa cuando el precio alcanza el valor especificado en la orden. En otras palabras: una transacción es el hecho de comprar o vender un determinado instrumento financiero.

Hay que tener en cuenta que, en algunas condiciones, la ejecución de una orden puede dar lugar a varias transacciones. Por ejemplo, si el libro de órdenes no contiene una cantidad suficiente de liquidez de símbolos, entonces una orden de compra puede ejecutarse a través de varias órdenes contrarias, incluidas aquellas a un precio ligeramente diferente.

Un instrumento financiero comprado o vendido de acuerdo con una transacción forma una posición larga o corta, respectivamente, que se refleja en el activo/pasivo de la cuenta de trading. Como resultado del cambio posterior en el precio del instrumento de la posición se forma una ganancia o pérdida flotante en la cuenta, que puede fijarse cerrando la posición mediante operaciones inversas (órdenes y transacciones). Dependiendo del tipo de cuenta de trading (compensación o cobertura), las transacciones para el mismo instrumento modifican una única posición neta o crean/borran posiciones independientes.

Encontrará más información en el manual de usuario del terminal

Todas las órdenes, transacciones y posiciones se incluyen en el historial de trading de la cuenta.

A continuación, examinaremos la API de software, que incluye funciones para enviar órdenes de trading, obtener el estado actual de la cartera en la cuenta, comprobar la carga del margen y los beneficios/pérdidas potenciales, así como analizar el historial de trading.