Aprendiendo a programar en MQL4, parte 2

Temas relacionados:
Tiempo de lectura: 10 minute(s)
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 funciones 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 ubicació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 plantillas para la creación de scripts, los indicadores o Asesores Expertos. 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 ubicació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 personalizados 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 ClientTerminal_folder \ expertos, scripts e indicadores en subdirectorios ClientTerminal_folder \ experts \ scripts y ClientTerminal_folder \ 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 archivo 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 modificado, esto debe hacerse en su código fuente (archivo tipo mq4): debe ser editado y compilado luego de nuevo. El nombre del archivo 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 contienen 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 compilados en versiones anteriores de MetaEditor no pueden ser iniciados y se muestran en color gris.

Ejemplo 1. Datos de la cuenta broker.

 

Existen otros tipos de archivos que no hacen un programa completo, pero se utilizan en la creación de programas de aplicación. Por ejemplo, un programa puede ser creado fuera de varios archivos independientes o usando una librería creada anteriormente. Un usuario puede crear librerías de funciones personalizadas 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 ejecutarse por sí mismas.

Ejemplo 2.Alerta tras lanzar la script sobre el Eurusd.

 

CÓMO CREAR PROGRAMAS EN MQL4

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

En el ejemplo 1, la Script "datos_cuenta_broker" nos da informació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 incorporado las barras de herramientas: "Navigator" (Ctrl + D) y "Toolbox" (Ctrl + T).

El texto del programa se encuentra en la ventana del editor, las ventanas son herramientas auxiliares.

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

Durante la creación de un nuevo programa, las ventanas de la caja de herramientas y del navegador están ocultas. De este modo, la atención del usuario se concentra en la creación del programa. 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:

Si necesita crear un Asesor Experto, elegir Expert Advisor y haga clic en Siguiente. En la siguiente ventana es necesario escribir el nombre del Asesor Experto que quiere ser creado. Supongamos que se llama cuce_media.mq4.

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 ventana principal y el nombre completo del Asesor Experto creado se publicará en el sistema de archivos y en la ventana del navegador.

Veamos el texto del programa generado por MetaEditor:

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

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).

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 Advisor Wizard (Asistente del Asesor Experto) es sólo un patrón mediante el cual un programador puede crear un nuevo programa. El código final del programa no tiene que contener obligatoriamente 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 correctamente desde el punto de vista de la sintaxis.

