Construir un EA con EA Builder Pro
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.
Antes de comenzar
Sección titulada «Antes de comenzar»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.
¿Cómo crear un EA usando EA Builder Pro?
Sección titulada «¿Cómo crear un EA usando EA Builder Pro?»¡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:- la EMA de 5 barras está por encima de la EMA de 10 barras
- el RSI es mayor que 50
- el Stochastic se mueve hacia arriba pero no está sobrecomprado
Las oportunidades de entrada para ir largo en el marco temporal M15 son:
- el MACD cruza hacia arriba el valor 0 o
- 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:- la EMA de 5 barras está por debajo de la EMA de 10 barras
- el RSI es menor que 50
- el Stochastic se mueve hacia abajo pero no está sobrevendido
Las condiciones de entrada para ir corto en el marco temporal M15 son:
- el MACD cruza hacia abajo el valor 0 o
- 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!
1. Comenzar
Sección titulada «1. Comenzar»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.
Elegir una plantilla
Sección titulada «Elegir una plantilla»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’.
Nombrar y crear
Sección titulada «Nombrar y crear»A continuación, ingresa un nombre para tu EA. Nombraremos nuestro EA ‘Cowabunga’ y luego haremos clic en “Create EA”.
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.
2. Indicadores
Sección titulada «2. Indicadores»Ahora vamos a agregar indicadores a este EA.
Para agregar un indicador, haz clic en ‘Add’ en tu lista de indicadores.
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:
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.
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í:
Ahora hemos agregado todos los indicadores y podemos pasar a la siguiente parte.
2b Custom Indicators
Sección titulada «2b Custom Indicators»Si quieres usar Custom Indicators, mira nuestro video tutorial, o lee cómo lograrlo: Custom Indicators.
3. Signals
Sección titulada «3. Signals»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.
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:
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:
- la EMA de 5 barras está por encima de la EMA de 10 barras
- el RSI está por encima de 50
- el Stochastic se mueve hacia arriba, pero no está sobrecomprado
- el MACD cruza hacia arriba el 0 o
- 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’ (>).
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.
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’ (<).
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.
Ahora hemos creado la primera Signal. Ahora es momento de probar la Signal, así que vamos a:
- Exportar el EA.
- 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).
- Ejecutar el EA en el Tester de MetaTrader en ‘Visual mode’.
- 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
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:
- La distancia al siguiente nivel de precio debe ser más de 5 pips de distancia.
- 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
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:
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.
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.
4. Módulos
Sección titulada «4. Módulos»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.
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:
Ahora necesitas ingresar los parámetros del módulo. Querremos ingresar un nombre y otras configuraciones básicas primero:
- Nombre: Buy TP
- 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:
A continuación, vamos a establecer el valor del take profit al valor del precio de apertura de la orden + la distancia al PSAR:
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:
- Trail distance (pips): 0
- Trail step size: 0
- Close percentage: 100
También agregaremos el mismo Take profit - Conditional (Pro) para órdenes de venta. Así es como lo configuramos:
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.
Y para venta, la precondición es opuesta, pero todo lo demás es igual:
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?
5. Resumen
Sección titulada «5. Resumen»¡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.
Aconsejamos los siguientes pasos:
- 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.
- 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.
- 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.
- 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 tú estés seguro de que el EA funciona como se espera. Recomendamos encarecidamente ejecutar el EA en un VPS (más información).
- 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!