Alertas Institucionales con SMC: Mejora tu Trading

Alertas Institucionales con SMC: Mejora tu Trading

Este script SMC_BOS_FVG_OB_Pinbar_Sessions_Alerts, es un modelo institucional diseñado para identificar zonas de alta probabilidad basadas en estructura, liquidez y confirmación de intención. Su objetivo es estandarizar la lectura del mercado y ejecutar únicamente cuando se cumplen condiciones institucionales verificables.

A continuación, el manual que documenta la metodología, reglas operativas y ejemplos visuales para su aplicación profesional.

🎯 Objetivo

Este enfoque se fundamenta en:

  • Identificar dónde el mercado toma liquidez.
  • Esperar una ruptura estructural real (BOS).
  • Confirmar intención mediante pinbar institucional.
  • Ejecutar únicamente en mitigación institucional (FVG u OB).
  • Validar con la siguiente vela.
  • Filtrar por RR mínimo y sesión operativa.

Este proceso tiene el objetivo de eliminar ruido, reducir entradas falsas y alinear la ejecución con el comportamiento de mesas institucionales.

⚙️ Configuración Inicial

ParámetroDescripciónRecomendación
Left / Right barsSensibilidad de pivotes2–3 para intradía
RR mínimoRatio mínima para alertar entrada1.5 o superior
SesiónFiltro horarioAsia / Londres / NY según tu operativa
Dibujar zonaVisualización de FVG/OBActivado para backtest, desactivado para ejecución
AlertasActivar/desactivar eventosMantén activadas las de entrada y toque

🔍 Jerarquía de Confirmación

  1. Liquidity Taken → se limpia un extremo previo.
  2. Break of Structure (BOS) → ruptura real del último swing.
  3. Pinbar → rechazo fuerte institucional.
  4. Zona más cercana (FVG u OB) → punto de mitigación.
  5. Toque real de zona → precio entra en la zona.
  6. Confirmación de la siguiente vela → dirección validada.
  7. RR ≥ X y sesión válida → entrada activada.

🧩 Alertas Institucionales

El sistema genera alertas para:

  • BOS
  • Pinbar
  • Toque
  • Entrada

Cada alerta incluye:

  • Dirección (LONG/SHORT)
  • Entry
  • SL
  • TP
  • RR
  • Sesión

Esto permite operar sin estar pegado al gráfico.

TipoDescripciónMensaje 
BOSRuptura estructural“BOS ALCISTA/BAJISTA detectado” 
PinbarRechazo fuerte“Pinbar ALCISTA/BAJISTA detectado” 
ToqueMitigación real“TOQUE de zona (LONG/SHORT)” 
EntradaConfirmación completa“ENTRY LONG/SHORT ACTIVADAEntry: XSL: YTP: ZRR: nSesión: NY”

🧠 Interpretación Visual

  • Líneas amarillas: FVG (rango de desequilibrio).
  • Líneas naranjas: OB (última vela institucional).
  • Líneas rojas / verdes: SL y TP.
  • Línea amarilla continua: punto de entrada.

🧩 Reglas de Ejecución

  • No se anticipan entradas.
  • No se opera sin BOS.
  • No se opera sin pinbar.
  • No se opera sin toque real.
  • No se opera sin confirmación de la siguiente vela.
  • No se opera si RR < mínimo.
  • No se opera fuera de sesión.
  • SL siempre en el swing que generó la liquidez.
  • TP automático a 2R.

🧮 Optimización sugerida

SesiónCaracterísticasRecomendación
AsiaRango y acumulaciónPreparar liquidez
LondresExpansiónMayor frecuencia de BOS
NYManipulaciónMejor confirmación

Conclusiones

El sistema SMC Sniper permite ejecutar con precisión institucional, eliminando ruido y estandarizando la lectura del mercado. Su fortaleza radica en la secuencia lógica y la disciplina operativa.

Script para Pine

