Indicadores técnicos / Divergencias RSI
Una herramienta de divergencias parece sencilla: el precio alcanza un nuevo extremo y el RSI no. Las preguntas útiles son qué oscilaciones cuentan, qué RSI está leyendo y cuántas barras deben cerrar antes de que la herramienta pueda saberlo. Esta página las responde con reglas exactas, gráficos horarios reales y código que usted puede comprobar.

Qué mide el RSI
El índice de fuerza relativa compara la magnitud promedio de los movimientos ascendentes recientes con la de los movimientos descendentes recientes y sitúa el resultado entre 0 y 100. Según la ayuda de MT5, Wilder recomendó 14 períodos cuando presentó el índice, y desde entonces han ganado popularidad las versiones de 9 períodos y 25 períodos. La misma ayuda señala que el RSI suele formar máximos por encima de 70 y mínimos por debajo de 30. Ayuda de MT5: RSI
En esta descarga, las líneas de 30 y 70 se dibujan solo como orientación. No se filtra ninguna divergencia con ellas. Código
Qué compara una divergencia
Una divergencia compara dos oscilaciones del precio con las lecturas del RSI en esas mismas dos barras. La ayuda de MT5 la describe como un nuevo máximo o mínimo del precio que el RSI no confirma con un nuevo máximo o mínimo propio. Esta descarga convierte esa descripción en patrones exactos: Ayuda de MT5: RSI
- Bajista regular: un máximo de oscilación más alto en el precio, con un RSI más bajo en el segundo máximo.
- Alcista regular: un mínimo de oscilación más bajo en el precio, con un RSI más alto en el segundo mínimo.
- Bajista oculta (desactivada de forma predeterminada): un máximo de oscilación más bajo, con un RSI más alto en el segundo máximo.
- Alcista oculta (desactivada de forma predeterminada): un mínimo de oscilación más alto, con un RSI más bajo en el segundo mínimo.
Esta página no comprueba si el precio cambia de dirección después de una divergencia. Muestra qué señalan las reglas, cuándo pueden señalarlo y casos reales en los que el precio sobrepasó de todos modos la segunda oscilación. Datos del gráfico
Cómo calcula el RSI esta descarga
El indicador utiliza precios de cierre y el suavizado de Wilder. El cambio de precio de cada barra se divide en una ganancia y una pérdida, una de las cuales siempre es cero, y ambas se suavizan. Las barras se cuentan desde la más antigua cargada, empezando en cero:
change[t] = Close[t] − Close[t−1] gain[t] = max(change[t], 0) loss[t] = max(−change[t], 0) Valor inicial en la barra N: AvgGain[N] = (gain[1] + … + gain[N]) / N AvgLoss[N] = (loss[1] + … + loss[N]) / N Barras posteriores: AvgGain[t] = (AvgGain[t−1] × (N − 1) + gain[t]) / N AvgLoss[t] = (AvgLoss[t−1] × (N − 1) + loss[t]) / N RSI[t] = 100 − 100 / (1 + AvgGain[t] / AvgLoss[t])
N es el período, 14 de forma predeterminada. El paso de suavizado es la media móvil suavizada de la ayuda de MT5: la media anterior multiplicada por N − 1, más el nuevo valor, dividido entre N. La ayuda de MT5 sobre RSI proporciona la fórmula final, pero no indica qué media utilizar, por lo que esta página especifica la que utiliza el código. Ayuda de MT5: media móvil suavizada Ayuda de MT5: RSI Código
Valor inicial y período de calentamiento
La primera ganancia y pérdida promedio son las medias simples de los primeros 14 cambios, por lo que el primer valor de RSI necesita 15 cierres. En esta exportación corresponde a la barra de 2025-12-04 22:00 y equivale a 42.78. Las barras anteriores quedan vacías y, con 14 barras o menos, el indicador no dibuja nada. Código Valores utilizados en esta página
La influencia del valor inicial disminuye, pero nunca desaparece por completo. Cada paso conserva (N − 1) / N de la media anterior, por lo que, 100 barras después, el valor inicial todavía tiene un peso de aproximadamente 0.06% en cada media. Por tanto, un RSI que empieza en una primera barra diferente o se inicializa de otra manera muestra valores distintos al principio. Con los mismos cierres y el mismo suavizado, la diferencia entre las medias se reduce por ese factor en cada barra. Valores utilizados en esta página
Cuando nada se mueve
Si la pérdida promedio es cero, la fórmula dividiría entre cero. El código devuelve 100 cuando la ganancia promedio es positiva y 50 cuando ambas medias son cero, lo que significa que el precio no se ha movido en absoluto. Con una ganancia promedio de cero y una pérdida promedio positiva, la propia fórmula da 0. Código
Los datos reales nunca alcanzaron estos casos: ninguno de sus 4,986 valores de RSI es exactamente 0, 50 o 100. En su lugar, las pruebas los cubren con series sintéticas de precios planos y unidireccionales. Verificación cruzada
Compare elementos equivalentes. Dos líneas de RSI solo coinciden cuando coinciden los cierres, el período, el suavizado, el valor inicial y la primera barra. Dos listas de divergencias también necesitan las mismas reglas de pivotes y emparejamiento.
Cómo encuentra una divergencia el indicador
Pivotes de oscilación
Una barra es un pivote máximo cuando su máximo es estrictamente superior a los máximos de las 5 barras anteriores y no es superado por los máximos de las 5 barras siguientes. Un pivote mínimo aplica la regla inversa a los mínimos:
Pivote máximo en la barra p: High[p] > High[j] para j = p − L … p − 1
High[p] ≥ High[j] para j = p + 1 … p + R
Pivote mínimo en la barra p: Low[p] < Low[j] para j = p − L … p − 1
Low[p] ≤ Low[j] para j = p + 1 … p + R
L es PivotLeftBars y R es PivotRightBars. La asimetría resuelve los empates: un máximo igual a la derecha no anula un pivote, pero uno igual a la izquierda sí; por eso, de dos máximos iguales dentro del alcance mutuo, la barra anterior se convierte en pivote. Los empates sí ocurren en los datos reales. En esta exportación, 10 pivotes máximos y 4 pivotes mínimos tenían un extremo igual a la derecha, y 14 máximos y 4 mínimos quedaron excluidos únicamente porque había un extremo igual a la izquierda. En total, la exportación tiene 313 pivotes máximos y 311 pivotes mínimos. Código Recuentos
Pares y prueba de divergencia
Cuando se confirma un nuevo pivote, el código lo compara con el pivote anterior del mismo tipo, y solo con ese. El par se evalúa cuando los dos pivotes están separados por entre 5 y 60 barras y ya existe RSI en el primer pivote. Un pivote más cercano siempre bloquea la comparación con uno más antiguo. Código
Bajista regular: High[p2] > High[p1] y RSI[p2] < RSI[p1] Alcista regular: Low[p2] < Low[p1] y RSI[p2] > RSI[p1] Bajista oculta: High[p2] < High[p1] y RSI[p2] > RSI[p1] Alcista oculta: Low[p2] > Low[p1] y RSI[p2] < RSI[p1] Se informa en la barra: c = p2 + R
Todas las comparaciones son estrictas, por lo que precios iguales o lecturas de RSI iguales nunca producen una divergencia. Con 5 barras a la izquierda y 5 a la derecha, dos pivotes del mismo tipo siempre están separados por al menos 6 barras, por lo que la distancia mínima no limita las detecciones con los ajustes predeterminados. Reglas
Ajustes
Estos son los parámetros de entrada de la descarga. Todas las figuras de esta página utilizan los valores predeterminados, que son puntos de partida ilustrativos y no valores optimizados.
| Parámetro | Valor predeterminado | Qué controla |
|---|---|---|
RsiPeriod |
14 | Período del RSI sobre precios de cierre con suavizado de Wilder. |
PivotLeftBars |
5 | Barras anteriores a un pivote que este debe superar estrictamente. |
PivotRightBars |
5 | Barras cerradas posteriores a un pivote que no deben superarlo. Esta es también la demora de confirmación. |
MinPivotDistance |
5 | Mínimo de barras permitidas entre los dos pivotes de un par. |
MaxPivotDistance |
60 | Máximo de barras permitidas entre los dos pivotes. La búsqueda del pivote anterior termina allí. |
ShowHidden |
false | Añade divergencias ocultas como líneas de puntos con sus propias flechas. |
Definiciones de los parámetros
El período determina cuánto cuenta cada nuevo cambio. El suavizado de Wilder le da un peso de 1/14 con el valor predeterminado y de 1/9 o 1/25 con los períodos alternativos mencionados en la ayuda de MT5, por lo que un período más corto reacciona más a cada barra. PivotRightBars intercambia rapidez por confirmación: un valor mayor nunca añade pivotes y retrasa cada detección por las barras adicionales. Ayuda de MT5: RSI Valores utilizados en esta página
Interpretación de los ejemplos reales
Las figuras 2 a 4 proceden de la exportación mediante reglas de selección fijas. Las reglas de las figuras 2 y 3 ordenan las detecciones por la diferencia de RSI entre los pivotes e ignoran lo que hizo el precio después. La figura 4 selecciona deliberadamente un caso fallido. Reglas de selección

