Ir al contenido

Construir un EA con EA Builder Pro

Última actualización: 27 de abril de 2023

Si llegaste aquí porque estás comenzando la aventura de construir un robot de trading (EA), ¡has llegado al lugar correcto! Este tutorial se centrará en construir un EA usando EA Builder Pro. Puedes construir nuestro EA de ejemplo siguiendo nuestros pasos, o puedes tomar tus propias decisiones, usando la información adicional proporcionada por este tutorial.

Este tutorial da un ejemplo de construcción de un EA avanzado y el tutorial puede sentirse bastante complejo también.
Si deseas comenzar con un EA de complejidad fácil, prueba nuestro canal de YouTube: Aprende a construir un bot de trading.
Si deseas comenzar con un EA de complejidad media (solo MT5), nos gustaría mencionar que uno de nuestros usuarios de largo plazo, Raoul, ha escrito un blog sobre su EA y cómo lo construyó usando nuestra herramienta. Siéntete libre de echar un vistazo al blog de Raoul.

¡Comencemos! En este tutorial avanzado estaremos creando el famoso EA ‘Cowabunga’. Este EA usará la tendencia en el marco temporal H4 (4 horas) para actuar como filtro y luego mirará el marco temporal M15 para oportunidades de ir largo o corto.


Escribamos las entradas/salidas, que llamamos ‘Signals’ como término general para una colección de condiciones de entradas y salidas.


  • Signal de apertura de compra (Open buy):
    El filtro para ir largo verifica si la tendencia es alcista. La tendencia es alcista cuando en el marco temporal H4:

    1. la EMA de 5 barras está por encima de la EMA de 10 barras
    2. el RSI es mayor que 50
    3. el Stochastic se mueve hacia arriba pero no está sobrecomprado

    Las oportunidades de entrada para ir largo en el marco temporal M15 son:

    1. el MACD cruza hacia arriba el valor 0 o
    2. el MACD es negativo pero acaba de empezar a subir
  • Signal de apertura de venta (Open sell):
    El filtro para ir corto verifica si la tendencia es bajista. La tendencia es bajista cuando en el marco temporal H4:

    1. la EMA de 5 barras está por debajo de la EMA de 10 barras
    2. el RSI es menor que 50
    3. el Stochastic se mueve hacia abajo pero no está sobrevendido

    Las condiciones de entrada para ir corto en el marco temporal M15 son:

    1. el MACD cruza hacia abajo el valor 0 o
    2. el MACD es positivo pero acaba de empezar a bajar
  • Estrategia de cierre (tanto para compra como para venta):


    Vamos a establecer los niveles de precio 50 y 00 como objetivo de nuestras Signals de salida. Entonces, si el precio al abrir una orden de compra es 1.09887, apuntaremos a 1.10000, que está 11.3 pips arriba. Sin embargo, si el objetivo está a menos de 5 pips de distancia solamente, cambiaremos de táctica y estableceremos la salida a la distancia del precio de apertura de la orden al Parabolic SAR. Entonces, si el Parabolic SAR está 10 pips por debajo del precio de apertura de la orden, estableceremos la salida a 10 pips por encima del precio de apertura de la orden.


    También estableceremos el stop loss al valor del Parabolic SAR cuando SAR esté por debajo del precio de apertura de la orden.

Bueno, ¡eso es bastante! El EA que tenías en mente puede ser menos complicado que eso. En realidad, 9 de cada 10 estrategias de trading son menos complicadas que la estrategia Cowabunga. Sin embargo, queríamos que este tutorial mostrara que EA Builder Pro es capaz de crear EAs avanzados y al mismo tiempo asegurarnos de que aprendieras lo suficiente para crear EAs avanzados tú mismo. Si acabas de empezar a construir EAs y notas durante este tutorial que tienes preguntas y necesitas ayuda adicional, por favor Suscríbete y envíanos tus preguntas. ¡Ahora, continuemos!

Para comenzar a crear nuestro primer Expert Advisor (EA), que es un robot de trading, haz clic en el botón azul “Add Expert Advisor”, que puedes encontrar cuando uses nuestra Herramienta web.

