Desarrollo de EA y Builder beginner 12 min de lectura

Cómo crear un EA de MACD en MT5 sin programar (y por qué su mejor resultado fue el más peligroso de todos)

Crear un EA de MACD en MT5 sin programar son ocho bloques en el navegador: montas el cruce de la línea MACD con su señal, lo compilas a un .ex5 real y lees sus cifras con honestidad. Incluido el dato que más debería inquietarte: la propia búsqueda de parámetros del Builder encontró un ajuste de MACD que sacó 1,14 fuera de la muestra y se desplomó a 0,74 en la ventana anterior.

Publicado · Revisado

Construyes un Expert Advisor de MACD en MT5 sin programar colocando un nodo Start, dos bloques MACD — uno que lee la línea principal y otro que lee la línea de señal —, una condición Cross entre ambos y un bloque de orden. El servidor genera y compila el MQL5 y te entrega un .ex5 real. Quince minutos, y ni una línea de sintaxis.

Después llega la parte que decide si el archivo vale algo. Esta receta tiene un historial medido, y su cifra más halagadora es precisamente de la que menos deberías fiarte.

Qué vas a construir

Un EA de una sola posición sobre un par que compra cuando la línea MACD cruza por encima de su línea de señal y vende cuando la cruza por debajo, con un stop y un objetivo fijos, compilado a un .ex5 real. Ocho bloques.

Dos de esos bloques existen por una única razón: el bloque indicador MACD devuelve una línea cada vez.

Antes de empezar: qué informa el MACD y qué línea estás leyendo

Necesitas una cuenta gratuita con el correo verificado (diseñar es gratis y no requiere identificarse; compilar a .ex5 sí), unos quince minutos y un terminal MetaTrader 5.

El MACD resta una media móvil lenta de una rápida y después vuelve a promediar esa diferencia. Así que la línea principal mide cuánto se han separado dos medias, y la línea de señal es esa misma medición suavizada. Todo lo que puede decir una regla de MACD es una afirmación sobre la distancia entre dos medias — lo que significa que es una herramienta de tendencia disfrazada de oscilador, y hereda el retraso de las dos medias que la construyeron.

El bloque MACD del Builder expone estos ajustes:

Ajuste del bloquePor defectoQué controla
fast_ema12La media más rápida. Rango 1–999
slow_ema26La más lenta. La separación entre ambas es toda la señal
signal_period9Cuánto se suaviza la diferencia antes de que la compares
lineMODE_MAINQué línea saca este bloqueMODE_MAIN o MODE_SIGNAL
applied_pricePRICE_CLOSEQué precio alimenta el cálculo
shift00 es la vela en formación; 1 es la última cerrada
timeframegráfico actualCualquiera de M1 a MN1, leído con independencia del gráfico

line es la fila que cambia la forma de tu flujo. Es un desplegable de dos valores, así que un bloque te da una línea. Un cruce de la línea de señal necesita por tanto dos bloques MACD; un cruce de la línea cero necesita uno, más una comparación contra una constante.

Paso a paso: construye el EA de MACD en el Builder

  1. Abre el EA Builder y carga la plantilla macd_signal desde la galería, o empieza desde un lienzo en blanco para cablearla tú mismo.
  2. Coloca un nodo Start desde la paleta Utility. Sin él, la validación detiene la construcción con EAB-E202.
  3. Añade un bloque MACD y deja line en MODE_MAIN. Deja el 12/26/9 en paz en la primera construcción para que tu resultado siga siendo comparable con la línea base de abajo.
  4. Añade un segundo bloque MACD con periodos idénticos y pon line en MODE_SIGNAL. Mismo indicador, mismos ajustes, salida distinta — este es el paso que la gente se salta, y saltárselo es la razón por la que su flujo compara una línea consigo misma.
  5. Conecta ambos a una condición Cross. Cross toma dos entradas y pregunta si una cruzó a la otra en esta vela; su cross_type es crossover o crossunder, así que el lado de compra y el de venta son dos condiciones separadas, no una invertida.
  6. Conecta cada condición a su propio bloque Open Buy / Open Sell. Conectar un indicador directamente a una orden se rechaza con EAB-E205 — un valor bruto no es una decisión.
  7. Fija el riesgo en la pestaña Settings. Los valores por defecto compartidos son un stop de 50 pips, un objetivo de 100 pips y un lote fijo de 0,01; un flujo sin un stop válido levanta un diagnóstico previo CRITICAL antes de construir nada.
  8. Pulsa Measure (medir) y lee el resultado contra el listón que imprime el propio panel: factor de beneficio de al menos 1,2, al menos 60 operaciones y un drawdown no peor del 20%.
  9. Pulsa Compile .ex5, mueve el archivo a MQL5/Experts con File > Open Data Folder, refresca el Navegador y pruébalo en el Strategy Tester antes de que se acerque a una cuenta.
  • Nodo Start
  • Bloque MACD, line = MODE_MAIN
  • Bloque MACD, line = MODE_SIGNAL
  • Cross — crossover para comprar, crossunder para vender
  • Open Buy y Open Sell
  • Stop loss y take profit
  • Compilar a .ex5
