Coppock Curve

Coppock Curve

Coppock Curve: qué es y cómo usarlo en el trading

Analizamos el indicador

La Coppock Curve es un indicador diseñado para identificar cambios de tendencia a largo plazo, especialmente en mercados de acciones. Además, se utiliza principalmente en gráficos mensuales para detectar oportunidades de inversión sostenidas. Por lo tanto, su función principal no es predecir movimientos rápidos, sino anticipar ciclos de mercado de varios meses o años.

En consecuencia, es ideal para inversores de medio y largo plazo que buscan puntos de entrada en fases iniciales de una tendencia alcista. Asimismo, su señal se considera más fiable cuando coincide con la mejora de otros indicadores de fuerza relativa o de amplitud de mercado.

¿Qué es la Coppock Curve?

La Coppock Curve fue creada por Edwin Coppock en 1962 para el mercado bursátil estadounidense. Así, combina tasas de cambio de largo plazo suavizadas con una media ponderada. En cambio, no genera señales frecuentes, sino que apunta a momentos clave del ciclo de mercado.

De hecho, su uso original estaba centrado en detectar cuándo el mercado de valores pasaba de una fase bajista a una alcista prolongada. Por otro lado, aunque puede aplicarse a otros activos, su efectividad es mayor en índices y acciones con alta capitalización.

¿Cómo se calcula la Coppock Curve?

El cálculo parte de dos tasas de cambio (ROC) de diferente longitud. Después, ambas se suman y se suavizan con una media ponderada exponencial (WMA) para filtrar ruido. Finalmente, se representa como una línea que oscila alrededor de cero.

Fórmula básica

Coppock Curve = WMA( ROC(n1) + ROC(n2), m )

Donde:
- ROC(n) = [(Cierre actual / Cierre de hace n periodos) - 1] * 100
- n1 y n2 suelen ser 14 y 11 periodos (mensuales).
- m suele ser 10 periodos para la WMA.
  

En consecuencia, la curva sube cuando la suma de los ROCs es positiva y crece, y baja cuando la suma es negativa o decrece. Sin embargo, al estar suavizada, reacciona lentamente a cambios bruscos.

Interpretación práctica

Cruce de la línea cero

El paso de negativo a positivo suele indicar el inicio de una tendencia alcista prolongada. Por lo tanto, es la señal más utilizada del indicador. En cambio, el cruce a negativo se asocia a cambios hacia fases bajistas o de corrección amplia.

Pendiente de la curva

Una pendiente creciente sugiere fortalecimiento del impulso alcista. Asimismo, una pendiente descendente indica que la tendencia se debilita, aunque aún no haya cruce de cero.

Uso combinado

La Coppock Curve gana fiabilidad cuando se utiliza junto a medias móviles de largo plazo o indicadores de amplitud. Además, filtrar las señales con datos macroeconómicos puede ayudar a evitar entradas en ciclos falsos.

Ventajas de la Coppock Curve

Puntos fuertes

  • Diseñada específicamente para detectar tendencias de largo plazo.
  • Además, reduce señales falsas al estar suavizada.
  • Funciona bien en índices bursátiles y acciones de gran capitalización.
  • Por otro lado, es fácil de interpretar con pocas reglas.

Limitaciones del indicador

Señales poco frecuentes

En marcos largos, pueden pasar meses o años entre señales. Por lo tanto, no es adecuada para traders de alta rotación. Asimismo, en activos muy volátiles puede perder eficacia.

Retraso en las entradas

Al estar suavizada, las señales aparecen después de que el cambio de tendencia haya comenzado. En consecuencia, se entra más tarde, aunque con mayor confirmación. Además, esto puede reducir la ganancia potencial en ciclos cortos.

Estrategias con la Coppock Curve

1) Cruce alcista de cero

  1. Esperar a que la curva cruce de negativo a positivo.
  2. Confirmar con medias móviles de largo plazo.
  3. Entrar en compra y mantener mientras la curva permanezca positiva.

2) Salida por cruce negativo

  1. Vender cuando la curva cruce de positivo a negativo.
  2. Proteger ganancias con stop trailing o coberturas.
  3. Evitar reentradas hasta nueva señal positiva.

3) Pendiente como filtro

  1. Priorizar compras cuando la pendiente sea ascendente.
  2. Reducir exposición si comienza a caer antes del cruce.
  3. Usar confirmación con datos macro o de sentimiento.

Parámetros y ajustes recomendados

Valores iniciales

  • ROC1: 14 periodos (mensuales).
  • ROC2: 11 periodos (mensuales).
  • WMA: 10 periodos.

Estos valores son los propuestos por Edwin Coppock. Sin embargo, pueden adaptarse para otros marcos temporales, aunque su efectividad original es en mensual.

Configuración rápida en plataformas

Buenas prácticas

  • Usar en gráfico mensual para seguir la lógica original.
  • Complementar con medias móviles de 200 periodos para filtrar ruido.
  • Validar en backtests antes de aplicarlo a capital real.

Gestión del riesgo

Plan y disciplina

Definir de antemano las condiciones de salida. Además, ajustar el tamaño de posición a la volatilidad de largo plazo. Finalmente, evitar reaccionar a fluctuaciones menores mientras la curva mantenga la señal principal.

Conclusión