click add expert advisor
Haz clic en el botón para agregar un nuevo EA a tu cuenta.

A continuación, se te pedirá que elijas una plantilla para MT4 o MT5. Si no sabes cuál elegir, por favor consulta mi Blog: MT4 o MT5, ¿cuál es mejor? Luego, decide si quieres comenzar con un ejemplo funcional, por ejemplo la ‘Moving average template’, o si quieres comenzar con un EA vacío. Ya que vamos a construir un nuevo EA desde cero y te vamos a guiar a través de todos los pasos, vamos a elegir ‘Empty template’.

A continuación, ingresa un nombre para tu EA. Nombraremos nuestro EA ‘Cowabunga’ y luego haremos clic en “Create EA”.

name and create your EA
Nombra y luego haz clic en Add Expert Advisor.

La herramienta ahora abrirá automáticamente tu EA, dividido en 4 partes principales: Indicators, Signals, Strategy y Money management. En la siguiente parte de este tutorial comenzaremos con la primera sección: Indicators.

Ahora vamos a agregar indicadores a este EA.

Para agregar un indicador, haz clic en ‘Add’ en tu lista de indicadores.

click add indicator
Haz clic en el botón 'Add' para agregar un indicador a tu EA.

Se te ofrece elegir entre todos los indicadores estándar de MetaTrader ordenados alfabéticamente. Si has subido tus propios Custom Indicators, estos también estarán disponibles en la parte superior de la lista. El número y variedad de indicadores que puedes agregar es ilimitado.

Para nuestro EA, vamos a agregar el indicador “Moving Average”. De hecho, agregaremos este indicador 2 veces. ¿Recuerdas nuestro objetivo para tu EA, declarado al principio de este Tutorial? Estamos usando 2 variantes diferentes de EMA.
Ahora, encuentra el indicador “Moving Average” en la lista:

add MA indicator
Agrega el indicador estándar 'Moving Average' de la lista a este EA.

Después de seleccionar el indicador, verás todos los parámetros del indicador. Deberías estar familiarizado con estos parámetros, porque son los mismos parámetros que se muestran en MetaTrader al agregar un indicador al gráfico. Los valores que ingreses aquí serán los valores que tu EA usará para este indicador, en cada decisión de trading que haga referencia a este indicador.

enter indicator parameters
Ingresa los parámetros del indicador.

Así es como hemos configurado los indicadores (los parámetros no mencionados mantienen su valor predeterminado):

  • Moving average: Nombre ‘5 EMA’, Timeframe ‘PERIOD_H4’, Period ‘5’, Method ‘EMA’, Applied price ‘Close’
  • Moving average: Nombre ‘10 EMA’, Timeframe ‘PERIOD_H4’, Period ‘10’, Method ‘EMA’, Applied price ‘Close’
  • Stochastic Oscillator: Nombre ‘Stochastic’, Timeframe ‘PERIOD_H4’, K period ‘10’, D period ‘3’, Slowing ‘3’, Method: SMA, Price field: Low/ High, Mode: Main
  • Relative Strength Index: Nombre ‘RSI’, Timeframe ‘PERIOD_H4’, Period: 9, Apply to: Close
  • MACD: Nombre ‘MACD’, Fast EMA: 12, Slow EMA: 26, SMA: 9, Applied price: Close, Mode: Main
  • Parabolic SAR: Nombre ‘PSAR’, Step: 0.02, Maximum: 0.2

Después de haber configurado todos los indicadores, deberías tener una lista de indicadores que se vea así:

list of indicators
Los 6 indicadores usados por este EA.

Ahora hemos agregado todos los indicadores y podemos pasar a la siguiente parte.

Si quieres usar Custom Indicators, mira nuestro video tutorial, o lee cómo lograrlo: Custom Indicators.

