¿Qué es el indicador ZigZag? Por qué se vuelven a dibujar los máximos y mínimos que marca

«Los máximos y mínimos que marca el ZigZag son clavados. Basta con comprar en sus mínimos y vender en sus máximos, ¿no?»

El gráfico del ZigZag parece acertar porque cambia. El último tramo que dibuja nunca está confirmado: cuando el precio marca un nuevo máximo, el «máximo» anterior se borra y se traslada al nuevo sitio. Recalculamos cada día el ZigZag de MT5 sobre los gráficos diarios de 9 activos y lo contamos: por cada punto de giro que queda, casi 5 llegaron a dibujarse y después se borraron. Este artículo primero muestra con una tabla cómo cambia y después lo comprueba con un gráfico real marcado del 1 al 4 (Ethereum, 2025).

Este artículo forma parte de la serie «Academia de Trading · Guía de indicadores técnicos» de MASQuant. Todos los indicadores están clasificados en la Guía de indicadores técnicos.

En una frase

ZigZag = unir con una línea quebrada los máximos y mínimos «lo bastante grandes» e ignorar los movimientos pequeños.

La pregunta que responde es: «¿Dónde están los principales giros de este tramo de mercado?». Pero la responde a posteriori.

El ZigZag es como escribir unas memorias: si unes las cumbres y los valles de una vida, la historia queda clarísima. Pero quien escribe sigue vivo, y lo que hoy cree que es «la cumbre de mi vida» puede verse superado el año que viene por otra más alta. El último capítulo siempre se está reescribiendo; solo los capítulos anteriores dejan de cambiar.

Calcúlalo una vez: cómo se traslada un máximo

Aquí tienes un ejemplo simplificado para ver dónde se dibuja el «último punto» del ZigZag tras cada cierre diario (lo que sigue son números enteros inventados para el ejemplo, no datos de mercado):

Día Máximo del día Mínimo del día Último punto del ZigZag
Día 3 105 101 El 105 del día 3 (nuevo máximo)
Día 4 103 100 Sigue siendo el 105 del día 3
Día 5 108 104 Pasa al 108 del día 5; el punto del día 3 se borra
Día 6 106 101 Sigue siendo el 108 del día 5
Día 7 101 95 Se dibuja un nuevo mínimo en 95, y solo entonces se confirma el 108 del día 5

Si miras el gráfico el día 4, pensarás que 105 es el máximo; el día 5 ya ha desaparecido. Un máximo solo cuenta cuando ya se ha dibujado el siguiente punto en sentido contrario, y para entonces el precio ya ha bajado un buen trecho desde el máximo.

La fórmula

El ZigZag que viene con MT5 tiene tres parámetros, con valores por defecto de 12, 5 y 3:

1 Depth (profundidad) = 12: un punto tiene que ser el más alto (más bajo) de las últimas 12 velas para poder ser punto de giro
2 Deviation (desviación) = 5: umbral de distancia de precio, en unidades del mínimo movimiento de la cotización
3 Backstep (retroceso) = 3: número mínimo de velas entre dos puntos de giro del mismo sentido; si están más cerca, solo se queda el más extremo

Máximos y mínimos se alternan; cuando aparece un máximo más alto (un mínimo más bajo), el último punto se traslada allí

El ZigZag no tiene un inventor reconocido, y cada plataforma lo calcula de forma algo distinta: algunas usan un porcentaje fijo (por ejemplo, solo cuenta si sube o baja más de un 5 %), mientras que el indicador de ejemplo de MT5 usa los tres parámetros de arriba. Sea cual sea la versión, el último tramo cambia; la única diferencia es con qué frecuencia.

El ZigZag de MT5 está entre los indicadores de ejemplo que se instalan con la plataforma (en la carpeta Examples); no viene integrado directamente en la lista de indicadores.

Las estadísticas: ¿cada cuánto se borran los puntos de giro y cuánto tardan en confirmarse?

Reescribimos el ZigZag(12, 5, 3) de MT5 a partir de su código fuente y, sobre los gráficos diarios desde 2015 de 9 activos (oro, plata, S&P 500, Alemania 40, EUR/USD, GBP/USD, USD/JPY, bitcoin y Ethereum), lo recalculamos tras cada cierre diario y registramos cómo quedaba dibujado cada día:

Concepto Resultado
Puntos de giro que quedaron al final 1487
Posiciones que llegaron a dibujarse como punto de giro y luego se borraron 7327 (unas 4,93 borradas por cada una que queda)
Velas que tarda un punto de giro en confirmarse (mediana) 6 velas (la mitad, entre 4 y 9 velas)
Tarda 10 velas o más en confirmarse 22,2 %
Tarda 20 velas o más en confirmarse 2,2 %
Distancia que ya ha recorrido el precio desde el punto de giro al confirmarse (mediana) 2,69 veces el ATR(14)

