Instalación, ejecución y configuración de Expert Advisors (EAs) en Metatrader.

 

Saludos a todos!!

  Tras una pregunta en el foro realizada por arquimedes he decidido escribir este post en el blog para explicar como instalar, ejecutar y acceder a la configuración de los sistemas de trading automático en Metatrader (conocidos como Expert Advisors o EAs).

  Me imagino que ya todos habreis escuchado que Metatrader utiliza su propio lenguaje de programación, el mql (metaquotes language). Los archivos escritos en mql (Metatrader incluye el metaeditor con herramientas intuitivas para escribir en mql) se guardan en archivos mql, para Metatrader 4 llevan la extensión mql4. Los archivos mql4 contienen el código fuente y pueden ser editados con el Metaeditor. Una vez compilado el archvo mql4 se genera un archivo de extensión ex4 que es el archivo ejecutable, el que lee la plataforma para realizar las operaciones y el necesario para que los EA funcionen (esto se puede extender a indicadores personalizados y scripts de Metatrader).

  ¿Sólo dispones del archivo mql4 y no del ex4? Don't worry, al iniciar Metatrader todos los archivos en formato mql4 son compilados generando los archvos ejecutables por lo que no es necesario que compiles los archivos mql4 uno por uno.

  Si sólo dispones del archivo ejecutable (ex4) podrás ejecutar los EAs pero no podrás acceder al código fuente.

  Ahora que ya sabemos los tipos de archivos en los que se guardan los expert advisors podemos pasar a ver como se accede a ellos desde la plataforma.

  Al abrir Metatrader aparece la plataforma y por defecto se visualizan:

  • 4 barras de herramientas en la parte superior. Barra de elección de time frame, barra de lí­neas de estudio, barra de herramientas de gráficos y la barra de herramientas estandar con acceso a algunas utilidades de trading.
  • Ven tana "Terminal" en la parte inferior con varias pestañas donde se tiene acceso a las órdenes, historial de operaciones, alertas, logs, etc.
  • Ventana de gráficos.
  • Ventana "Market Watch" a la derecha, en la que aprecen las cotizacones actuales por pares de divisas y los gráficos de ticks.
  • Y la ventana "Navigator" en la parte derecha central. Esta es la que nos interesa. A través del menú de esta ventana se accede a las cuentas, tanto demo como reales, que tengamos y a los indicadores, scripts y expert advisors que tengamos instalados.

