Qué es
Supertrend es un indicador de tendencia basado en ATR: dibuja dos bandas alrededor del precio (superior e inferior) que se “pegan” al lado correcto del mercado, y su cruce con el precio marca cambios de dirección. En Innova Trading no se usa como indicador de estructura suelto — es el motor que alimenta el sistema de Alpha Signals (señales automáticas de entrada/salida con TP1/TP2/TP3 y SL).El indicador canónico está marcado explícitamente
DO NOT MODIFY en el código (backend/services/alpha_indicators/supertrend.py) — es el motor de producción, no un ajuste libre. Lo que el usuario ve en el chart bajo el nombre Alpha Signals es este mismo cálculo.Parámetros canónicos
Cómo se calcula
-
Fuente (
src): por defectoHL2 = (high + low) / 2. En producción, el generador de señales (SignalGenerator) le pasa explícitamenteOHLC4en vez del HL2 por defecto de la clase. -
ATR: True Range clásico (
max(high-low, |high-prevClose|, |low-prevClose|)) suavizado con el método de Wilder — primer valor es la media simple de los primerosatr_periodTRs, los siguientes usanatr[i] = (atr[i-1]*(period-1) + tr[i]) / period. -
Bandas superior e inferior, con ajuste “sticky” respecto a la barra previa para que no floten libremente:
-
Dirección: arranca en
1(bullista). Compara el supertrend previo contra la banda superior previa con tolerancia0.0001— si coincidían (el mercado venía bajista), la dirección cambia a alcista solo si el cierre actual supera la banda superior; si no coincidían (venía alcista), cambia a bajista solo si el cierre cae debajo de la banda inferior. -
Valor Supertrend:
= lower_bandsi la dirección es alcista,= upper_bandsi es bajista — es decir, la línea “salta” de una banda a la otra en cada cambio de dirección. -
Señal de cruce: alcista cuando
close[i] > supertrend[i]yclose[i-1] <= supertrend[i-1]; bajista en el caso inverso. Es un método separado del cálculo principal (detect_crossover/detect_crossunder), no se dispara solo.
Qué ve el usuario en el chart
El módulo de renderizado (SupertrendModule.tsx, indicador “Alpha Signals”) tiene una particularidad importante:
Además del cruce puro, el chart aplica dos filtros de contexto para las señales visuales (no para el cálculo de Supertrend en sí):
Las señales BUY/SELL/TP/SL que aparecen en el chart siempre vienen del backend (
useBackendSignals=true) — no se recalculan en el navegador. El cálculo local en frontend/lib/indicators/supertrend.ts existe solo como motor de referencia/backtesting, no como fuente de verdad visual.
Niveles de TP/SL: calculateLevels() usa SL = low_de_la_vela_señal − 2.2×ATR (para BUY; simétrico para SELL), y luego TP1/TP2/TP3 son múltiplos de la distancia entry→SL: TP1 = entry + distancia×0.5, TP2 = entry + distancia×1.0, TP3 = entry + distancia×2.0 (ratio riesgo:beneficio 0.5:1, 1:1, 2:1).
Entry Blocks del Builder
El Strategy Builder expone Supertrend como 3 bloques de entrada independientes (backend/blocks/entries/supertrend.py):
Los tres bloques usan
factor=5.0/atr_period=10 como default — coinciden con el canónico de producción.
La inconsistencia conocida: factor 3.0 en el optimizador de bloques
Recetas
1. Leer Alpha Signals en el chart tal cual viene
1. Leer Alpha Signals en el chart tal cual viene
No hay nada que configurar —
factor/atrPeriod están ocultos y fijos en 5.0/10. Lo único ajustable visualmente son los filtros de contexto (EMA 200, ADX) y la presentación de TP/SL. Confiá en las señales del backend, no en un recálculo local.2. Armar una estrategia en el Builder con Supertrend + ADX
2. Armar una estrategia en el Builder con Supertrend + ADX
Usá el entry block
SupertrendWithADXEntry con min_adx=20 (default) para evitar señales en mercados sin tendencia clara. Si vas a optimizar el factor, recordá que el rango de búsqueda arranca en 3.0, no en 5.0 — comparalo contra el resultado con factor=5.0 fijo (el valor de producción) antes de asumir que el optimizado es mejor.3. Filtrar solo entradas con pullback confirmado
3. Filtrar solo entradas con pullback confirmado
SupertrendDirectionEntry con require_pullback=true (default) — exige que el precio haya retrocedido en las últimas 3 barras antes de dar la señal, evitando entradas en el primer impulso del cruce.Volver a la Visión General
Ver el resto de indicadores propios de la plataforma.