Discusión sobre el artículo "Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXII): Clases comerciales - Clase comercial principal, control de limitaciones"

 

Artículo publicado Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXII): Clases comerciales - Clase comercial principal, control de limitaciones:

En el artículo, comenzaremos a crear la clase comercial principal de la biblioteca, equipándola con la primera versión de la funcionalidad para la comprobacion primaria de los permisos de realización de operaciones comerciales. Asimismo, ampliaremos un poco las posibilidades y el contenido de la clase comercial básica.

Para verificar el funcionamiento de los métodos de comprobación de las limitaciones comerciales, deberemos crearlos artificialmente.
Por ejemplo:

  1. desconectamos internet (emulamos una pérdida de conexión con el servidor comercial),
  2. en los ajustes del asesor, le prohibimos comerciar (pulsamos F7 y en la ventana que se abrirá para el ajuste del asesor, en la pestaña "General", quitamos el aspa "Permitir comerciar al asesor"),
  3. prohibimos el autotrading en el terminal (desactivamos el botón "Autotrading")

Y probamos a pulsar el botón de apertura de posición en el panel comercial del asesor. Como resultado, obtenemos la siguiente entrada en el diario:

2019.09.26 15:07:55.582 CTrading::OpenBuy: The request was rejected before being sent to the server due to:
2019.09.26 15:07:55.582 1. There is no permission to conduct trading operations in the terminal (the "AutoTrading" button is disabled)
2019.09.26 15:07:55.582 2. No connection to the trading server
2019.09.26 15:07:55.582 3. EA does not have permission to conduct trading operations (F7 --> Common --> "Allow Automatic Trading")

Vamos quitando las limitaciones por turno.

Conectamos internet, y al intentar abrir una posición, obtenemos:

2019.09.26 15:10:36.766 CTrading::OpenBuy: The request was rejected before being sent to the server due to:
2019.09.26 15:10:36.766 1. There is no permission to conduct trading operations in the terminal (the "AutoTrading" button is disabled)
2019.09.26 15:10:36.766 2. EA does not have permission to conduct trading operations (F7 --> Common --> "Allow Automatic Trading")

Permitimos el autotrading en el terminal pulsando el botón Autotrading, y al intentar abrir una posición, obtenemos:

2019.09.26 15:13:03.424 CTrading::OpenBuy: The request was rejected before being sent to the server due to:
2019.09.26 15:13:03.424 EA does not have permission to conduct trading operations (F7 --> Common --> "Allow Automatic Trading")

Pulsamos F7, y en los ajustes del asesor permitimos a este que comercie. Si intentamos abrir una posición, obtendremos la posición abierta.

2019.09.26 15:14:32.619 - Position is open: 2019.09.26 11:14:32.711 -
2019.09.26 15:14:32.619 EURUSD Opened 0.10 Buy #455179802 [0.10 Market-order Buy #455179802] at price 1.09441, Magic number 123

El resto de las limitaciones se pueden comprobar en el simulador de estrategias o en una cuenta demo, creando una situación en la que se active una de las limitaciones, por ejemplo, la limitación del número máximo de órdenes pendientes en la cuenta.

Autor: Artyom Trishkin

Artyom Trishkin
Artyom Trishkin
  • www.mql5.com
Perfil del trader