En la carga de los recursos... Cargando...

Estrategia de negociación de promedios móviles inteligentes de avance de tendencia con múltiples filtros

El autor:¿ Qué pasa?, Fecha: 2024-12-20 15:49:05
Las etiquetas:VWAPEl EMAIndicador de riesgoADXEl ATREl HTFLa SMA

img

Resumen general

Esta estrategia es un sistema de negociación de avance de tendencia basado en múltiples filtros de indicadores técnicos. Combina múltiples indicadores técnicos, incluido el promedio móvil exponencial (EMA), el precio promedio ponderado por volumen (VWAP), el índice de fuerza relativa (RSI), el índice direccional promedio (ADX), etc., para filtrar las fallas a través de múltiples confirmaciones de señales y mejorar la precisión de la negociación. La estrategia también incorpora un juicio de tendencia de mayor marco de tiempo y emplea un esquema dinámico de stop-loss y take-profit basado en ATR para un control eficaz del riesgo.

Principios de estrategia

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

  1. Sistema de juicio de tendencias: utiliza cruces de EMA de 9 y 21 períodos para capturar los cambios de tendencia a corto plazo, al tiempo que hace referencia a un marco de tiempo de 15 minutos con EMA de 50 períodos para confirmar la dirección de tendencia más amplia.
  2. Confirmación del impulso del precio: utiliza el indicador RSI para la confirmación del impulso, requiriendo RSI> 55 para compras largas y RSI<45 para cortas.
  3. Verificación de la fuerza de la tendencia: Incorpora el indicador ADX para juzgar la fuerza de la tendencia, requiriendo que ADX>25 para garantizar la validez de la tendencia.
  4. Verificación de la posición de precio: utiliza VWAP como referencia para la posición de precio, requiriendo que el precio esté en la posición correcta de VWAP.
  5. Confirmación del volumen: requiere que el volumen de operaciones sea 1,5 veces mayor que el volumen promedio de 10 períodos para garantizar una participación suficiente en el mercado.
  6. Gestión del riesgo: calcula dinámicamente el tamaño de la posición en función de un porcentaje fijo del capital de la cuenta y del ATR, utilizando un ATR de 1,5x para el stop-loss y un ATR de 3x para el take-profit.

Ventajas estratégicas

  1. El mecanismo de confirmación de múltiples señales reduce en gran medida la interferencia de las falsas señales.
  2. La combinación de análisis de marcos de tiempo más altos y más bajos mejora la precisión del juicio de tendencia.
  3. La gestión dinámica de las posiciones y la configuración stop-loss/take-profit permiten un buen control del riesgo.
  4. El uso de la ruptura de volumen como confirmación de operaciones mejora la fiabilidad de las operaciones.
  5. La gran capacidad de ajuste de los parámetros facilita la optimización para las diferentes condiciones del mercado.

Riesgos estratégicos

  1. Los filtros múltiples pueden hacer que se pierdan algunas oportunidades comerciales válidas.
  2. Puede generar señales comerciales frecuentes en mercados variados.
  3. La optimización de parámetros puede llevar a un sobreajuste de los datos históricos.
  4. Las paradas ATR pueden ser demasiado amplias en mercados altamente volátiles.

Direcciones para la optimización de la estrategia

  1. Introducir un mecanismo de parámetros adaptativos para ajustar dinámicamente los parámetros en función de las condiciones del mercado.
  2. Añadir el módulo de reconocimiento del entorno de mercado para utilizar diferentes combinaciones de parámetros en diferentes entornos de mercado.
  3. Incluir filtros de tiempo de negociación para evitar períodos de alta volatilidad.
  4. Optimizar los coeficientes de stop-loss y take-profit, teniendo en cuenta el ajuste dinámico basado en la volatilidad del mercado.
  5. Añadir la clasificación de la fortaleza de la tendencia para adoptar diferentes estrategias de gestión de posiciones en diferentes niveles de fortaleza.

Resumen de las actividades

Esta estrategia construye un sistema de negociación relativamente completo a través de la sinergia de múltiples indicadores técnicos. Su principal ventaja radica en mejorar la precisión de la negociación a través de la confirmación de señales multidimensionales al tiempo que emplea métodos científicos de gestión de riesgos para proteger la seguridad del capital. Aunque existen ciertas limitaciones, a través de la optimización y mejora continuas, esta estrategia tiene el potencial de lograr retornos estables en la negociación real.


/*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)


Relacionados

Más.