Por qué la receta de la línea de señal necesita dos bloques MACD y la de la línea cero no

Si prefieres la versión de la línea cero, borra el segundo bloque MACD y sustituye Cross por Compare (comparar), cuyos operadores son > < >= <= == != y cuyo offset vale 0 por defecto. «La línea principal del MACD por encima de cero» es una afirmación de que la media rápida está por encima de la lenta, sin más — un evento mucho más raro y mucho más tardío que el simple contacto entre las dos líneas. La paleta lleva además OsMA, que saca directamente la diferencia entre la principal y la de señal como un único valor, así que una regla de histograma necesita un bloque en lugar de dos.

Ajustes de entrada, salida y parámetros del MACD

AjusteValor de la plantillaQué hace moverlo
fast_ema12Más bajo reacciona antes y cruza muchísimas más veces; el número de operaciones se mueve antes que la tasa de acierto
slow_ema26Subirlo ensancha la distancia que la línea rápida tiene que recorrer, así que las señales llegan más tarde y más raras
signal_period9El suavizado de la línea de comparación. Más corto significa más cruces, y la mayoría son ruido
lineMODE_MAINNo es un mando de ajuste fino — decide qué regla has construido
shift0Ponlo a 1 para decidir solo sobre velas cerradas
Stop loss50 pips (valor por defecto compartido)El rango buscado fue 30–80
Take profit100 pips (valor por defecto compartido)El rango buscado fue 60–250

Sobre el retraso, que es la queja honesta contra este indicador. Cada valor de aquí es la salida de dos medias apiladas sobre una tercera. Un cruce es, por tanto, el informe de que un movimiento ya ocurrió — la única pregunta es cuánto de tarde. Acortar fast_ema compra anticipación y la paga en cruces falsos; alargar slow_ema compra fiabilidad y la paga en entradas que llegan después del movimiento. El propio historial de la plantilla sugiere dónde aterrizó: 698 operaciones en un año, el segundo recuento más alto de las trece plantillas de tendencia y momentum medidas bajo condiciones idénticas. Eso es un diseño disparando constantemente, y disparar constantemente es lo que cuesta un retraso corto.

Qué tocó la búsqueda y qué no. La búsqueda de parámetros registrada movió únicamente el stop y el objetivo — SL30-80 × TP60-250, 12 combinaciones a lo largo de tres ventanas en H1. No varió nunca fast_ema, slow_ema ni signal_period. Así que nada de esta página respalda la afirmación de que 12/26/9 sea acertado, equivocado ni mejorable. Lo que sí respalda es una afirmación mucho más estrecha y mucho más útil: ninguna combinación de stop y objetivo rescató al diseño.

Haz el backtest del EA de MACD

Este es el registro medido que el propio Builder tiene, no una nueva ejecución, y todas las plantillas de la comparación comparten el único conjunto de condiciones de abajo. Cómo probamos describe el estándar al que se someten esos registros.

Línea base de macd_signalValor
Factor de beneficio0,93
Operaciones698
Drawdown máximo-1,05%
Neto-93,93
Puesto en su vecindario por factor de beneficio8.ª de 13
Puesto en su vecindario por número de operaciones2.ª de 13
Supera el listón del propio panel Measureno
Condiciones de la prueba
ID del experimentoEXP-MACD-RECIPE-BASELINE-001
Experimento padreEXP-BUILDER-TEMPLATE-BASELINE-001
Símbolo / marco temporalUSDJPYm M5
Periodo2025-06-01 – 2026-06-09
ModeloM1 OHLC (Model=1)
Depósito10,000
EntornoExness MT5
Línea base medida2026-06-18
Última verificación2026-08-25
1,14Mejor factor de beneficio fuera de la muestra que encontró la búsqueda registrada
0,74Lo que sacó ese mismo ajuste sobre la ventana anterior
8.ª de 13Dónde se sitúa la plantilla MACD entre los diseños de tendencia y momentum medidos de forma idéntica

