Brokers

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.

image image

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.

image image

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

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.

image image

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

Comentarios

Puntuación promedio de: 4 usuario(s)

Valoración del artículo 
 
4.8  (4)
Asignar una puntuación (mienstras más alta mejor es)
Valoración del artículo
Comentarios*

    Por favor introduzca el código de seguridad.
 
 
Valoración del artículo 
 
5.0
Opinión de jmetisi    08 Marzo , 2014

El archivo *.ex4 no aparece en la carpeta Expert A

Hola a tod@s,

Escribo este comentario por si le sirve a alguien de ayuda.
Siguiendo los pasos del tutorial y copiando el archivo *.ex4 en la carpeta indicada (C:\Archivos de programa\Metatrader\experts), no conseguía poder ver el EA en la carpeta correspondiente del Explorador una vez reiniciado MT4.

Buscando por google y tras encontrar docenas de webs que te "decompilan" el archivo *.ex4 a *.mq4, para que MT4 lo pueda "ver" (ninguna gratis), y otras tantas descargas de "programas" que convierten de *.ex4 a *.mq4 (virus), encontré la solución.

Para cargar un EA (Expert Advisor) en MT4, abrir el programa e ir a Archivo > Abrir carpeta de datos, abrirá una ventana del explorador, ésta es la ruta donde hemos de guardar los archivos *.ex4 (por ejemplo: C:\Users\NombreUser\AppData\Roaming\MetaQuotes\Terminal\A959A7AFF2B6D3D10DA7BA949EC3E3C3\MQL4\Experts)


fuente: http://www.forexfactory.com/showthread.php?t=217225 (último post)

Un saludo!


Te ha interesado esta opinión? 
30
Reportar este comentario
Valoración del artículo 
 
5.0
Opinión de GuilleON    29 Septiembre , 2013

CONSULTA

Hola. Ya configure mi EA Phoenix, y modifique el tamaño del lote en el código fuente, pero quisiera saber si se puede configurar (y si se puede, cómo?) el EA Phoenix para que las órdenes se ejecuten con un apalancamiento determinado. Desde ya gracias a quien me conteste. Saludos

Te ha interesado esta opinión? 
00
Reportar este comentario
Valoración del artículo 
 
N/D
Opinión de juan flores    18 Septiembre , 2013

indicador de divergencias enviado desde correo elc

No puedo modificarlo: colores RSI,MACD,ESTOCASTICO.LOS MODIFICO LUEGO ACEPTO Y VUELVO A ABRIR Y NINGUNA DE LAS MODIFICACIONES SE A EFECTUADO.

Te ha interesado esta opinión? 
00
Reportar este comentario
Valoración del artículo 
 
5.0
Opinión de Robert    04 Septiembre , 2013

Consulta

Buenos dias; tengo un Expert Advisor que no tiene habilitada la opcion numero magico en sus opciones de entrada para configurar y quiero ponerlo en varios graficos (o sea en varios pares de moneda al mismo tiempo)de metatrader para trabajar con un servicio VPS.
Tengo entendido que sin esta opcion la plataforma puede cerrar o abrir ordenes mal ya que no identifica a que grafico es cada una.
Puedo solucionar de alguna maner? No tengo mucho conocimiento de programacion pero podria agregar algun codigo y compilar.

Gracias y saludos.

Te ha interesado esta opinión? 
00
Reportar este comentario
Valoración del artículo 
 
N/D
Opinión de Victor José    08 Junio , 2013

Editar Código Fuente

Producto de una Sociedad con un Informático, adquirimos en Propiedad Común un EA... Hoy la Sociedad no existe y deseo Editar algunas Entradas que estuvieron Programadas de una forma que ahora no me conviene y no puedo variarlas tampoco en EA/Propiedades/Entradas... ¿Cómo Editar el Código Fuente?... Muchas Gracias por vuestra atención...

VJ

Te ha interesado esta opinión? 
00
Reportar este comentario
Valoración del artículo 
 
N/D
Opinión de juan    26 Septiembre , 2012

consulta