La Coppock Curve es una herramienta potente para detectar cambios de tendencia sostenidos en mercados de acciones e índices. Asimismo, su aplicación disciplinada y en combinación con otros filtros puede ayudar a capturar grandes movimientos y reducir señales falsas. Por lo tanto, es especialmente útil para inversores de medio y largo plazo que buscan seguridad en sus entradas.

Código de TradingView ejecutable

//@version=6
indicator(«Coppock Curve (CC)», overlay=false)

// ——— Inputs
src = input.source(close, «Fuente»)
lenROC1 = input.int(14, «ROC largo», minval=1)
lenROC2 = input.int(11, «ROC corto», minval=1)
lenWMA = input.int(10, «Suavizado WMA», minval=1)
asHistogram= input.bool(true, «Mostrar como histograma»)

// ——— Función ROC en % (idéntica a ta.roc(src, len))
rocPct(x, n) =>
n <= 0 ? 0.0 : (x – x[n]) / x[n] * 100.0

// ——— Cálculo clásico
roc1 = rocPct(src, lenROC1)
roc2 = rocPct(src, lenROC2)
cc = ta.wma(roc1 + roc2, lenWMA)

// ——— Guías
plot(0, title=»Cero», color=color.gray)

// ——— Plot principal
ccColor = cc >= 0 ? color.new(color.teal, 0) : color.new(color.red, 0)
plot(cc, title=»Coppock Curve»,
color=ccColor,
style=asHistogram ? plot.style_histogram : plot.style_line,
linewidth=2)

// ——— Señales opcionales
crossUp = ta.crossover(cc, 0) // cruce al alza de 0
crossDown = ta.crossunder(cc, 0) // cruce a la baja de 0

// Giro alcista desde zona negativa (setup clásico de largo plazo)
uTurn = cc > cc[1] and cc[1] <= cc[2] and cc < 0

plotshape(series=crossUp, title=»Cruce ↑ 0″, style=shape.triangleup,
location=location.bottom, size=size.tiny, color=color.teal, text=»↑0″)
plotshape(series=crossDown, title=»Cruce ↓ 0″, style=shape.triangledown,
location=location.top, size=size.tiny, color=color.red, text=»↓0″)
plotshape(series=uTurn, title=»Giro alcista < 0″, style=shape.circle,
location=location.bottom, size=size.tiny, color=color.new(color.teal, 0), text=»U»)

// ——— Alertas (opcionales)
alertcondition(crossUp, «Coppock cruza arriba de 0», «Coppock > 0»)
alertcondition(crossDown, «Coppock cruza abajo de 0», «Coppock < 0»)
alertcondition(uTurn, «Coppock giro alcista bajo 0», «Coppock gira al alza estando por debajo de 0»)

 

Si quieres dar un paso más en el trading, y quieres darnos sugerencias estamos abiertos a comentarios e ideas constructivas,

CONTACTA CON NOSOTROS Y CREEMOS COMUNIDAD

IR A NUESTRO CANAL DE YOUTUBE

 

IMPORTANTE:

En ningún momento queremos que lo reflejado en esta web, se considere como recomendaciones.

 

El objetivo es mostrar la veracidad de las estrategias desde un punto de vista técnico de análisis de los resultados arrojados por los algoritmos de trading, estudiando los años pasados que pueden coincidir o no con los futuros.

Connors RSI (CRSI)

Connors RSI (CRSI)

Connors RSI (CRSI): qué es y cómo usarlo en el trading

Explicación del indicador

El Connors RSI (CRSI) combina tres componentes para medir el impulso de corto plazo con precisión. Además, busca identificar sobrecompra y sobreventa “rápidas” que los osciladores clásicos no siempre capturan. Por lo tanto, es útil para estrategias de swing y mean reversion en marcos diarios e intradía.

En consecuencia, el CRSI ofrece señales más reactivas que un RSI estándar. Asimismo, su diseño modular permite ajustar la sensibilidad según el activo y la volatilidad vigente.

¿Qué es el Connors RSI?

El CRSI fue propuesto por Larry Connors. Así, integra un RSI de corto plazo, la racha de cierres consecutivos y un RSI aplicado a esa racha. En cambio, no se limita a medir variaciones de cierre; también incorpora la persistencia del movimiento.

De hecho, el resultado oscila entre 0 y 100. Por otro lado, valores extremos suelen ser breves, lo que habilita tácticas de reversión con reglas estrictas de gestión del riesgo.

¿Cómo se calcula el CRSI?

El cálculo promedia tres subcomponentes normalizados. Después, el resultado final se interpreta en la misma escala que un RSI tradicional.

Fórmula básica

CRSI = ( RSI(Cierre, nRSI) 
       + RSI(RachaUpDown, nStreak) 
       + RSI(PorcentajeRank, nRank) ) / 3

Donde:
- RachaUpDown = número de días consecutivos al alza o a la baja.
- PorcentajeRank = % de cambios diarios del último nRank relativo a su historial reciente.
  

En consecuencia, el CRSI reacciona a la magnitud y a la persistencia del impulso. Sin embargo, la elección de ventanas afecta la frecuencia de señales.

Interpretación práctica

Lecturas extremas

Valores por encima de 90 indican sobrecompra intensa y de corta duración. Por lo tanto, muchas estrategias evalúan ventas o tomas parciales. En cambio, lecturas por debajo de 10 señalan sobreventa aguda y potencial rebote.

