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

Estrategia de cruce de cambio de impulso medio adaptativo

El autor:¿ Qué pasa?, Fecha: 2025-01-10 15:26:18
Las etiquetas:La ROC- ¿ Qué?La SMA

Adaptive Momentum Mean-Reversion Crossover Strategy

Resumen general

Esta estrategia es un sistema de negociación híbrido que combina las teorías de impulso y reversión media. Identifica las condiciones de sobrecompra y sobreventa del mercado utilizando el indicador de tasa de cambio (ROC) y las bandas de Bollinger, activando operaciones cuando se cruzan umbrales específicos. El concepto central es detectar cambios de impulso y capitalizar las reversiones de precios a su media.

Principios de estrategia

La estrategia emplea un indicador de ROC de 2 períodos para calcular los cambios de precios a corto plazo, junto con dos conjuntos de Bandas de Bollinger: a corto plazo (18 períodos, 1.7 desviaciones estándar) para condiciones de sobreventa y señales de entrada, y a largo plazo (21 períodos, 2.1 desviaciones estándar) para condiciones de sobreventa y señales de salida.

Ventajas estratégicas

  1. Alta adaptabilidad: Las bandas de Bollinger ajustan automáticamente su anchura en función de la volatilidad del mercado, manteniendo su eficacia en diferentes condiciones de mercado
  2. Control de riesgos sólido: la pirámide está desactivada (pirámide = 0), garantizando solo una posición a la vez
  3. Señales confiables: la combinación de estrategias de impulso y de reversión promedio permite una mejor identificación de los puntos de inflexión del mercado
  4. Práctica: incluye los costes de transacción y consideraciones de deslizamiento para las condiciones reales de negociación.

Riesgos estratégicos

  1. El riesgo de mercado alterado: puede generar operaciones frecuentes que conducen a pérdidas en mercados de rango.
  2. Riesgo de ruptura falsa: el indicador ROC puede producir falsas señales de ruptura
  3. Sensibilidad del parámetro: el rendimiento de la estrategia depende en gran medida de las bandas de Bollinger y de la configuración del parámetro ROC.
  4. Dependencia del entorno del mercado: la estrategia tiene un mejor rendimiento en los mercados de tendencia, pero puede fallar durante la volatilidad extrema

Direcciones para la optimización de la estrategia

  1. Introduzca el filtro de tendencias: agregue promedios móviles a largo plazo para filtrar las tendencias del mercado y mejorar la precisión direccional
  2. Optimizar parámetros: realizar pruebas de retroceso de datos históricos para encontrar combinaciones óptimas de parámetros de período ROC y bandas de Bollinger
  3. Mecanismos adicionales de suspensión de pérdidas: Implementar suspensiones fijas o tardías para controlar el riesgo
  4. Incluir la confirmación del volumen: Incorporar indicadores de volumen para validar las diferencias de precios

Resumen de las actividades

La Estrategia Crossover de Reversión de Momentum Adaptativo construye un sistema de negociación capaz de adaptarse a diferentes entornos de mercado mediante la combinación de indicadores ROC y bandas de Bollinger duales.


/*backtest
start: 2019-12-23 08:00:00
end: 2025-01-08 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=6
strategy("Adaptive Momentum Reversion Strategy ", overlay=false, initial_capital=50000, pyramiding=0, commission_type=strategy.commission.cash_per_contract, commission_value=0.05, slippage=1)

// Input: ROC Period
rocPeriod = input.int(2, title="ROC Period", minval=1)

// Input: Bollinger Bands Settings (Lower Band)
bbLowerLength = input.int(18, title="Lower Bollinger Band Length", minval=1)
bbLowerStdDev = input.float(1.7, title="Lower Bollinger Band StdDev", minval=0.1, step=0.1)

// Input: Bollinger Bands Settings (Upper Band)
bbUpperLength = input.int(21, title="Upper Bollinger Band Length", minval=1)
bbUpperStdDev = input.float(2.1, title="Upper Bollinger Band StdDev", minval=0.1, step=0.1)

// ROC Calculation
rocValue = (close - close[rocPeriod]) / close[rocPeriod] * 100

// Bollinger Bands Calculation
bbLowerBasis = ta.sma(rocValue, bbLowerLength)  // Basis for Lower Band
bbLower = bbLowerBasis - bbLowerStdDev * ta.stdev(rocValue, bbLowerLength)  // Lower Band

bbUpperBasis = ta.sma(rocValue, bbUpperLength)  // Basis for Upper Band
bbUpper = bbUpperBasis + bbUpperStdDev * ta.stdev(rocValue, bbUpperLength)  // Upper Band

// Plot ROC
plot(rocValue, color=color.blue, linewidth=2, title="ROC Value")

// Plot Bollinger Bands
plot(bbLowerBasis, color=color.gray, linewidth=1, title="Lower BB Basis (SMA)")
plot(bbLower, color=color.green, linewidth=1, title="Lower Bollinger Band")
plot(bbUpperBasis, color=color.gray, linewidth=1, title="Upper BB Basis (SMA)")
plot(bbUpper, color=color.red, linewidth=1, title="Upper Bollinger Band")

// Add Zero Line for Reference
hline(0, "Zero Line", color=color.gray, linestyle=hline.style_dotted)

// Entry Condition: Long when ROC crosses above the lower Bollinger Band
longCondition = ta.crossover(rocValue, bbLower)
if (longCondition)
    strategy.entry("Long", strategy.long)

// Exit Condition: Exit on Upper Bollinger Band Cross or ROC drops below Lower Band again
exitCondition = ta.crossunder(rocValue, bbUpper)
if (exitCondition)
    strategy.close("Long")

// Background Color for Extreme Conditions
bgcolor(rocValue > bbUpper ? color.new(color.red, 80) : na, title="Overbought (ROC above Upper BB)")
bgcolor(rocValue < bbLower ? color.new(color.green, 80) : na, title="Oversold (ROC below Lower BB)")

Relacionados

Más.