Sistema automático de toma de ganancias con seguimiento de transacciones con promedios móviles de índices múltiples

EMA MA
Fecha de creación: 2024-12-04 15:35:32 Última modificación: 2024-12-04 15:35:32
Copiar: 0 Número de Visitas: 547
1
Seguir
1617
Seguidores

Sistema automático de toma de ganancias con seguimiento de transacciones con promedios móviles de índices múltiples

Descripción general

La estrategia es un sistema de negociación automática basado en una media móvil de múltiples índices (EMA) que establece señales de negociación mediante la división de los juicios de EMA de 5 períodos, 20 períodos y 50 períodos. La peculiaridad del diseño del sistema es que adopta juicios de EMA múltiples basados en los precios altos, bajos y cerrados, y combina un mecanismo de stop loss dinámico y un stop tracking para controlar el riesgo de manera efectiva y al mismo tiempo bloquear los beneficios.

Principio de estrategia

La estrategia toma decisiones de negociación basadas en las relaciones de cruce y posición de EMA en múltiples períodos de tiempo. En concreto:

  1. Se utilizan EMAs de 5 y 20 ciclos (basados en precios máximos, mínimos y cerrados respectivamente) y de 50 ciclos
  2. Las condiciones para la construcción de la posición requieren que todos los indicadores muestren una clara alineación múltiple: 50 EMA < 20 EMA (punto bajo) < 20 EMA (punto cerrado) < 20 EMA (punto alto) < 5 EMA
  3. Al mismo tiempo, se requiere que los precios actuales estén por encima de todas las líneas medias para asegurar una tendencia fuerte.
  4. La salida utiliza un doble mecanismo: un cierre de ganancias cuando el precio cae por debajo de la EMA de 5 ciclos, o un cierre de pérdidas cuando toca la EMA de 20 ciclos

Ventajas estratégicas

  1. El mecanismo de filtrado por capas reduce considerablemente las señales falsas
  2. El uso de múltiples EMAs para mejorar la precisión de las transacciones
  3. Posiciones de pérdidas dinámicas ajustadas a las fluctuaciones del mercado, adaptativas
  4. El sistema es totalmente automatizado y evita la interferencia emocional humana.
  5. La adopción de un mecanismo de seguimiento de la suspensión, para bloquear eficazmente los beneficios obtenidos

Riesgo estratégico

  1. Los mercados en oscilación horizontal pueden entrar y salir con frecuencia
  2. La EMA es un indicador atrasado y puede haber perdido el punto de partida
  3. Las múltiples condiciones pueden llevar a perder algunas oportunidades de negocio
  4. El stop loss puede estar relativamente relajado en el mínimo de 20 EMA

Dirección de optimización de la estrategia

  1. Mejora de la fiabilidad de la señal
  2. Considere la inclusión de indicadores de volatilidad y ajuste dinámico del tamaño de la posición
  3. La introducción de soluciones más flexibles para detener el crecimiento, como la reducción por lotes
  4. Optimización de la hora de entrada con el uso de indicadores oscilantes como el RSI
  5. Considerar la inclusión de un criterio de fuerza de tendencia para filtrar mercados débiles

Resumir

Se trata de un sistema de negociación de líneas medias múltiples rigurosamente diseñado para controlar eficazmente el riesgo a través de filtros estratificados y paros dinámicos. Aunque se pueden perder algunos movimientos rápidos, se puede mantener un rendimiento estable en un mercado de tendencia. Se recomienda ajustar los parámetros de manera adecuada según las diferentes características del mercado y considerar la inclusión de indicadores auxiliares como el volumen de transacción para mejorar la fiabilidad.

Código Fuente de la Estrategia
/*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")