Lección 222 min60 XPGratis
Indicadores: qué calculan de verdad y por qué la mitad son la misma cosa
Al terminar sabrás
- Calcular a mano una media móvil, un ATR y un RSI a partir de una tabla de precios
- Clasificar los indicadores por lo que miden (tendencia, volatilidad, momentum, volumen)
- Entender por qué añadir indicadores redundantes no añade información
Antes de esta conviene haber hecho TradingView: el gráfico, las velas y los timeframes.
Hay más de cien indicadores en TradingView y casi todos son funciones sencillas del precio de las últimas N barras. Una vez que sabes qué calcula cada uno, el RSI deja de ser un oráculo y pasa a ser lo que es: una media de subidas dividida por una media de bajadas, reescalada a 0-100. Esta lección te enseña a leer indicadores como fórmulas, que es la única forma de usarlos sin engañarte.
El problema
El principiante apila indicadores hasta que el gráfico parece un árbol de Navidad, y cree que cinco señales que coinciden son cinco confirmaciones. Suelen ser la misma señal cinco veces, porque casi todos los indicadores de una familia son transformaciones de los mismos cierres. Y ninguno ve el futuro: todos miran hacia atrás, y cuanto más suaves, más tarde llegan.
Tres capas
Intuición
Un indicador es una forma de resumir lo que ha hecho el precio en las últimas N velas con un solo número, para que tu ojo no tenga que hacerlo. Hay cuatro preguntas que puedes hacerle al pasado reciente, y cada familia de indicadores responde a una:
- ¿Hacia dónde ha ido? Medias móviles, MACD. Suavizan el precio para ver la dirección sin el ruido. Precio: llegan tarde, porque promediar es mirar hacia atrás.
- ¿Cuánto se ha movido? ATR, bandas de Bollinger, desviación típica. Miden el tamaño de los movimientos, no su dirección. Son la volatilidad de M0.1.3 con otro nombre.
- ¿Con qué fuerza? RSI, estocástico, momentum. Comparan las subidas recientes con las bajadas. "Sobrecomprado" solo quiere decir que ha subido mucho últimamente; no dice que vaya a bajar.
- ¿Cuánta gente? Volumen, OBV, perfil de volumen. Cuántos contratos se han negociado, y dónde.
Si pones tres indicadores de la misma familia, tienes la misma respuesta tres veces. La información nueva solo viene de cambiar de pregunta.
Ejemplo numérico
Diez cierres de MES (la serie común del Nivel 0): 100, 102, 99, 101, 105, 103, 98, 96, 100, 104.
Media móvil simple de 5 (SMA5) en la última barra: (103 + 98 + 96 + 100 + 104) / 5 = 100,2. En la barra anterior: (105 + 103 + 98 + 96 + 100) / 5 = 100,4. La media baja 0,2 aunque el precio subió 4: eso es el retardo.
ATR de 5 (con solo cierres, usamos el rango |cierre − cierre anterior| como aproximación; el ATR real usa máximos y mínimos): rangos de las últimas 5 barras: |103−105| = 2, |98−103| = 5, |96−98| = 2, |100−96| = 4, |104−100| = 4 → media 3,4 puntos. Es "cuánto se mueve una barra típica": tu unidad natural para stops y tamaño.
RSI de 5 (versión simple, con medias aritméticas): en las últimas 5 variaciones (−2, −5, −2, +4, +4), las subidas suman 8 y las bajadas 9. Media de subidas 1,6; media de bajadas 1,8. RS = 1,6 / 1,8 = 0,889. RSI = 100 − 100 / (1 + 0,889) = 47,1. Cerca de 50: ni sobrecomprado ni sobrevendido, aunque las dos últimas barras fueran fuertes. El RSI tiene memoria de las bajadas anteriores.
Formal
Con el cierre en :
- SMA: . Filtro lineal de respuesta finita con retardo de grupo barras: una SMA de 20 "ve" el precio de hace 9,5 barras.
- EMA: , con . Filtro recursivo; da más peso a lo reciente, menor retardo efectivo que la SMA del mismo y memoria infinita (depende de toda la historia, con pesos decrecientes). El "N" de una EMA no es una ventana: es una convención de escala.
- True Range: ; ATR = media (Wilder usa una EMA con ) de los . Es un estimador de volatilidad en unidades de precio; ATR/precio es comparable con la desviación típica de retornos de M0.1.3.
- RSI: con y , (Wilder: medias exponenciales con ) y . Es una transformación monótona de la razón entre subidas y bajadas recientes. Los umbrales 30/70 son convenciones, no propiedades estadísticas.
- Bandas de Bollinger: con la desviación típica muestral de los últimos cierres, por defecto. Es la media más/menos dos volatilidades: el "precio toca la banda" es "el precio está a dos desviaciones de su media de 20", un evento que con retornos normales ocurre un 5 % del tiempo y con retornos reales, más.
- MACD: , y su "señal" es la EMA de 9 de esa diferencia. Es una diferencia de dos filtros pasa-bajos: un filtro pasa-banda del precio. Correlaciona altísimo con cualquier otro indicador de momentum.
Redundancia. Todos los indicadores anteriores son funciones deterministas de la misma serie (o ). Dos indicadores de la misma familia con parámetros parecidos tienen correlación cercana a 1; cinco indicadores de momentum "confirmando" una señal aportan tanta evidencia independiente como uno. La información nueva viene de otra fuente (volumen, libro, otros activos) o de otra escala temporal, no de otra fórmula sobre los mismos cierres.
Lo que no hacen. Ningún indicador contiene información sobre el futuro que no esté ya en los precios pasados. Que una regla basada en un indicador tenga edge es una hipótesis (M0.1.5) que se prueba con la batería del Nivel 3, y la gran mayoría no la pasa (Aronson, 2006, sobre reglas técnicas; en E0).
Ejemplo trabajado con código
# pandas 3.0 · numpy 2.4 — SMA, EMA, ATR aproximado y RSI sobre la serie común del Nivel 0
import pandas as pd, numpy as np
c = pd.Series([100, 102, 99, 101, 105, 103, 98, 96, 100, 104], dtype=float)
sma5 = c.rolling(5).mean()
ema5 = c.ewm(span=5, adjust=False).mean()
tr = c.diff().abs() # aproximación con cierres; el ATR real usa H, L y C
atr5 = tr.rolling(5).mean()
d = c.diff(); u = d.clip(lower=0); dn = (-d).clip(lower=0)
rsi5 = 100 - 100 / (1 + u.rolling(5).mean() / dn.rolling(5).mean())
print(pd.DataFrame({"cierre": c, "sma5": sma5, "ema5": ema5, "atr5~": atr5, "rsi5": rsi5}).round(2).to_string())
validos = rsi5.notna()
corr = np.corrcoef(rsi5[validos], (c - sma5)[validos])[0, 1]
print(f"\nCorrelación entre RSI5 y (cierre − SMA5) en las barras con dato: {corr:.2f} -> comparten buena parte de la información (con series largas la correlación sube a 0,8-0,9)")cierre sma5 ema5 atr5~ rsi5
0 100.0 NaN 100.00 NaN NaN
1 102.0 NaN 100.67 NaN NaN
2 99.0 NaN 100.11 NaN NaN
3 101.0 NaN 100.41 NaN NaN
4 105.0 101.4 101.94 NaN NaN
5 103.0 102.0 102.29 2.6 61.54
6 98.0 101.2 100.86 3.2 37.50
7 96.0 100.6 99.24 3.0 40.00
8 100.0 100.4 99.49 3.4 47.06
9 104.0 100.2 101.00 3.4 47.06
Correlación entre RSI5 y (cierre − SMA5) en las barras con dato: 0.61 -> comparten buena parte de la información (con series largas la correlación sube a 0,8-0,9)Con diez barras la correlación es moderada; con un año de datos el RSI y la distancia del precio a su media móvil se mueven casi a la par. Ejecútalo con 250 cierres reales en el ejercicio y compruébalo.
Figura
(Figura a generar desde el código de la lección; el SVG estático vale como alternativa.)
El error típico
Buscar "confirmación" apilando indicadores de la misma familia: RSI + estocástico + MACD + CCI, todos de momentum, todos calculados sobre los mismos cierres. Cuando los cuatro dicen "sobrecomprado" no tienes cuatro pruebas, tienes una. Y el segundo error, más caro: usar los umbrales por defecto (RSI 70/30, Bollinger 2σ) como si fueran leyes. Son valores que alguien eligió en los años 70 para el mercado de acciones diario. En una estrategia real, el umbral es un parámetro, y cada parámetro que optimizas es una oportunidad de sobreajuste (Nivel 3). Menos indicadores, bien entendidos, con parámetros justificados por la volatilidad del mercado, no por la costumbre.
Quiz
5 preguntas · se aprueba con 60 %
1.Una SMA de 20 barras tiene un retardo aproximado de:
2.RSI de 14 en 78. ¿Qué sabes?
3.¿Qué familia mide el ATR?
4.Añades MACD a un gráfico que ya tiene RSI y estocástico. Información nueva:
5.Las bandas de Bollinger con k = 2 se tocan "un 5 % del tiempo" si:
0 de 5 respondidas
Ejercicio
En TradingView, añade a tu layout "ALX N0" una EMA de 20, un ATR de 14 y un RSI de 14. Abre la configuración de cada uno y localiza la fórmula en su descripción o en el código fuente (botón de "código fuente" en los indicadores integrados). Después, en Python, con el script de la lección, cambia la serie por 20 cierres reales que copies de TradingView y comprueba que tu SMA5 coincide con la que dibuja la plataforma (con la opción SMA, no EMA, y fuente "close").
Resultado verificable: las SMA deben coincidir al decimal. La EMA de TradingView puede diferir en las primeras barras porque inicializa distinto; converge en pocas barras. Si el ATR no cuadra, es porque tu versión usa solo cierres: implementa el True Range con máximos y mínimos y volverá a cuadrar.
Qué te llevas
- Un indicador es una fórmula sobre los últimos N precios. Léela antes de usarlo.
- Cuatro familias, cuatro preguntas: dirección, tamaño, fuerza, cantidad. Dos indicadores de la misma familia son la misma respuesta.
- Los umbrales por defecto son convenciones históricas. En una estrategia son parámetros, y cada parámetro es un riesgo de sobreajuste.
Siguiente lección: Alertas: que TradingView te avise, y luego que avise a tu bot. Alertas de precio, de indicador y de estrategia, con webhooks a Telegram.