En la figura 2, el segundo máximo está 0.00039 por encima del primero, mientras que el RSI está 18.99 puntos más bajo. Las dos series se construyen con precios distintos: los pivotes utilizan máximos y mínimos; el RSI utiliza cierres. La barra que marcó el segundo máximo cerró en 1.16168, 0.00420 por debajo de su propio máximo y 0.00212 por debajo del cierre anterior, de modo que el RSI registró una pérdida en la misma barra que estableció el nuevo máximo. Valores utilizados en esta página

El segundo mínimo de la figura 3 está solo 0.00009 por debajo del primero, lo que equivale a 9 puntos con el incremento de precio de 0.00001 de este símbolo, mientras que el RSI está 26.22 puntos más alto. La regla no establece un tamaño mínimo, por lo que una diferencia tan pequeña cuenta como cualquier otra. Aquí también la barra del pivote cerró lejos de su extremo: en 1.16176, 0.00355 por encima de su mínimo y 0.00272 por encima del cierre anterior. Valores utilizados en esta página
Ninguno de los ejemplos se eligió por su resultado. Tras la confirmación de la figura 2, ningún máximo de las siguientes 24 barras superó el pivote 2. Tras la confirmación de la figura 3, el precio cayó por debajo del pivote 2 en 2026-05-21 16:00, con un mínimo de 1.15757, 18 barras después de la barra de confirmación. Registros del gráfico

