Qué es
Un Fair Value Gap (FVG) es una zona de precio donde solo hubo liquidez de un lado del mercado — se forma con una secuencia de 3 velas donde el precio se movió tan rápido que dejó un hueco sin trading en el medio. El indicador FVG (id internofvg) es, en cantidad de parámetros, la implementación ICT más completa de la plataforma: detección con filtro ATR, clasificación ARJO, expiración adaptativa por temporalidad, agregación de gaps consecutivos, integración con el fractal del ISS y filtrado Premium/Discount.
Si todavía no conocés los conceptos base de estructura y liquidez, empezá por Estructura de Mercado y Trading Institucional — Liquidez. Esta página cubre cómo configurar el indicador, no la teoría ICT completa de FVGs.
Detección del gap
El gap se detecta sobre 3 velas consecutivas (bar1, bar2, bar3): la vela intermedia (bar2) debe tener un cuerpo significativo (≥30% de su rango) para que el gap cuente.
Tipos y clasificación ARJO
Clasificación ARJO (“regla de la 3ra vela”) — evalúa cómo cerró
bar3 respecto a bar2, mismo criterio en frontend y backend:
- EXPANSION (breakaway): BISI si
bar3.close > bar2.high; SIBI sibar3.close < bar2.low. El precio “no tiene intención de volver” — probabilidad de hold más baja de retroceso porque el gap queda atrás como combustible, no como imán. - PERFECT: BISI si
bar3.close > bar2.closeybar3es alcista; SIBI sibar3.close < bar2.closeybar3es bajista. Mayor probabilidad de que el gap actúe como soporte/resistencia al ser retesteado. - REVERSAL: cualquier otro caso — la vela 3 muestra debilidad, menor probabilidad de hold.
Estados y ciclo de vida
Un FVG recorre:CREATED → ACTIVE → TESTED / PARTIALLY_FILLED → MITIGATED → INVALIDATED, con dos estados terminales alternativos, IFVG y BPR (ver abajo).
Mitigación se clasifica en 4 tipos según cuánto penetró el precio:
CE_TEST (tocó el 50% pero relleno <90%), FULL_FILL (relleno ≥90% y tocó CE), PARTIAL (relleno 25-100% sin tocar CE), IOFED (relleno <25% — entrada superficial, “institutional order flow entry drill”).
IFVG (Inverted FVG)
Cuando un FVG pasa aINVALIDATED (el precio cerró a través), el indicador puede convertirlo a IFVG: cambia de rol y pasa a actuar como soporte/resistencia en la dirección opuesta a su tipo original.
- BISI invalidado → se convierte en RESISTANCE.
- SIBI invalidado → se convierte en SUPPORT.
reclaimCount incrementa). Controlado por showIFVG (default true).
BPR (Balanced Price Range)
Se forma cuando un BISI y un SIBI activos se solapan en precio — la zona de overlap se interpreta como equilibrio institucional (ni compradores ni vendedores dejaron ineficiencia neta). El umbral mínimo de solapamiento es 10% del gap más chico (minOverlapPercent, no expuesto como parámetro en la UI). Controlado por showBPR (default false).
Expiración adaptativa
En modo ADAPTIVE (el default), la expiración real no usa
expirationBars=100 — usa una tabla fija por temporalidad (EXPIRATION_BY_TIMEFRAME):
Otros modos disponibles manualmente:
SESSION (expira al cambio de sesión — Asia/Londres/NY/killzones), MITIGATION (expira cuando el estado pasa a MITIGATED), RECLAMATION (expira al N-ésimo toque, usa maxTouches), NEW_FRACTAL (expira cuando el ISS detecta un nuevo rango de estructura), MATRIX_RESET (expira tras N periodos fijos), MANUAL (nunca expira automáticamente).
Agregación de FVGs consecutivos
Cuando el precio deja varios gaps seguidos en la misma dirección, el indicador puede tratarlos como un solo bloque en vez de mostrarlos todos.
Dos FVGs se consideran consecutivos si son del mismo tipo (ambos BISI o ambos SIBI), están separados por ≤
consecutiveThreshold barras, y se solapan o están muy cerca en precio (tolerancia ~10% del tamaño del gap).
Filtro fractal / integración con ISS
Conecta el FVG con el motor ISS (o con Swing Points) para filtrar gaps según el contexto de estructura en el que se formaron, en vez de mostrar todos los gaps del historial sin criterio.
Cada FVG se enriquece con contexto del ISS al momento de formarse: fase de mercado (
EXPANSION si hubo un break reciente, RETRACEMENT si el precio retrocede contra tendencia, CONSOLIDATION en rango) y origen del fractal (CURRENT, PREVIOUS, o FORMING si está cerca del extremo del rango activo).
Premium / Discount
Display
Presets
Recetas
1. Solo gaps con confluencia ICT completa
1. Solo gaps con confluencia ICT completa
Preset Estilo ICT del ISS (validación
CLOSE, STRUCTURAL) + FVG con structureContextEnabled=true, structureSource=ISS, fractalFilterMode=CURRENT_FRACTAL, arjoFilter=PERFECT_EXPANSION, premiumDiscountEnabled=true. Te quedás solo con gaps del fractal activo, de alta probabilidad ARJO, y en la zona de precio correcta (Discount para BISI, Premium para SIBI).2. Scalping M1/M5 con gaps recientes
2. Scalping M1/M5 con gaps recientes
Preset Scalping:
expirationMode=SESSION (expira al cierre de Londres/NY), maxFVGs=10, extendRight=20. Combinalo con aggregationEnabled=true, aggregationMode=LAST para no ensuciar el gráfico con series de micro-gaps del mismo movimiento.3. Swing trading con expiración larga
3. Swing trading con expiración larga
Preset Swing Trading:
expirationMode=TIME_DAYS a 20 días, contexto de estructura activado contra el ISS. Sumale showQuartiles=true para afinar el punto de entrada dentro del gap (25%/75%) en vez de solo el CE.Los archivos internos
FVG_KNOWLEDGE.md y FVG_INSIGHTS.md (en frontend/components/indicators/fvg/) son notas de investigación del equipo con teoría ICT extendida (IOFED, IPDA, Silver Bullet, narrativa MTF) — útiles como contexto conceptual, pero no son spec de producto verificada línea por línea.Innova Smart Structure (ISS)
El motor de estructura del que el FVG puede heredar fractal, rango y Premium/Discount.
PD Array Matrix
El FVG es uno de los 6 tipos de array que alimentan el Market Intention Score agregado.