APRENDIENDO A PROGRAMAR EN MQL4 FUNDAMENTOS DE MQL4 – PARTE II – EL METAEDITOR

Continuando con las bases del lenguaje MQL4, en esta oportunidad profundizaremos acerca de los componentes y la estructura del metaeditor, herramienta fundamental para el uso de este lenguaje de programación.

El MetaEditor es un editor específico con múltiples fun­ciones destinados a la creación, edición y compilación de programas escritos en MQL4. El editor tiene un interfaz de fácil uso que permite a los usuarios navegar de forma sencilla al escribir y revisar un programa.

El MetaEditor almacena todos los códigos fuente de MQL4 o programas en una estructura propia del disco duro. La ubica­ción de estos programas está determinada por su propósito: Script, Asesores expertos o indicadores.

Es muy fácil crear un programa en MQL4, las herramientas que lleva incorporadas le ayudarán. Usted puede modificar las plan­tillas para la creación de scripts, los indicadores o Asesores Ex­pertos. El código creado se guardará automáticamente en una carpeta del sistema de archivos MetaEditor.

El programa Terminal de Usuario reconoce los tipos de su ubi­cación en los directorios subordinados. Todos los programas de aplicación se concentran en el directorio ClientTerminal_folder \ experts. Asesores Expertos, scripts y los indicadores persona­lizados de un trader que se van a utilizar en su trabajo práctico deberían estar situados en los directorios correspondientes. Los Asesores Expertos se encuentran en el directorio ClientTermi­nal_folder \ expertos, scripts e indicadores en subdirectorios ClientTerminal_folder \ experts \ scripts y ClientTerminal_fol­der \ experts \ indicators.

El usuario puede crear directorios para almacenar archivos. Sin embargo, el uso de programas listos situado en ese directorio no está previsto en el Terminal de Usuario.

TIPOS DE ARCHIVO

En MQL4 hay tres tipos de archivos que llevan un código de programa: mq4, ex4 y mqh.

ARCHIVOS MQ4

Los archivos de tipo mq4 representan un programa de código fuente escrito en mql4. Los archivos de este tipo contienen los textos de origen de todo tipo de programas (Asesores Expertos, scripts e indicadores). Se utilizan para la creación de códigos de programa MetaEditor.

Cuando un código haya sido total o parcialmente creado, puede ser guardado y después abrirlo para su modificación, este ar­chivo es de tipo mq4. Para iniciar la ejecución de un programa en el Terminal de Usuario el archivo mq4 debe ser compilado primero.

Como resultado, de la compilación del código fuente, se crea un archivo del mismo nombre con la extensión ex4, que es el archivo ejecutable de mql4 (con extensión .ex4).

ARCHIVOS EX4

Un fichero de tipo ex4 es un programa compilado listo para su uso práctico en el Terminal de Usuario. Los archivos de este tipo no pueden ser editados. Si un programa tiene que ser modifica­do, esto debe hacerse en su código fuente (archivo tipo mq4): debe ser editado y compilado luego de nuevo. El nombre del ar­chivo no es un indicio de que el programa se trata de un script, un asesor experto o un indicador. Los archivos con extensión ex4 se puede utilizar como archivos de la librería.

ARCHIVOS MQH

Los archivos de tipo mqh se incluyen archivos. Es una fuente de texto utilizado con frecuencia como bloques en programas de usuario. Estos archivos pueden ser incluidos en los textos de origen de Asesores Expertos, los scripts y los indicadores en la fase de compilación. Por lo general, incluyen archivos que con­tienen la descripción de funciones importadas (como ejemplo, ver archivos stdlib.mqh o WinUser32.mqh) o la descripción de constantes y variables comunes (stderror.mqh o WinUser.mqh). Por regla general, los archivos de tipo mqh se almacenan en el directorio ClientTerminal_folder \ experts \ include.

Las secciones “Asesores Expertos “, “Indicadores personalizado” y “Scripts” del navegador terminal de usuario sólo mostrarán los nombres de los archivos que tienen la extensión ex4 y se encuentran en la carpeta correspondiente. Los archivos com­pilados en versiones anteriores de MetaEditor no pueden ser iniciados y se muestran en color gris.

