Indicadores de Momentum

Schaff Trend Cycle: Smoothed Momentum | AlfaTactix

📖 7 min read

📝 1,328 words

🏷️ Indicadores de Momentum

En esta página: qué es Schaff Trend Cycle, cómo funciona, cuándo usarlo, un ejemplo práctico con código y un consejo extra.

Usa Schaff Trend Cycle en una estrategia real, sin programar

Crea una cuenta gratis para guardar tu progreso y construir estrategias con este indicador y más de 80 en minutos. Backtest y exporta a MQL5.


Schaff Trend Cycle on a price chart: illustration of the indicator and how it is used in technical analysis
Schaff Trend Cycle – chart illustration

Explicación del Indicador Schaff Trend Cycle

El Schaff Trend Cycle (STC) es un oscilador de momentum que combina la fórmula MACD con un oscilador estocástico doble-suavizado para identificar cambios de tendencia y cambios de momentum con ruido reducido. Desarrollado por Doug Schaff en 1999, el STC aplica suavizado exponencial dos veces tanto a la línea MACD como a un cálculo de oscilador estocástico, creando un indicador de momentum altamente suavizado que oscila entre 0 y 100. Valores por encima de 75 típicamente indican momentum alcista fuerte, mientras que valores por debajo de 25 típicamente indican momentum bajista fuerte. El doble suavizado y la normalización estocástica ayudan a reducir señales falsas y proporcionan lecturas de momentum más confiables.

Cómo Funciona el Schaff Trend Cycle: El STC se calcula primero calculando un MACD rápido (típicamente 12/26 períodos) y un MACD lento (típicamente 50/200 períodos), luego creando un oscilador estocástico a partir de estos valores MACD. El cálculo estocástico es: %K = 100 × (MACD Actual - MACD Más Bajo durante n períodos) / (MACD Más Alto - MACD Más Bajo durante n períodos), típicamente usando 10 períodos. Luego, se aplica un suavizado exponencial doble: STC = EMA(EMA(%K, período_rápido), período_lento), típicamente usando 23 y 50 períodos para suavizado. El resultado oscila entre 0 y 100, con valores por encima de 75 indicando condiciones de sobrecompra y valores por debajo de 25 indicando condiciones de sobreventa. La combinación de MACD y estocástico con doble suavizado crea un indicador de momentum altamente refinado.

Cuándo Usar el Schaff Trend Cycle:

  • Identificación de Cambio de Tendencia: El STC es altamente efectivo para identificar cambios de tendencia cuando cruza por encima de 75 (indicando momentum alcista fuerte) o por debajo de 25 (indicando momentum bajista fuerte). El doble suavizado reduce señales falsas en comparación con osciladores de momentum estándar.
  • Identificación de Sobrecompra/Sobreventa: Valores de STC por encima de 75 indican condiciones de sobrecompra (momentum alcista fuerte que puede estar agotado), mientras que valores por debajo de 25 indican condiciones de sobreventa (momentum bajista fuerte que puede estar agotado). Sin embargo, el STC puede permanecer en territorio extremo durante tendencias fuertes.
  • Señales de Cambio de Momentum: Los cruces del STC con líneas de señal (típicamente EMA de 3 períodos del STC) generan señales de compra y venta. Cuando el STC cruza por encima de su línea de señal mientras está por encima de 25, genera una señal alcista, y cuando cruza por debajo de su línea de señal mientras está por debajo de 75, genera una señal bajista.

Ventajas:

  • Proporciona señales de momentum altamente suavizadas con ruido mínimo a través de suavizado exponencial doble y normalización estocástica, haciéndolo menos propenso a señales falsas que los osciladores de momentum estándar. La combinación de MACD y estocástico crea una lectura de momentum refinada.
  • Funciona efectivamente en múltiples timeframes y clases de activos, incluyendo acciones, forex, materias primas y criptomonedas. El doble suavizado lo hace particularmente útil para identificación de tendencia a medio y largo plazo.
  • Ayuda a identificar cambios de tendencia temprano a través de cruces de valor extremo y cruces de línea de señal, proporcionando señales claras para puntos de entrada y salida. El ruido reducido mejora la confiabilidad.

Limitaciones:

  • El STC puede retrasarse detrás de los movimientos del precio debido al suavizado doble extensivo, potencialmente perdiendo cambios tempranos de tendencia. Las múltiples capas de suavizado significan que el indicador responde más lentamente a los movimientos del precio que los indicadores menos suavizados, aunque esto también reduce señales falsas.
  • El indicador puede producir menos señales que los osciladores de momentum estándar debido al doble suavizado, lo que puede ser tanto una ventaja (menos señales falsas) como una desventaja (menos oportunidades de trading). Los traders que buscan señales más frecuentes pueden encontrar el STC demasiado conservador.
  • El STC no proporciona información sobre la dirección de la tendencia por sí solo, solo fuerza de momentum y puntos potenciales de reversión. Los traders deben combinarlo con indicadores de tendencia para análisis más completo.