Cruces por niveles

El retorno desde extremos hacia la zona 50 sugiere normalización. Asimismo, un cruce al alza de 10 puede actuar como gatillo de largo. Del mismo modo, un cruce a la baja de 90 puede activar cortos o salidas.

Contexto de tendencia

En tendencias fuertes, los extremos pueden persistir. Por ello, conviene filtrar con medias móviles o estructura. Además, el volumen y los soportes mejoran la lectura.

Ventajas del Connors RSI

Puntos fuertes

  • Mayor sensibilidad a movimientos de corto plazo.
  • Además, integra magnitud y persistencia del impulso.
  • Funciona en múltiples activos y marcos temporales.
  • Por otro lado, ofrece reglas claras para reversión y pullbacks.

Limitaciones del indicador

Riesgo de señales tempranas

La alta sensibilidad puede adelantar entradas. En consecuencia, exige confirmaciones simples. Asimismo, eventos de noticias pueden invalidar señales puntuales.

Parámetros no universales

Cada activo responde distinto. Por lo tanto, es necesario calibrar longitudes y umbrales. Además, validar fuera de muestra evita sobreoptimización.

Estrategias con CRSI

1) Reversión a la media

  1. Marca extremos: CRSI < 10 para largos y CRSI > 90 para cortos.
  2. Espera señal de vela de giro o cruce de retorno.
  3. Define stop bajo/encima del último extremo y objetivo en la media.

Así, explotas la naturaleza breve de los extremos. Además, un tamaño de posición prudente controla el riesgo.

2) Pullback en tendencia

  1. Usa una media móvil para el sesgo direccional.
  2. En tendencia alcista, busca CRSI < 30 y giro al alza.
  3. En tendencia bajista, utiliza CRSI > 70 y giro a la baja.

En consecuencia, alineas la entrada con la dirección principal. Asimismo, mejoras el ratio riesgo/beneficio.

3) Secuencia por rachas

  1. Detecta rachas largas en la componente de streak.
  2. Combina con niveles de soporte o resistencia.
  3. Confirma con ruptura de microestructura.

Por ende, evitas operar contra impulsos excepcionales sin señal clara.

Parámetros y ajustes recomendados

Valores iniciales

  • nRSI: 3 periodos.
  • nStreak: 2 periodos.
  • nRank: 100 periodos para el PercentRank.

Posteriormente, ajusta por activo y timeframe. Además, comprueba la robustez en diferentes ventanas.

Configuración rápida en plataformas

Buenas prácticas

  • Panel separado con líneas guía en 10, 50 y 90.
  • Alertas cuando el CRSI cruce 10 o 90.
  • Confirmación con vela y estructura antes de ejecutar.

Asimismo, registra métricas por setup para evaluar la consistencia.

Gestión del riesgo

Plan y disciplina

Define riesgo por operación antes de entrar. Además, usa stops técnicos y salidas parciales. Finalmente, evita añadir a pérdidas en extremos persistentes.

Conclusión

El Connors RSI aporta una lectura ágil del impulso de corto plazo. Asimismo, sus extremos se aprovechan con reglas de confirmación simples. Por lo tanto, integrarlo con filtros de tendencia y una gestión del riesgo rigurosa mejora la calidad de las decisiones.

Código de TradingView ejecutable

//@version=6
indicator(«Connors RSI (CRSI)», overlay=false)

// ——— Inputs
lenRSI = input.int(3, «Periodo RSI de cierre», minval=1)
lenStreak = input.int(2, «Periodo RSI de streak», minval=1)
lenRank = input.int(100,»Periodo Percent Rank», minval=1)
asHistogram= input.bool(false, «Mostrar como histograma»)

// ——— 1. RSI del cierre
rsiClose = ta.rsi(close, lenRSI)

// ——— 2. RSI del streak (rachas)
streak = 0.0
streak := close > close[1] ? (nz(streak[1]) <= 0 ? 1 : streak[1] + 1) :
close < close[1] ? (nz(streak[1]) >= 0 ? -1 : streak[1] – 1) :
nz(streak[1])
rsiStreak = ta.rsi(streak, lenStreak)

// ——— 3. Percent Rank del cambio porcentual
roc = (close – close[1]) / close[1] * 100
percentRank(serie, length) =>
cnt = 0.0
for i = 0 to length – 1
cnt += serie > serie[i] ? 1 : 0
(cnt / length) * 100
prRank = percentRank(roc, lenRank)

// ——— Connors RSI
crsi = (rsiClose + rsiStreak + prRank) / 3.0

// ——— Plots
plot(50, title=»Nivel medio», color=color.gray)
plot(70, title=»Sobrecompra», color=color.red)
plot(30, title=»Sobreventa», color=color.teal)

crsiColor = crsi >= 50 ? color.new(color.teal, 0) : color.new(color.red, 0)
plot(crsi, title=»Connors RSI»,
color=crsiColor,
style=asHistogram ? plot.style_histogram : plot.style_line,
linewidth=2)

// ——— Alertas opcionales
alertcondition(ta.crossunder(crsi, 30), «CRSI cruza bajo 30», «CRSI en sobreventa»)
alertcondition(ta.crossover(crsi, 70), «CRSI cruza sobre 70», «CRSI en sobrecompra»)

 