Existen otros tipos de archivos que no hacen un programa completo, pero se utilizan en la creación de programas de apli­cación. Por ejemplo, un programa puede ser creado fuera de varios archivos independientes o usando una librería creada an­teriormente. Un usuario puede crear librerías de funciones per­sonalizadas destinadas al almacenamiento para uso frecuente de bloques de programas de usuario. Se recomienda almacenar las librerías en el directorio ClientTerminal_ folder \ expertos \ libreries. Los archivos de mq4 y ex4 se pueden utilizar como archivos de la libreria. Las librerías no pueden ejecu­tarse por sí mismas.

CÓMO CREAR PROGRAMAS EN MQL4

Los programas de aplicación escritos en MQL4: los Asesores Expertos, scripts e indicadores son creados utilizando el Me­taEditor.

En el ejemplo 1, la Script ”datos_cuenta_broker” nos da infor­mación de los márgenes del bróker, máximo lotaje permitido, el swap y el apalancamiento del activo sobre el que se lanza la Script de nuestro bróker . Deberíamos de compilar el código fuente mq4 y obtener el .ex4 que será el que podremos lanzar sobre el activo a estudiar. El resultado de lanzar la Script sobre el Eurusd sería el que se muestra en el ejemplo 2.

El archivo ejecutable de MetaEditor (MetaEditor.exe), se ofrece como parte del Terminal de Usuario y se encuentra en el directorio raíz de la terminal. El Userguide de MetaEditor se abre presionando F1. Contiene información de carácter general necesarias para la creación de nuevos programas. El editor se puede abrir haciendo clic sobre el nombre del archivo MetaEditor.exe o en un acceso directo ubicado preliminarmente en el escritorio.

ESTRUCTURA DEL TERMINAL DE USUARIO

Para mayor comodidad de operación, MetaEditor ha incorpo­rado las barras de herramientas: “Navigator” (Ctrl + D) y “Tool­box” (Ctrl + T).

El texto del programa se en­cuentra en la ventana del editor, las ventanas son he­rramientas auxiliares.

Las ventanas del navegador y la caja de herramientas tie­nen movimiento y pueden ser  ocultadas o mostradas en el editor usando los botones:

Durante la creación de un nuevo programa, las venta­nas de la caja de herramien­tas y del navegador están ocultas. De este modo, la atención del usuario se con­centra en la creación del pro­grama. Para crear un nuevo programa, utilice el editor de menú Archivo>> Nuevo.

 

 

 

 

 

 

 

Después de todas estas acciones “Expert Advisor Wizard” le ofrecerá una lista para elegir el tipo de programa que quiere ser creado:

El asistente del Asesor Experto mostrará una ventana con varios campos a rellenar:

Después de hacer clic en Aceptar aparecerá un texto en la ven­tana principal y el nombre completo del Asesor Experto creado se publicará en el sistema de archivos y en la ventana del nave­gador.

Veamos el texto del programa generado por MetaEditor:

Como se puede ver, el código contiene principalmente co­mentarios. Ya sabemos que las observaciones no constituyen una parte obligatoria de un programa y el texto de los co­mentarios no es procesado por el programa.

Hay tres funciones especiales en el programa: init (), start () y deinit (). Cada función contiene un solo operador, return (0), que es el operador para salir de la función. Así, un programa de código generado por Expert Ad­visor Wizard (Asistente del Asesor Experto) es sólo un patrón mediante el cual un programador puede crear un nuevo pro­grama. El código final del programa no tiene que contener obli­gatoriamente todas las funciones especiales indicadas. Como por regla general un programa de nivel medio habitualmente contiene todas estas funciones.

Aunque el programa no es de uso práctico, está escrito correc­tamente desde el punto de vista de la sintaxis.

Este programa puede ser compilado y ejecutado. Sería ejecuta­do igual que cualquier otro programa aunque no se realizaría ningun tipo de cálculos ya que no hay existe ninguno en el có­digo fuente.

APARIENCIA DEL PROGRAMA

El uso de comentarios en los programas es altamente recomen­dable y en algunos casos es esencial. Y hay que destacar que un programador no sólo contribuye a crear programas, sino que también los lee y a veces puede tener considerables dificultades al leer un programa. La experiencia de muchos programado­res muestra que la lógica de razonamiento, sobre la base de un programa que fue desarrollado, pueden ser olvidadas (o desco­nocidas en un producto de otro programador) y sin ristras de comentarios es difícil, a veces incluso imposible comprender los fragmentos de código.

