Cruce de media móvil exponencial y media móvil con estrategia cercana

El autor:¿ Qué pasa?, Fecha: 2024-01-19 14:50:50
Las etiquetas:

img

Resumen general

El cruce de promedio móvil exponencial (EMA) y promedio móvil (MA) con estrategia de cierre genera señales de negociación basadas en el movimiento del precio de un activo en relación con su EMA de 9 períodos y su MA de 20 períodos.

Estrategia lógica

Calculación de la EMA y de la MA

  • EMA9 calcula la media móvil exponencial de los precios de cierre de 9 períodos.
  • ma20 calcula la media móvil simple de 20 períodos de los precios de cierre.

Condiciones de compra y venta

  • La condición buyCondition es verdadera cuando el cierre > tanto ema9 como ma20. Esto se interpreta como una señal alcista.
  • La condición sellCondition es verdadera cuando el cierre < tanto el ema9 como el ma20.

Ejecución de las operaciones

  • Cuando buyCondition es verdadero, ejecutar una orden de entrada larga.
  • Cuando sellCondition es verdadero, ejecutar una orden de entrada corta.
  • Cuando el precio recrueza el EMA9 o el MA20, cierre cualquier posición abierta.

Coloración de las velas

  • Las velas verdes indican la condición de compra
  • Las velas rojas indican la condición de venta.
  • Otras velas son blancas por defecto

Planificación de EMA y MA

Los 9 EMA y 20 MA se muestran en el gráfico para referencia visual.

Análisis de ventajas

La estrategia combina dos indicadores ampliamente utilizados, aprovechando las capacidades de seguimiento y suavización de tendencias de EMA y MA para generar señales más confiables.

Los cruces proporcionan señales claras de cambio de tendencia, evitando malas operaciones.

El código de color de las velas indica visualmente las condiciones sin cálculos complejos.

La ejecución automatizada de entradas y salidas sigue estrictamente reglas predeterminadas, lo que facilita la gestión del riesgo.

Análisis de riesgos

Como indicadores de tendencia, las medias móviles pueden producir muchas señales falsas durante los períodos de rango.

Los movimientos rápidos de los precios pueden crear retraso en los valores MA y EMA, causando oportunidades perdidas.

Los parámetros EMA y MA tienen un impacto significativo en el rendimiento de la estrategia y deben ajustarse para diferentes productos y plazos.

Las estrategias automatizadas no pueden adaptarse a situaciones complejas como un operador humano.

Direcciones de optimización

Prueba diferentes combinaciones de longitud EMA y MA para encontrar parámetros óptimos que maximizen las señales verdaderas y minimicen las falsas señales.

Incorporar métricas de volatilidad como ATR para filtrar las configuraciones de mayor riesgo y controlar las pérdidas potenciales.

Combinar con otros indicadores o señales como el volumen y las bandas de Bollinger para confirmar la confiabilidad de la señal.

Agregue stop loss y tome la lógica de ganancias para gestionar activamente el riesgo comercial.

Resumen de las actividades

El EMA y MA Crossover con Estrategia Cerrada utiliza EMA y MA crossovers para determinar tendencias y entradas de señal.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("EMA and MA Crossover with Close Strategy", shorttitle="EMA_MA_Close", overlay=true)

// Define the length of the Exponential Moving Average and Moving Average
lengthEMA = 9
lengthMA = 20

// Calculate the 9 EMA and 20 MA
ema9 = ema(close, lengthEMA)
ma20 = sma(close, lengthMA)

// Define the buy and sell conditions
buyCondition = close > ema9 and close > ma20
sellCondition = close < ema9 and close < ma20

// Define the close position condition
closeCondition = crossover(close, ema9) or crossover(close, ma20)

// Execute buy or sell orders
if (buyCondition)
    strategy.entry("Buy", strategy.long)
else if (sellCondition)
    strategy.entry("Sell", strategy.short)

// Close any position if the close condition is met
if (closeCondition)
    strategy.close_all()

// Coloring the candles based on conditions
barcolor(buyCondition ? color.green : na)
barcolor(sellCondition ? color.red : na)

// Plotting the EMA and MA for reference
plot(ema9, color=color.blue, title="9 EMA")
plot(ma20, color=color.orange, title="20 MA")


Más.