La evolución del análisis técnico en TradingView: un indicador 100% Clean Chart. Elimina los carteles y textos invasivos para traducir la física del dinero inteligente directamente en el color de las velas, canales de dispersión y franjas de liquidez.
Las grandes firmas algorítmicas no usan TradingView con líneas de colores. Operan con Order Flow directo (L2 y L3), analizando el libro de órdenes en microsegundos (tick by tick), correlaciones cruzadas de futuros y volumen pasivo absorbido en Dark Pools.
Saben con exactitud matemática dónde se acumulan los Stop-Loss de los minoristas y programan algoritmos TWAP / VWAP para barrer esa liquidez antes de disparar el precio en la dirección contraria.
El 99% de los indicadores en TradingView están estancados en los años 80: fórmulas ciegas basadas solo en precios de cierre pasados (RSI, Estocástico, Cruces de Medias). No te muestran el dinero real.
OmniVector PRO destila la física institucional y la hace 100% visual: toma la Ley de Esfuerzo vs. Resultado de Richard Wyckoff, la teoría de Liquidity Sweeps (Turtle Soup) y la Campana de Dispersión Gaussiana, transformándolas en velas que se pintan solas de oro o magenta en los puntos exactos de giro.
Aprendé a leer cada componente sin necesidad de mirar números ni indicadores secundarios.
Ocurre en la Banda Verde Inferior. El volumen supera 1.7x el promedio y la vela deja una mecha inferior gigante (≥40%). Los minoristas vendieron asustados pero las ballenas compraron todas las órdenes sin dejar caer el precio.
Ocurre exclusivamente en la Banda Roja Superior (Techo). El volumen explota mientras el mercado sube, pero una institución descarga millones de contratos dejando una gran mecha superior.
Ocurre cuando el precio cierra por encima de la Banda Roja Superior con volumen superior al promedio (volume > volAvg). Marca un Breakout explosivo de expansión direccional.
Ocurre exclusivamente en la Banda Verde Inferior (Suelo) cuando el precio perfora hacia abajo con volumen anómalo. Es la cascada de liquidaciones forzadas y salto masivo de Stop Loss.
Franjas horizontales punteadas que se proyectan automáticamente. Marcan dónde el precio perforó un soporte o resistencia previo para liquidar posiciones y cerró de nuevo adentro en la misma vela.
La media móvil institucional de 200 periodos trazada en un tono blanco/platino semi-transparente. Te da la orientación macro instantánea: arriba de la línea el sesgo es alcista; abajo es bajista.
Colorea el espacio entre la EMA 20 y 50 en verde azulado (alcista) o marrón (bajista). Es el soporte dinámico donde se generan los mejores pullbacks tendenciales.
Bandas de desviación adaptativa con zona de distribución roja superior y zona de acumulación verde inferior. Si querés ver solo las EMAs, desactivás el check y desaparecen limpiamente.
Líneas sólidas que se trazan automáticamente uniendo pivotes de máximos y mínimos cuando el precio y el RSI divergen de forma directa.
Protocolo dual para descartar el 90% de los falsos quiebres y ejecutar con R:R asimétrico
Si ves Vela Dorada en OmniVector pero en Bloque 2 la onda celeste sigue cayendo con punto rojo: NO ENTRAR. El suelo todavía no fue consolidado.
Si el precio está claramente debajo de la EMA 200 Platino, los Longs son rebotes breves (solo hasta la línea media). Prohibido buscar targets ambiciosos contra la tendencia anual.
Vela Dorada/Magenta + Caja Fantasma Sweep + Disparo de Squeeze (punto naranja) + Cruce de Onda Celeste: OPERACIÓN A+ (Ratio R:R superior a 1:3).
Guía técnica de timeframes, liquidez institucional y relación riesgo/beneficio
Índices (SPY, QQQ), Bitcoin, Ethereum y principales acciones bursátiles.
Por qué funciona: Los canales cuánticos y las velas de absorción Wyckoff filtran el 90% del ruido. Los rebotes en bandas y sweeps respetan la estructura macro con precisión.
Futuros (NQ, ES), Cripto de alta liquidez y acciones en apertura de Wall Street.
Por qué funciona: Ideal tras la apertura de sesión. Las velas doradas/magentas en extremos capturan la reversión intradía hacia la media central con stop-loss ajustado.
Acciones de largo plazo, ETFs globales y ciclos cuatrienales de Bitcoin.
Por qué funciona: Permite detectar compras históricas de suelo cuando el precio perfora la banda verde y se forma absorción sobre la EMA 200 de platino.
Operaciones de minutos (1m, 3m o 5m) con apalancamiento elevado.
Por qué evitarlo: En temporalidades inferiores a 15m abundan las mechas de liquidez algorítmica y el spread de los brokers, reduciendo la fiabilidad del algoritmo.
Listo para copiar y pegar directamente en el Editor de Pine de TradingView.
// ==============================================================================
// © @patagoniactiva · CalculaHoy
// Indicator: OmniVector PRO - Quantum Liquidity & Wyckoff Absorption
// License: Mozilla Public License 2.0 (MPL-2.0)
// Educational & Quantitative Research Tool
// ==============================================================================
//@version=6
indicator("OmniVector PRO: Liquidity, Absorption & EMAs [Overlay]", overlay=true, max_lines_count=500, max_boxes_count=500)
// Internal verification signature
var string _ORIGIN_AUTH = "AUTH_PATAGONIACTIVA_CALCULAHOY_PINE6_2026"
// ==============================================================================
// 1. INSTITUTIONAL MOVING AVERAGES (EMAs)
// ==============================================================================
grp_ema = "1. Macro Trend Filter (EMAs)"
showFastEma= input.bool(true, "Show EMA 20 / 50 Cloud", group=grp_ema, tooltip="Dynamic short-term momentum cloud.")
showEma200 = input.bool(true, "Show 200 EMA Macro (Platinum Line)", group=grp_ema, tooltip="Institutional benchmark. Above = Bullish regime, Below = Bearish regime.")
lenFast = input.int(20, "Fast EMA Period", group=grp_ema)
lenSlow = input.int(50, "Slow EMA Period", group=grp_ema)
lenMacro = input.int(200, "Macro EMA Period", group=grp_ema)
ema20 = ta.ema(close, lenFast)
ema50 = ta.ema(close, lenSlow)
ema200 = ta.ema(close, lenMacro)
// Harmonic EMA plots
pEma20 = plot(showFastEma ? ema20 : na, "EMA 20", color=color.new(#00e5ff, 35), linewidth=1)
pEma50 = plot(showFastEma ? ema50 : na, "EMA 50", color=color.new(#ff9100, 35), linewidth=1)
fill(pEma20, pEma50, color=showFastEma ? (ema20 >= ema50 ? color.new(color.teal, 85) : color.new(color.maroon, 85)) : na, title="EMA 20/50 Cloud")
// 200 EMA platinum benchmark
plot(showEma200 ? ema200 : na, "EMA 200 Macro", color=color.new(#ffffff, 25), linewidth=2)
// ==============================================================================
// 2. QUANTUM LIQUIDITY CHANNELS
// ==============================================================================
grp_bands = "2. Quantum Liquidity Channels"
showBands = input.bool(true, "Show Liquidity Bands", group=grp_bands, tooltip="Toggle volatility bands on/off.")
showFill = input.bool(true, "Show Soft Zone Fill", group=grp_bands)
lenBands = input.int(20, "Bands Period", minval=5, group=grp_bands)
multBands = input.float(2.0, "Standard Deviation Multiplier", minval=1.0, step=0.1, group=grp_bands)
basis = ta.sma(close, lenBands)
dev = multBands * ta.stdev(close, lenBands)
upper = basis + dev
lower = basis - dev
// Conditional plotting
pMid = plot(showBands ? basis : na, "Central Baseline (Equilibrium)", color=color.new(#787b86, 50), linewidth=1, style=plot.style_line)
pUpper = plot(showBands ? upper : na, "Upper Band (Liquidity Ceiling)", color=color.new(#ff1744, 40), linewidth=2)
pLower = plot(showBands ? lower : na, "Lower Band (Liquidity Floor)", color=color.new(#00e676, 40), linewidth=2)
fill(pUpper, pMid, color=showBands and showFill ? color.new(#ff1744, 94) : na, title="Distribution Zone")
fill(pMid, pLower, color=showBands and showFill ? color.new(#00e676, 94) : na, title="Accumulation Zone")
// ==============================================================================
// 3. WYCKOFF ABSORPTION ENGINE (CANDLE COLORING)
// ==============================================================================
grp_wyck = "3. Wyckoff Volume Absorption"
colorBars = input.bool(true, "Color Candles by Volume Footprint", group=grp_wyck)
volMult = input.float(1.7, "Anomalous Volume Multiplier", minval=1.2, step=0.1, group=grp_wyck)
wickRatio = input.float(40.0, "Minimum Absorption Wick %", minval=25.0, maxval=70.0, group=grp_wyck)
volAvg = ta.sma(volume, 20)
isHighVol = volume > (volAvg * volMult)
cRange = high - low
topWick = high - math.max(open, close)
botWick = math.min(open, close) - low
topWickPct = cRange > 0 ? (topWick / cRange) * 100 : 0
botWickPct = cRange > 0 ? (botWick / cRange) * 100 : 0
// Gold Bar: Bullish Absorption near lower band
isBullAbsorption = isHighVol and botWickPct >= wickRatio and low <= lower * 1.01
// Magenta Bar: Bearish Absorption near upper band
isBearAbsorption = isHighVol and topWickPct >= wickRatio and high >= upper * 0.99
// Extreme Volatility Expansions
isExtremeHigh = close > upper and volume > volAvg
isExtremeLow = close < lower and volume > volAvg
candleColor = isBullAbsorption ? #ffd700 : // GOLD: Whale buying panic
isBearAbsorption ? #ff007f : // MAGENTA: Whale selling euphoria
isExtremeHigh ? #00e5ff : // CYAN: Strong upward momentum
isExtremeLow ? #d500f9 : // PURPLE: Capitulation
na
barcolor(colorBars ? candleColor : na, title="Candle Color Footprint")
// ==============================================================================
// 4. GHOST LIQUIDITY SWEEP ZONES
// ==============================================================================
grp_sweep = "4. Ghost Liquidity Zones"
showBoxes = input.bool(true, "Draw Sweep Zones", group=grp_sweep)
sweepBars = input.int(20, "Lookback Range (Bars)", minval=10, maxval=100, group=grp_sweep)
highRef = ta.highest(high, sweepBars)[1]
lowRef = ta.lowest(low, sweepBars)[1]
bullSweep = low < lowRef and close > lowRef and close > open
bearSweep = high > highRef and close < highRef and close < open
if showBoxes and bullSweep
box.new(left=bar_index - 3, top=lowRef, right=bar_index + 12, bottom=low,
bgcolor=color.new(#00e676, 85), border_color=color.new(#00e676, 40),
border_width=1, border_style=line.style_dotted)
if showBoxes and bearSweep
box.new(left=bar_index - 3, top=high, right=bar_index + 12, bottom=highRef,
bgcolor=color.new(#ff1744, 85), border_color=color.new(#ff1744, 40),
border_width=1, border_style=line.style_dotted)
// ==============================================================================
// 5. VECTORIAL DIVERGENCE LINES
// ==============================================================================
ph = ta.pivothigh(high, 5, 5)
pl = ta.pivotlow(low, 5, 5)
rsi = ta.rsi(close, 14)
var float last_ph_p = na
var int last_ph_b = na
var float last_ph_r = na
var float last_pl_p = na
var int last_pl_b = na
var float last_pl_r = na
if not na(ph)
prev_p = last_ph_p
prev_b = last_ph_b
prev_r = last_ph_r
last_ph_p := high[5]
last_ph_b := bar_index - 5
last_ph_r := rsi[5]
if not na(prev_p) and last_ph_p > prev_p and last_ph_r < prev_r
line.new(prev_b, prev_p, last_ph_b, last_ph_p, color=color.new(#ff1744, 30), width=2, style=line.style_solid)
if not na(pl)
prev_p = last_pl_p
prev_b = last_pl_b
prev_r = last_pl_r
last_pl_p := low[5]
last_pl_b := bar_index - 5
last_pl_r := rsi[5]
if not na(prev_p) and last_pl_p < prev_p and last_pl_r > prev_r
line.new(prev_b, prev_p, last_pl_b, last_pl_p, color=color.new(#00e676, 30), width=2, style=line.style_solid)
// ==============================================================================
// 6. ON-CHART HUD WATERMARK (AUTHOR ATTRIBUTION)
// ==============================================================================
grp_brand = "6. Origin & Author Attribution"
showWatermark = input.bool(true, "Show Attribution Badge", group=grp_brand, tooltip="Subtle badge showing original authorship by @patagoniactiva.")
var table hud_brand = table.new(position.bottom_right, 1, 1, bgcolor=color.new(color.black, 60), border_color=color.new(color.white, 85), border_width=1)
if barstate.islast and showWatermark
table.cell(hud_brand, 0, 0, "OmniVector PRO · by @patagoniactiva", text_color=color.new(#a7f3d0, 20), text_size=size.tiny)
No te quedes únicamente con el código en TradingView. Transformamos la lógica de OmniVector PRO en un bot algorítmico centinela que monitorea el mercado las 24 horas, ejecuta en Binance Futures Demo y envía los reportes técnicos directo a Telegram.
Marco normativo, ley de mercado de capitales y naturaleza estrictamente didáctica del software
Todo el material, algoritmos, explicaciones técnicas, visualizaciones y scripts en lenguaje Pine Script v6 provistos en CalculaHoy.com tienen por único propósito la educación técnica, la divulgación de herramientas informáticas y la investigación matemática aplicada al análisis de series temporales de precios. No constituyen, bajo ninguna circunstancia, una recomendación, oferta pública, sugerencia de inversión, ni solicitud de compra o venta de valores negociables, divisas, materias primas, contratos de futuros, opciones ni criptoactivos.
El autor de este sitio y los desarrolladores de los scripts no prestan servicios de asesoramiento financiero personalizado, administración discrecional de carteras ni intermediación de valores en los términos de la Ley N° 26.831 de Mercado de Capitales de la República Argentina, las Resoluciones Generales de la Comisión Nacional de Valores (CNV) ni de ningún otro organismo regulador internacional (como la SEC o ESMA). Las herramientas didácticas no evalúan ni contemplan la situación patrimonial, perfil del inversor, tolerancia al riesgo ni los objetivos financieros particulares de ningún usuario.
CalculaHoy.com no solicita, no recibe, no custodia, no intermedia ni administra fondos, depósitos, dinero fiduciario ni billeteras de criptoactivos de terceros. El usuario no deposita capital en este sitio web. Cualquier operación real debe ser cursada exclusivamente por el propio usuario a través de una entidad debidamente registrada y autorizada ante las autoridades competentes.
La operativa en mercados financieros, instrumentos derivados, contratos por diferencias (CFDs) y activos digitales/criptomonedas conlleva un alto nivel de riesgo de pérdida parcial o total del capital invertido. Los mercados de criptomonedas se caracterizan por una volatilidad asimétrica, falta de garantía estatal o cobertura del Banco Central de la República Argentina (BCRA) y ausencia de seguros de depósito. Los rendimientos simulados, resultados de backtesting o estadísticas pasadas jamás garantizan ni aseguran resultados futuros.
Si usted requiere asesoramiento financiero adaptado a su perfil de riesgo y patrimonio, le recomendamos expresamente recurrir a un profesional matriculado e inscripto en el Registro de Idóneos de la Comisión Nacional de Valores (CNV), actuando a través de un Agente de Liquidación y Compensación (ALyC), un Agente de Asesoramiento Global de Inversión (AAGI) o un Agente Productor (AP) habilitado.
El uso, copia o implementación de los códigos y estrategias aquí presentados es de la exclusiva, libre e indelegable responsabilidad del usuario. Ni CalculaHoy.com ni sus administradores asumirán responsabilidad alguna por pérdidas directas, indirectas, daños patrimoniales o perjuicios derivados del uso de la información, código o gráficos proporcionados.