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

Sistema de negociación automatizado multi-EMA con bloqueo de ganancias

El autor:¿ Qué pasa?, fecha: 2024-12-04 15:35:32
Las etiquetas:El EMA- ¿Qué es?

img

Resumen general

Esta estrategia es un sistema de negociación automatizado basado en múltiples promedios móviles exponenciales (EMA), estableciendo señales de negociación a través del análisis jerárquico de EMA de 5 períodos, 20 períodos y 50 períodos.

Principios de estrategia

La estrategia basa las decisiones de negociación en múltiples cruces de EMA de marcos de tiempo y relaciones de posición.

  1. Utiliza EMAs de 5 períodos, 20 períodos (basados en precios altos, bajos y de cierre) y 50 períodos
  2. Las condiciones de entrada requieren que todos los indicadores muestren una clara alineación alcista: 50EMA < 20EMA(Bajo) < 20EMA(Cerca) < 20EMA(Alto) < 5EMA
  3. Requiere que el precio actual esté por encima de todas las EMA, lo que confirma una fuerte tendencia
  4. La salida utiliza un doble mecanismo: obtención de ganancias cuando el precio se rompe por debajo de la EMA de 5 períodos o stop-loss cuando se alcanza la EMA más baja de 20 períodos

Ventajas estratégicas

  1. El mecanismo de filtración jerárquica reduce significativamente las señales falsas
  2. La confirmación de múltiples cruces de EMA mejora la precisión de las operaciones
  3. Posiciones dinámicas de stop-loss ajustadas a la volatilidad del mercado
  4. El sistema totalmente automatizado elimina la interferencia emocional.
  5. El mecanismo de ganancia de seguimiento bloquea efectivamente los beneficios obtenidos

Riesgos estratégicos

  1. Puede dar lugar a operaciones frecuentes durante los mercados laterales
  2. Las EMA son indicadores inherentemente rezagados, pueden perderse los puntos de inicio del mercado
  3. Muchas condiciones podrían hacer que se pierdan algunas oportunidades comerciales
  4. El stop-loss en el punto más bajo de 20EMA podría ser relativamente flojo.

Direcciones de optimización

  1. Puede agregar un mecanismo de confirmación de volumen para mejorar la confiabilidad de la señal
  2. Considerar la posibilidad de incorporar indicadores de volatilidad para el dimensionamiento dinámico de las posiciones
  3. Introducir sistemas de obtención de beneficios más flexibles, como la reducción parcial de la posición
  4. Puede combinarse con osciladores como RSI para optimizar el tiempo de entrada
  5. Considere agregar un juicio de la fuerza de la tendencia para filtrar los mercados débiles

Resumen de las actividades

Este es un sistema de negociación de promedios móviles múltiples rigurosamente diseñado que controla eficazmente el riesgo a través de un filtrado jerárquico y un stop-loss dinámico. Aunque puede pasar por alto algunos movimientos rápidos del mercado, se desempeña de manera consistente en los mercados de tendencia. Se recomienda ajustar los parámetros de acuerdo con las diferentes características del mercado y considerar la adición de volumen y otros indicadores auxiliares para mejorar la confiabilidad. Esta estrategia es adecuada para los inversores que buscan retornos estables en inversiones de mediano a largo plazo.


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

//@version=5
strategy("Automated EMA Strategy with Hierarchical Conditions", overlay=true)

// Inputs for EMA lengths
length_5 = 5
length_20 = 20
length_50 = 50

// Calculating EMAs
ema_5 = ta.ema(close, length_5)
ema_20_high = ta.ema(high, length_20)
ema_20_low = ta.ema(low, length_20)
ema_20_close = ta.ema(close, length_20)
ema_50 = ta.ema(close, length_50)

// Buy condition: 50 EMA < 20 EMA (Close) < 20 EMA (High) < 20 EMA (Low) < 5 EMA
// and LTP above all EMAs
buy_condition = ema_50 < ema_20_low and ema_20_low < ema_20_close and ema_20_close < ema_20_high and ema_20_high < ema_5 and close > ema_5 and close > ema_20_close and close > ema_20_high and close > ema_20_low and close > ema_50

// Stop-loss and target levels
stop_loss = ema_20_low

// Target condition: Close below 5 EMA
target_condition = close < ema_5

// Check if there's an open position
is_in_position = strategy.position_size > 0

// Execute Buy Signal only if no position is open
if (buy_condition and not is_in_position)
    strategy.entry("Buy", strategy.long)

// Exit conditions: Stop-loss or target (close below 5 EMA)
if (is_in_position and (target_condition or close < stop_loss))
    strategy.close("Buy")

// Plotting the EMAs
plot(ema_5, color=color.blue, title="5 EMA")
plot(ema_20_high, color=color.green, title="20 EMA (High)")
plot(ema_20_low, color=color.red, title="20 EMA (Low)")
plot(ema_20_close, color=color.purple, title="20 EMA (Close)")
plot(ema_50, color=color.orange, title="50 EMA")


Relacionados

Más.