Estrategia de seguimiento de tendencias de cruce de medias móviles dobles combinada con control de riesgos y sistema de filtrado de tiempo

EMA SL TP ALGO
Fecha de creación: 2024-11-29 15:05:45 Última modificación: 2024-11-29 15:05:45
Copiar: 0 Número de Visitas: 368
1
Seguir
1617
Seguidores

Estrategia de seguimiento de tendencias de cruce de medias móviles dobles combinada con control de riesgos y sistema de filtrado de tiempo

Descripción general

La estrategia es un sistema de negociación completo que combina señales de cruce de doble línea, gestión de stop loss y filtración de tiempo. El núcleo de la estrategia se basa en una cruce de medias móviles de índices rápidos y lentos (EMA) para capturar las tendencias del mercado y controlar el riesgo mediante la configuración de stop loss (Take Profit) y stop loss (Stop Loss). La estrategia también incluye una función de filtración de tiempo que permite al comerciante ejecutar operaciones en un período de tiempo específico.

Principio de estrategia

La estrategia opera sobre la base de los siguientes mecanismos básicos:

  1. Medias móviles exponenciales con dos períodos diferentes (default 5 y 21)
  2. Cuando el EMA rápido cruza hacia arriba el EMA lento, el sistema genera una señal múltiple
  3. Cuando el EMA rápido cruza hacia abajo el EMA lento, el sistema genera una señal de vacío
  4. Cada transacción tiene un porcentaje de stop loss y un nivel de parada
  5. La dirección de negociación puede configurarse de manera flexible: solo hacer más, solo hacer menos o negociar en dos direcciones
  6. Incluye un filtro de tiempo para ejecutar transacciones solo en el rango de tiempo especificado
  7. El sistema emite una alerta en los momentos críticos (abre la posición, toca el stop loss / stop stop)

Ventajas estratégicas

  1. Gestión de riesgos sistematizada: proporciona un claro control de riesgo para cada operación a través de niveles predeterminados de stop loss y stop loss
  2. Configuración de parámetros flexible: los operadores pueden ajustar los ciclos de EMA y los niveles de stop loss y stop loss según las diferentes condiciones del mercado
  3. Libertad de elección de la dirección: puede elegir entre unidireccional o bidireccional para adaptarse a las diferentes preferencias del mercado
  4. Capacidad de gestión del tiempo: Evite realizar transacciones en momentos desfavorables a través de la función de filtrado del tiempo
  5. Función de alerta en tiempo real: ayuda a los comerciantes a obtener señales de comercio y avisos de riesgo en tiempo real
  6. Gestión completa de posiciones: el sistema procesa automáticamente las entradas y salidas sin intervención humana

Riesgo estratégico

  1. Riesgo de un mercado convulso: Las señales falsas pueden ser frecuentes en los mercados de discusión
  2. Riesgo de deslizamiento: las fuertes fluctuaciones en el mercado pueden provocar que el precio de la parada de pérdidas reales se desvíe de las expectativas
  3. Sensibilidad de parámetros: la elección del ciclo EMA tiene un mayor impacto en el rendimiento de la estrategia
  4. Dependencia de la tendencia: las estrategias pueden no funcionar bien en mercados no tendencia
  5. Riesgo de gestión de fondos: el porcentaje fijo de stop loss puede no ser lo suficientemente flexible en ciertas condiciones de mercado

Dirección de optimización de la estrategia

  1. Añadir filtro de entorno de mercado:
    • Adición de indicadores de volatilidad para adaptarse a las diferentes condiciones del mercado
    • Introducción de filtros de intensidad de tendencia para evitar falsas rupturas
  2. Ajuste de los parámetros dinámicos:
    • Ajuste del nivel de los límites de pérdidas basado en la volatilidad del mercado
    • Ajuste dinámico del ciclo EMA en función de la intensidad de las tendencias del mercado
  3. Gestión de riesgos mejorada:
    • Añadir un bloqueo móvil para proteger las ganancias
    • Implementar un mecanismo para construir y reducir posiciones en lotes
  4. La precisión de la entrada:
    • Indicadores de tránsito combinados para confirmar la eficacia de la señal
    • Añadir otros indicadores técnicos como confirmación auxiliar