porque no puedo accionar mi robot, en mas de un par de divisas.
ej habro una operacion automatica en euro/dolar y se ejecuta perfectamente, pero cuando quiero abrir el mismo robot para que opere a le vez en cualquier otro par de divisas, se acciona como que esta activo, pero no se abre hasta que cierre la anterior.
en fin no acciona al mismo tiempo en distintas divisas.

y la otra pregunta es; es lo mismo accionar una compra en euro/dolar, ocea en este caso compraria euros y venderia dolares.
o
que en dolar/jpy, donde se encuentran invertidas y el dolar esta arriba, suponiendo que ambos graficos se encuentren en alza, que la cotizacion suba.

gracias a quien me responda.

Te ha interesado esta opinión? 
00
Reportar este comentario
Valoración del artículo 
 
4.0
Opinión de Rafael Lean    09 Octubre , 2011

¿Posible que funcione un EA sin tener los indicado

Hola! Tengo una pregunta para formular

¿Seria posible hacer funcionar correctamente un EA, sin que tengamos alguno de los indicadores con los que este esta programado para funcionar? La razon es sencilla, y se debe a que el uso de un determinado indicador (basado en ATR Period y Kw ATR) merma muchisimo la capacidad de metatrader 4 para visualizar los diferentes charts; en concreto, para hacer mi mt4 fluido solo puedo abrir un solo chart.

Ni que decir tiene que si intento utilizar el EA en un VPS, la velocidad se ve aun mas reducida, pues los periodos de latencia merman aun mas la respuesta de visualizacion y aun del uso del propio EA. No he encontrado ninguna solucion, aunque intente prescindir de su uso en los charts, el EA se hace cargo del indicador y aunque no aparece los ATR en pantalla, si lo hace apareciendo parametros como StepSize_min Stepsize_mid y Stepsize_max.

La solucion ideal pienso que seria prescindir del indicador en la plataforma metatrader mientras el EA funcionara correctamente segun los valores establecidos, ¿seria correcto? ¿o que diantres se puede hacer?

En este Link esta este indicador: http://www.desynced.net/fx/eas/mq4script-4405.php

Gracias

Te ha interesado esta opinión? 
00
Reportar este comentario
Valoración del artículo 
 
N/D
Opinión de Goncalo    02 Julio , 2009

EA

Gracias! Se trata de una única cuenta. El profile en la MT4 te permite guardar una serie de gráficos con sus plantillas. Puedes organizar un profila para cada moneda en diferentes tmporalidades, o un profile con varias monedas en una misma temporalidad- es más una cuestión de organización del espacio de trabajo.
Lo estoy experimentando a ver que tal funciona.

El EA en cuestión no es muy exacto en el gráfico de 1 minuto...en cambio en el 15M si que da la señal precisa...He estado mirando en el código si entendía algo, pero no tengo conocimientos suficientes. Miraré de conseguir una respuesta en el foro con el autor.

Saludos!

Te ha interesado esta opinión? 
00
Reportar este comentario
Valoración del artículo 
 
N/D
Opinión de IndicatoriNosu    28 Mayo , 2009

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.

Te ha interesado esta opinión? 
00
Reportar este comentario
Valoración del artículo 
 
N/D
IndicatoriNosu Opinión de IndicatoriNosu    28 Mayo , 2009
#1 Votante  -   Ver todos mis comentarios

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.

Te ha interesado esta opinión? 
00
Reportar este comentario
Valoración del artículo 
 
N/D
Opinión de Goncalo    27 Mayo , 2009

EA magic number

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

Te ha interesado esta opinión? 
00
Reportar este comentario
Valoración del artículo 
 
N/D
IndicatoriNosu Opinión de IndicatoriNosu    26 Mayo , 2009
#1 Votante  -   Ver todos mis comentarios

Claro que se puede!!

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.

Te ha interesado esta opinión? 
10
Reportar este comentario
Valoración del artículo 
 
N/D
Opinión de Goncalo    26 Mayo , 2009

Timeframes?

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

Te ha interesado esta opinión? 
00
Reportar este comentario