El resultado de la búsqueda merece más de una línea. Ocho plantillas de la galería llevan una búsqueda de parámetros registrada, y las ocho terminaron en no_robust_edge. Pero fallaron de dos formas distintas, y la diferencia importa más que el veredicto compartido. Dos de ellas no produjeron ni un solo ajuste ganador, ni siquiera sobre el periodo al que se ajustó la búsqueda. macd_signal es la única que produjo un ajuste que superó el 1,0 fuera de la muestra — 1,14 a 1,15 con el objetivo más ancho — y que después sacó 0,74 a 0,77 sobre la ventana anterior. La palabra que el propio manifiesto usa para esto es dependiente del régimen.

Lee lo que eso implica sobre las pruebas. Si hubieras partido tus datos una sola vez, ajustando sobre la primera mitad y comprobando sobre la segunda, esta plantilla te habría entregado un resultado aprobado. Lo único que la pilló fue comprobar una tercera ventana que la búsqueda no había visto nunca. Ese es el argumento a favor del análisis walk-forward en un caso concreto, y vale más que cualquier advertencia general sobre el sobreajuste.

Dónde se sitúa el MACD entre sus vecinas, todas medidas bajo el único bloque de condiciones de arriba:

PlantillaBloquesFactor de beneficioDrawdownOperaciones
ma_perfect_order_trend101,07-0,36%305
mtf_osc_filter271,04-0,64%187
consecutive_bars_momentum71,03-0,36%377
ao_ama_trend140,97-0,95%239
adx_trend120,96-0,76%534
multi_tf_trend150,96-0,51%247
ma_crossover90,95-0,84%420
macd_signal80,93-1,05%698
ma_slope_trend70,92-1,00%478
mtf_adx_filter140,92-0,84%343
elder_ray90,90-1,34%529
pitch_trail_trend90,77-1,61%467
dynamic_sl_trend90,68-1,62%708

Parte esas trece por su propia mediana de operaciones, que es 420, y las dos mitades se separan con nitidez. Las seis que operaron menos promediaron un factor de beneficio de 1,00 en 283 operaciones con un drawdown del -0,61%. Las seis que operaron más promediaron 0,86 en 569 operaciones con un -1,23% — peores resultados y el doble de profundidad. Los tres diseños que superan el 1,0 están todos en la mitad tranquila. El MACD está en la ruidosa.

Eso es la descripción de trece diseños bajo una misma configuración, no una ley: la lógica de entrada, el número de nodos y las salidas también difieren, así que la frecuencia no queda establecida como la causa. Pero es el patrón que tienes delante, y la plantilla MACD incluida está en el lado malo de él.

Errores comunes que hay que evitar

Creerte un aprobado fuera de la muestra. Este es el error que esta plantilla existe para demostrar. Un solo periodo reservado es una única muestra, y una regla de momentum puede ganar una única muestra porque el mercado tuvo tendencia durante ella. Prueba una tercera ventana que la búsqueda no haya visto nunca antes de creerte una cifra.

Comparar una línea consigo misma. Si los dos bloques MACD se quedan en MODE_MAIN, la condición Cross compara valores idénticos y no dispara nunca — o dispara por redondeo. Comprueba el ajuste line en ambos bloques antes de preguntarte por qué el número de operaciones es cero.

Leer un cruce como una predicción. El MACD son dos medias de una media. Un cruce informa de que un movimiento lleva ya varias velas en marcha. La decisión de diseño es cuánta tardanza aceptas, no si aceptar alguna.

Ajustar el stop y el objetivo hasta que la curva de capital se vea bien. La búsqueda registrada ya hizo eso sistemáticamente a lo largo de 12 combinaciones y tres ventanas, e informó de no_robust_edge. Si tu ajuste manual bate a una búsqueda sistemática, sospecha del ajuste.

Apilar filtros de momentum. La composición de arriba es la versión medida de ese instinto: 3,76 veces el drawdown a cambio de un factor de beneficio ligeramente peor.

Ejecutarlo junto a otro EA sin separarlos. Cada EA de una misma cuenta necesita su propio número mágico, o las salidas de un EA cerrarán las posiciones del otro.

Próximos pasos y variantes

