Aprender Trading

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!



Sobre el autor

Jontrader

Jontrader

Toda la mejor información y herramientas para tu Trading. Compartimos Indicadores, Sistemas, Robots, scripts y mucho más! Para que puedas evaluar, testear y comprobar si son útiles para mejorar tu Trading.
Blog de habla Hispana con más de 24.000 suscriptores, ¡Únete ya!

7 Comentarios

Click aquí para comentar

Trading TV (Youtube)

CANAL TELEGRAM

Únete a más de 46.000 personas que ya reciben contenidos exclusivos