Con los indicadores agregados a tu EA, tu EA aún no abrirá ni cerrará ninguna orden. Solo hiciste que los indicadores (y sus parámetros) fueran conocidos por tu EA. Entonces, la siguiente tarea será crear las Signals de entrada/salida, que consisten en una o múltiples condición(es), que definen cuándo el EA abrirá y cerrará órdenes. Primero, elige qué Signal crearás primero. Sugerimos firmemente que comiences creando la Signal de ‘Open Buy’ y crees las otras Signals cuando hayas verificado que una orden de compra se abre en el momento correcto. Solo entonces, deberías crear las otras Signal(es). Sugerimos que hagas esto para mantener la complejidad de crear y ajustar Signals lo más baja posible mientras todavía estás aprendiendo. Lo haremos ahora, así que comenzamos creando la Signal de entrada Open Buy.

Los 4 tipos de Signals son:

  • Open Buy: cuando esta Signal se activa, tu EA abrirá (entrará) una orden de compra.
  • Open Sell: cuando esta Signal se activa, tu EA abrirá una orden de venta.
  • Close Buy: cuando esta Signal se activa, tu EA cerrará (saldrá de) tu(s) orden(es) de compra, a menos que la Signal Open Buy esté activa en el mismo momento exacto.
  • Close Sell: cuando esta Signal se activa, tu EA cerrará tu(s) orden(es) de venta, a menos que la Signal Open Sell esté activa en el mismo momento exacto.

Para crear la Signal Open Buy, haz clic en ‘Open Buy’ en la pantalla principal de tu EA.

open buy
Haz clic en la Signal 'Open Buy' de tu EA.

Si elegiste la ‘Empty template’ en la Parte 1 (EA Builder Pro - Primeros pasos) de este tutorial, ahora verás una pantalla casi vacía. Esto es porque la Signal todavía no tiene condiciones. Vamos a tener que agregar la(s) condición(es), que forman la Signal, nosotros mismos.

Probablemente estás viendo esto:

an empty open buy signal
El primer marcador de posición de condición predeterminado.

La Signal muestra un marcador de posición para ingresar tu primera condición. Para agregar más condiciones, haz clic en el ‘icono de menú’, que parece 3 puntos oscuros en posición vertical. Una vez que hayas hecho clic, vamos a elegir ‘Add Condition’ para agregar una condición. Repite este paso 3 veces más, para que tengas 4 condiciones agregadas a la Signal en total, que todas se vean igual.

¿Recuerdas nuestra Signal de Open Buy de la página de introducción del Tutorial? Reformulemos la Signal de Open buy:

  1. la EMA de 5 barras está por encima de la EMA de 10 barras
  2. el RSI está por encima de 50
  3. el Stochastic se mueve hacia arriba, pero no está sobrecomprado
  4. el MACD cruza hacia arriba el 0 o
  5. el MACD es negativo pero acaba de empezar a subir

Ahora ajustemos las condiciones que acabamos de crear para que las condiciones coincidan con la descripción de la primera parte de la Signal de Open Buy: 1. La EMA de 5 barras está por encima de la EMA de 10 barras
Para verificar si el valor del indicador EMA 5 está por encima (>) del valor del indicador EMA 10, compararemos el indicador con otro indicador usando el operador ‘above’ (>).

The 5-bar EMA is above the 10-bar EMA
EMA de 5 barras está por encima de la EMA de 10 barras.

2. RSI está por encima de 50
Para verificar si el valor del indicador RSI está por encima (>) de 50, compararemos el indicador con el valor usando el operador ‘above’ (>). Para seleccionar ‘50’, primero necesitarás cambiar la parte derecha de la condición a ‘Constant’ en lugar de ‘Indicator’ más información.

RSI is above 50
RSI está por encima de 50.

3. Stochastic se mueve hacia arriba pero no está sobrecomprado
Aquí tenemos que usar 2 condiciones, una para verificar si el indicador se mueve hacia arriba y otra para verificar si el indicador no está en el área de sobrecompra.

  • Para verificar si el indicador Stochastic se mueve hacia arriba necesitamos comparar el valor anterior del indicador con el valor actual del indicador. Cuando el valor está aumentando, se mueve hacia arriba. Entonces, para verificar si la línea se mueve hacia arriba, necesitamos verificar si el valor actual (shift 0) está por encima (>) del valor anterior (shift 1).
  • Para verificar si el indicador Stochastic no está en el área de sobrecompra necesitamos verificar si el valor del indicador está por debajo de 80. Lo haremos usando el operador ‘Below’ (<).