Cuándo no usar MACD. En un rango, dos medias se cruzan una y otra vez y cada cruce es ruido — y un valor por defecto que dispara rápido es exactamente lo que un rango castiga. Si no eres capaz de enunciar una condición que apague la regla durante los periodos planos, o añades una o usas una idea que no dependa de que las dos medias se separen.

Las variantes que merece la pena probar, por orden de evidencia. Prueba primero la versión de la línea cero: es un bloque más simple y dispara muchísimo menos, y la mitad tranquila del vecindario es donde se sitúan todos los resultados por encima de 1,0. Después prueba la misma regla sobre un timeframe superior dentro del bloque MACD, lo que ralentiza la señal sin tocar el gráfico. Solo entonces muevas los periodos — y cambia uno cada vez.

Y después pruébalo en serio. El panel Measure trabaja a nivel de vela y es aproximado; es un filtro, no un veredicto. Cómo hacer un backtest en MT5 recorre una ejecución real de principio a fin, incluida cuál de las dos cifras de drawdown del informe hay que creerse. Cómo crear un EA de RSI es la receta hermana con el modo de fallo opuesto — su búsqueda no ganó nunca nada, lo que la vuelve más fácil de rechazar y menos instructiva que esta. Cómo crear un EA para MT5 sin programar cubre el vocabulario de bloques más amplio, y las guías de backtesting profundizan en el paso walk-forward que esta página defiende.

Y para calibrar qué aspecto tiene un registro documentado, cada ficha del catálogo de EA publicados lleva su lista completa de operaciones cerradas y el manifiesto de la ejecución. Compara una de ellas con la tabla de arriba antes de fiarte de ninguna estrategia, incluida una que hayas construido tú mismo.

Preguntas frecuentes

¿Qué diferencia hay entre un cruce de la línea de señal y un cruce de la línea cero en el MACD?
Son preguntas distintas y, dentro del Builder, cableados distintos. Un cruce de la línea de señal pregunta si la línea MACD cruzó su propia media de 9 periodos, así que necesita dos bloques MACD — uno puesto en MODE_MAIN y otro en MODE_SIGNAL — alimentando una condición Cross. Un cruce de la línea cero pregunta simplemente si el momentum cambió de signo, así que necesita un solo bloque MACD en MODE_MAIN y una comparación Compare contra 0. La versión de la línea de señal dispara muchísimo más a menudo y antes; la de la línea cero dispara poco y tarde. La plantilla incluida usa la forma de la línea de señal, y es el segundo diseño más activo de todo su vecindario.
¿Cuáles son los mejores ajustes de MACD para un EA?
Nada de esta página te lo puede decir, y conviene decirlo sin rodeos. El bloque MACD del Builder viene con 12/26/9 sobre el cierre, y la búsqueda de parámetros registrada sobre esta plantilla movió únicamente el stop y el objetivo — SL30-80 por TP60-250, 12 combinaciones a lo largo de 3 ventanas. No varió ni una sola vez fast_ema, slow_ema ni signal_period. Cualquier artículo que te cite un juego de periodos «mejor» te está citando una preferencia, no una medición. Lo que la búsqueda sí dejó establecido es que ninguna combinación de stop y objetivo volvió robusto a este diseño.
¿Es rentable una estrategia de cruce de MACD?
Tal como viene aquí, no. Medida sobre USDJPY en M5 a lo largo de un año, la plantilla macd_signal del Builder cierra con un factor de beneficio de 0,93 en 698 operaciones: el segundo diseño más activo de las trece plantillas de tendencia y momentum medidas bajo condiciones idénticas, y la octava de trece por resultado. Más útil todavía: su búsqueda registrada sí encontró un ajuste que llegó a 1,14–1,15 fuera de la muestra, que después cayó a 0,74–0,77 sobre la ventana anterior. Esa es la respuesta honesta: existen resultados con aspecto rentable, y no aguantaron el cambio de régimen.
¿Debería añadir más indicadores para filtrar mi EA de MACD?
Mira lo que hizo de verdad la combinación antes de dar por hecho que ayuda. La galería incluye una composición que contiene esta misma plantilla — macd_signal más una regla de nivel de CCI más Elder Ray — y bajo condiciones idénticas cerró con un factor de beneficio de 0,91 frente al 0,93 del MACD suelto, con 3,76 veces el drawdown a lo largo de 2.016 operaciones. Las tres partes son lecturas de momentum del mismo precio, así que tienden a coincidir y a dispararse juntas en lugar de diversificar. Un filtro ayuda cuando a veces lleva la contraria a tu entrada; tres versiones de la misma idea no lo hacen.