//@version=5
indicator("SMC_BOS_FVG_OB_Pinbar_Sessions_Alerts", overlay = true, max_labels_count = 500, max_lines_count = 500)
//---------------------------------------------------------
// INPUTS
//---------------------------------------------------------
left = input.int(2, "Left bars")
right = input.int(2, "Right bars")
showZone = input.bool(true, "Dibujar zona elegida (FVG u OB)")
// Alertas
alertBOS = input.bool(true, "Alerta: BOS detectado")
alertPinbar = input.bool(true, "Alerta: Pinbar detectado")
alertTouch = input.bool(true, "Alerta: Toque de zona")
alertEntry = input.bool(true, "Alerta: Entrada confirmada")
// Filtro de RR mínimo (ratio)
minRR = input.float(1.5, "RR minimo para alertar entrada", step = 0.1)
// Filtro de sesión
sessionChoice = input.string("Londres", "Sesion para alertar entrada", options = ["Asia", "Londres", "Nueva York"])
//---------------------------------------------------------
// SESIONES (ajusta horarios a tu broker si hace falta)
//---------------------------------------------------------
asiaSession = time(timeframe.period, "1800-0000")
londonSession = time(timeframe.period, "0200-0500")
newYorkSession = time(timeframe.period, "0700-1100")
inAsia = not na(asiaSession)
inLondon = not na(londonSession)
inNewYork = not na(newYorkSession)
sessionOK =
(sessionChoice == "Asia" and inAsia) or
(sessionChoice == "Londres" and inLondon) or
(sessionChoice == "Nueva York" and inNewYork)
//---------------------------------------------------------
// 1. Swings (estructura + liquidez)
//---------------------------------------------------------
swingHigh = ta.pivothigh(high, left, right)
swingLow = ta.pivotlow(low, left, right)
var float lastHigh = na
var float lastLow = na
if not na(swingHigh)
lastHigh := swingHigh
if not na(swingLow)
lastLow := swingLow
//---------------------------------------------------------
// 2. Liquidity Taken
//---------------------------------------------------------
liqBuy = not na(lastHigh) and high > lastHigh
liqSell = not na(lastLow) and low < lastLow
//---------------------------------------------------------
// 3. BOS
//---------------------------------------------------------
bosBull = liqBuy and close > lastHigh
bosBear = liqSell and close < lastLow
//---------------------------------------------------------
// 4. FVG
//---------------------------------------------------------
bullFVG = low[1] > high[2]
bearFVG = high[1] < low[2]
var float fvgTop = na
var float fvgBot = na
if bullFVG
fvgTop := low[1]
fvgBot := high[2]
if bearFVG
fvgTop := high[2]
fvgBot := low[1]
//---------------------------------------------------------
// 5. OB (Order Block)
//---------------------------------------------------------
var float obHigh = na
var float obLow = na
if bosBull
obHigh := high[1]
obLow := low[1]
if bosBear
obHigh := high[1]
obLow := low[1]
//---------------------------------------------------------
// 6. Pinbar Confirmation
//---------------------------------------------------------
body = math.abs(close - open)
upperWick = high - math.max(close, open)
lowerWick = math.min(close, open) - low
pinbarBull = lowerWick >= body * 2 and close > open
pinbarBear = upperWick >= body * 2 and close < open
//---------------------------------------------------------
// 7. ELECCION AUTOMATICA: FVG u OB (la mas cercana)
//---------------------------------------------------------
var float zone = na
var bool isFVG = false
// LONG
if bosBull and pinbarBull and not na(fvgBot) and not na(obHigh)
distFVG = math.abs(close - fvgBot)
distOB = math.abs(close - obHigh)
if distFVG < distOB
zone := fvgBot
isFVG := true
else
zone := obHigh
isFVG := false
// SHORT
if bosBear and pinbarBear and not na(fvgTop) and not na(obLow)
distFVG = math.abs(close - fvgTop)
distOB = math.abs(close - obLow)
if distFVG < distOB
zone := fvgTop
isFVG := true
else
zone := obLow
isFVG := false
//---------------------------------------------------------
// 8. TOQUE DE ZONA
//---------------------------------------------------------
touch = not na(zone) and low <= zone and high >= zone
//---------------------------------------------------------
// 9. CONFIRMACION DE LA SIGUIENTE VELA
//---------------------------------------------------------
bullNextConfirm = touch[1] and close > open and close > (low + (high - low) * 0.5)
bearNextConfirm = touch[1] and close < open and close < (high - (high - low) * 0.5)
//---------------------------------------------------------
// 10. ENTRADA FINAL + RR (ratio)
//---------------------------------------------------------
var float entry = na
var float sl = na
var float tp = na
var float rrRatio = na
// LONG
if bullNextConfirm
entry := zone[1]
sl := lastLow
tp := entry + (entry - sl) * 2.0
risk = math.abs(entry - sl)
reward = math.abs(tp - entry)
rrRatio := risk > 0 ? reward / risk : na
// SHORT
if bearNextConfirm
entry := zone[1]
sl := lastHigh
tp := entry - (sl - entry) * 2.0
risk = math.abs(sl - entry)
reward = math.abs(entry - tp)
rrRatio := risk > 0 ? reward / risk : na
//---------------------------------------------------------
// 11. DIBUJAR ZONA ELEGIDA
//---------------------------------------------------------
if showZone and not na(zone)
if isFVG
line.new(bar_index, fvgTop, bar_index - 1, fvgTop, extend = extend.right, color = color.new(color.yellow, 70))
line.new(bar_index, fvgBot, bar_index - 1, fvgBot, extend = extend.right, color = color.new(color.yellow, 70))
else
line.new(bar_index, zone, bar_index - 1, zone, extend = extend.right, color = color.new(color.orange, 70))
//---------------------------------------------------------
// 12. PLOTS
//---------------------------------------------------------
plot(entry, "Entry", color = color.new(color.yellow, 0), style = plot.style_linebr)
plot(sl, "SL", color = color.new(color.red, 0), style = plot.style_linebr)
plot(tp, "TP", color = color.new(color.green, 0), style = plot.style_linebr)
//---------------------------------------------------------
// 13. ALERTAS INSTITUCIONALES (simplificadas)
//---------------------------------------------------------
// BOS
if alertBOS and bosBull
alert("BOS ALCISTA detectado (LONG)", alert.freq_once_per_bar)
if alertBOS and bosBear
alert("BOS BAJISTA detectado (SHORT)", alert.freq_once_per_bar)
// PINBAR
if alertPinbar and pinbarBull
alert("Pinbar ALCISTA detectado", alert.freq_once_per_bar)
if alertPinbar and pinbarBear
alert("Pinbar BAJISTA detectado", alert.freq_once_per_bar)
// TOQUE
if alertTouch and touch
dir = bosBull ? "LONG" : bosBear ? "SHORT" : "NA"
alert("TOQUE de zona (" + dir + ")", alert.freq_once_per_bar)
// ENTRADA FINAL (con filtros RR + sesion)
entryLong = bullNextConfirm and not na(rrRatio) and rrRatio >= minRR and sessionOK
entryShort = bearNextConfirm and not na(rrRatio) and rrRatio >= minRR and sessionOK
if alertEntry and entryLong
msgLong = "ENTRY LONG | Entry: " + str.tostring(entry, format.mintick) +
" | SL: " + str.tostring(sl, format.mintick) +
" | TP: " + str.tostring(tp, format.mintick) +
" | RR: " + str.tostring(rrRatio, format.mintick) +
" | Sesion: " + sessionChoice
alert(msgLong, alert.freq_once_per_bar)
if alertEntry and entryShort
msgShort = "ENTRY SHORT | Entry: " + str.tostring(entry, format.mintick) +
" | SL: " + str.tostring(sl, format.mintick) +
" | TP: " + str.tostring(tp, format.mintick) +
" | RR: " + str.tostring(rrRatio, format.mintick) +
" | Sesion: " + sessionChoice
alert(msgShort, alert.freq_once_per_bar)