La detección de la figura 4 fue correcta según las reglas: un máximo más alto con el RSI 17.88 puntos más bajo. Lo que falló fue la expectativa de un cambio de dirección. Tras caer hasta un mínimo de 1.15237 en 2026-04-07 05:00, el precio avanzó hasta el máximo más alto. Registros del gráfico Valores utilizados en esta página
Qué muestra la muestra
Con los ajustes predeterminados, la exportación contiene 73 detecciones regulares: 29 bajistas y 44 alcistas. Con ShowHidden activado, se añaden 43 detecciones bajistas ocultas y 29 alcistas ocultas, 145 en total. Estos recuentos describen esta muestra con estas reglas. No son tasas de acierto y no se comprobó ningún rendimiento de operaciones. Recuentos
Una divergencia describe dos oscilaciones que ya ocurrieron. Lo que hace el precio después es una cuestión distinta.
Cuándo se conoce una divergencia
La demora de confirmación
Un pivote necesita 5 barras cerradas a su derecha, por lo que el detector no puede conocer el pivote 2 hasta que haya cerrado la última de esas barras. El código sitúa la flecha en esa barra de confirmación, no en el pivote 2, y la línea entre las dos lecturas de RSI aparece en el mismo momento. La barra más reciente del gráfico se considera todavía en formación, por lo que nunca confirma un pivote. Código