Si quieres dar un paso más en el trading, y quieres darnos sugerencias estamos abiertos a comentarios e ideas constructivas,

CONTACTA CON NOSOTROS Y CREEMOS COMUNIDAD

IR A NUESTRO CANAL DE YOUTUBE

 

IMPORTANTE:

En ningún momento queremos que lo reflejado en esta web, se considere como recomendaciones.

 

El objetivo es mostrar la veracidad de las estrategias desde un punto de vista técnico de análisis de los resultados arrojados por los algoritmos de trading, estudiando los años pasados que pueden coincidir o no con los futuros.

Commodity Channel Index (CCI)

Commodity Channel Index (CCI)

Commodity Channel Index (CCI): qué es y cómo usarlo en el trading

Resumen:

El Commodity Channel Index (CCI) es un oscilador diseñado para identificar tendencias y posibles puntos de giro en el mercado. Además, mide la desviación del precio respecto a su media estadística. Por lo tanto, permite detectar condiciones de sobrecompra y sobreventa de forma dinámica.

En consecuencia, muchos traders lo emplean para anticipar correcciones o confirmar la fortaleza de un movimiento. Asimismo, el CCI es versátil y se adapta tanto a operativas de seguimiento de tendencia como a estrategias de reversión.

¿Qué es el CCI?

El CCI fue desarrollado por Donald Lambert inicialmente para el mercado de materias primas. Sin embargo, hoy se utiliza en cualquier activo y marco temporal. Así, su cálculo parte del precio típico y lo compara con una media móvil simple. En cambio, no es un predictor infalible, sino una herramienta de apoyo a la lectura del contexto.

De hecho, el CCI suele oscilar entre +100 y −100 en condiciones normales. Valores extremos indican posibles cambios de dirección o aceleraciones de tendencia.

¿Cómo se calcula?

El cálculo del CCI comienza con el precio típico (promedio de máximo, mínimo y cierre). Después, se calcula una media móvil de ese valor y se determina su desviación media. Finalmente, el resultado se escala para facilitar la interpretación.

Fórmula básica

Precio Típico (PT) = (Máximo + Mínimo + Cierre) / 3
CCI = (PT - SMA(PT, n)) / (0.015 * Desviación Media)
  

En consecuencia, cuando el PT se aleja significativamente de su media, el CCI alcanza valores altos o bajos, lo que sugiere un mercado sobreextendido.

Interpretación práctica

CCI por encima de +100

Indica fuerza alcista o sobrecompra. Por lo tanto, puede señalar continuación de tendencia o agotamiento próximo, dependiendo del contexto. Además, en tendencias fuertes este nivel puede mantenerse durante varias sesiones.

CCI por debajo de −100

Señala debilidad o sobreventa. En consecuencia, puede preceder a rebotes o continuidad bajista. Asimismo, su persistencia suele acompañar tendencias marcadas.

Cruces de la línea cero

El cruce al alza de la línea cero indica cambio hacia impulso positivo. Del mismo modo, el cruce a la baja sugiere impulso negativo. Sin embargo, conviene confirmarlo con la acción del precio y el volumen.

Divergencias

Si el precio hace nuevos máximos y el CCI no los confirma, se forma una divergencia bajista. Por otro lado, divergencias alcistas se dan cuando el precio marca nuevos mínimos sin que el CCI lo siga. Así, estas señales pueden anticipar giros.

Ventajas del CCI

Puntos fuertes

  • Detecta sobrecompra y sobreventa de forma adaptable.
  • Además, identifica cambios de impulso mediante cruces y divergencias.
  • Funciona en múltiples activos y marcos temporales.
  • Por otro lado, es fácil de interpretar y combinar con otros indicadores.

Limitaciones del indicador

Señales falsas en rangos estrechos

En mercados laterales, el CCI puede generar entradas y salidas prematuras. En consecuencia, conviene añadir filtros de tendencia. Asimismo, en marcos cortos es más sensible al ruido.

Persistencia en extremos

Durante tendencias fuertes, el CCI puede permanecer en niveles extremos sin revertir. Por lo tanto, no debe usarse como señal única de giro. Además, es recomendable esperar confirmación adicional.

Estrategias con CCI

1) Cruces de +100 y −100

  1. Compra cuando el CCI cruza +100 en contexto alcista.
  2. Vende cuando cruza −100 en contexto bajista.
  3. En ambos casos, confirma con volumen o estructura.

Así filtras las señales y mejoras la probabilidad de éxito.

2) Divergencias operables

  1. Busca divergencias entre el precio y el CCI.
  2. Confirma con velas de giro o ruptura de niveles.
  3. Gestiona el riesgo con stops técnicos.

En consecuencia, aprovechas giros potenciales con mejor relación riesgo/beneficio.

3) Cruce de la línea cero

  1. Compra al cruce alcista de cero con tendencia confirmada.
  2. Vende al cruce bajista en contexto bajista.
  3. Evita operar cruces en zonas de rango estrecho.

Además, este método ofrece señales más frecuentes que los niveles extremos.

Parámetros y ajustes recomendados

Ventana de cálculo

Un valor habitual es n = 20. Sin embargo, para activos volátiles o intradía, valores de 14 o incluso 10 aumentan la sensibilidad. Asimismo, marcos mayores pueden requerir valores más altos para suavizar.