«Confirmado» significa que sigue ahí en todos los recálculos diarios posteriores y que, detrás de él, ya se ha dibujado el siguiente punto en sentido contrario. Calculando cada uno de los nueve activos por separado, las medianas quedan todas entre 5 y 7 velas. Dicho de otro modo: cuando el ZigZag te dice «ahí estaba el máximo», el precio normalmente ya se ha alejado casi 3 ATR de él.

Lee el gráfico: Ethereum en 2025, siguiendo del 1 al 4

El gráfico de abajo muestra Ethereum (ETHUSD) en velas diarias desde finales de febrero hasta finales de junio de 2025, tomado de los precios históricos de MT5. La línea continua naranja es el ZigZag calculado con todos los datos del tramo (es decir, cómo se ve «a posteriori»); la línea discontinua morada es el ZigZag calculado solo con los datos hasta el 7 de mayo (es decir, lo que habrías visto en el gráfico ese mismo 7 de mayo).

Gráfico diario de Ethereum de febrero a junio de 2025 con el ZigZag; el 7 de mayo, el ZigZag marcaba el 1 de mayo como último máximo, después el precio se disparó y ese punto se borró; el máximo real llegó el 29 de mayo y no se confirmó hasta el 5 de junio
Gráfico: Ethereum (ETHUSD) diario, 20/2/2025–20/6/2025, precios históricos de MT5. Las velas huecas cerraron al alza y las rellenas, a la baja. La línea continua naranja es el ZigZag(12, 5, 3) calculado con todos los datos del tramo; la línea discontinua morada es el ZigZag calculado solo con los datos hasta el 7 de mayo; la línea discontinua gris marca el 7 de mayo y la roja, el día en que se confirmó el máximo del 29 de mayo. A la derecha está el precio, abajo las fechas, y los números en círculo corresponden a las notas de abajo.
1

El «último máximo» de entonces: 1 de mayo de 2025, 1871,46.

2

Mirando el gráfico el 7 de mayo (cierre en 1796,69). El ZigZag de ese día marcaba 1, de 6 días antes, como el máximo más reciente, y desde entonces el precio había estado siempre por debajo de 1. Parecía que ya se había formado un máximo y que el precio iba hacia abajo.

3

El máximo real: 29 de mayo, 2786,02. Al día siguiente (8 de mayo), Ethereum se disparó y subió sin parar hasta un nivel un 48,9 % por encima de 1. El punto 1 se borró, y el ZigZag a posteriori (línea naranja) va directamente desde el mínimo de abril hasta aquí, como si 1 no hubiera existido nunca.

4

El máximo de 3 no se confirmó hasta el 5 de junio, 7 velas tarde. Ese día el precio cerró en 2396,74, ya un 14,0 % por debajo del máximo. El mismo día de 3 y durante los días siguientes, todavía no podías saber que ese era el máximo.

Se trata de un tramo real de precios históricos, usado para mostrar cómo se comporta el ZigZag, no de una regla general. Si cambias de activo, de marco temporal o de tramo, todas las cifras cambian.

Lo que ves, lo que significa

Lo que ves Lo que suele significar Pero cuidado
El último tramo del ZigZag El máximo o mínimo más reciente por ahora Todavía no está confirmado y puede trasladarse en cualquier momento (1 en el gráfico)
La línea hasta el penúltimo punto Máximos y mínimos ya confirmados Cuando se confirman, el precio normalmente ya ha recorrido casi 3 ATR
Una línea que une con precisión cada máximo y cada mínimo Cómo se ve a posteriori Por cada punto que queda, unos 5 llegaron a dibujarse y se borraron
Cada máximo más alto que el anterior y cada mínimo más alto que el anterior Una estructura alcista Júzgala solo con puntos ya confirmados
Parámetros más grandes (por ejemplo, Depth 20) Solo quedan giros más grandes Se confirman todavía más despacio

Cómo usarlo: tres ejemplos

Ejemplo 1: ordenar los máximos y mínimos pasados, no predecir el siguiente

Donde más rinde el ZigZag es al resumir un montón de velas en unos pocos máximos y mínimos principales, lo que facilita trazar retrocesos de Fibonacci o localizar máximos y mínimos anteriores (un ejemplo de Fibonacci, en ¿Qué es el retroceso de Fibonacci?). Al usarlo, usa solo puntos ya confirmados.

Ejemplo 2: juzgar la estructura solo con «puntos confirmados»

La regla puede escribirse así: «Solo es estructura alcista si, de los dos últimos mínimos confirmados, el más reciente es más alto que el anterior». El último punto, todavía sin confirmar, no cuenta.

Ejemplo 3: reescribir la idea del ZigZag como una condición que se conozca «en el momento»

Si tu idea es «comprar cuando el precio rompe el máximo anterior», en el backtest puedes escribirla como «el cierre supera el máximo de las últimas 20 velas»: esa condición se puede calcular el mismo día y no cambia a posteriori.

Los tres ejemplos tienen que tener presente lo mismo: el ZigZag es una herramienta para ordenar las cosas a posteriori. Cuanto más bonitos sean los puntos que dibuja, más hay que preguntarse: ¿qué día se confirmó de verdad este punto?

Errores comunes