VENTAJAS DE AÑADIR COMENTARIOS AL CÓDIGO:

– En primer lugar, los comentarios permiten separar lógica­mente una parte de otra del programa. Es mucho más fácil leer un texto formateado sabiamente que un texto liso (sin apartados).

– En segundo lugar, los comentarios permiten explicar en términos sencillos lo que significa cada línea de código a un programador independiente.

– En tercer lugar, en la parte superior del programa, puede ser especificada información general sobre el programa: nombre del autor y los contactos (incluido el sitio web, e-mail, etc.), tarea del programa (si se trata de un programa de comercio completo o una función de librería), sus prin­cipales características y las limitaciones y otra informacio­nes útiles.

Cada programador puede elegir un estilo de comentarios có­modo. El estilo MQL4 ofrecidos por los desarrolladores se pre­senta en el Asesor Experto create.mql4. Vamos a ver las princi­pales características de cualquier estilo de apariencia aceptable.

– La longitud de una línea de comentario no debe exceder el tamaño de la ventana principal. Esta limitación es un re­quisito formal de sintaxis, pero la lectura de un programa que contenga las líneas tan largas no es conveniente.

– La declaración de variables se realiza en el programa de inicio. Se recomienda escribir un comentario descriptivo para cada variable: explicar su significado brevemente y, si fuera necesario, las peculiaridades de uso.

– Cada operador está mejor situado en una línea distinta.

– Para dividir fragmentos separados, se utilizan línea conti­nua observaciones del ancho total (118 símbolos).

– Cuando se utilizan las llaves, una tabulación tamaño san­grado debe ser utilizada (usualmente 3 símbolos).

PROGRAMA DE COMPILACIÓN

Para hacer un programa utilizable en la práctica, debe ser com­pilado. Con este fin, debe utilizarse el botón (F5) en MetaEditor. Si un programa no contiene ningún error, será compilado y un mensaje se producirá en la caja de herramientas:

Además, un nuevo archivo create.ex4 aparecerá en el directorio correspondiente (en este caso en Terminal_directory \ experts). Este es ya un programa listo para su funcionamiento desde el Terminal de Usuario MetaTrader4. Durante la compilación la última versión del texto de origen del programa en relación con el mismo nombre se guardará en el mismo directorio.

Si durante la compilación se detectan errores en un programa, el MetaEditor mostrará el correspondiente mensaje de error. En tal caso, uno debe volver a editar el texto de origen, repa­rar errores y tratar de compilar el programa, una vez más. Una compilación exitosa solo es posible si no hay errores en el pro­grama.

FUNCIONAMIENTO DEL PROGRAMA COMPILADO

Si un programa de aplicación (Asesor Experto, script o indica­dor) se ha compilado con éxito y su nombre ha aparecido en el navegador de la ventana del Terminal de Usuario, este progra­ma puede ser utilizado en la práctica. Para utilizarlo, se arrastra el icono correspondiente a la ventana del navegador dentro de una ventana de un símbolo utilizando un ratón mediante méto­do “drag & drop”. Esto significa que el programa se vincula a un gráfico de un valor para que se inicie su ejecución.

Un Asesor Experto y un indicador funcionarán hasta que un terminal de usuario termine la ejecución del programa manual­mente. Un script de usuario deja de operar por sí mismo cuan­do termina la ejecución de su algoritmo.

Todos los programas (Asesor Experto, indicador, script) pue­den ser utilizados para el trading solo como parte del Terminal de Usuario de MetaTrader4 cuando éste está conectado al ser­vidor de nuestro bróker a través de Internet.

En otras palabras, si quiere usar cualquier programa (Asesor Experto, indicador, script) debe abrir el Terminal de Usuario de MetaTrader 4 e iniciar un archivo ejecutable *.ex4 en una ventana de un símbolo. Durante la ejecución del programa (de­pendiendo de su algoritmo) las órdenes de comercio pueden ser formadas y enviadas al servidor de nuestro Broker, y por lo tan­to, realizar la operativa de forma automática.