Umbrales adaptados

Si un activo presenta movimientos amplios, considera ampliar los niveles a ±150. Por lo tanto, reduces señales falsas y te adaptas a su comportamiento histórico.

Configuración rápida en plataformas

Valores iniciales sugeridos

  • Periodo: 20.
  • Umbrales: ±100 (ajustables).
  • Escala: panel independiente.

Posteriormente, valida los ajustes con backtests y en distintos marcos temporales.

Gestión del riesgo y buenas prácticas

Plan y disciplina

Define riesgo por operación y respétalo. Además, utiliza el CCI como complemento, no como única señal. Finalmente, registra y evalúa resultados para optimizar su uso.

Conclusión

El Commodity Channel Index es un oscilador versátil que permite medir la desviación del precio respecto a su media. Asimismo, sus niveles y cruces facilitan identificar cambios de impulso y condiciones extremas. Por lo tanto, integrado en una estrategia con filtros y gestión del riesgo, puede mejorar la consistencia operativa.

Código de TradingView ejecutable

//@version=6
indicator(«Commodity Channel Index (CCI)», overlay=false)

// ——— Inputs
len = input.int(20, «Periodo», minval=1)
k = input.float(0.015, «Constante (k)», step=0.001, tooltip=»Clásico: 0.015″)
asHistogram = input.bool(false, «Mostrar como histograma»)
showBands = input.bool(true, «Mostrar bandas ±100/±200»)

// ——— Cálculo CCI
tp = (high + low + close) / 3.0 // Typical Price
ma = ta.sma(tp, len) // Media de TP
dev = ta.sma(math.abs(tp – ma), len) // Desviación media absoluta
cci = dev != 0 ? (tp – ma) / (k * dev) : na // CCI

// ——— Guías
plot(0, title=»Cero», color=color.gray)
plot(showBands ? 100 : na, title=»+100″, color=color.new(color.gray, 0))
plot(showBands ? -100 : na, title=»-100″, color=color.new(color.gray, 0))
plot(showBands ? 200 : na, title=»+200″, color=color.new(color.gray, 50))
plot(showBands ? -200 : na, title=»-200″, color=color.new(color.gray, 50))

// ——— Plot principal
cciColor = cci >= 0 ? color.new(color.teal, 0) : color.new(color.red, 0)
plot(cci, title=»CCI»,
color=cciColor,
style=asHistogram ? plot.style_histogram : plot.style_line,
linewidth=2)

// ——— Señales/alertas opcionales
crossUp100 = ta.crossover(cci, 100)
crossDn100 = ta.crossunder(cci, 100)
crossUpMinus = ta.crossover(cci, -100)
crossDnMinus = ta.crossunder(cci, -100)

plotshape(series=crossUp100, title=»Cruza ↑ +100″, style=shape.triangleup, location=location.bottom, size=size.tiny, color=color.teal, text=»+100″)
plotshape(series=crossDnMinus, title=»Cruza ↓ -100″, style=shape.triangledown, location=location.top, size=size.tiny, color=color.red, text=»-100″)

alertcondition(crossUp100, «CCI cruza +100», «CCI > +100 (fuerza alcista)»)
alertcondition(crossDn100, «CCI cae bajo +100», «CCI < +100»)
alertcondition(crossUpMinus, «CCI cruza -100», «CCI > -100 (salida de debilidad)»)
alertcondition(crossDnMinus, «CCI cae bajo -100», «CCI < -100 (debilidad)»)

 

Si quieres dar un paso más en el trading, y quieres darnos sugerencias estamos abiertos a comentarios e ideas constructivas,

CONTACTA CON NOSOTROS Y CREEMOS COMUNIDAD

IR A NUESTRO CANAL DE YOUTUBE

 

IMPORTANTE:

En ningún momento queremos que lo reflejado en esta web, se considere como recomendaciones.

 

El objetivo es mostrar la veracidad de las estrategias desde un punto de vista técnico de análisis de los resultados arrojados por los algoritmos de trading, estudiando los años pasados que pueden coincidir o no con los futuros.

Choppiness Index (CHOP)

Choppiness Index (CHOP)

Choppiness Index (CHOP): qué es y cómo usarlo en el trading

Resumen rápido

El Choppiness Index (CHOP) mide si el mercado está en rango o en tendencia. Además, comprime esa lectura en una escala fija. Por lo tanto, ayuda a decidir cuándo priorizar estrategias de reversión o de seguimiento.

En consecuencia, valores altos sugieren “mercado picado” y condiciones laterales. Por otro lado, valores bajos indican direccionalidad y posible impulso. Asimismo, combinar CHOP con soportes, resistencias y volumen mejora la fiabilidad.

¿Qué es el Choppiness Index?

CHOP es un oscilador de volatilidad direccional. Así, no predice hacia dónde irá el precio; en cambio, clasifica el estado actual: choppy versus tendencial. De hecho, su objetivo es gestionar el contexto, no el gatillo de entrada.

Por lo general, se representa en un panel aparte. Además, incluye umbrales que separan compresión de direccionalidad. Finalmente, su lectura facilita elegir la táctica adecuada para cada entorno.

¿Cómo se calcula el CHOP?

