Aprende a programar MQL4 para Metatrader – crea tus robots y indicadores de Trading ►Parte 1◄

Aprende a programar MQL4 para Metatrader – crea tus robots y indicadores de Trading ►Parte 1◄

Muy buenas Compañer@s,

QUE APRENDERÁS HOY:

Hoy conoceremos un poco a nuestro futuro compañero de viaje, aprenderás a moverte con el MetaEditor, que será nuestro entorno de desarrollo, pero no lo sabremos todo de el, ya iremos completando su aprendizaje a lo largo del tiempo. Crearemos un indicador de trading, eso si, vacío, solo el esqueleto y sabremos donde se guardan y como cargarlos. En resumidas cuentas, hoy crearemos las bases para empezar nuestras creaciones con buen pie.


AL LIO
Me voy a saltar la parte de busqueda e instalación de un Metatrader 4, si aún no lo tienes solo necesitas elegir un Broker y descargartelo, además de crear una cuenta Demo claro. Me lo salto porque ya hay mucha información en la red sobre eso.

Abrimos MetaEditor de cualquiera de las formas que tenemos para ello, directamente de la ruta donde se instala o desde el mismo Metatrader 4, pulsando F4 o en el botón

curso_programacion_mql4_metatrader_robot

Una vez abierto este es su aspecto y partes principales.

curso_programacion_mql4_metatrader_robot

1 TreeView donde almacenaremos nuestros futuros indicadores de trading, scripts y robots o experts advisors. Es muy intuitivo y los indicadores se guardarán en la carpeta “Indicators”, los robots en la carpeta “Experts” y los scripts en la de “Scripts”. Si no te aparece esta pestaña la puedes visualizar pulsando Ctrl+D o con este botón

curso_programacion_mql4_metatrader_robot

2 Panel principal y donde visualizaremos el código.

3ToolBox que nos será de gran ayuda ya que en ella aparecerá información muy útil como pueden ser los errores en nuestro desarrollo. Aparecen cinco pestañas, pero ahora solo nos interesa la de “Errors”. Si no te sale puedes verlo pulsando Ctrl+T o el botón

curso_programacion_mql4_metatrader_robot

Con esto ya podemos empezar a manejarnos, ya iremos ampliando el conocimiento de este entorno conforme lo necesitemos, además si lo vemos todo ahora lo dejas por aburrimiento y no llegas ni a la frase del post que es lo mas importante 😉

Al grano.. Pincha en “File/New” (yo lo tengo en inglés) veis que “New” tiene a la derecha la combinación de letras para llamarlo por teclado, en este caso Ctrl+N y a la izquierda el icono que lo representa y que aparece en el panel principal para que no tengas que ir a “File…” cada vez que lo necesites.

curso_programacion_mql4_metatrader_robot

Como queremos hacer un indicador seleccionaremos la opción de “Custom Indicator”.

curso_programacion_mql4_metatrader_robot

En la siguiente pantalla le ponemos un nombre. Por defecto se almacenará en la ruta “Indicators” (“IndicatorsPrimerIndicador” por ejemplo).

La parte de Author y Link la podemos borrar, cambiar o dejar como está, solo será información adicional que podremos cambiar mas adelante. Lo que si puedes es ir pensando como quieres que te conozcan y a que link quieres dirigirlos para rellenar estas secciones en tus futuros trabajos 😉

La sección “Parameters” es para crear parámetros que ya sepamos que vamos a tener, pero yo prefiero crearlos directamente en el código (lo mismo, luego se pueden cambiar o quitar). Por defecto lo dejamos en blanco

curso_programacion_mql4_metatrader_robot

Esta sección es necesaria según los eventos que utilicemos en nuestro indicador. Es muy recomendable tener una idea mínimo a grandes rasgos de que es lo que va a hacer nuestro futuro indicador. De momento solo usaremos la principal, OnCalculate, que se llamará a cada Tick del precio.

curso_programacion_mql4_metatrader_robot

La siguiente y última sección es la que determinará si nuestro indicador será separado del precio o irá con el, para esto lo marcamos en el check habilitado para ello. Si lo seleccionamos se habilitarán unos valores para acotar entre un máximo y un mínimo el indicador. No hace falta que rellenemos nada de esto, todo se podrá poner por código. Al igual que los Plots, que serán para definir tipos de líneas y colores.

curso_programacion_mql4_metatrader_robot

OK, ya tenemos nuestro primer indicador. Ahora solo queda utilizar la sección del TreeView y del ToolBox que vimos al principio.

Despliega en el TreeView de la izquierda a la carpeta “Indicators” y busca tu indicador.. Ahí se almacenarán si le has puesto la ruta “IndicatorsNOMBRE”, sino será solo ir a buscarlo a la ruta que lo metiste (“IndicatorsCARPETACARPETANOMBRE” por ejemplo). Con hacer doble click ya se abre y se muestra en el panel principal (Esta vez al crearlo ya está abierto, pero si en otro momento quieres acceder a el ya sabes como hacerlo).

 

 

(adsbygoogle = window.adsbygoogle || []).push({});

 

Para mostrar el panel de error vamos a provocarle uno jejeje. Pon cualquier cosa en la función OnCalculate, entre las llaves:

 

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const
datetime &time[],
                const
