Estrategia cuantitativa de seguimiento de tendencias multifactorial

SAR EMA RSI ADX ATR
Fecha de creación: 2025-04-24 17:23:29 Última modificación: 2025-04-24 17:23:29
Copiar: 0 Número de Visitas: 355
2
Seguir
319
Seguidores

Estrategia cuantitativa de seguimiento de tendencias multifactorial Estrategia cuantitativa de seguimiento de tendencias multifactorial

Descripción general

La estrategia es un sistema de seguimiento de tendencias multifactorial que combina el indicador de giro de la línea de parálisis (SAR), el promedio móvil del índice (EMA), el índice de fuerza relativa (RSI) y el índice de tendencia promedio (ADX). Identifica la dirección potencial de la tendencia a través de la interacción de varios indicadores técnicos y emite operaciones cuando se confirma la tendencia. La estrategia de señales también utiliza un método de gestión de riesgo dinámico basado en el amplitud real media de la onda (ATR), el cálculo automático de los niveles de stop loss y stop loss.

Principio de estrategia

  1. Confirmación de la tendencia: confirma una tendencia alcista cuando el precio rompe la línea de paralelo hacia el indicador ((SAR) y el precio de cierre está por encima de la EMA rápida; confirma una tendencia bajista cuando el precio cae por debajo de la SAR y el precio de cierre está por debajo de la EMA rápida.
  2. El filtro de potenciaUtiliza el indicador RSI para filtrar las señales, requiere que el RSI sea mayor a 60 en el tiempo de la operación y menor a 40 en el tiempo de la operación, asegurando que las operaciones se realicen en la dirección de mayor impulso.
  3. Prueba de fuerza de tendenciaEn el caso de las inversiones en el mercado de divisas, se debe tener en cuenta que las inversiones en el mercado de divisas se realizan en el mercado de divisas y no en el mercado de divisas.
  4. Gestión de riesgosEl tamaño de la posición se calcula en función del ATR: stop loss dinámico ((1,5 veces el ATR) y stop loss ((2 veces el ATR)), y el tamaño de la posición se calcula en función del porcentaje fijo de fondos de la cuenta (el 2% por defecto).

Ventajas estratégicas

  1. Verificación de múltiples factoresA través de la verificación múltiple de los cuatro indicadores SAR, EMA, RSI y ADX, la calidad de la señal se ha mejorado significativamente.
  2. Gestión de riesgos dinámicosLa suspensión de pérdidas basada en ATR se adapta automáticamente a los cambios en la volatilidad del mercado.
  3. Filtrado de intensidad de tendenciaEl ADX se desvaloriza para filtrar falsas rupturas y solo se puede operar en mercados con tendencias fuertes.
  4. Cálculo automático de posicionesLa gestión de posiciones basada en el riesgo garantiza que cada operación tenga un riesgo uniforme.
  5. La respuesta visual es clara.La imagen muestra las señales de intercambio a través de un colorido fondo.

Riesgo estratégico

  1. Riesgo de retrasoLa SAR y la EMA son indicadores de seguimiento de la tendencia y pueden retrasarse si la tendencia se invierte.
  2. Sensibilidad de los parámetrosLa configuración de períodos cortos de la longitud RSI ((6) y el ciclo EMA ((2) puede causar un exceso de negociación.
  3. Riesgo de una caída del ADX: el umbral fijo de ADX ((30) puede ser inestable en diferentes condiciones de mercado.
  4. La volatilidad aumenta el riesgoLa fijación del ATR multiplicado puede causar una pérdida excesiva durante las fluctuaciones extremas.
    Soluciones
  • Optimización dinámica de los parámetros del umbral ADX y el RSI
  • Aumentar los filtros de volatilidad (como el índice VIX)
  • Adoptando una gestión progresiva de posiciones en lugar de un porcentaje fijo

Dirección de optimización

  1. Parámetros dinámicos: Cambiar los parámetros fijos por los parámetros dinámicos basados en el estado del mercado, como el uso de la volatilidad para ajustar el ATR multiplicado
  2. Integración del aprendizaje automático: Optimización de la combinación de parámetros del indicador con el modelo de entrenamiento de datos históricos.
  3. Confirmación del marco temporal múltipleLa tendencia a un marco de tiempo más alto se confirma.
  4. Filtrado de ondas anormalesEl sitio web de la compañía, que también es propietario de la plataforma, dice que la compañía ha suspendido las operaciones antes y después de los eventos noticiosos.
  5. Estrategias de salida combinadasEl sistema de suspensión de pagos es el sistema de suspensión de pagos más popular en el mundo.

Resumir

Esta estrategia de tendencia multifactorial se destaca en los mercados de tendencia a través de la sinergia de indicadores y la gestión estricta del riesgo. La ventaja central reside en la verificación múltiple de la señal y el control dinámico del riesgo, pero hay que tener en cuenta la sensibilidad de sus parámetros y el riesgo de retraso.

Código Fuente de la Estrategia
/*backtest
start: 2024-04-23 00:00:00
end: 2024-12-31 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"DOGE_USDT"}]
*/

//@version=5
strategy("🚀 Estrategia SAR+EMA+RSI con Alertas", overlay=true)

// ———— PARÁMETROS ————
riskPerTrade = input.float(2.0, title="Riesgo por operación (%)", minval=0.5, step=0.5)
sarStart = input.float(0.02, title="SAR Start", minval=0.001)
sarIncrement = input.float(0.02, title="SAR Increment", minval=0.001)
sarMax = input.float(0.2, title="SAR Max", minval=0.1)
rsiLength = input.int(6, title="RSI Length", minval=3, maxval=10)
emaFastLength = input.int(2, title="EMA Rápida", minval=1, maxval=5)
adxThreshold = input.int(30, title="ADX mínimo", minval=20, maxval=50)
atrMultiplier = input.float(1.5, title="Multiplicador ATR para SL", step=0.1)

// ———— INDICADORES ————
sar = ta.sar(sarStart, sarIncrement, sarMax)
emaFast = ta.ema(close, emaFastLength)
rsi = ta.rsi(close, rsiLength)
[diplus, diminus, adx] = ta.dmi(14, 14) // Ahora pasamos length y adxSmoothing

atr = ta.atr(14)

// ———— CONDICIONES ————
longCondition = ta.crossover(close, sar) and close > emaFast and rsi > 60 and adx >= adxThreshold
shortCondition = ta.crossunder(close, sar) and close < emaFast and rsi < 40 and adx >= adxThreshold

// ———— FUNCIÓN MENSAJE ALERTA ————
getAlertMessage(isLong) =>
    slPoints = atr * atrMultiplier
    message = (isLong ? "🚀 COMPRA " : "🔻 VENTA ") + syminfo.ticker + "\n" +
      "Precio: " + str.tostring(math.round(close, 2)) + "\n" +
      "SL: " + str.tostring(math.round(isLong ? (close - slPoints) : (close + slPoints), 2)) + "\n" +
      "TP: " + str.tostring(math.round(isLong ? (close + slPoints * 2) : (close - slPoints * 2), 2)) + "\n" +
      "RSI: " + str.tostring(math.round(rsi, 1)) + "\n" +
      "ADX: " + str.tostring(math.round(adx, 1))
    message

// ———— ALERTAS ————
if (longCondition)
    alert(getAlertMessage(true), alert.freq_once_per_bar_close)

if (shortCondition)
    alert(getAlertMessage(false), alert.freq_once_per_bar_close)



if (longCondition)
    alert(getAlertMessage(true), alert.freq_once_per_bar_close)

if (shortCondition)
    alert(getAlertMessage(false), alert.freq_once_per_bar_close)

// ———— ENTRADAS DE ESTRATEGIA ————
riskAmount = strategy.equity * (riskPerTrade / 100)
slPoints = atr * atrMultiplier
qty = riskAmount / close

if (longCondition)
    strategy.entry("Long", strategy.long, qty=qty)
    strategy.exit("Exit Long", "Long", stop=close - slPoints, limit=close + slPoints * 2)

if (shortCondition)
    strategy.entry("Short", strategy.short, qty=qty)
    strategy.exit("Exit Short", "Short", stop=close + slPoints, limit=close - slPoints * 2)

// ———— VISUALIZACIÓN ————
plot(sar, title="SAR", color=color.red, style=plot.style_cross)
plot(emaFast, title="EMA Rápida", color=color.blue)
bgcolor(longCondition ? color.new(color.green, 90) : shortCondition ? color.new(color.red, 90) : na)