Resumir

Esta es una estrategia de seguimiento de tendencias bien diseñada, que ofrece a los comerciantes una solución de negociación completa mediante la combinación de un sistema de línea uniforme, gestión de riesgos y filtración de tiempo. La estrategia es altamente configurable y se adapta a los comerciantes con diferentes preferencias de riesgo.

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

//@version=5
strategy("Estrategia Cruce de EMAs con: Stop Loss, Take Profit, Días de Operación y Alertas (Modificables)", overlay=true, commission_value = 0.2, process_orders_on_close = true, initial_capital = 1000)

// Parámetros de las EMAs
emaRapidaLen = input.int(5, title="Periodo EMA rápida")
emaLentaLen = input.int(21, title="Periodo EMA lenta")

// Parámetros de Stop Loss y Take Profit
stopLoss = input.float(3.0, title="Stop Loss (%)", step=0.1) / 100
takeProfit = input.float(6.0, title="Take Profit (%)", step=0.1) / 100

// Tipo de operación: Largo, Corto o Ambos
operacion = input.string(title="Tipo de operación", defval="Largo", options=["Largo", "Corto", "Ambos"])

// Parámetros de la duración de la estrategia (días)
diasInicio = input(timestamp("2009-01-03 00:00"), title="Fecha de inicio (YYYY-MM-DD HH:MM)")
diasFin = input(timestamp("2024-09-11 00:00"), title="Fecha de fin (YYYY-MM-DD HH:MM)")

// Comprobar si estamos dentro del rango de días definido
dentroDeRango = true

// Cálculo de las EMAs
emaRapida = ta.ema(close, emaRapidaLen)
emaLenta = ta.ema(close, emaLentaLen)

// Condiciones para cruce de EMAs
cruceAlcista = ta.crossover(emaRapida, emaLenta)
cruceBajista = ta.crossunder(emaRapida, emaLenta)

// Operaciones en Largo (solo si estamos en el rango de días definido)
if dentroDeRango and (operacion == "Largo" or operacion == "Ambos") and cruceAlcista 
    strategy.entry("Compra", strategy.long)
    alert("Posición larga abierta: Cruce alcista de EMAs", alert.freq_once_per_bar_close)

// Operaciones en Corto (solo si estamos en el rango de días definido)
if dentroDeRango and (operacion == "Corto" or operacion == "Ambos") and cruceBajista
    strategy.entry("Venta", strategy.short)
    alert("Posición corta abierta: Cruce bajista de EMAs", alert.freq_once_per_bar_close)

// Cálculo del Stop Loss y Take Profit para largos
if (strategy.position_size > 0 and strategy.opentrades.entry_id(strategy.opentrades - 1) == "Compra")
    strategy.exit("Cerrar Compra", "Compra", stop=strategy.position_avg_price * (1 - stopLoss), limit=strategy.position_avg_price * (1 + takeProfit))
    alert("Posición larga cerrada: Alcanzado Stop Loss o Take Profit", alert.freq_once_per_bar_close)

// Cálculo del Stop Loss y Take Profit para cortos
if (strategy.position_size < 0 and strategy.opentrades.entry_id(strategy.opentrades - 1) == "Venta")
    strategy.exit("Cerrar Venta", "Venta", stop=strategy.position_avg_price * (1 + stopLoss), limit=strategy.position_avg_price * (1 - takeProfit))
    alert("Posición corta cerrada: Alcanzado Stop Loss o Take Profit", alert.freq_once_per_bar_close)

// Plot de las EMAs
plot(emaRapida, color=color.blue, title="EMA rápida", linewidth = 2)
plot(emaLenta, color=color.red, title="EMA lenta", linewidth = 2)