Ayuda de MetaEditor

Compilación

La compilación es el proceso de traducción del código fuente de un programa MQL4/MQL5 en el lenguaje de la máquina. Este proceso se compone de varias etapas:

  • Análisis léxico;
  • Análisis sintáctico;
  • Análisis semántico;
  • Generación de código;
  • Optimización de código.

El resultado de una exitosa compilación es la creación de un archivo de ejecución del programa (*.EX5) que puede ser iniciado en el Terminal de Cliente.

  • Se puede compilar cualquier archivo (*.MQ5 o *.MQH). Sin embargo, el archivo ejecutable (*.EX5) se puede obtener sólo en el resultado de compilación del archivo principal MQ5 del programa.
  • Un archivo ejecutable se crea en su propio formato cerrado, lo que oculta el algoritmo fuente del programa.
  • Los archivos ejecutables compilados EX5 se puede distribuir sin los archivos fuente MQ5 y MQH. La depuración resulta imposible sin ellos. Tampoco se recomienda distribuir los archivos ejecutables EX5 obtenidos en el proceso de depuración.

Para empezar la compilación, debe abrir el archivo fuente desde la ventana "Navegador" y ejecutar el comando "Compilar Compilar" en el menú "Archivo" o en la barra de herramientas "Estándar", o bien pulsar la tecla "F7".

El protocolo del proceso de compilación se muestra en la pestaña "Errores" en la ventana "Caja de herramientas". Si en esta pestaña no se muestra ningún error, puede iniciar este programa en el Terminal de Cliente. Los mensajes sobre los errores y avisos se marcan con sus correspondientes íconos al lado de su descripción:

Errores

Los errores de compilación se marcan con los íconos Error tanto en la pestaña "Errores", como en el mismo código si va a ellos. Si surgen errores de este tipo, el archivo ejecutable del programa (*.EX5) no se crea. Para ir a la línea donde ha surgido el error, haga doble clic izquierdo sobre la línea, o ejecutar el comando "Ir a la línea Ir a la línea" en el menú contextual. En las columnas correspondientes se muestra el número de la línea y la columna donde ha sido encontrado el error.

Puede encontrar la descripción más detallada de los errores de compilación en el manual de referencia del lenguaje MQL4/MQL5.

La presencia de los avisos marcados con el ícono Aviso indica en los lugares de la posible aparición de los errores. Es decir, el compilador se fija en aquellos lugares del código fuente que podían ser interpretados de forma incorrecta (por ejemplo, el cambio implícito del tipo de un valor). Usted puede pasar a esta línea en el código de la misma manera que en el caso con los errores.

Se admite la posibilidad de pasar de los avisos. No obstante, esto no es recomendable, puesto que indican en los lugares potenciales donde pueden surgir los errores.

Además, en el diario se muestran diferentes mensajes informativos que se marcan con los íconosInformación. A través de ellos se muestran, por ejemplo, los archivos de inclusión a los que llamaba el programa durante la compilación.

El archivo ejecutable (*.EX5) creado como resultado de una exitosa compilación se coloca en el mismo sitio donde se ubica el archivo principal del código fuente del programa (*.MQ5).

Compilación de la línea de comandos

El archivo ejecutable MetaEditor puede ser usado como compilador al trabajar con el código base en los editores externos. El compilador se inicia desde la línea de comandos con indicaciones de la ruta y el nombre del archivo que se debe compilar:

  • metaeditor.exe /compile:"<camino completo al archivo fuente>"
  • metaeditor64.exe /compile:"<camino completo al archivo fuente>"

Ejemplo

"C:\Program Files\TradingPlatform\metaeditor64.exe" /compile:"C:\Program Files\TradingPlatform\MQL5\Scripts\myscript.mq5"

Compilación masiva de archivos en el catálogo

La compilación se puede realizar de forma masiva, indicando, en lugar de la ruta al archivo, la ruta hasta el catálogo. En este caso, se compilarán todos los archivos de los códigos fuente en la carpeta indicada, las subcarpetas no se tienen en cuenta.

Si para el archivo fuente ya existe una versión compilada, no se realizará una re-compilación.

En el ejemplo de abajo la compilación se realizará para el catálogo \MQL5\Scripts

Ejemplo

"C:\Program Files\TradingPlatform\metaeditor64.exe" /compile:"C:\Program Files\TradingPlatform\MQL5\Scripts"

Catálogo MQL5/MQL4 propio con archivos incluidos

Los programas pueden utilizar los archivos incluidos adicionales (*.mqh), ubicados fuera del catálogo de trabajo de la plataforma actual. Por ejemplo, en el catálogo \MQL5 de otra copia de la plataforma en la misma computadora. Para que la compilación se realice correctamente, indique la ruta a este catálogo a través de la clave "/inc".

Ejemplo

"C:\Program Files\TradingPlatform\metaeditor64.exe" /compile:"C:\Program Files\TradingPlatform\MQL5\Scripts" /inc:"C:\Program Files\TradingPlatform 2\MQL5"

Registro de compilación

Para obtener información sobre el proceso de compilación, indique la clave adicional /log. En este caso, en la carpeta donde se encuentra el archivo fuente se creará un archivo del registro de compilación <nombre del archivo fuente>.log.

Ejemplo

"C:\Program Files\TradingPlatform\metaeditor64.exe" /compile:"C:\Program Files\TradingPlatform\MQL5\Scripts\myscript.mq5" /log
Archivo del registro: C:\Program Files\TradingPlatform\MQL5\Script\myscript.log

Comprobación de la estadística

Para comprobar la sintaxis del programa sin compilar, inicie el MetaEditor desde la línea de comandos /s y /log (para que se muestre el resultado de la comprobación en un archivo log).

Ejemplo

"C:\Program Files\TradingPlatform\metaeditor64.exe" /compile:"C:\Program Files\TradingPlatform\MQL5\Scripts\myscript.mq5" /s /log
archivo con los resultados de la comprobación: C:\Program Files\TradingPlatform\MQL5\Script\myscript.log