En resumen, el Schaff Trend Cycle es un oscilador de momentum valioso que proporciona señales de momentum altamente suavizadas a través de suavizado exponencial doble y normalización estocástica, haciéndolo ideal para identificar cambios de tendencia mientras filtra el ruido del mercado. Para una comprensión integral, consulta el trabajo original de Schaff sobre el Schaff Trend Cycle, la guía de STC de Investopedia, la documentación de STC de TradingView, e investigación académica sobre osciladores de momentum en análisis técnico publicada en revistas como el Journal of Financial Markets y el Review of Financial Studies.

Ejemplo Práctico: Usando el Indicador Schaff Trend Cycle en una Estrategia de Trading

El Schaff Trend Cycle (STC) es un oscilador de momentum usado para identificar cambios de tendencia y cambios de momentum a través de análisis de MACD y estocástico doble-suavizado. En una estrategia de trading, el indicador STC ayuda a los traders a tomar decisiones de entrada y salida basadas en extremos de momentum y cruces de línea de señal.

Escenario: Estás creando una estrategia de seguimiento de tendencia para Oro (XAU/USD) en un gráfico diario. Quieres comprar cuando el STC cruza por encima de 25 y por encima de su línea de señal (indicando inicio de momentum alcista), y vender cuando cruza por debajo de 75 o por debajo de su línea de señal (indicando inicio de momentum bajista).

Lógica de la Estrategia:

  • Calcula el STC(12, 26, 50, 200, 10, 23, 50) usando MACD rápido (12/26), MACD lento (50/200), período estocástico (10), y doble suavizado (23, 50). El STC oscila entre 0 y 100, con valores por encima de 75 indicando condiciones de sobrecompra y valores por debajo de 25 indicando condiciones de sobreventa.
  • Señal de compra: Cuando el STC cruza por encima de 25 y por encima de su línea de señal, indicando inicio de momentum alcista con confirmación tanto del umbral como de la línea de señal.
  • Señal de venta: Cuando el STC cruza por debajo de 75 o por debajo de su línea de señal, indicando inicio de momentum bajista o debilitamiento del momentum alcista.

Ejemplo Backtrader:

import backtrader as bt

class STCTrendStrategy(bt.Strategy):
    params = dict(
        macd_fast=12,
        macd_slow=26,
        macd_slow_fast=50,
        macd_slow_slow=200,
        stoch_period=10,
        smooth1=23,
        smooth2=50,
        signal_period=3
    )
    
    def __init__(self):
        # Calcular MACD rápido
        fast_macd = bt.ind.MACD(period_me1=self.p.macd_fast, period_me2=self.p.macd_slow)
        # Calcular MACD lento
        slow_macd = bt.ind.MACD(period_me1=self.p.macd_slow_fast, period_me2=self.p.macd_slow_slow)
        # Cálculo de STC simplificado (implementación completa requiere doble suavizado de estocástico)
        # En la práctica, usa cálculo completo de STC
        self.stc = bt.ind.SchaffTrendCycle(
            fast=self.p.macd_fast,
            slow=self.p.macd_slow,
            stoch_period=self.p.stoch_period,
            smooth1=self.p.smooth1,
            smooth2=self.p.smooth2
        )
        self.signal = bt.ind.EMA(self.stc, period=self.p.signal_period)
        
    def next(self):
        if not self.position:
            # Comprar cuando el STC cruza por encima de 25 y la línea de señal
            if (self.stc[0] > 25 and self.stc[0] > self.signal[0] and 
                self.stc[-1] <= self.signal[-1]):
                self.buy()
        else:
            # Vender cuando el STC cruza por debajo de 75 o la línea de señal
            if (self.stc[0] < 75 or 
                (self.stc[0] < self.signal[0] and self.stc[-1] >= self.signal[-1])):
                self.sell()

# Uso
cerebro = bt.Cerebro()
cerebro.addstrategy(STCTrendStrategy)

Resultado Esperado: Al usar el indicador Schaff Trend Cycle, tu estrategia identifica cambios de tendencia a través de análisis de momentum doble-suavizado, ayudándote a entrar en operaciones cuando el momentum se está construyendo y salir cuando el momentum se está debilitando. Este enfoque lleva a mejores entradas de seguimiento de tendencia, mejor confiabilidad de señal, y mejor consistencia al filtrar señales falsas a través de suavizado extensivo.

💡 Bonus Tip

Considera usar STC en combinación con análisis de acción del precio para confirmación. Cuando el STC cruza por encima de 25 y el precio rompe por encima de un nivel de resistencia clave, sugiere momentum alcista fuerte con mayor probabilidad de continuación de tendencia. Esta técnica, documentada en la metodología original de Schaff, puede mejorar significativamente la precisión de las estrategias de trading basadas en STC.

Usar el indicador Schaff Trend Cycle asegura que tu estrategia capture cambios de momentum efectivamente con ruido mínimo, mejorando el timing de entrada y salida basado en análisis de momentum altamente suavizado.

Usa Schaff Trend Cycle en una estrategia real, sin programar

Crea una cuenta gratis para guardar tu progreso y construir estrategias con este indicador y más de 80 en minutos. Backtest y exporta a MQL5.

Probar Strategy Builder

Usa este indicador en Strategy Builder — gratis

Crear cuenta gratis