El cálculo usa el rango verdadero (ATR) acumulado y el rango máximo-mínimo del periodo. Después, normaliza con logaritmos para crear una escala acotada. Finalmente, transforma el resultado a porcentaje.

Fórmula básica (esquema)

n = ventana de cálculo
ATR_sum = suma(ATR, n)
Range = Máximo(n) - Mínimo(n)
CHOP = 100 * [log10(ATR_sum / Range)] / log10(n)
  

En consecuencia, si el precio oscila sin avanzar, el ATR acumulado es grande frente al rango neto y el CHOP sube. Sin embargo, si el precio progresa direccionalmente, el rango neto crece y el CHOP cae.

Interpretación práctica

CHOP alto (mercado en rango)

Lecturas elevadas indican consolidación. Por lo tanto, conviene priorizar estrategias de reversión a la media. Además, los rompimientos suelen requerir confirmación adicional.

CHOP bajo (mercado en tendencia)

Valores bajos sugieren direccionalidad. En consecuencia, el seguimiento de tendencia gana probabilidad. Asimismo, las entradas en pullback pueden ofrecer mejor relación riesgo/beneficio.

Cruces de umbral

Los umbrales habituales son aproximados (p. ej., 38 y 61). Así, por debajo del nivel inferior se asume tendencia. En cambio, por encima del superior se asume rango. Aun así, ajusta estos niveles al activo.

Ventajas del Choppiness Index

Puntos fuertes

  • Separa de forma objetiva rango y tendencia.
  • Además, funciona en múltiples marcos temporales.
  • Complementa filtros de volatilidad como BBW o ATR.
  • Por otro lado, es sencillo de interpretar y automatizar.

Limitaciones del indicador

Retraso y falsos cambios

Como todo indicador suavizado, reacciona con cierto retraso. En consecuencia, los giros rápidos pueden llegar tarde. Asimismo, noticias o gaps extremos pueden distorsionar la señal.

Umbrales no universales

Cada activo tiene su carácter. Por lo tanto, los niveles fijos no siempre se adaptan. Además, conviene calibrar con percentiles históricos y validar fuera de muestra.

Estrategias con CHOP

1) Selección de táctica por régimen

  1. Define umbrales: bajo < 38, alto > 61 (ejemplo).
  2. Si CHOP está bajo, aplica seguimiento de tendencia.
  3. Si CHOP está alto, usa reversión a la media y rangos.

Así alineas la estrategia con el contexto. Además, reduces operaciones impropias del régimen vigente.

2) Breakout filtrado

  1. Espera CHOP alto sostenido (compresión).
  2. Actúa cuando CHOP gire a la baja y el precio rompa el rango.
  3. Confirma con volumen o cierre fuera del nivel clave.

En consecuencia, intentas capturar el inicio del movimiento. Sin embargo, coloca stops lógicos para limitar el riesgo.

3) Gestión de exposición

  1. Aumenta tamaño en entornos tendenciales (CHOP bajo).
  2. Reduce riesgo cuando CHOP sube y el mercado se aplana.
  3. Revisa objetivos según volatilidad y estructura.

Asimismo, integrar el CHOP al plan de tamaño ayuda a estabilizar la curva de capital.

Parámetros y ajustes recomendados

Ventana y suavizado

Un valor común es n = 14. No obstante, marcos rápidos pueden requerir 21 para suavizar. Por otro lado, activos muy tendenciales pueden funcionar mejor con n más corto.

Umbrales por percentiles

Calcula percentiles 20/80 del CHOP histórico. Así obtendrás niveles adaptados. Además, recomputa al cambiar de timeframe o activo.

Configuración rápida en plataformas

Valores de inicio sugeridos

  • Ventana: 14 periodos.
  • Umbral bajo: 38 (aprox.).
  • Umbral alto: 61 (aprox.).

Posteriormente, valida tus niveles con backtests. Asimismo, verifica su estabilidad en muestras distintas.

Gestión del riesgo y buenas prácticas

Plan y disciplina

Define el riesgo por operación antes de entrar. Además, ajusta objetivos a la volatilidad vigente. Finalmente, registra métricas y evita cambios sin evidencia.

Conclusión

El Choppiness Index no indica dirección, pero clasifica el entorno con precisión. Por lo tanto, seleccionar la táctica según CHOP —y combinarla con estructura de precio, volumen y gestión del riesgo— mejora la consistencia operativa.

Código de TradingView ejecutable

//@version=6
indicator(«Choppiness Index (CHOP) — sin ta.sum», overlay=false)

// Inputs
len = input.int(14, «Periodo (n)», minval=2)
asHistogram = input.bool(true, «Mostrar como histograma»)

// True Range y suma rodante exacta vía acumuladas
tr = ta.tr(true)
sumTR = na(ta.cum(tr)[len]) ? na : (ta.cum(tr) – ta.cum(tr)[len])

// Rango n-bar
hh = ta.highest(high, len)
ll = ta.lowest(low, len)
rng = hh – ll

// CHOP (una sola línea para evitar errores de sintaxis con ‘? :’)
chop = (na(sumTR) or rng == 0) ? na : 100 * (math.log10(sumTR / rng) / math.log10(len))

// Guías
hline(50, «50», color=color.new(color.gray, 60))
hline(61.8, «61.8 (rango/chop)», color=color.new(color.red, 60))
hline(38.2, «38.2 (tendencia)», color=color.new(color.teal, 60))

