- Ejecución de programas
- Trade Permission
- Eventos de terminal de cliente
- Recursos
- Llamadas a las funciones importadas
- Errores de ejecución
- Simulación de estrategias comerciales
Permiso para tradear
Automatización del trading
En el lenguaje MQL5 hay un grupo especial de funciones comerciales que permiten crear los sistemas comerciales automatizados. Los programas para el trading automático sin la intervención del hombre se llaman los Asesores Expertos (Expert Advisor) o robots comerciales. Para crear un EA, inicie en el editor MetaEditor el asistente MQL5 Wizard para el desarrollo de los EAs y seleccione una de dos opciones:
- Expert Advisor (template) permite crear una plantilla que ya contiene las funciones de procesamiento de eventos hechas y que hace falta completar con todas las capacidades funcionales necesarias mediante la programación personal.
- Expert Advisor (generate) permite desarrollar un robot comercial completamente funcional y listo para el trabajo simplemente seleccionando los módulos necesarios: módulo de formación de señales comerciales, módulo de gestión del capital y el módulo de arrastre del stop de protección para las posiciones abiertas (Trailing Stop).
Las funciones comerciales trabajan sólo en los EAs y los scripts, el trading está prohibido para los indicadores.
Comprobación del permiso para el trading automático
Para crear un EA seguro que realmente sea capaz de trabajar en modo automático sin la intervención del hombre, hay que organizar una serie de comprobaciones necesarias. En primer lugar, hay que comprobar de forma programática si existe realmente el permiso para realizar las operaciones comerciales. La comprobación del permiso para tradear es primordial y obligatoria durante el desarrollo de cualquier sistema automatizado.
Comprobación del permiso para el trading automático en el terminal
En los ajustes del terminal se puede prohibir o permitir el trading automático para todos los programas.
También se puede usar el Panel estándar del terminal para seleccionar la opción del permiso del trading automático:
el trading automático está permitido, se puede usar las funciones comerciales en los programas iniciados.
el trading automático está prohibido, los programas iniciados van a funcionar pero las funciones comerciales no van a ejecutarse.
Ejemplo de comprobación:
if (!TerminalInfoInteger(TERMINAL_TRADE_ALLOWED))
|
Comprobación del permiso para tradear para este EA/script iniciado
Al iniciar un programa, podemos permitir o prohibir el trading automático concretamente para este programa. Para eso existe un ajuste especial en las propiedades del programa.
Ejemplo de comprobación:
if(!TerminalInfoInteger(TERMINAL_TRADE_ALLOWED))
|
Comprobación del permiso para tradear con cualquier EAs/scripts para esta cuenta
La prohibición para el trading automático puede establecerse en el lado del servidor comercial. Ejemplo de comprobación de esta situación:
if(!AccountInfoInteger(ACCOUNT_TRADE_EXPERT))
|
Si el trading automático está prohibido para la cuenta comercial, las operaciones comerciales de los EAs/scripts no van a ejecutarse.
Comprobación del permiso para tradear para esta cuenta
Hay ocasiones cuando para una determinada cuenta está prohibida cualquier operación comercial, es decir, no se puede tradear ni manualmente ni con los EAs. Ejemplo cuando a la cuenta comercial se han conectado usando la contraseña de inversor:
if(!AccountInfoInteger(ACCOUNT_TRADE_ALLOWED))
|
AccountInfoInteger(ACCOUNT_TRADE_ALLOWED) puede devolver false en la siguientes situaciones:
- no hay conexión con el servidor. Se puede comprobar usando TerminalInfoInteger(TERMINAL_CONNECTED);
- la cuenta ha sido pasada en el modo read-only (enviada al archivo);
- el trading está prohibido en el lado del servidor comercial;
- para la conexión a la cuenta se ha utilizado el modo de inversor.
Véase también
Estado del terminal de cliente, Información sobre la cuenta, Información sobre el programa MQL5-en ejecución