1. Hacer el backtest con los máximos y mínimos del ZigZag

Si usas los puntos del ZigZag a posteriori como puntos de compra y venta, el backtest sale espectacular, porque cada punto se dibujó cuando el precio ya había terminado de moverse. En el trading real compras en sitios como 1, y nunca llegas a esperar a 3.

2. Dar el último tramo por un giro ya hecho

El día de 2 en el gráfico, el ZigZag marcaba 1, de 6 días antes, como máximo, y el precio parecía ir hacia abajo. Después el precio subió un 48,9 % por encima de 1, y ese punto se borró.

3. Creer que con parámetros más grandes deja de repintar

Con un Depth más grande hay menos puntos de giro, pero el último tramo sigue cambiando, y tarda aún más en confirmarse. El repintado forma parte del propio algoritmo del ZigZag; no es un problema de parámetros.

Preguntas frecuentes

¿Qué es el indicador ZigZag?

El ZigZag une con una línea quebrada los máximos y mínimos que superan un tamaño determinado y filtra los movimientos pequeños, para mostrar los principales giros del mercado. Los parámetros por defecto del indicador de ejemplo de MT5 son Depth 12, Deviation 5 y Backstep 3.

¿Por qué repinta el ZigZag?

Porque el último punto de giro todavía no está confirmado: cuando el precio marca un nuevo máximo (o un nuevo mínimo), el último punto se traslada a la nueva posición. Solo cuando se dibuja el siguiente punto en sentido contrario deja de cambiar el punto anterior.

¿Se puede operar con el ZigZag?

Sirve para ordenar los máximos y mínimos ya confirmados y para leer la estructura, pero no es adecuado usarlo directamente como señal de compra o venta. En nuestras estadísticas, un punto tarda una mediana de 6 velas en confirmarse y, para entonces, el precio suele estar ya a unos 2,7 ATR del punto de giro.

¿Tiene MT5 el ZigZag?

Sí: está entre los indicadores de ejemplo que se instalan con MT5 (en la carpeta Examples), con parámetros por defecto de 12, 5 y 3; no viene integrado directamente en la lista de indicadores.

Conclusión

El gráfico que dibuja el ZigZag es la «versión a posteriori» del mercado: muy clara y muy tentadora. Su valor está en ordenar el pasado, no en predecir el próximo giro.

Así que la verdadera pregunta es: si tu estrategia usa los máximos y mínimos del ZigZag, ¿tu backtest usa los puntos tal como estaban «una vez confirmados», o puntos que solo se dibujaron a posteriori? Un solo tramo de precios históricos no puede responder a eso: hay que hacer un backtest de la regla en muchos tramos de mercado.

¿Todavía no tienes reglas propias y no quieres montarlas indicador a indicador? Con Strategy Genie de MASQuant, solo tienes que elegir primero un estilo de inversión: la IA analiza el mercado, selecciona activos y te da tres estrategias candidatas a la vez. Cada una ya ha pasado un backtest con datos históricos, con la rentabilidad y la máxima caída del capital a la vista, y después decides tú si la despliegas en MT5.

Si ya tienes una idea propia, escribe la condición en una frase, por ejemplo «comprar cuando el cierre supere el máximo de las últimas 20 velas y salir cuando perfore el mínimo de las últimas 10 velas», dásela al AI Strategy Assistant y pulsa el botón para empezar el backtest. El entorno de backtest incluye fricciones reales del mercado como el spread, el deslizamiento, los cambios de liquidez y los retrasos de ejecución (cómo usarlo, en la guía de uso del AI Strategy Assistant). Solo con condiciones así, que se pueden calcular el mismo día, los resultados del backtest coincidirán con el trading real. Un backtest te dice «cómo funcionó esta regla en el mercado del pasado», no te garantiza el futuro.

Una idea solo se convierte en estrategia cuando la pones a prueba.

El gráfico de precios de este artículo procede de los precios históricos de la plataforma MT5 (diario; las cotizaciones y la hora de corte de la vela diaria varían un poco entre plataformas, así que los valores pueden no coincidir exactamente). El ZigZag se reescribió a partir del código fuente del indicador de ejemplo que viene con MT5, y las estadísticas usan velas diarias de la misma plataforma desde enero de 2015 para 9 activos (oro, plata, S&P 500, Alemania 40, EUR/USD, GBP/USD, USD/JPY, bitcoin y Ethereum), recalculadas tras cada cierre diario; la forma en que se actualiza en tiempo real en los gráficos de MT5 es algo distinta, así que las cifras pueden variar. Los números enteros del ejemplo no son datos de mercado. Los precios históricos solo se usan para mostrar cómo se comporta el indicador y no representan movimientos futuros.

Divulgación de riesgos: los CFD son productos financieros de alto riesgo y pueden provocar una pérdida rápida de capital. La rentabilidad pasada no garantiza resultados futuros; todas las estrategias y backtests son solo de referencia y no constituyen asesoramiento de inversión. Antes de operar, lee con atención nuestra Divulgación de riesgos.