
La estrategia de comercio cuantitativo de medias móviles cruzadas de movimiento dinámico es un sistema de comercio que combina el indicador de tendencia superior (Supertrend) y el promedio móvil (Moving Average) (MA), utilizado principalmente para el comercio en el mercado de divisas en el marco de tiempo de 1 a 4 horas. La estrategia utiliza el cruce de precios con medias móviles como señal inicial, luego confirma la tendencia a través del indicador de tendencia superior, construyendo un sistema completo de entrada, parada y parada.
El principio central de la estrategia se basa en un sistema de seguimiento de tendencias de confirmación múltiple, que contiene principalmente los siguientes componentes clave:
Señales de cruce de la media móvilLa estrategia utiliza una media móvil simple (SMA) de 20 períodos (que se puede ajustar de 10 a 50) como línea de referencia. El precio que cruza esta media móvil se considera una señal potencial de cambio de tendencia. El sistema admite dos modos de cruce: cruce de cierre de precio (más conservador) o cruce de alto y bajo (más agresivo).
Indicadores de superpotencia confirmadosUtiliza un indicador de hipertensión de un factor de 2.8 (que se ajusta entre 2.0-3.5) y 10 ciclos (que se ajusta entre 5-20) como herramienta de confirmación de la dirección de la tendencia. El indicador de hipertensión muestra una tendencia alcista cuando está verde y una tendencia descendente cuando está rojo.
Logía de entrada:
Sistema de gestión de riesgos:
Mecanismo de confirmación múltiple: El sistema de doble confirmación, combinado con promedios móviles y indicadores de superpotencia, reduce efectivamente las señales falsas y mejora la precisión de las operaciones. En los mercados con una clara tendencia, esta doble confirmación puede filtrar eficazmente las señales engañosas en situaciones de agitación.
La adaptabilidad: Los parámetros de la estrategia tienen una alta adaptabilidad, incluyendo el ciclo de las medias móviles, el multiplicador de los indicadores de supervivencia y el ciclo de ATR, etc. Esto permite que la estrategia pueda ajustarse de manera óptima según los diferentes entornos y volatilidad del mercado. En particular, el rango de ajuste de 2.5 a 3.2 de los multiplicadores de los indicadores de supervivencia puede adaptarse a diferentes entornos de mercado con diferentes tasas de volatilidad.
Una buena gestión de riesgos: Sistema de suspensión de pérdidas dinámicas basado en ATR incorporado, que garantiza que el riesgo de cada transacción se controle dentro del rango predeterminado. La configuración fija de la proporción de riesgo y ganancia (RRR) de 3: 1 ayuda a la creación de rentabilidad a largo plazo.
Adaptación a la volatilidad: La estrategia ajusta automáticamente los objetivos de pérdidas y ganancias a través de los indicadores ATR, lo que le permite adaptarse a los cambios en la volatilidad del mercado. Establece un alto nivel de pérdidas en mercados de alta volatilidad y un nivel de pérdidas más bajo en mercados de baja volatilidad.
La frecuencia de las transacciones es moderada.La estrategia no se opera con frecuencia debido a la adopción de un mecanismo de confirmación múltiple, lo que reduce los costos de transacción y el riesgo de sobre-transacción.
Identificación tardía de las inversiones de tendencia: Como estrategia de seguimiento de tendencias, puede haber problemas de identificación tardía en los inicios de la reversión de tendencias, lo que hace que el punto de entrada no sea lo suficientemente ideal. La solución es considerar agregar indicadores de señales tempranas más sensibles como auxiliares.
El mercado de la conmoción no ha funcionado bien: En mercados de recomposición horizontal sin una tendencia obvia, la estrategia puede generar operaciones perdedoras continuas. Se recomienda suspender la estrategia o cambiar a otro conjunto de parámetros diseñados específicamente para mercados de temblor cuando se identifique un mercado de temblor.
Sensibilidad de los parámetrosLos pequeños cambios en el multiplicador del indicador de hiperpotencia pueden tener un impacto significativo en el rendimiento de la estrategia. Es necesario determinar la configuración de los parámetros más adecuados para una variedad de operaciones y un marco de tiempo específicos a través de la retroalimentación.
Riesgo de una falsa brecha: La caída inmediata de los precios después de un breve cruce de la media móvil puede desencadenar una señal de error. Se puede considerar agregar un período de confirmación o una confirmación de movimiento de precios para reducir los daños causados por una falsa ruptura.
Dependencia del entorno de mercado: La estrategia funciona mejor en las horas de negociación de Londres y Nueva York, y puede no funcionar bien cuando la fluidez es menor en las horas de negociación de Asia. Se recomienda ajustar los parámetros según las horas de negociación o activar la estrategia selectivamente en un momento específico.
Introducción de los filtros de tiempo: El código puede ser optimizado para incluir un filtro de horario de negociación, ejecutando las operaciones sólo cuando están activas en las horas de negociación de Londres y Nueva York. Esto se puede lograr mediante la adición de la lógica de las condiciones de tiempo, evitando el entorno de mercado de baja liquidez.
Ajuste del factor de hiperpotencia dinámica: La estrategia actual utiliza un multiplicador de superpotencia fijo, que se puede mejorar para que los parámetros dinámicos se ajusten automáticamente en función de la volatilidad del mercado. Por ejemplo, se usa un valor multiplicador más alto durante la alta volatilidad (<3.0-3.2) y un valor más bajo durante la baja volatilidad (<2.5-2.7).
Mecanismo de optimización de la confirmación cruzadaConsidere el mecanismo de confirmación de que el precio agregado debe mantenerse por encima/por debajo de la media móvil durante un cierto tiempo o una cierta distancia para reducir las falsas rupturas. Se puede requerir que el precio permanezca en la misma dirección durante N períodos posteriores a la cruz.
Análisis integrado de la estructura del mercadoIntroducción de soportes resistentes o análisis de la estructura de precios para mejorar la calidad de entrada. Se pueden considerar señales de cruce que ocurren solo cerca de los principales soportes resistentes.
La adaptación a la gestión de riesgos: El RRR actual es fijo y se puede optimizar de manera que se ajuste a las condiciones del mercado. Por ejemplo, aumentar el RRR en un mercado de tendencia fuerte y disminuirlo en un mercado de tendencia más débil.
Análisis de marcos de tiempo múltiples: Introducción de la confirmación de tendencias en los marcos de tiempo más altos, por ejemplo, la señal de los marcos de tiempo más bajos se ejecuta solo cuando la dirección de la tendencia de la línea de sol coincide. Esto requiere la adición de la función de análisis de marcos de tiempo múltiples.
La estrategia de comercio cuantitativo de medias cruzadas móviles dinámicas de superposición se basa en una combinación de señales de medias cruzadas móviles y confirmación de indicadores de superposición, lo que crea un sistema de seguimiento de tendencias relativamente sólido. La estrategia es especialmente adecuada para su aplicación en los gráficos de 1 a 4 horas de los principales pares de divisas, como EUR / USD y GBP / USD, y funciona mejor en las horas de negociación de Londres y Nueva York.
La ventaja central de la estrategia reside en su mecanismo de confirmación múltiple y su sistema de gestión de riesgos, que proporciona un marco sistematizado para el comercio a través de la proporción de retorno de riesgo predeterminado y la configuración de stop loss basada en la volatilidad. Sin embargo, como un sistema de seguimiento de tendencias, puede no funcionar bien en mercados convulsionados y existe el riesgo inherente de identificar retrasos en la reversión de tendencias.
La estabilidad y adaptabilidad de la estrategia se pueden mejorar aún más mediante la dirección de optimización de la implementación de las recomendaciones, en particular mediante la introducción de filtros de tiempo, ajustes de parámetros dinámicos y análisis de múltiples marcos de tiempo. Finalmente, la estrategia proporciona a los operadores cuantitativos un marco básico fiable que se puede personalizar y ampliar según las preferencias de riesgo personales y las condiciones del mercado.
/*backtest
start: 2025-01-01 00:00:00
end: 2025-04-26 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Islamabad Forex Academy Strategy-1",
overlay=true,
margin_long=100,
margin_short=100,
initial_capital=10000,
default_qty_type=strategy.percent_of_equity,
default_qty_value=15,
commission_type=strategy.commission.percent,
commission_value=0.03,
pyramiding=0)
// ===== CORE PARAMETERS =====
maLength = input.int(20, "Moving Average Length", minval=10, maxval=50)
atrPeriod = input.int(10, "ATR Period", minval=5, maxval=20)
supertrendFactor = input.float(2.8, "Supertrend Multiplier", step=0.1, minval=2.0, maxval=3.5)
rrRatio = input.float(3.0, "Risk:Reward Ratio", minval=2.0, maxval=5.0)
useCloseFilter = input.bool(true, "Require Close Cross MA")
// ===== CALCULATIONS =====
// Single Moving Average
ma = ta.sma(close, maLength)
// Supertrend with tighter settings
[supertrendLine, supertrendDir] = ta.supertrend(supertrendFactor, atrPeriod)
// Trend Conditions
uptrend = supertrendDir < 0 // Supertrend green
downtrend = supertrendDir > 0 // Supertrend red
// Entry Logic - Price must cross MA and stay beyond it
maCrossUp = useCloseFilter ? ta.crossover(close, ma) : ta.crossover(high, ma)
maCrossDown = useCloseFilter ? ta.crossunder(close, ma) : ta.crossunder(low, ma)
// Confirm with Supertrend
longCondition = maCrossUp and uptrend
shortCondition = maCrossDown and downtrend
// ===== RISK MANAGEMENT =====
atrValue = ta.atr(atrPeriod)
stopDistance = atrValue * 1.8
profitDistance = stopDistance * rrRatio
// ===== EXECUTION =====
if (longCondition)
strategy.entry("Long", strategy.long)
strategy.exit("Exit Long", "Long",
stop=close - stopDistance,
limit=close + profitDistance,
when=strategy.position_size > 0)
if (shortCondition)
strategy.entry("Short", strategy.short)
strategy.exit("Exit Short", "Short",
stop=close + stopDistance,
limit=close - profitDistance,
when=strategy.position_size < 0)
// ===== VISUALS =====
// MA Plot
plot(ma, "20 MA", color=color.new(#FF6D00, 0), linewidth=2)
// Supertrend Plot
uPlot = plot(uptrend ? supertrendLine : na, "Up Trend", color=color.new(#00C805, 0), linewidth=2)
dPlot = plot(downtrend ? supertrendLine : na, "Down Trend", color=color.new(#FF1100, 0), linewidth=2)
fill(uPlot, dPlot, color=color.new(supertrendDir < 0 ? #00C805 : #FF1100, 90))
// Entry Signals
plotshape(longCondition, "Buy", shape.triangleup, location.belowbar, color=color.new(#00C805, 0), size=size.small)
plotshape(shortCondition, "Sell", shape.triangledown, location.abovebar, color=color.new(#FF1100, 0), size=size.small)