Qué es el ISS
Innova Smart Structure (ISS) no es “un indicador más” — es un motor. Todos los demás módulos de estructura (rangos dinámicos, líneas de break, FVGs con contexto de fractal, el panel de stats multi-temporalidad) leen del mismo cálculo central:Si todavía no tenés claro qué es un swing point, un BOS o un CHoCH, empezá por Estructura de Mercado y Swing Points — acá asumimos que ya conocés la teoría y nos enfocamos en cómo configurarlo.
innovastructure) y equivale conceptualmente a “Smart Money Concepts (SMC)” de LuxAlgo en TradingView, pero con validación configurable, dos niveles de análisis (N1/N2) y filtros de ruptura que ese indicador no tiene.
Swing Points — la base de todo
Antes de poder dibujar un rango o detectar un CHoCH, el ISS necesita saber dónde están los puntos de giro del precio. Esto se configura en la sección Detección.Método de detección
El motor soporta tres métodos (SwingDetectionConfig.detection_method en el backend):
Fuerza del fractal (swing_strength)
Cuántas barras a cada lado deben tener un high/low menor (o mayor) para confirmar el swing. Es el parámetro más importante de todo el motor — todo lo demás depende de qué swings detectó primero.
Validación por precio
Un swing recién detectado no es automáticamente “confirmado” — puede quedar en estadoACTIVO esperando que el precio lo valide.
validationEnabled(defaulttrueen ISS): si está apagado, todo candidato pasa aVALIDADOde inmediato — más rápido, más ruido.validationType(defaultWICK): qué parte de la vela debe confirmar el swing.WICK: cualquier mecha (high/low) — el más permisivo.BODY: solo apertura o cierre.CLOSE: solo el cierre — el más estricto, menos falsos swings.
Pause Mode (Larry Williams)
Controla qué pasa durante la “pausa” que sigue a un swing recién formado — el período en el que técnicamente todavía podría aparecer un swing más extremo antes de que el anterior quede confirmado.Filtros de ruido
Estos existen enSwingDetectionConfig pero no están expuestos en la UI de ningún indicador de estructura hoy (ISS ni Swing Points). Solo son accesibles vía API/trading-bridge:
Jerarquía ST/IT/LT (Larry Williams)
Una vez detectados los swings, el motor los clasifica en tres niveles jerárquicos según el método de Larry Williams (Long-Term Secrets to Short-Term Trading, capítulo 1). La clasificación es estructural, no numérica — no depende de un lookback en barras, sino de la relación de cada swing con sus vecinos del mismo tipo.1
Todo swing arranca como ST (Short Term)
Cualquier swing high/low detectado por el fractal es, por definición, un ST.
2
Un ST se vuelve IT (Intermediate) si sus dos vecinos ST son más débiles
Un ST High es IT High si el ST High anterior y el ST High siguiente son ambos más bajos. Un ST Low es IT Low si sus vecinos ST Low son ambos más altos.
3
Un IT se vuelve LT (Long Term) con la misma regla, un nivel arriba
Un IT High es LT High si el IT High anterior y el siguiente son ambos más bajos. Análogo para IT Low → LT Low.
Cómo activarla
- Swing Points (indicador standalone): toggle
showHierarchy(defaultfalse) + preset dedicado “Larry Williams (Jerarquía)”. - ISS: la jerarquía se calcula siempre internamente (alimenta
derived_levelsconit_low_1/2,it_high_1/2,lt_low_1/2,lt_high_1/2) pero no tiene un toggle visual propio en el panel — se consume víaall_swings(cada swing trae su campohierarchy).
Modo de clasificación (HH/HL/LH/LL)
Independiente de ST/IT/LT, cada swing también recibe una etiqueta HH/HL/LH/LL/FIRST (classification_mode):
El indicador Swing Points sí deja elegir los 3 modos (
classificationMode, default STRUCTURAL).
Estructura: BOS vs CHoCH
- BOS (Break of Structure): el precio rompe un swing en la dirección de la tendencia actual → confirma continuación.
- CHoCH (Change of Character): el precio rompe un swing en contra de la tendencia actual → alerta de posible reversión.
Validación de la ruptura
rangeBreakValidation (UI, default BODY) define qué parte de la vela debe romper el nivel:
Filtros de tamaño de ruptura
Para evitar que un micro-quiebre por 0.1 pip cuente como BOS/CHoCH real, hay 4 formas de exigir un tamaño mínimo (breakFilterType, default NONE — coincide con el backend):
El backend además soporta
RANGE_PERCENT (% del rango actual) que no está en la UI.
Un cuarto knob,
pipValue (default 0.0001), es un campo de conveniencia solo de la UI para convertir “pips” a unidades de precio reales según el instrumento (forex vs oro vs cripto) — no existe como tal en el schema Pydantic.Rangos: cómo se define la “caja”
El ISS dibuja un rango dinámico (rangeHigh/rangeLow) entre dos swings — ese rango es la base de Premium/Discount y de los break lines. Hay dos conceptos que se confunden fácilmente porque comparten nombre en la UI:
El backend además define
ULTIMATE (solo considera swings desde el último CHoCH) — ese modo no se selecciona directamente acá; es, en la práctica, lo que hace el Nivel 2 del ISS (ver abajo).
Premium / Discount / Equilibrium
El rango se divide en zonas usando la posición del precio como % del rango (0 = low, 100 = high):N1 vs N2 (Ultimate) — los dos niveles del ISS
El ISS puede mostrar simultáneamente dos niveles de estructura sobre el mismo gráfico, sin cambiar de temporalidad:- N1 — Estructura Micro
- N2 — Ultimate (Macro)
- Toggle:
showN1(defaulttrue) - Es el análisis “normal”: swings fractales del timeframe actual, rango dinámico, CHoCH/BOS.
- Sub-toggles:
showRangeLines,showCHoCH,showBOS,showImpulseCount(contador de velas de impulso desde el último break).
Panel de estadísticas MTF
Además de N1/N2, el ISS tiene un panel flotante opcional (showISSStatsPanel, default false) que muestra el estado de estructura de hasta 4 temporalidades simultáneas (statsTF1-statsTF4, defaults D1/H4/M15/Actual) — útil para ver confluencia multi-temporalidad de un vistazo sin cambiar de gráfico ni abrir 4 pestañas.
Qué más trae el motor (y todavía no tiene UI dedicada)
ElISSEngineConfig completo incluye configuración para Order Blocks, Fair Value Gaps y Liquidity Sweeps — pero estos viven como sub-configs del motor, consumibles hoy vía API (POST /api/iss/query) o trading-bridge, no como toggles del panel del indicador ISS:
El engine también produce, siempre activo (no configurable desde el panel), la capa PD Array Matrix: Breaker Blocks, Rejection Blocks, Volume Imbalances, Mitigation Blocks, un Market Intention Score agregado (bias ponderado -∞ a +∞ con clasificación
strong_bullish → strong_bearish) y eventos CISD (Change In State of Delivery, cuando 3+ arrays del mismo lado fallan). Igual que Order Blocks y Liquidity, es consumible hoy solo vía API/trading-bridge, sin UI en el chart — ver PD Array Matrix para el detalle completo de parámetros y cómo consultarlo.
Presets
Hay dos conjuntos de presets distintos que no hay que confundir: los del motor backend (Python, usados vía API/trading-bridge para configuraciones programáticas) y los del indicador frontend (los que aparecen en el selector de presets cuando arrastrás el ISS al gráfico).Presets del motor (backend)
Presets del indicador (frontend UI)
Recetas — combinaciones útiles
1. Tendencia LT limpia (bias de largo plazo sin ruido)
1. Tendencia LT limpia (bias de largo plazo sin ruido)
Usá el indicador Swing Points standalone (no el ISS completo):
strength=3-5, showHierarchy=true, classificationMode=STRUCTURAL, showOnlyClassified=true. Mirá solo los swings marcados LT — si forman HH/HL consecutivos la tendencia de largo plazo es alcista. Ignorá el ruido de los swings ST/IT que aparecen y desaparecen en el camino.2. Scalping M1 sensible
2. Scalping M1 sensible
ISS con
swingStrength=1, detectionMode=PREBREAK (rangos más reactivos, siguen al swing más reciente en vez del extremo), breakFilterType=NONE, showUltimate=false. Partí del preset Scalping y ajustá detectionMode a PREBREAK manualmente — el preset de fábrica no lo cambia.3. Estilo ICT con contexto de sweeps
3. Estilo ICT con contexto de sweeps
Preset Estilo ICT del ISS (N1,
STRUCTURAL, validación CLOSE) + indicador FVG con structureContextEnabled=true, structureSource='ISS', fractalFilterMode='CURRENT_FRACTAL' — así el FVG solo muestra gaps dentro del fractal activo de estructura. Para los sweeps de liquidez en sí (barrido de highs/lows), hoy no hay indicador visual dedicado — se leen manualmente mirando mechas que rompen un swing N1 y cierran de vuelta adentro, o se consume liquidity_levels/LiquiditySweepConfig vía API/trading-bridge.4. Vista dual: bias HTF sintético + timing LTF
4. Vista dual: bias HTF sintético + timing LTF
Preset Dual Level (N1+N2) del ISS en un solo gráfico. Regla de uso: solo tomar entradas de N1 (CHoCH/BOS) que vayan en la misma dirección del último evento N2 (
U-CHoCH/U-BOS). Si N1 da una señal contraria a N2, tratarla como pullback, no como reversión.Siguiente: indicador Swing Points (standalone)
La versión liviana del detector de swings del ISS — sin CHoCH/BOS ni rangos, solo puntos de giro y jerarquía.