Stochastic is moving up but not overbought
Stochastic se mueve hacia arriba pero no está sobrecomprado.

4. MACD cruza hacia arriba el 0 o MACD es negativo pero acaba de empezar a subir
Ahora vamos a agregar otra (la 5ta) condición a nuestra Signal, pero ahora elegiremos ‘Group’ y seleccionaremos ‘Any’. Usa el menú del nuevo grupo ‘Any’ y agrega otra condición y otro (segundo) grupo. En el segundo grupo, selecciona ‘All’. Usa el menú del segundo grupo y agrega 3 condiciones. ¡Genial! ¡Ya le estás agarrando el truco!
Entonces, en el primer grupo tenemos 2 condiciones, pero solo una necesita ser verdadera, por eso usamos ‘Any’ para el primer grupo. El segundo grupo contiene 3 condiciones. Sin embargo, para el segundo grupo usamos el operador ‘All’ para decirle al EA que todas las condiciones deben cumplirse.

MACD crosses 0 or starts going up
MACD cruza 0 o empieza a subir

Ahora hemos creado la primera Signal. Ahora es momento de probar la Signal, así que vamos a:

  1. Exportar el EA.
  2. Colocar el EA en la carpeta ‘Experts’ (lo cual sucede automáticamente en MT5 al hacer doble clic en el archivo descargado, para MT4 hazlo manualmente).
  3. Ejecutar el EA en el Tester de MetaTrader en ‘Visual mode’.
  4. Verificar que una orden de compra se abrió en el momento correcto.

Ahora que tenemos la primera Signal funcionando, también crearemos las otras Signals:

Open Sell

open sell
La Signal Open Sell

Close Buy ¿Recuerdas que dije en la página de inicio de este tutorial que este tutorial iba a ser avanzado? Bueno, aquí vamos. Si pronto te sientes abrumado, no te preocupes: intenta primero, descansa si esto te ayuda y regresa más tarde. Esta es una experiencia de aprendizaje que traerá resultados a largo plazo.
Reiteremos sobre la estrategia de cierre: Vamos a apuntar a los niveles de precio 50 y 00, pero solo si el siguiente nivel está a más de 5 pips de distancia. De lo contrario, vamos a establecer el objetivo a la distancia al valor del Parabolic SAR. También vamos a establecer un stop loss, para el cual usaremos un módulo de stop loss más adelante en este tutorial.
Entonces, ¿cómo vamos a hacer todo eso? Sabemos que nuestra Signal de cierre existirá de 2 condiciones:

  1. La distancia al siguiente nivel de precio debe ser más de 5 pips de distancia.
  2. El precio debe ser mayor que el precio de apertura + la distancia al siguiente nivel de precio.

1. La distancia al siguiente nivel de precio debe ser más de 5 pips de distancia

Para saber qué tan lejos está el siguiente nivel de precio, tenemos que calcular el residuo del precio de apertura de la orden, dividido por la distancia del nivel de precio, que es 50 pips. Al usar operadores aritméticos en nuestra herramienta web, selecciona el operador ’%’ (módulo) para calcular el residuo de una división. Entonces cuando calculamos: 1.09887 (el precio de apertura) % 0.00500, el residuo es 0.00387 (38.7 pips). Entonces si podemos crear una condición que verifique si el residuo es menor que 45 pips, sabemos que la distancia al siguiente nivel de precio es más de 5 pips de distancia.


Ahora, creemos la primera condición:

Close Buy

close buy condition 1
La primera condición de la Signal Close Buy

2. El precio debe ser mayor que el precio de apertura + la distancia al siguiente nivel de precio.

Ahora, porque la primera condición está establecida, la segunda condición solo se evaluará si la distancia al siguiente nivel de precio es más de 5 pips de distancia.