Ejemplo visual

En esta imagen vemos la entrada un poco mas arriba de la línea amarilla (por el lag de tiempo del trader), luego del ticker Alcista, triangulo verde a las 820 del 20262005  (este viene del script publicado antes de esta publicación: https://alextorres.consulting/2026/05/15/como-leer-el-mercado-integracion-del-panel-multitimeframe/), nos indica un TP que se cumple una hora después (20260520 0915) y sin tocar SL (línea roja en el gráfico), en un momento volátil del XAUUSD ese 20 de mayo del 2026 que se esperaba las FOMC Meeting Minutes a las 12 pm:

Ilustraciòn tomada de https://www.forexfactory.com

Guía de sistema híbrido de Trading para XAUUSD y más

Guía de sistema híbrido de Trading para XAUUSD y más

 

📘 SISTEMA HÍBRIDO DE TRADING

Guía visual institucional

Optimizado para XAUUSD, DXY, USDJPY y BTCUSD

  1. Introducción

Este manual presenta un sistema híbrido diseñado para scalping e intradía, combinando estructura, impulso, volumen y dirección institucional.

Está optimizado para usarse en TradingView y ejecutarse en Vantage Raw ECN o en Capital.

La idea es analizar si es viable y hasta qué punto es simple.

  1. Filosofía del sistema

El sistema se sostiene en cuatro pilares:

  1. Dirección institucional (VWAP)
    Define si el día favorece compras o ventas.
  2. Impulso (EMA20)
    Marca la velocidad del movimiento.
  3. Estructura (EMA50)
    Determina si la tendencia es sostenible.
  4. Confirmación (Volumen)
    Valida si el movimiento tiene fuerza real.

3. Configuración de TradingView

Estética institucional

  • Fondo gris neutro
  • Velas verdes/rojas suaves
  • Líneas limpias, sin franjas
  • Acentos en azul petróleo y naranja suave

Paneles

  • Panel principal: precio + EMA20 + EMA50 + VWAP
  • Panel inferior: volumen filtrado
  • Panel opcional: ATR
  1. Indicadores y parámetros

EMA20

  • Color: azul petróleo
  • Grosor: 2

EMA50

  • Color: naranja suave
  • Grosor: 2

VWAP diario

  • Color: morado institucional
  • Reinicio automático

Volumen filtrado

  • Panel separado
  • MA20 del volumen

ATR 14

  • Línea blanca
  • Grosor: 1
  1. Estructura del Mercado
Tipo de tendenciaNivel 1Nivel 2Nivel 3Nivel 4
Tendencia AlcistaPrecio ↑EMA20 ↑EMA50 ↑VWAP ↑
Tendencia BajistaPrecio ↓EMA20 ↓EMA50 ↓VWAP ↓

Interpretación:

  • Si el precio está por encima de todo → compras.
  • Si está por debajo → ventas.
  • Si está dentro del VWAP → evitar operar.

  1. Reglas de Entrada

Entrada Alcista

  1. Precio rompe EMA20 con vela sólida
  2. EMA20 > EMA50
  3. VWAP debajo del precio
  4. Volumen creciente
  5. Spread bajo (<0.3 en XAUUSD)
  6. ATR moderado

Entrada Bajista

  1. Precio rompe EMA20 hacia abajo
  2. EMA20 < EMA50
  3. VWAP arriba del precio
  4. Volumen creciente
  5. Spread bajo
  6. ATR moderado

7. Reglas de Salida

  • Volumen cae → salida parcial
  • Precio toca EMA50 → salida total
  • Vela contraria fuerte con volumen → salida inmediata
  • Spread se amplía → no continuar
  1. Gestión de Riesgo
  • Riesgo por operación: 0.5% – 1%
  • Máximo diario: 2%
  • Stop-loss recomendado:
    • XAUUSD: 1.5 × ATR
    • DXY: 1 × ATR
  • Break-even automático al avanzar 1R
  1. Checklist Operativo

Antes de operar, responde:

  1. ¿Estoy en Londres o NY?
  2. ¿El spread está bajo?
  3. ¿EMA20 y EMA50 están alineadas?
  4. ¿VWAP confirma la dirección?
  5. ¿El volumen acompaña?
  6. ¿ATR está en rango normal?
  7. ¿Mi riesgo está dentro del 1%?

Si una respuesta es NO → no operas.

  1. Ejemplos Visuales (Descriptivos)

Ejemplo de Compra Ideal

  • Precio rompe EMA20
  • VWAP queda abajo
  • Volumen sube
  • EMA20 cruza EMA50
  • Entrada en retroceso a EMA20

Ejemplo de Venta Ideal

  • Precio rompe EMA20 hacia abajo
  • VWAP arriba
  • Volumen sube
  • Entrada en pullback a EMA20
  1. Errores Comunes
  • Operar dentro del VWAP
  • Entrar sin volumen
  • Operar en Asia
  • Ignorar el spread
  • No respetar el 1% de riesgo
  1. Rutina Diaria del Trader

Antes de operar

  • Revisar calendario económico
  • Marcar zonas clave
  • Dibujar sesiones
  • Ver ATR y spread

Durante la sesión

  • Esperar confirmaciones
  • No perseguir el precio
  • Mantener disciplina

Después de operar

  • Registrar trades
  • Evaluar emociones
  • Ajustar reglas si es necesario.

 

📘 HORARIOS OFICIALES DE MERCADOS

Zona horaria: El Salvador (CST‑6)

Aplicable a Capital.com

🟩 1. Tabla Institucional de Apertura y Cierre

InstrumentoApertura OficialMini‑cierres diariosCierre SemanalNotas Operativas
XAUUSD (Oro)Domingo — 4:00 pm3:00 pm – 4:00 pmViernes — 4:00 pmSigue horario CME Globex. Pausa diaria obligatoria.
USDJPY (Forex)Domingo — 4:00 pmNingunoViernes — 4:00 pmForex 24/5 continuo.
DXY (Índice del dólar)Domingo — 5:00 pmNingunoViernes — 4:00 pmAbre 1 hora después del mercado FX.
QQQ (ETF NASDAQ)Lunes — 8:30 amNingunoLunes — 3:00 pmHorario regular del NASDAQ. Sin pre‑market ni after‑hours en Capital.com.

🟦 2. Notas Institucionales por Activo

XAUUSD (Oro)

  • Apertura semanal: domingo 4:00 pm
  • Mini‑cierre diario: 3:00–4:00 pm
  • Cierre semanal: viernes 4:00 pm
  • Relevancia: activo de alta liquidez y volatilidad; respeta estrictamente las pausas CME.

USDJPY

  • Apertura semanal: domingo 4:00 pm
  • Sin pausas intradía
  • Cierre semanal: viernes 4:00 pm
  • Relevancia: par mayor, comportamiento estable en sesiones asiáticas.

DXY

  • Apertura semanal: domingo 5:00 pm
  • Sin pausas intradía
  • Cierre semanal: viernes 4:00 pm
  • Relevancia: índice clave para correlaciones macro (XAUUSD, USDJPY, índices).

QQQ

  • Apertura diaria: 8:30 am (lunes a viernes)
  • Cierre diario: 3:00 pm
  • Relevancia: proxy del NASDAQ 100; útil para medir apetito de riesgo tecnológico.

 

Sistema híbrido – Resumen Ejecutivo

Objetivo: decisiones rápidas basadas en estructura, impulso, volumen y VWAP.

Componentes clave:

  • VWAP: dirección institucional
  • EMA20: impulso
  • EMA50: estructura
  • Volumen: confirmación
  • ATR: riesgo

Condiciones de entrada:

  • Ruptura de EMA20
  • Alineación EMA20–EMA50
  • VWAP confirma
  • Volumen creciente
  • Spread bajo

Condiciones de salida:

  • Volumen cae
  • Toca EMA50
  • Vela contraria fuerte

Riesgo:

  • 0.5–1% por operación
  • 2% máximo diario

Sesiones recomendadas:

  • Londres
  • Nueva York

Ahora seguiré probando otras estrategias con la idea de ir simplificando la operación.

Stay tuned folks!