Scripts
Un script es un programa MQL con el manejador único OnStart, siempre y cuando no haya una directiva #property service (de lo contrario se obtiene un servicio; véase la siguiente sección).
Por defecto, el script comienza a ejecutarse inmediatamente cuando se coloca en el gráfico. El desarrollador puede pedirle al usuario que confirme el inicio añadiendo la directiva #property script_show_confirm al principio del archivo. En este caso, el terminal mostrará un mensaje con la pregunta «¿Está seguro de que desea ejecutar 'programa' en el gráfico 'símbolo, marco temporal'?» y los botones Sí y No.
Los scripts, al igual que otros programas, pueden tener variables de entrada. Sin embargo, en el caso de los scripts, el cuadro de diálogo de introducción de parámetros no se muestra por defecto, aunque el script defina inputs. Para asegurarse de que el cuadro de diálogo de propiedades se abre antes de ejecutar el script, debe aplicarse la directiva #property script_show_inputs. Tiene prioridad sobre script_show_confirm, es decir, la salida del cuadro de diálogo desactiva la petición de confirmación (ya que el propio cuadro de diálogo actúa con un papel similar). La directiva llama a un cuadro de diálogo aunque no haya variables de entrada. Puede utilizarse para mostrarle al usuario la descripción y la versión del producto (se muestran en la pestaña Common).
En la siguiente tabla se muestran las opciones de combinación para la directiva #property y su efecto en el programa.
Directiva Efecto |
script_show_confirm |
script_show_inputs |
|---|---|---|
Lanzamiento inmediato |
No |
No |
Solicitud de confirmación |
Sí |
No |
Apertura del cuadro de diálogo de propiedades |
irrelevante |
Sí |
Un ejemplo sencillo de script con directivas se encuentra en el archivo ScriptNoComment.mq5. El objetivo del script es el siguiente: a veces, los programas MQL dejan comentarios innecesarios en la esquina superior izquierda del gráfico. Estos comentarios se almacenan en archivos chr junto con el gráfico, por lo que se restauran incluso después de reiniciar el terminal. Este script le permite borrar un comentario o establecerlo en un valor arbitrario. Si usted Assign hotkey a un script utilizando el comando del menú contextual Navegador, será posible limpiar el comentario del gráfico actual con un solo clic.
Originalmente, las directivas script_show_confirm y script_show_inputs se desactivan al convertirse en comentarios en línea. Puede experimentar con diferentes combinaciones de directivas eliminando los comentarios de uno en uno o al mismo tiempo.
//#property script_show_confirm
|