La segunda condición verificará si el precio actual ha pasado el siguiente nivel de precio. Para hacer esto, tenemos que verificar si el precio está por encima del precio de apertura de la orden + la distancia al siguiente nivel de precio. La distancia al siguiente nivel de precio se puede calcular restando el residuo de 50 pips. Entonces, el cálculo es 50 pips - (precio de apertura % 50 pips) = cantidad de pips al siguiente nivel de precio. Entonces, cerramos nuestra orden de compra si el precio Bid está por encima del precio de apertura de la orden + (50 pips - (precio de apertura % 50 pips)).


En nuestro ejemplo esto se traduce a 1.09887 + (0.00500 - (1.09887 % 0.00500)) = 1.01000. Entonces si el precio sube 11.3 pips la orden se cerrará. Aquí está la condición para verificar si Bid está por encima (>) del precio de apertura + (50 pips - (precio de apertura % 50 pips)), combinada con nuestra primera condición de cierre:

close buy condition 2
La primera y segunda condición de la Signal Close Buy

Palabras de aliento ¡WOW! ¡Has creado la Signal de cierre de compra! Espera… ¿sigues aquí? No te preocupes si todavía estás haciendo los cálculos en papel para verificar todo esto e intentar entender. También siéntete libre de tomar un descanso al construir EAs, requiere práctica y a menudo se siente como un rompecabezas, ¡pero mejorarás y antes de que te des cuenta estarás construyendo cualquier EA que puedas imaginar!

Close Sell Aquí está la Signal de cierre para órdenes de venta. Es básicamente la misma Signal que la Signal para cerrar órdenes de compra, pero opuesta.

close sell
La Signal Close Sell

Si quieres saber más sobre las Signals y de lo que son capaces, por favor consulta la documentación detallada de Signals. Ahora has creado las Signals de apertura y cierre del EA, lo que significa que tu EA ya operará automáticamente. Sin embargo, hay más. Hay todo tipo de formas de cambiar el comportamiento de tu EA. Estos son los llamados ‘Módulos’ que también usaremos para nuestro EA.

Con las Signals agregadas a tu EA, tu EA ahora abrirá y cerrará órdenes. Quedan dos tareas más: establecer el take profit alternativo al PSAR, en caso de que el objetivo esté a menos de 5 pips de distancia y segundo, establecer el stop loss igual al valor del PSAR también. Para hacer esto, tendremos que agregar el módulo Take profit - Conditional (Pro) y el módulo Stop loss - Conditional (Pro) dos veces, una para compra y otra para venta. Así que terminaremos con 4 módulos de cierre: 2 veces para take profit y 2 veces para stop loss.

Para agregar el módulo Take profit - Conditional (Pro), haz clic en ‘Add’ en la parte de Strategy de la pantalla principal del EA.

add module
Haz clic en el botón 'Add' de la sección Strategy de tu EA.

Ahora verás una lista de todos los módulos que puedes agregar a tu EA. Vamos a agregar el módulo Take profit - Conditional (Pro), que es uno de los módulos más avanzados. Después de hacer clic en Add, estás mirando la lista de módulos:

add take profit module
Haz clic en el módulo Take profit - Conditional (Pro).

Ahora necesitas ingresar los parámetros del módulo. Querremos ingresar un nombre y otras configuraciones básicas primero:

  1. Nombre: Buy TP
  2. Habilitado para: Is Enabled For Buy Order (para habilitar este módulo solo para órdenes de compra)

Luego definiremos la precondición, que significa la condición que debe cumplirse antes de que se establezca el TP. Dado que solo queremos que el take profit se establezca cuando la diferencia entre el precio de apertura de la orden y el objetivo está a menos de 5 pips de distancia, aplicaremos la misma lógica que en la página anterior de este tutorial para hacerlo. Además, estableceremos el TP al valor del PSAR solo si el PSAR está por debajo del precio actual, para que la dirección del precio sea alcista. Entonces, en resumen, si el precio se está moviendo hacia arriba, verificaremos si el residuo del precio de apertura módulo 50 pips es mayor que 45 pips:

take profit precondition
La precondición de Take profit - Conditional (Pro) para órdenes de compra

A continuación, vamos a establecer el valor del take profit al valor del precio de apertura de la orden + la distancia al PSAR:

take profit value
El valor de Take profit - Conditional (Pro) para órdenes de compra

No ingresaremos una condición de cuándo eliminar el take profit, así que dejaremos la última condición vacía. Sin embargo, establecemos los últimos valores:

  1. Trail distance (pips): 0
  2. Trail step size: 0
  3. Close percentage: 100

También agregaremos el mismo Take profit - Conditional (Pro) para órdenes de venta. Así es como lo configuramos:

take profit sell
El módulo Take profit - Conditional (Pro) para órdenes de venta

Ahora agregaremos los módulos de stop loss, que son más fáciles de configurar porque tienen una precondición simple: simplemente siempre establecemos el valor del stop loss al precio de la orden menos el PSAR, si el PSAR está por encima del precio actual. Entonces, la precondición (para compra) es si el PSAR está por encima del precio actual. El valor inicial es el valor del PSAR.

stop loss buy
El módulo Stop loss - Conditional (Pro) para órdenes de compra

Y para venta, la precondición es opuesta, pero todo lo demás es igual:

stop loss sell
El módulo Stop loss - Conditional (Pro) para órdenes de venta

Si quieres saber más sobre los Módulos y de lo que son capaces, por favor consulta la documentación detallada de Módulos. Te sorprenderá la flexibilidad que puedes crear usando módulos. Para ver un ejemplo, consulta este blog: ¿Cómo establecer el stop loss basado en el indicador ATR?

¡Ahora has completado tu primer EA completamente funcional!

Ahora puedes exportar tu EA y usarlo en MetaTrader. Si necesitas instrucciones detalladas, consulta nuestro tutorial sobre cómo ejecutar tu primer EA.

download your EA
Haz clic en el botón 'Export to MetaTrader'.

Aconsejamos los siguientes pasos:

  1. Prueba tu EA en MetaTrader ejecutando un backtest. Asegúrate de habilitar ‘Visual mode’, para que puedas, visualmente, confirmar que las órdenes se abren y cierran cuando se espera. Si tienes alguna duda de si cometiste algún error al seguir este tutorial, puedes comparar tu EA con el EA de plantilla ‘Tutorial - Cowabunga’, que puedes elegir al agregar un nuevo EA a tu cuenta.
  2. Si necesitas más asistencia para configurar tu EA, por favor Suscríbete y contáctanos con tu(s) pregunta(s). Responderemos y proporcionaremos ejemplos hasta que hayas alcanzado tu objetivo.
  3. Ajusta tu EA mejorando los valores de Input del EA. Si estás usando la versión gratuita de EA Builder Pro puedes cambiar la configuración en EA Builder Pro. Si eres suscriptor, puedes optimizar los inputs (automáticamente) en MetaTrader.
  4. Cuando pienses que tienes un EA que funciona bien y te gustaría ponerlo en uso real, por favor ejecuta el EA en una cuenta Demo hasta que estés seguro de que el EA funciona como se espera. Recomendamos encarecidamente ejecutar el EA en un VPS (más información).
  5. Ejecuta tu EA en una cuenta Demo durante el tiempo suficiente. Ten en cuenta que ejecutar el EA durante aproximadamente una semana no se considera generalmente un tiempo suficiente. Personalmente verificamos al menos 200 órdenes manualmente y como mínimo ejecutamos el EA durante 3 meses en una cuenta Demo antes de transferir a una cuenta Live. Ten en cuenta que no estamos calificados para dar asesoramiento financiero. La decisión de poner un EA en una cuenta Live (y basándose en qué información) es tu responsabilidad.

¡Te agradecemos por quedarte con nosotros a lo largo de este tutorial y esperamos seguir viéndote por aquí! Más de 50.000 traders estuvieron aquí antes que tú. ¡Más de 2 millones de pruebas fueron ejecutadas usando nuestro backtester en línea!