Instalación de un Expert Advisor

  La instalación de un Expert Advisor es tan sencilla como copiar el archivo mql4 o ex4 en la carpeta "experts" que se encuentra dentro de la carpeta de instalación de Metatrader. Por ejemplo: C:\Archivos de programa\Metatrader\experts

  Si pones nuevos archivos en la carpeta experts mientres Metatrader está funcionando es necesario reiniciar la plataforma para que se carguen los nuevos archivos.

  Una vez reiniciada la plataforma podremos ver como los EAs, cuyos archivos hemos copiado en la carpeta \"experts\", aparecen en el menú "Expert Advisors" de la ventana "Navigator" de nuestro Metatrader y ya estan listos para ser ejecutados.

  Nota: Si el archivo es mql4 aparecerá un icono en color que indica que tenemos acceso al código fuente (clic derecho, seleccionamos la opción "modificar" y se abrirá el Metaeditor con el código del EA. Si el archivo que tenemos es ex4 aparecerá el icono en gris indicando que no tenemos acceso al código fuente pero el EA es totalmente funcional.

Ejecución de Expert Advisors en Metatrader

  Para ejecutar un Expert Advisor, al igual que para ejecutar los indicadores personalizados y los scripts, haremos clic en el sí­mbolo "+" del menú correspondiente, en este caso "Expert Advisors", situado en la ventana "Navigator". Se deplegará el menú con todos los EAs que tenemos instalados. Antes de seguir debéis aseguraros de tener activo el gráfico del par de divisas y en el timeframe en el que quereis ejecutar el EA.

  Prosigamos. Una vez seleccionado el gráfico del par de divisas y el timeframe haremos clic con el botón derecho del ratón sobre el EA que queremos ejecutar y clic en la opción "Attach to chart" o directamente podemos hacer clic y manteniendo pulsado el ratón arrastramos el EA y lo soltamos en el gráfico.

  Al hacer esto aparecerá la ventana de configuración del EA.

Configuración de Expert Advisors

  Hemos visto como llegamos a la ventana de configuración de un Expert Advisor al añadirlo a un gráfico. Una vez un EA está ejecutandose en un gráfico podemos acceder de nuevo a esta ventana y modificar la configuración sobre la marcha haciendo clic con el botón derecho del ratón sobre el gráfico en el que se está ejecutando el EA y elegimos Expert Advisors->Properties.

  La ventana de configuración de un EA consta de dos pestañas:

  1. Common: En esta pestaña podemos elegir si queremos que el EA tome tanto las señales de compra y venta (Long & short) o sólo un tipo ("Only short" o "Only long"). Tambien se configura aquí­ si permitimos que el EA opere de forma automática y si queremos que sea necesario confirmación manual o no. Otros parámetros de esta pestaña hacen referencia a opciones de seguridad DLL y la importación de otros EA externos al EA ejecutado. Muy pocos EAs requieren la importación de archivos DLL pero casi todos utilizan librerias mql4 externas con operaciones preestablecidas por lo que recomiendo tener activa la casilla "Allow import of external experts".
  2. Inputs: Esta es la pestaña donde apareceran todas las opciones disponibles del EA en cuestión. A la hora de programar un EA se pueden establecer ciertas variables como externas y serán las variables establecidas como externas las que podamos modificar en esta pestaña. Cada programador pondrá como variales externas las que crea convenientes, por ejemplo se puede poner la elección del número de lotes por operación o cantidad de pips para calcular la orden de TakeProfit y StopLoss.

  Una vez introducidas las opciones pertinentes en la ventana de configuración hacemos clic en el botón aceptar y tendremos listo nuestro EA para operar. Debemos fijarnos en la esquina superior del gráfico en el que hemos ejecutado el EA:

  • Si aparece una carita sonriente todo está perfecto y el EA está en modo "live".
  • Si aparece una carita triste indica que los EA estan habilitados en la configuración global de Metatrader (ver siguiente apartado) pero que no hemos permitido el trading en vivo para este EA en concreto (ver punto 1 sobre la pestaña Common).
  • Si aprece una X indica que los EA estan inhabilitados en la configuración global de la plataforma Metatrader y no podrán ejecutarse en vivo a menos que se cambie esto ni tampoco en el stratey tester (ver siguiente apartado).

Los Expert Advisors en la configuración global de Metatrader

  Para acceder a la configuración global de los Expert Advisors en Metatrader fijate en el menú superior de la plataforma y haz clic en el menú "Tools" (Herramientas) y ve a la opción "Options". Se abrirá una ventana con varias pestañas, una de ellas con el nombre "Expert Advisors". Selecciona esta pestaña y verás que aparecen varias casillas para marcar. Si quieres que los EAs esten habilitados asegurate de que la primera casilla esté marcada ("Enable Expert Advisors") y haz click en aceptar. Si esta casilla no está marcada los Expert Advisors no funcionarán aunque marques la casilla "Allow live trading" en la configuración del EA.

  Habilitación/Inhabilitación rápida de EA: Para habilitar o inhabilitar de forma global los EAs podemos hacer lo descrito en el párrafo anterior, pero si necesitamos hacerlo de forma rápida basta con pulsar el botón "Expert Advisor" situado en la barra de herramientas superior cambiando de color rojo a verde cuando los EAs se encuentra inhabilitados o habilitados respectivamente.

  Por el momento esto es todo, si tenéis alguna pregunta no dudéis en hacerla.

 
 
Comentarios de los usuarios
 
Ver todos los comentarios
Valoración del artículo:
 
N/D   (0)
 
Asignar una puntuación (mienstras más alta mejor es)
Valoración del artículo
Comentarios*

 

Timeframes?

Valoración del artículo:
 
N/D
Te ha interesado esta opinión?
Si No
Opinión de Goncalo
26 Mayo , 2009
Responder a este comentario (0)
Reportar este comentario
 
0 de 0 personas han encontrado útil esta opinión

Hola IndicatoriNosu,

una pregunta: puedo tener un EA en un mismo par en varios timeframes bajo un mismo perfil?
Si no, ¿cómo hago para que el EA funcione en tiempo real enn en el mismo par y temporalidades diferentes?

Gracias de antemano
Gonçalo

 

Claro que se puede!!

Valoración del artículo:
 
N/D
Te ha interesado esta opinión?
Si No
0 de 0 personas han encontrado útil esta opinión

Saludos!!

Por supuesto puedes tener un EA en mismo par en varios timeframes pero para que no interfieran y cada uno controle las operaciones que abra en su timeframe se necesita que el EA incorporé lo que se conoce como "Número Mágico". Esto no es más que un número que el EA asocia a cada operación que abre y de este modo discernir que operaciones son suyas y cuales no.
Si tu EA tiene incorpora el Número Mágico, basta con poner un número mágico diferente en cada timeframe. Si no tiene número mágico dudo que puedas

Si no quieres postear tu EA de forma pública, si quieres puedes enviarme un privado y lo miro.

 

EA magic number

Valoración del artículo:
 
N/D
Te ha interesado esta opinión?
Si No
Opinión de Goncalo
27 Mayo , 2009
Responder a este comentario (0)
Reportar este comentario
 
0 de 0 personas han encontrado útil esta opinión

Muchas gracias por la info!

Preferi no publicar el EA porque no es de mi autoría, pero es público, y se puede bajar de aquí:

http://www.tradingsystemforex.com/expert-advisors-backtesting/372-fastslow-ma-rsi-macd-ea.html

De hecho, mi intención no es utilizarlo para automación, sino como señal de alerta para después ejecutar manualmente (cambiando ligeramente los parámetros del los indicadores). Por eso necesito que me alerte en todos los timeframes de cuando el RSI ha cruzado en dirección del MACD.

Una pregunta más: veo que hay la opción de que el EA trabaje aunque no estés en el mismo profile en que lo tienes activo, ¿correcto? Estoy pensando en como organizar mis profiles según las imposiciones del EA.

Saludos

 
Valoración del artículo:
 
N/D
Te ha interesado esta opinión?
Si No
0 de 0 personas han encontrado útil esta opinión

Si no lo vas a usar en automático te basta con ejecutar el EA en cada time frame que quieras y activar las dos opciones siguientes:

-Allow live trade
-Ask manual confirmation

De esto modo cada vez que haya una señal salta la alerta y debes confirmar el envío de la orden o cancelarlo.

Lo de que el EA trabaje en diferentes profiles te refieres a que trabaje en cuentas diferentes?? si es a eso a lo que te refieres tengo que decir que se puede hacer con herramientas puete y todas las conozco que funcionen medianamente bien son comerciales.

 
Valoración del artículo:
 
N/D
Te ha interesado esta opinión?
Si No
Opinión de IndicatoriNosu
28 Mayo , 2009
Responder a este comentario (0)
Reportar este comentario
 
0 de 0 personas han encontrado útil esta opinión

Jeje, creo que ya sé a que te refieres, al submenú perfiles que hay en el menu archivo!! Es algo que nunca he usado y lo tenía olvidado.

Puedes hacer la cantidad de perfiles que quieras, cada uno con los pares y timeframes que quieras y con el EA configurado de forma diferente en cada uno y se seguirá ejecutando aunque no estés viendo ese perfil. Eso sí, en el terminal verás todas las órdenes de todos los perfiles.

Esto es algo de Metatrader totalmente independiente al EA que uses, por lo que es normal que no veas nada referente a esto en el código del expert.

 
 
Ver todos los comentarios
 

AVISO: eFXto Forex (en adelante eFXto)  o cualquier persona vinculada a eFXto  no tendrá ninguna responsabilidad por cualquier pérdida o daño en el comercio en el mercado de divisas como consecuencia de la confianza depositada en la información contenida en la web incluyendo cualquier dato, cotizaciones, gráficos y consejos de trading. Es su responsabilidad estar informado de los riesgos y costes del comercio en los mercados financieros y, en particular, en Forex (mercado de divisas).
eFXto no asume responsabilidad alguna por pérdidas comerciales que usted pueda tener como resultado del uso de la web y su contenido.