Los breakouts no siempre se comportan como se espera. Dos configuraciones pueden verse idénticas en el gráfico — pero una se mueve con convicción, y la otra se detiene, se desvanece o revierte por completo.
Lo que suele separarlas no es el patrón de velas — es la presión detrás del movimiento. Cuando el volumen se alinea con el precio, hay movimiento. Cuando no lo hace, hay fricción. Esa fricción es medible — y la divergencia entre la acción del precio y el delta de volumen es una de las primeras señales de ella.
En este artículo, construirás un Detector de Divergencia de Delta de Volumen Acumulado (CVD) en Pine Script de TradingView. No es una herramienta de predicción — es una capa de contexto estructural. Y cuando se usa correctamente, puede destacar señales de rupturas con mayor probabilidad de continuación — o advertirte cuando algo no cuadra.
Lo que te pierdes sin presión de volumen
El precio es la parte visible de un movimiento. Pero en la mayoría de los casos, es reactivo, no causal.
Es el volumen — y más específicamente, el desequilibrio de volumen — lo que muestra quién está en control.
Los indicadores tradicionales rastrean la oscilación del precio o la fuerza de la tendencia, pero a menudo ignoran si el mercado está siendo impulsado por presión real. Esa es la capa que falta. Especialmente al operar breakouts, donde los repuntes de precio sin confirmación pueden llevar a resultados inconsistentes.
El CVD — incluso en una versión simplificada — ayuda a revelar cuándo el precio y el volumen están trabajando juntos… o divergiendo.
Entendiendo el CVD en el contexto de Pine Script
El CVD verdadero requiere datos del libro de órdenes a nivel de tick (volumen de compra vs. venta), que Pine Script no admite. Pero se puede construir una aproximación funcional utilizando:
- Dirección de la vela (cierre > apertura = presión compradora)
- Volumen por barra
- Seguimiento acumulativo en el tiempo
Este método asume que las velas verdes representan presión compradora y las velas rojas representan presión vendedora — y pondera cada una por volumen. No es perfecto, pero a menudo revela desequilibrios direccionales que de otro modo están ocultos solo en el precio.
Construyendo el Detector de Divergencia en Pine Script
Aquí hay un desglose sistemático de lo que construiremos:
- Estimar la presión de volumen vela por vela
- Acumular esa presión como CVD sintético
- Detectar divergencia entre los máximos/mínimos recientes del precio y el CVD
- Visualizar esos puntos de divergencia con claridad
Cálculo de la Presión de Volumen
//@version=6
indicator("Detector de Divergencias del CVD", overlay=true)
delta = close > open ? volume : close < open ? -volume : 0
cvd = math.cum(delta)
Cada vela contribuye con presión positiva o negativa al total acumulado, según su dirección.
Detección de la Divergencia entre el Precio y el CVD
Para identificar la divergencia, comparamos los máximos/mínimos actuales con los máximos/mínimos anteriores — tanto en el precio como en el delta acumulado.
Definimos una ventana de retrospección y rastreamos si el precio está marcando nuevos extremos mientras el CVD no lo hace.
lookback = input.int(20, title="Lookback Period") // Máximos priceHigh = ta.highest(high, lookback) cvdHigh = ta.highest(cvd, lookback) bearishDiv = high > priceHigh[1] and cvd < cvdHigh[1] // Mínimos priceLow = ta.lowest(low, lookback) cvdLow = ta.lowest(cvd, lookback) bullishDiv = low < priceLow[1] and cvd > cvdLow[1]
Esta estructura compara los extremos de momentum y marca la desalineación — una señal temprana de que la continuación podría ser débil.
Señalización de la Divergencia Visualmente
Para hacer las señales legibles, superpondremos marcadores triangulares en la barra donde se detecta la divergencia.
plotshape(bearishDiv, location=location.abovebar, style=shape.triangledown, color=color.red, title="Divergencia Bajista") plotshape(bullishDiv, location=location.belowbar, style=shape.triangleup, color=color.green, title="Divergencia Alcista")
Ahora tienes marcadores de divergencia en tiempo real basados en el desajuste de presión de volumen — no solo en patrones de precio.
Mejorando el Detector de Divergencias
Este script base es funcional, pero puede expandirse significativamente para obtener un contexto más claro y un comportamiento más confiable.
Agregar Filtrado por Umbral para Reducir el Ruido
Las diferencias menores entre los máximos/mínimos del precio y el CVD pueden activar señales no deseadas. Filtremos las zonas de divergencia más débiles utilizando un umbral de delta relativo.
deltaStrength = math.abs(delta) threshold = ta.sma(deltaStrength, 20) * 0.5 bearishDiv = high > priceHigh[1] and cvd < cvdHigh[1] and deltaStrength < threshold bullishDiv = low < priceLow[1] and cvd > cvdLow[1] and deltaStrength < threshold
Esto garantiza que la divergencia se marque solo cuando la actividad del delta es moderada — destacando verdaderas rupturas en el compromiso de volumen.
Agregar Filtro de Tendencia para Enfocar las Divergencias dentro del Momentum
Por ejemplo, mostrar solo la divergencia bajista durante las tendencias alcistas — cuando el agotamiento importa más.
ema = ta.ema(close, 20) inUptrend = close > ema inDowntrend = close < ema plotshape(bearishDiv and inUptrend, location=location.abovebar, color=color.orange, style=shape.triangledown) plotshape(bullishDiv and inDowntrend, location=location.belowbar, color=color.lime, style=shape.triangleup)
Esto ayuda a alinear la interpretación de la divergencia con el contexto más amplio.
Opcional: Resaltar Zonas de Divergencia
En lugar de marcadores, sombrear el fondo del gráfico cuando la divergencia está activa.
bgcolor(bearishDiv ? color.new(color.red, 85) : na) bgcolor(bullishDiv ? color.new(color.green, 85) : na)
Facilita la revisión de casos históricos o la identificación visual del contexto durante el análisis en vivo.
¿Cómo pueden usarlo los traders?
El detector de divergencia CVD no te dice cuándo comprar o vender.
Te dice cuándo algo no cuadra.
- El precio está empujando, pero la presión se está desvaneciendo
- Los breakouts ocurren sin confirmación
- Las tendencias continúan a pesar de una clara falta de soporte de volumen
Puedes usar esta herramienta para filtrar señales, depurar entradas en breakouts o verificar la integridad de la tendencia antes de colocar operaciones.
Funciona mejor cuando se combina con zonas de estructura, consolidación de precio o niveles de soporte/resistencia — en cualquier lugar donde el momentum sea importante.
Pueden acceder a más códigos de indicadores gratuitos para TradingView en: Indicadores de TradingView gratuitos
¿Que broker de Tradingview recomendamos para aplicar nuestras estrategias? IC Markets es una muy buena opción. Más información en: Análisis del broker IC Markets