// Plot principal
plot(chop, title=»CHOP»,
color=color.new(color.blue, 0),
style=asHistogram ? plot.style_histogram : plot.style_line,
linewidth=2)

// Alertas opcionales
alertcondition(ta.crossover(chop, 38.2), «CHOP cruza ↑ 38.2», «CHOP sube por encima de 38.2»)
alertcondition(ta.crossunder(chop, 38.2), «CHOP cruza ↓ 38.2», «CHOP cae por debajo de 38.2»)
alertcondition(ta.crossover(chop, 61.8), «CHOP cruza ↑ 61.8», «CHOP entra en zona de rango»)
alertcondition(ta.crossunder(chop, 61.8), «CHOP cruza ↓ 61.8», «CHOP sale de zona de rango»)

 

Si quieres dar un paso más en el trading, y quieres darnos sugerencias estamos abiertos a comentarios e ideas constructivas,

CONTACTA CON NOSOTROS Y CREEMOS COMUNIDAD

IR A NUESTRO CANAL DE YOUTUBE

 

IMPORTANTE:

En ningún momento queremos que lo reflejado en esta web, se considere como recomendaciones.

 

El objetivo es mostrar la veracidad de las estrategias desde un punto de vista técnico de análisis de los resultados arrojados por los algoritmos de trading, estudiando los años pasados que pueden coincidir o no con los futuros.

Chop Zone

Chop Zone

Chop Zone: qué es y cómo usarlo en el trading

Resumen;

El Chop Zone es un indicador técnico diseñado para diferenciar entre mercados en tendencia y mercados laterales. Además, utiliza una combinación de medias móviles y osciladores para ofrecer una representación visual del estado del mercado mediante colores. Por lo tanto, ayuda a evitar operaciones en momentos de indecisión.

En consecuencia, muchos traders lo usan como filtro, esperando señales de otros indicadores únicamente cuando el Chop Zone confirma una tendencia clara. Asimismo, su aspecto visual permite tomar decisiones rápidas sin cálculos complejos y facilita la identificación de contextos favorables.

¿Qué es el indicador Chop Zone?

El Chop Zone suele presentarse como una serie de barras de color que cambian según la fuerza y dirección del mercado. Así, los colores cálidos suelen asociarse con impulso alcista y los fríos con impulso bajista. En cambio, colores neutros indican consolidación o falta de dirección.

De hecho, este indicador es muy popular en estrategias de análisis múltiple, donde se combina con herramientas como el ADX o el Choppiness Index para validar señales. Por lo tanto, es ideal para evitar entrar en operaciones cuando el mercado no presenta un movimiento claro.

¿Cómo funciona el Chop Zone?

El funcionamiento se basa en la lectura de múltiples medias móviles y osciladores internos. Después, el valor resultante se asigna a un color específico. Finalmente, este color se pinta en un panel o sobre el gráfico principal, facilitando la interpretación visual. Como resultado, los traders pueden tomar decisiones más rápidas y con mayor confianza.

Interpretación de colores típica

  • Verde intenso: tendencia alcista fuerte.
  • Verde claro: tendencia alcista moderada.
  • Amarillo: mercado neutro o en rango.
  • Rojo claro: tendencia bajista moderada.
  • Rojo intenso: tendencia bajista fuerte.

Sin embargo, la asignación exacta de colores puede variar según la configuración del indicador. Por eso, conviene ajustar los parámetros según el activo y el marco temporal.

Interpretación práctica

Zona de tendencia

Cuando el indicador muestra colores extremos (verdes o rojos intensos), se interpreta que hay fuerza direccional. Por lo tanto, los traders pueden buscar entradas a favor de la tendencia dominante. Además, estos escenarios suelen coincidir con aumentos en el volumen y rupturas de niveles técnicos.

Zona de consolidación

Colores intermedios o neutros indican falta de dirección. En consecuencia, es probable que el precio se mueva en un rango lateral. Así, es mejor esperar una ruptura antes de tomar posición. De esta forma, se evita quedar atrapado en movimientos erráticos.

Cambios de color

Un cambio repentino de color puede ser señal temprana de un giro en el mercado. Sin embargo, conviene confirmarlo con volumen u otros indicadores para evitar falsas señales. Asimismo, observar el contexto general aumenta la fiabilidad de la lectura.

Ventajas del Chop Zone

  • Interpretación visual sencilla y directa.
  • Además, ayuda a filtrar señales falsas en rangos.
  • Se adapta a múltiples marcos temporales.
  • Por otro lado, combina bien con estrategias de seguimiento de tendencia.

Limitaciones del indicador

En marcos muy cortos, los cambios de color pueden ser demasiado frecuentes. Por lo tanto, es recomendable ajustar la configuración para suavizar las señales. Asimismo, no indica puntos exactos de entrada o salida, sino que actúa como filtro de contexto.

Estrategias con Chop Zone

1) Confirmación de tendencia

  1. Identifica una señal de entrada con otro indicador.
  2. Confirma que el Chop Zone muestre color extremo en la misma dirección.
  3. En consecuencia, entra en la operación con mayor confianza y coherencia con el contexto.