double &open[],
                const
double &high[],
                const
double &low[],
                const
double &close[],
                const long
&tick_volume[],
                const long
&volume[],
                const int
&spread[])
  {
//—
       PRUEBA ERROR
//— return value of prev_calculated for next call
   return(rates_total);
  }

Yo he puesto “PRUEBA ERROR”, vale cualquier cosa. Ahora pinchamos en el botón de “Compile”, para que el MetaEditor analice todo nuestro código y vea si están las cosas en orden. También podemos pulsar F7.

curso_programacion_mql4_metatrader_robot

Nos salen un puñado de errores con sus indicaciones de por qué son fallos que nos hace pensar que algo no va muy bien…

curso_programacion_mql4_metatrader_robot

OK, pues habrá que corregirlo no?. Para esto vamos a quitar esa parte del código, borralo y dejalo como estaba. Vuelve a compilar (recuerda F7). Ahora si, ahora está todo correcto.

curso_programacion_mql4_metatrader_robot

Ya podemos cargar nuestro indicador para verlo, pero tal cual está ahora no vamos a ver nada, así que le vamos a poner un comentario para saber que está todo correcto. Lo vamos a poner en el mismo sitio, en OnCalculate. Este se lanza con el comando “Comment();”.

int OnCalculate(const int rates_total,
                const int
prev_calculated,
                const
datetime &time[],
                const
double &open[],
                const
double &high[],
                const
double &low[],
                const
double &close[],
                const long
&tick_volume[],
                const long
&volume[],
                const int
&spread[])
  {
//—
       Comment(“HOLA
MUNDO”);
//— return value of prev_calculated for next call
   return(rates_total);
  }

Y compilamos claro…

OK, todo listo, ya solo queda ver el resultado de nuestro trabajo en pantalla. Para esto o vamos a Metatrader y cargamos nuestro control directamente, o pulsamos F5 o el botón Start

curso_programacion_mql4_metatrader_robot

Voilá!!!!! ya has creado un pequeño paso.

curso_programacion_mql4_metatrader_robot

Nos leemos en el próximo post{}.


“Un viaje de mil millas comienza con el primer paso.

 

 


Lao-Tsé”


Marcelo Gonzalez

Si no te quieres perder ningún capitulo del curso de programación de robots para Metatrader 4 (MQL4), ¡suscribete y recibe en tu email cada nuevo artículo!



(9) Comentarios

  • Anónimo 15 junio 2015 @ 09:41

    Gracias Marcelo, ya tenemos al "HOLA MUNDO" en nuestro Mt4!!! Genial! Esperando al 2º post….
    Los dos sois unos cracks!!

  • Daniel Gonzalez 15 junio 2015 @ 09:51

    Muchas gracias¡¡¡ Sencillo e ilusionante 🙂

  • Ivan 15 junio 2015 @ 16:41

    El "hola mundo" NO puede faltar nunca!! 🙂

  • Josue Mamani Tito 15 junio 2015 @ 19:20

    Hola, necesito crear un EA basado en el Indicador Zigzag, así que espero con ansias los siguientes post… gracias 🙂

  • Fefix arango nunez 17 junio 2015 @ 11:46

    Fantástico esperando el 2…

  • Anónimo 18 junio 2015 @ 03:50

    Gracias Marcelo y Jon Genial Buena Semana Repleta de Pipos a Todos !!!

  • Juli Solà 12 noviembre 2016 @ 20:08

    Gracias Marcelo y gracias Jon por compartir este manual

    Vaya por delante que no tengo la más mínima noción de programación por lo seré un esponja siguiendo al pie de la letra las instrucciones

    Pero a partir de este momento:

    “Y compilamos claro…
    OK, todo listo, ya solo queda ver el resultado de nuestro trabajo en pantalla. Para esto o vamos a Metatrader y cargamos nuestro control directamente, o pulsamos F5 o el botón Start”

    No encuentro por ningún lado el indicador. Si abro la carpeta de datos, efectivamente me aparece dentro de Indicators, pero si lo busco en el navegador de la plataforma no se ve. Supongo que falta algún paso a partir de compilar

  • francisco jesus 28 diciembre 2019 @ 18:39

    HOLA AMIGOS ,QUE GOZADA,ESTO A MI ME DABA MIEDO ,ERA COMO UN TABÚ IMPOSIBLE DE TOCAR ,PERO AHORA ESPERO REALMENTE SACARLE PARTIDO,GRACIAS JON Y A MARCELO TAMBIEN.

  • Leonardo 6 enero 2020 @ 12:56

    Gracias Jhon, muy buen aporte, es hora de saltar al siguiente plano

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

6/6
Este número es indicativo del riesgo del producto, siendo 1/6 indicativo de menor riesgo y 6/6 de mayor riesgo

El trading en el mercado de divisas o derivados financieros supone un alto nivel de riesgo y puede no ser adecuado para todos, no invierta capital que no pueda permitirse perder. El contenido de esta web y los servicios que se ofrecen no pretenden ser, no son y no pueden considerarse en ningún caso, asesoramiento en materia de inversión ni de ningún otro tipo de asesoramiento financiero, ni puede servir de base para ningún contrato, compromiso o decisión de ningún tipo