Estrategia comercial de promedio móvil inteligente con avance de tendencias de filtros múltiples

VWAP EMA RSI ADX ATR HTF SMA
Fecha de creación: 2024-12-20 15:49:05 Última modificación: 2024-12-20 15:49:05
Copiar: 0 Número de Visitas: 427
1
Seguir
1617
Seguidores

Estrategia comercial de promedio móvil inteligente con avance de tendencias de filtros múltiples

Descripción general

Esta estrategia es un sistema de comercio de ruptura de tendencia basado en una red de indicadores técnicos múltiples. Utiliza una combinación de indicadores técnicos, como el promedio móvil del índice (EMA), el precio promedio ponderado por volumen de transacción (VWAP), el índice de fuerza relativa (RSI) y el índice de tendencia promedio (ADX), para filtrar las rupturas falsas mediante la identificación de múltiples señales y mejorar la precisión de las operaciones.

Principio de estrategia

La lógica central de la estrategia se basa en los siguientes elementos clave:

  1. Sistema de determinación de tendencias: utiliza el cruce de EMA de 9 y 21 ciclos para capturar cambios en la tendencia a corto plazo, mientras que se refiere a la EMA de 50 ciclos de 15 minutos para confirmar la dirección de la tendencia más grande.
  2. Confirmación de la dinámica del precio: el indicador RSI se utiliza para confirmar la dinámica, el RSI> 55 requiere el RSI> 55 y el RSI < 45 requiere el RSI < 45.
  3. Validación de la fuerza de la tendencia: Introducción del indicador ADX para determinar la fuerza de la tendencia, requiriendo ADX> 25 para asegurar la efectividad de la tendencia.
  4. Verificación de posición del precio: utiliza el VWAP como referencia de la posición del precio y pide que el precio esté en la posición correcta del VWAP.
  5. Confirmación de volumen de transacciones: Se requiere un volumen de transacciones mayor a 1,5 veces el promedio de transacciones en 10 ciclos, para garantizar la participación suficiente en el mercado.
  6. Gestión de riesgos: el tamaño de las posiciones se calcula en función de la proporción fija del valor total de la cuenta y el ATR dinámico, utilizando 1.5 veces el ATR como parada y 3 veces el ATR como parada.

Ventajas estratégicas

  1. El mecanismo de confirmación de múltiples señales reduce considerablemente la interferencia de las señales falsas.
  2. La combinación de análisis de ciclos de tiempo altos y bajos mejora la precisión de las tendencias.
  3. La gestión dinámica de la posición y la configuración de los paradores de pérdidas permiten un buen control del riesgo.
  4. El uso de la ruptura de volumen de transacciones como confirmación de transacciones aumenta la fiabilidad de las transacciones.
  5. Los parámetros de la estrategia son muy ajustables, lo que facilita la optimización en función de las diferentes condiciones del mercado.

Riesgo estratégico

  1. Las redes múltiples pueden hacer que se pierdan oportunidades de negocio.
  2. Las señales de intercambio pueden ser frecuentes en mercados convulsionados.
  3. La optimización de los parámetros puede conducir a una sobreconfiguración de los datos históricos.
  4. El stop loss ATR puede ser excesivo en un mercado altamente volátil.

Dirección de optimización de la estrategia

  1. Introducción de un mecanismo de parámetros de adaptación que se ajuste a la dinámica de las condiciones del mercado.
  2. Se añade un módulo de identificación de entornos de mercado para usar diferentes combinaciones de parámetros en diferentes entornos de mercado.
  3. El filtro de tiempo de transacción se usa para evitar los períodos de mayor volatilidad.
  4. Optimización de la proporción de stop loss y stop loss, que puede considerarse ajustar en función de la dinámica de la volatilidad del mercado
  5. Aumentar la graduación de la intensidad de la tendencia, utilizando diferentes estrategias de gestión de posiciones para diferentes intensidades.

Resumir

La estrategia construye un sistema de negociación relativamente completo a través de la sinergia de múltiples indicadores técnicos. Su principal ventaja es la mejora de la precisión de las transacciones a través de la confirmación de señales multidimensionales, mientras que la adopción de métodos científicos de gestión de riesgos para proteger la seguridad de los fondos. Aunque tiene ciertas limitaciones, la estrategia espera obtener un rendimiento estable en las operaciones reales mediante la optimización y mejora continuas.

Código Fuente de la Estrategia
/*backtest
start: 2024-11-19 00:00:00
end: 2024-12-18 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Trend-Filtered Scalping Strategy", overlay=true, shorttitle="TFSS")

// Inputs
emaShort     = input.int(9, title="EMA Short", minval=1)
emaLong      = input.int(21, title="EMA Long", minval=1)
rsiLength    = input.int(14, title="RSI Length", minval=1)
atrLength    = input.int(14, title="ATR Length", minval=1)
adxLength    = input.int(20, title="ADX Length", minval=1)
adxSmoothing = input.int(14, title="ADX Smoothing", minval=1)
volMultiplier = input.float(1.5, title="Volume Spike Multiplier", minval=1.0)
riskPercent  = input.float(1, title="Risk % of Equity", minval=0.1, step=0.1)

// Higher Time Frame for Trend Filter
htfTimeframe = input.timeframe("15", title="Higher Time Frame")
ema50HTF     = request.security(syminfo.tickerid, htfTimeframe, ta.ema(close, 50))

// Indicators
ema9  = ta.ema(close, emaShort)
ema21 = ta.ema(close, emaLong)
vwap  = ta.vwap(close)
rsi   = ta.rsi(close, rsiLength)
atr   = ta.atr(atrLength)
volAvg = ta.sma(volume, 10)

// ADX Calculation with Smoothing
[_, _, adx] = ta.dmi(adxLength, adxSmoothing)

// Entry Conditions
longCondition = (ta.crossover(ema9, ema21) and close > vwap and rsi > 55 and adx > 25 and close > ema50HTF and volume > volAvg * volMultiplier)
shortCondition = (ta.crossunder(ema9, ema21) and close < vwap and rsi < 45 and adx > 25 and close < ema50HTF and volume > volAvg * volMultiplier)

// Position Sizing Based on Risk %
capitalPerTrade = (strategy.equity * (riskPercent / 100)) / atr
longStop  = close - 1.5 * atr
longTarget = close + 3 * atr
shortStop = close + 1.5 * atr
shortTarget = close - 3 * atr

// Entry Logic
if longCondition and not strategy.opentrades
    strategy.entry("Long", strategy.long, qty=capitalPerTrade)
    strategy.exit("Exit Long", from_entry="Long", stop=longStop, limit=longTarget)

if shortCondition and not strategy.opentrades
    strategy.entry("Short", strategy.short, qty=capitalPerTrade)
    strategy.exit("Exit Short", from_entry="Short", stop=shortStop, limit=shortTarget)

// Alerts
alertcondition(longCondition, title="Long Entry Alert", message="Long Condition Triggered!")
alertcondition(shortCondition, title="Short Entry Alert", message="Short Condition Triggered!")

// Plot Indicators
plot(ema9, title="EMA 9", color=color.green)
plot(ema21, title="EMA 21", color=color.red)
plot(vwap, title="VWAP", color=color.blue)
plot(ema50HTF, title="HTF EMA 50", color=color.purple)
hline(55, "RSI Long Threshold", color=color.green)
hline(45, "RSI Short Threshold", color=color.red)