¡Atención! Esta versión del indicador de Zig-Zag es basada en el código del Zig-Zagy publicada aquí con permiso de su autor, PPC. He probado esa versión y corregido un error en el algoritmo.
Este código es la versión MQL5 del indicador Zig-Zag para MetaTrader 4.
¡Atención! La Librería AlexSTAL_OutsideBar.mqh debe estar ubicada en la carpeta ...\MQL5\Include\ del terminal de cliente MetaTrader 5.
¿Eso es todo?
Creo que este Zig-Zag es algo así como una compresión del gráfico de precios. El ZigZag puede calcularse utilizando el precio de la barra (por ejemplo, el precio de cierre) o los precios altos/bajos de la barra (el método más común utilizado)
Mientras trabajaba con el ZigZag estándar, propuesto por MetaQuotes, he encontrado algunos errores. El problema principal es que ZigZag estándar no procede en el caso de la barra exterior.
En 2007 Rashid Umarov (Rosh) ha publicado el código Zigzag2 R procesando las barras de fuera (estilo DRAW_ZIGZAG en vez de DRAW_SECTION).
Definamos las características de la implementación "correcta" del Zig-Zag:
Consideremos utilizando el ejemplo (EURUSD, H1, 8-13 de diciembre del 2006). Aquí tenemos dos casos con la barra exterior. El típico ZigZag no construye la imagen "correcta".
![Figura 1. Típico ZigZag con parámetros de entrada [12; 5; 3] y [12; 0; 0] Figura 1. Típico ZigZag con parámetros de entrada [12; 5; 3] y [12; 0; 0]](https://c.mql5.com/18/504/zz_011__1.png)
Figura 1. Típico ZigZag con parámetros de entrada [12; 5; 3] y [12; 0; 0]
![Figura 2. Zigzag2 R con los parámetros de entrada [12; 5; 3] Figura 2. Zigzag2 R con los parámetros de entrada [12; 5; 3]](https://c.mql5.com/18/504/zz_031__1.png)
Figura2. Zigzag2 R con los parámetros de entrada [12; 5; 3]
![Figura 3. Zigzag2 R con los parámetros de entrada [12; 0; 0] Figura 3. Zigzag2 R con los parámetros de entrada [12; 0; 0]](https://c.mql5.com/18/504/zz_021__1.png)
Figura3. Zigzag2 R con los parámetros de entrada [12; 0; 0]
A primera vista, la construcción correcta se presenta en la figura 3 pero aquí están algunas características:

Los segmentos de ZigZag deben ser construidos de esta manera.
He probado muchos casos de los siguientes algoritmos de zig-zag: ZigZag MT3, ZigZag, Zigzag R, Zigzag2 R, ZigZag_NK, ZigZag_ZUP89_nen, ZigZag_new_nen4, CZigZag, Swing_ZZ_1, DT_ZZ_nen, ZigZag_Talex, Reverse_ZZ, Points_ZZ_1, i_MF_Fractal_ZZ_3in1, ang_Amp_ZZ, ZigzagFr_v1, NonLagZigZag_v2, ZZ_FF_v3, ZigZag Ensign, ZigZag tauber, SQZZ Товаровед, ZZ_2L_nen wellx, Channel ZZ, Azzx_larryzz_3_0, RPoint, RPoint-m v2, ZigZagTF. Pero ninguno de ellos ha solucionado el problema correctamente.
Aquí están las figuras con este indicador:
![Figura 4. Zig-zag profesional con parámetros de entrada [12; 0] Figura 4. Zig-zag profesional con parámetros de entrada [12; 0]](https://c.mql5.com/18/504/zz_051__1.png)
Figura 4. Zig-zag profesional con parámetros de entrada [12; 0]
![Figura 5. Zig-zag profesional con parámetros de entrada [23; 0] Figura 5. Zig-zag profesional con parámetros de entrada [23; 0]](https://c.mql5.com/18/504/zz_061__1.png)
Figura 5. Zig-zag profesional con parámetros de entrada [23; 0]
Algunas características de esta versión:
![Figura 6. EURUSD, H1, 29 de Noviembre - 7 de Diciembre. (Línea roja: Zig-Zag con parámetros de entrada [7; 0; 0]. Línea azul: Zigzag2 R con los parámetros de entrada [7; 0; 0].) Figura 6. EURUSD, H1, 29 de Noviembre - 7 de Diciembre. (Línea roja: Zig-Zag con parámetros de entrada [7; 0; 0]. Línea azul: Zigzag2 R con los parámetros de entrada [7; 0; 0].)](https://c.mql5.com/18/504/zz_071__1.png)
Figura 6. EURUSD, H1, 29 de Noviembre - 7 de Diciembre. (Línea roja: Zig-Zag con parámetros de entrada [7; 0; 0]. Línea azul: Zigzag2 R con los parámetros de entrada [7; 0; 0].)

Figura 7. EURUSD, H1, 2010, 29 de Noviembre - 7 de Diciembre. La correcta construcción de segmentos del Zig-Zag.
Conclusión
Lamentablemente esta versión no es perfecta, pero estoy trabajando en ello.
A causa del algoritmo de canal (iHighest/iLowest), a veces se salta los agudos.
Por favor, informar acerca de los errores y las características de este indicador.
Traducción del ruso realizada por MetaQuotes Ltd
Artículo original: https://www.mql5.com/ru/code/263
sChartsSynchroScroll_v2
Nueva versión del script sChartsSynchroScroll.
Gestor de eventos "New bar" para indicadores
Este indicador permite realizar los cálculos de los datos del indicador solo cuando aparece una nueva barra en el gráfico.
Easy Trend Visualizer
Visualizador sencillo de tendencias
Canal Donchian
El canal Donchian es un indicador técnico desarrollado por Richard Davoud Donchian.