Este programa puede ser compilado y ejecutado. Sería ejecutado 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 recomendable 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 programadores muestra que la lógica de razonamiento, sobre la base de un programa que fue desarrollado, pueden ser olvidadas (o desconocidas 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ógicamente 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 principales características y las limitaciones y otra informaciones útiles.

Cada programador puede elegir un estilo de comentarios cómodo. El estilo MQL4 ofrecidos por los desarrolladores se presenta en el Asesor Experto create.mql4. Vamos a ver las principales 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 requisito 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 continua observaciones del ancho total (118 símbolos).

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

 

PROGRAMA DE COMPILACIÓN

Para hacer un programa utilizable en la práctica, debe ser compilado. 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, reparar errores y tratar de compilar el programa, una vez más. Una compilación exitosa solo es posible si no hay errores en el programa.

 

FUNCIONAMIENTO DEL PROGRAMA COMPILADO

Si un programa de aplicación (Asesor Experto, script o indicador) se ha compilado con éxito y su nombre ha aparecido en el navegador de la ventana del Terminal de Usuario, este programa 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étodo "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 manualmente. Un script de usuario deja de operar por sí mismo cuando termina la ejecución de su algoritmo.

Todos los programas (Asesor Experto, indicador, script) pueden ser utilizados para el trading solo como parte del Terminal de Usuario de MetaTrader4 cuando éste está conectado al servidor 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 (dependiendo de su algoritmo) las órdenes de comercio pueden ser formadas y enviadas al servidor de nuestro Broker, y por lo tanto, realizar la operativa de forma automática.

 

Te informamos de que la plataforma de trading MetaTrader 4 (MT4) ya no está disponible para nuevas cuentas (nuevos Clientes). Sin embargo, seguirá disponible para los Clientes que actualmente están utilizándola. Te animamos a que eches un vistazo a nuestra plataforma xStation5, una plataforma moderna, intuitiva, en continua evolución y multi premiada

 

Este material es una comunicación publicitaria tal y como se entiende en el artículo 24.3 de la Directiva 2014/65/UE (MiFID II). La presente comunicación publicitaria no es una recomendación de inversión o información que recomiende o sugiera una estrategia de inversión en el sentido del Reglamento (EU) Nº 596/2014 sobre el abuso de mercado y el Reglamento Delegado (EU) 2016/958 por el que se completa el Reglamento (EU) nº 596/2014, ni se incluye en el ámbito del asesoramiento en materia de inversión recogido en la Ley de los Mercados de Valores y de los Servicios de Inversión (artículo 125.1 g). La presente comunicación publicitaria se ha preparado con la mayor diligencia, transparencia y objetividad posible, presentando los hechos conocidos por el autor en el momento de su creación y está exento de cualquier elemento de análisis. Esta comunicación publicitaria se ha preparado sin tener en cuenta las necesidades del cliente ni su situación financiera individual, y no representa ninguna estrategia de inversión ni recomendación. En caso de que la comunicación publicitaria contenga información sobre el rendimiento o comportamiento del instrumento financiero al que se refiere, esto no constituye ninguna garantía o previsión de resultados futuros. El rendimiento pasado no es necesariamente indicativo de resultados futuros y cualquier persona que actúe sobre esta información lo hace bajo su propio riesgo. Los CFDs son instrumentos complejos y están asociados a un riesgo elevado de perder dinero rápidamente debido al apalancamiento. El 76% de las cuentas de inversores minoristas pierden dinero en la negociación de CFDs con este proveedor. Debe considerar si comprende el funcionamiento de los CFDs y si puede permitirse asumir un riesgo elevado de perder su dinero.

Xtb logo

Únete a más de 1.000.000 Clientes de todo el mundo

XTB ofrece Acciones, ETFs, Acciones Fraccionadas y Derivados (CFDs). Los CFDs son instrumentos complejos y están asociados a un riesgo elevado de perder dinero rápidamente debido al apalancamiento. El 76% de las cuentas de inversores minoristas pierden dinero en la negociación de CFDs con este proveedor. Debe considerar si comprende el funcionamiento de los CFDs y si puede permitirse asumir un riesgo elevado de perder su dinero.  
XTB ofrece Acciones, ETFs, Acciones Fraccionadas y Derivados (CFDs). Los CFDs son instrumentos complejos y están asociados a un riesgo elevado de perder dinero rápidamente debido al apalancamiento. El 76% de las cuentas de inversores minoristas pierden dinero en la negociación de CFDs con este proveedor. Debe considerar si comprende el funcionamiento de los CFDs y si puede permitirse asumir un riesgo elevado de perder su dinero. 

Utilizamos Cookies

Al hacer clic en "Aceptar todas", aceptas el almacenamiento de cookies en tu dispositivo para mejorar la navegación en la página web, analizar el uso de la página web, y ayudar en nuestras estrategias de márketing.

Este grupo contiene cookies que son necesarias para que funcione nuestra página web. Forman parte de las funcionalidades como las preferencias de idioma, distribución de tráfico o mantener abierta la sesión del usario. No se pueden deshabilitar.

Nombre de la cookie
Descripción
SERVERID
userBranchSymbol Fecha de caducidad: 2 de marzo de 2024
adobe_unique_id Fecha de caducidad: 1 de marzo de 2025
test_cookie Fecha de caducidad: 1 de febrero de 2023
SESSID Fecha de caducidad: 2 de marzo de 2024
__hssc Fecha de caducidad: 1 de febrero de 2023
__cf_bm Fecha de caducidad: 1 de febrero de 2023
intercom-id-iojaybix Fecha de caducidad: 26 de noviembre de 2024
intercom-session-iojaybix Fecha de caducidad: 8 de marzo de 2024

Utilizamos herramientas que nos dejan analizar el uso de nuestra página web. Estos datos nos permiten mejorar la experiencia del usuario en nuestra página web.

Nombre de la cookie
Descripción
_gid Fecha de caducidad: 2 de febrero de 2023
_gaexp Fecha de caducidad: 4 de mayo de 2023
_gat_UA-16408788-1 Fecha de caducidad: 1 de febrero de 2023
_gat_UA-121192761-1 Fecha de caducidad: 1 de febrero de 2023
_gcl_au Fecha de caducidad: 2 de mayo de 2023
_ga_CBPL72L2EC Fecha de caducidad: 31 de enero de 2025
_ga Fecha de caducidad: 31 de enero de 2025
AnalyticsSyncHistory Fecha de caducidad: 3 de marzo de 2023
__hstc Fecha de caducidad: 31 de julio de 2023
__hssrc

Este grupo de cookies se utiliza para mostrarte anuncios de temas en los que estás interesado. También nos permite monitorizar nuestras actividades de márketing, y nos ayuda a medir la efectividad de nuestros anuncios.

Nombre de la cookie
Descripción
_omappvp Fecha de caducidad: 13 de enero de 2034
_omappvs Fecha de caducidad: 1 de febrero de 2023
_fbp Fecha de caducidad: 2 de mayo de 2023
fr Fecha de caducidad: 7 de diciembre de 2022
lang
_ttp Fecha de caducidad: 26 de febrero de 2024
_tt_enable_cookie Fecha de caducidad: 26 de febrero de 2024
_ttp Fecha de caducidad: 26 de febrero de 2024
hubspotutk Fecha de caducidad: 31 de julio de 2023
omSeen-pyfa0xtqk5j72jwykxzy Fecha de caducidad: 8 de octubre de 2022

Las cookies de este grupo almacenan las preferencias que elijas mientras utilizas la página web, para que ya estén establecidas cuando vuelvas a visitar la página tiempo después.

Nombre de la cookie
Descripción
UserMatchHistory Fecha de caducidad: 3 de marzo de 2023
bcookie Fecha de caducidad: 1 de febrero de 2024
lidc Fecha de caducidad: 2 de febrero de 2023
lang
bscookie Fecha de caducidad: 1 de febrero de 2024
li_gc Fecha de caducidad: 31 de julio de 2023

Esta página utiliza cookies. Las cookies se almacenan en tu navegador y las utilizan la mayoría de las páginas web para ayudarte a personalizar tu experiencia web. Para obtener más información vea nuestra Política de Privacidad. Puedes gestionar las cookies pinchando en "Configuración". Al hacer clic en "Aceptar todas", das tu consentimiento para todas nuestras cookies.

Cambiar región e idioma
País de residencia
Idioma