¿Se redibuja?
Una vez registrada, una detección permanece donde está mientras no cambie el historial cerrado. La prueba nativa reproduce las 5,000 barras una por una, primero con un tick intermedio modificado en la barra más reciente y luego con sus valores finales, y comprueba en cada paso que las detecciones solo aparezcan en su barra de confirmación y nunca cambien después. El valor del RSI de la barra más reciente sigue moviéndose con cada tick, como cualquier RSI. Si cambia el propio historial de precios, por ejemplo al descargar un historial más profundo, el terminal pasa cero como prev_calculated y el indicador recalcula todo con los nuevos datos. Prueba nativa Referencia MQL5: OnCalculate
Una oscilación no puede confirmarse antes de que cierren las barras que la definen.
Combinación con otras herramientas
El detector compara dos oscilaciones con dos lecturas de RSI y nada más. Cualquier elemento adicional es una regla aparte que usted tendría que definir y comprobar. Esta guía no prueba ninguna de las siguientes adiciones:
- Niveles de precio. La línea de puntos de las figuras 2 a 5 prolonga el nivel del pivote 2. En el gráfico se puede ver si el precio cotiza después más allá de ese nivel, y en las figuras 3 a 5 lo hizo.
- Niveles de RSI. Un filtro como detecciones alcistas solo por debajo de 30 sería un nuevo parámetro. Esta descarga dibuja las líneas de 30 y 70, pero no filtra con ellas.
- Otras lecturas de RSI. La ayuda de MT5 también describe máximos y mínimos, formaciones gráficas, oscilaciones fallidas y soporte o resistencia en la propia línea de RSI. El detector no los busca.
- Filtros de tendencia y marcos temporales superiores. Un filtro de tendencia, como una media móvil, o las mismas reglas en un marco temporal superior cambiarían las detecciones que permanecen. Esta página no mide ninguna de las dos opciones.
Limitaciones
- El detector describe barras pasadas. No pronostica y no se informa ninguna tasa de acierto ni resultado de operaciones.
- Cada detección llega 5 barras cerradas después del pivote 2, por construcción.
- Las diferencias diminutas cuentan. Entre 621 pares evaluados, la menor diferencia de precio fue 0.00001, el incremento mínimo de precio del símbolo, y la menor diferencia de RSI fue 0.05 puntos. Hubo precios de pivote exactamente iguales en 1 par, que según la regla no fue una divergencia.
- Los pivotes utilizan máximos y mínimos, pero el RSI utiliza cierres. Una barra con una mecha larga puede establecer un nuevo extremo y aun así cerrar lejos de él, como en las figuras 2 y 3.
- Solo se comparan pivotes vecinos, separados por un máximo de 60 barras. No se informa una divergencia entre oscilaciones que no sean vecinas.
- Los valores cercanos al inicio del historial cargado dependen del valor inicial y pueden diferir de otras implementaciones del RSI.
- Las horas corresponden al reloj del servidor de operaciones, UTC+3 al capturar los datos; no se modelan los cambios históricos de horario de verano. Los gráficos comprimen los fines de semana y otros intervalos sin barras.
- El archivo MQL4 no se ha compilado ni ejecutado en MT4.
Uso del indicador
Los pasos siguientes son para MT5. El archivo .mq4 está destinado a MT4 y no se ha probado allí.
- Descargue el código fuente .mq5 o el archivo compilado .ex5 que aparecen a continuación.
- Abra la carpeta de datos (Archivo › Abrir carpeta de datos en MetaEditor) y copie el archivo en la carpeta MQL5\Indicators.
- Si utiliza el código fuente, ábralo en MetaEditor y pulse F7 para compilarlo. Esto crea el archivo .ex5.
- En la ventana Navigator de MT5, arrastre el indicador a un gráfico. Se abre en una ventana de indicador separada con su propia escala, fijada de 0 a 100.
- Mantenga los valores predeterminados para coincidir con esta página o cambie los parámetros de la tabla de ajustes al incorporar el indicador.
Carpeta de datos Carpeta de indicadores y compilación Incorporación de indicadores
Código fuente MQL5
Código MQL5 nativo editable: RSI con líneas y flechas de divergencia en una ventana separada. Sin órdenes, alertas, importaciones de DLL ni solicitudes web.
MQL5 compilado
Compilado a partir de este código fuente con MetaEditor: 0 errores, 0 advertencias. No se ha probado su incorporación a un gráfico en vivo.
Código fuente MQL4
La misma sección de cálculo con configuración de búferes al estilo de MT4. Solo revisión estática: no se compiló ni ejecutó en MT4.
Qué se comprobó
La sección de cálculo del archivo MQL5 se compiló en un programa de prueba, cambiando únicamente el nombre de su función de entrada, y se ejecutó en el probador matemático de MT5 sobre las mismas 5,000 barras. Una implementación de referencia independiente de las mismas reglas procesó las mismas filas. Sus medias de Wilder utilizan una media ponderada exponencialmente, una forma aritmética distinta de la misma recurrencia. Alcance del programa de prueba Referencia MQL5: pruebas Media ponderada exponencialmente
Los 4,986 valores de RSI coinciden con una diferencia máxima de 4.97e-14 puntos, y 2,139 de ellos son idénticos bit a bit. La tolerancia de aprobación fue de 1e-9 puntos: muy por encima del ruido de coma flotante esperado, de aproximadamente 1e-13 puntos, y mucho más fina que los 2 decimales que muestra el indicador. Las 145 detecciones, con ShowHidden activado, coinciden exactamente por tipo, barra de confirmación y ambas barras de pivote. Ninguna decisión estuvo cerca de la tolerancia: la menor diferencia de RSI de cualquier par evaluado fue de 0.05 puntos. Verificación cruzada Registro de compilación y pruebas
El programa nativo superó 41 de 41 comprobaciones, que cubren el calentamiento y el valor inicial, precios planos y unidireccionales, máximos y mínimos iguales, divergencias con respuesta conocida, historial insuficiente, un tick repetido, una barra en formación modificada, una barra añadida, la reproducción barra por barra y el ajuste predeterminado de ShowHidden. El script de verificación cruzada superó 24 de 24 comparaciones. Prueba nativa Verificación cruzada
Estas comprobaciones cubren los cálculos y la lógica de actualización. No cubren el dibujo en un gráfico en vivo, MT4 ni los resultados de operaciones. Alcance del programa de prueba
Advertencia de riesgo. Operar implica riesgos y usted puede perder dinero. Este indicador solo marca patrones pasados de precio y RSI: no predice precios, coloca o protege órdenes ni gestiona el riesgo. Los ejemplos ilustran las reglas. No son señales de operaciones y nada en esta página promete un resultado.
Preguntas frecuentes
¿Qué es una divergencia RSI?
Es una discrepancia entre dos oscilaciones del precio y las lecturas del RSI en esas mismas dos barras. En una divergencia bajista regular, el precio marca un máximo de oscilación más alto mientras el RSI es más bajo en el segundo máximo. En una divergencia alcista regular, el precio marca un mínimo de oscilación más bajo mientras el RSI es más alto en el segundo mínimo.
¿Cómo calcula el RSI esta descarga?
Utiliza precios de cierre y suavizado de Wilder con un período de 14. La primera ganancia y pérdida promedio son medias simples de los primeros 14 cambios de precio; después, cada nuevo cambio entra con un peso de 1/14. Un RSI con un suavizado diferente da valores distintos en todo el historial. Con el mismo suavizado, pero un valor inicial o una primera barra diferente, las diferencias son mayores cerca del inicio del historial y disminuyen después.
¿Por qué aparece una divergencia 5 barras después de la oscilación?
Una oscilación solo se convierte en pivote cuando las 5 barras a su derecha han cerrado sin superarla. El indicador informa la divergencia en la última de esas barras y no la desplaza hacia atrás a la barra del pivote, por lo que el gráfico muestra lo que el indicador podía saber en ese momento.
¿El indicador se redibuja?
No después de la confirmación, siempre que el historial cerrado siga siendo el mismo. Una reproducción nativa de las 5,000 barras, con un tick intermedio en cada nueva barra, no encontró ninguna detección que apareciera antes de tiempo, se desplazara o cambiara después. El valor del RSI de la barra en formación sigue cambiando con cada tick, y un cambio en el historial cargado, como la descarga de un historial más profundo, hace que el indicador recalcule todo.
¿Qué son las divergencias ocultas?
Una divergencia bajista oculta es un máximo de oscilación más bajo con un RSI más alto; una divergencia alcista oculta es un mínimo de oscilación más alto con un RSI más bajo. Están desactivadas de forma predeterminada. Al establecer ShowHidden en true, se dibujan como líneas de puntos con sus propias flechas. La verificación cruzada las comparó con el ajuste activado y la prueba nativa confirmó que el ajuste predeterminado no dibuja divergencias ocultas y deja las regulares sin cambios.
¿Una divergencia significa que el precio cambiará de dirección?
Esta página no demuestra eso. Describe una muestra con reglas fijas, y las figuras 3, 4 y 5 muestran que el precio sobrepasa la segunda oscilación después de la confirmación. No se comprobó ninguna tasa de acierto ni resultado de operaciones.
¿Puedo utilizar el archivo MQL4 en MT4?
El archivo .mq4 contiene la misma sección de cálculo que el archivo MQL5 probado, con configuración de búferes al estilo de MT4. Solo se ha revisado de forma estática: no se compiló ni ejecutó en MT4. Compílelo en el MetaEditor que viene con MT4 y compruebe si el registro del compilador contiene errores y advertencias antes de utilizarlo.
Fuentes y reproducibilidad
Ayuda de MT5: índice de fuerza relativa: rango, período de Wilder y alternativas populares, máximos y mínimos habituales, divergencias y fórmula.
Ayuda de MT5: media móvil: fórmula de la media móvil suavizada.
Referencia MQL5: OnCalculate: el valor prev_calculated y el recálculo completo después de cambios en los datos de precios.
Referencia MQL5: copy_rates_from_pos: posiciones de las barras para la exportación; la posición cero es la barra actual, que la exportación omite.
Referencia MQL5: pruebas: el modo de cálculos matemáticos utilizado en la prueba nativa.
Documentación de la biblioteca de referencia: media ponderada exponencialmente: la recurrencia adjust=False utilizada por la comprobación independiente.
Ayuda de MetaEditor: estructura de la plataforma: la carpeta de datos y las carpetas de indicadores.
Ayuda de MT5: operaciones algorítmicas: la carpeta MQL5\Indicators y la compilación con F7.
Ayuda de MT5: indicadores técnicos: incorporación de un indicador desde Navigator y ventanas de indicadores separadas.
Valores utilizados en esta página y en los gráficos · Barras exportadas · Procedencia de la exportación · RSI y pivotes de referencia · Detecciones de referencia · Búferes MQL5 nativos · Detecciones MQL5 nativas · Verificación cruzada · Ejecución de la prueba nativa · Registro de compilación y pruebas · Registro del compilador · Especificación
Los gráficos comprimen los fines de semana y otros intervalos entre barras. Las horas corresponden al reloj del servidor de operaciones del terminal tal como se exportaron. Los ejemplos son fijos para permitir su reproducción y no son comentarios del mercado en vivo.
Los productos apalancados pueden hacerle perder dinero rápidamente.