2) Evitar rangos

  1. Si el Chop Zone muestra color neutro, no abrir nuevas posiciones.
  2. Esperar a que aparezca color de tendencia fuerte.
  3. Así, se reduce el número de operaciones de baja probabilidad y se optimiza la gestión de capital.

3) Alertas de cambio de tendencia

  1. Configura alertas cuando cambie el color del Chop Zone.
  2. Valida con patrones de velas o volumen.
  3. Usa stops ajustados para proteger capital en giros tempranos y mantener el control del riesgo.

Parámetros y ajustes recomendados

  • Longitud de medias: 14–34 periodos.
  • Filtros de suavizado: según volatilidad del activo.
  • Colores personalizados para mayor visibilidad y coherencia con tu estrategia.

Conclusión

El Chop Zone es un excelente filtro visual para diferenciar entre mercados en tendencia y en rango. Además, su integración con otras herramientas de análisis técnico mejora la calidad de las operaciones. Por lo tanto, usarlo de forma complementaria y con gestión del riesgo adecuada puede aumentar la consistencia de la estrategia y reducir errores.

Código de TradingView ejecutable

//@version=6
indicator(«Chop Zone (open-source)», overlay=false)

// ——— Inputs
lenCI = input.int(14, «Periodo Choppiness Index», minval=2)
emaLen = input.int(50, «Periodo EMA (dirección)», minval=1)
thLow = input.float(38.2, «Umbral tendencia (bajo CI)», step=0.1)
thHigh = input.float(61.8, «Umbral rango (alto CI)», step=0.1)
asHist = input.bool(true, «Mostrar CI como histograma»)
colorBarsOnChart = input.bool(false, «Colorear velas en el gráfico»)

// ——— Choppiness Index
tr = ta.tr(true)
sumTR = ta.rma(tr, lenCI) * lenCI
hh = ta.highest(high, lenCI)
ll = ta.lowest(low, lenCI)
rng = hh – ll
ci = rng != 0 ? 100 * (math.log10(sumTR / rng) / math.log10(lenCI)) : 0

// ——— Dirección con EMA
emaDir = ta.ema(close, emaLen)
trendUp = close > emaDir and emaDir > emaDir[1]
trendDn = close < emaDir and emaDir < emaDir[1]

// ——— Colores por nivel
lvlStrongTrend = thLow * 0.70
lvlModTrend = thLow
lvlNeutralHi = thHigh
lvlHeavyChop = math.min(100.0, thHigh + 20.0)

level =
ci <= lvlStrongTrend ? 5 :
ci <= lvlModTrend ? 4 :
ci <= lvlNeutralHi ? 3 :
ci <= lvlHeavyChop ? 2 : 1

colorUp =
level == 5 ? color.new(color.lime, 0) :
level == 4 ? color.new(color.green, 0) :
level == 3 ? color.new(color.orange, 0) :
level == 2 ? color.new(color.blue, 40) :
color.new(color.gray, 0)

colorDn =
level == 5 ? color.new(color.red, 0) :
level == 4 ? color.new(color.maroon, 0) :
level == 3 ? color.new(color.orange, 0) :
level == 2 ? color.new(color.blue, 40) :
color.new(color.gray, 0)

zoneColor = trendUp ? colorUp : trendDn ? colorDn : color.new(color.gray, 30)

// ——— Plots
plot(0, color=color.gray, title=»Cero»)
plot(ci, title=»Choppiness Index»,
style=asHist ? plot.style_histogram : plot.style_line,
color=zoneColor, linewidth=2)
plot(thLow, title=»Umbral Tendencia», color=color.new(color.teal, 60))
plot(thHigh, title=»Umbral Rango», color=color.new(color.red, 60))

// ——— Colorear velas (opcional, sin if local)
barcolor(colorBarsOnChart ? zoneColor : na)

// ——— Señales opcionales
trendOn = ci < thLow
chopOn = ci > thHigh
trendUpSignal = trendOn and trendUp and not trendUp[1]
trendDnSignal = trendOn and trendDn and not trendDn[1]

plotshape(series=trendUpSignal, title=»Inicio tendencia alcista (bajo CI)»,
style=shape.triangleup, location=location.bottom, color=color.lime, size=size.tiny, text=»TZ↑»)
plotshape(series=trendDnSignal, title=»Inicio tendencia bajista (bajo CI)»,
style=shape.triangledown, location=location.top, color=color.red, size=size.tiny, text=»TZ↓»)

alertcondition(trendUpSignal, «Chop Zone: tendencia alcista», «CI bajo + EMA alcista»)
alertcondition(trendDnSignal, «Chop Zone: tendencia bajista», «CI bajo + EMA bajista»)
alertcondition(chopOn, «Chop Zone: rango», «CI alto (mercado en rango)»)

 

Si quieres dar un paso más en el trading, y quieres darnos sugerencias estamos abiertos a comentarios e ideas constructivas,

CONTACTA CON NOSOTROS Y CREEMOS COMUNIDAD

IR A NUESTRO CANAL DE YOUTUBE

 

IMPORTANTE:

En ningún momento queremos que lo reflejado en esta web, se considere como recomendaciones.

 

El objetivo es mostrar la veracidad de las estrategias desde un punto de vista técnico de análisis de los resultados arrojados por los algoritmos de trading, estudiando los años pasados que pueden coincidir o no con los futuros.