Estrategia de cruce de la media móvil

El autor:¿ Qué pasa?, Fecha: 2023-12-06 16:58:20
Las etiquetas:

img

Resumen general

Esta es una estrategia de seguimiento de tendencia basada en el cruce de promedios móviles. Utiliza dos promedios móviles con períodos diferentes. Cuando el promedio móvil de período más corto cruza por encima del promedio móvil de período más largo, va largo. Cuando el promedio móvil de período más corto cruza por debajo del promedio móvil de período más largo, va corto. Esta es una estrategia típica de seguimiento de tendencia.

Estrategia lógica

La estrategia utiliza promedios móviles de 20 períodos y 50 períodos. Primero calcula estos dos promedios móviles, luego identifica puntos de cruce entre ellos para generar señales comerciales. Cuando el promedio móvil de 20 períodos cruza por encima del promedio móvil de 50 períodos, genera una señal de compra. Cuando el promedio móvil de 20 períodos cruza por debajo del promedio móvil de 50 períodos, genera una señal de venta. Por lo tanto, la lógica central de esta estrategia es rastrear el cruce entre los dos promedios móviles para determinar los puntos de inflexión en la tendencia del mercado.

Después de generar señales comerciales, la estrategia colocará órdenes con stop loss fijo y tomará márgenes de ganancia. Por ejemplo, después de comprar, establecerá un stop loss del 0,4% y un take profit del 0,7%. Al establecer stop loss y take profit, controla el riesgo y la recompensa de las operaciones individuales.

Ventajas de la estrategia

La estrategia tiene las siguientes ventajas:

  1. Lógica de operación simple y clara, fácil de entender e implementar
  2. Captura fiable de los puntos de inflexión de la tendencia del mercado
  3. Establecer el stop loss y el take profit para controlar bien el riesgo del comercio único

Riesgos de la estrategia

También hay algunos riesgos con esta estrategia:

  1. Más señales falsas cuando el mercado no tiene una tendencia clara
  2. No filtrar eficazmente el ruido del mercado, propenso a quedar atrapado
  3. Los márgenes de stop loss y take profit pueden no ser adecuados para todos los productos, necesitan optimización

Contramedidas:

  1. Optimizar los períodos de media móvil para filtrar las señales falsas
  2. Añadir otros indicadores para la filtración
  3. Prueba y optimización de los parámetros de stop loss y take profit

Direcciones de optimización

La estrategia se puede optimizar en los siguientes aspectos:

  1. Optimizar los períodos de media móvil para encontrar la mejor combinación de parámetros
  2. Añadir indicadores como el volumen de operaciones para filtrar las señales
  3. Prueba y optimiza los stop loss y los márgenes de ganancia de productos específicos
  4. Cambiar el stop loss fijo y tomar ganancias a los dinámicos
  5. Añadir algoritmos de aprendizaje automático para encontrar automáticamente parámetros óptimos

Resumen de las actividades

En general, esta es una estrategia de seguimiento de tendencias simple y efectiva. Captura los puntos de inflexión de tendencias utilizando el cruce de promedios móviles y controla el riesgo a través de stop loss y take profit. La estrategia es adecuada para los inversores que no tienen altos requisitos en el juicio de tendencias.

]


/*backtest
start: 2022-11-29 00:00:00
end: 2023-12-05 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © danielfepardo

//@version=5

strategy("QUANT", overlay=true)
lenght1 = input(20)
lenght2 = input(50)


ema1 = ta.ema(close, lenght1)
ema2 = ta.ema(close, lenght2)
plot(ema1, color=color.black)
plot(ema2, color=color.red)

long = ta.crossover(ema1, ema2)

SL = 0.004
TP = 0.007

if long == true
    strategy.entry("Compra Call", strategy.long)
longstop=strategy.position_avg_price*(1-SL)
longprofit=strategy.position_avg_price*(1+TP)
strategy.exit("Venta Call", stop=longstop, limit=longprofit)

short = ta.crossover(ema2, ema1)

if short == true
    strategy.entry("Compra Put", strategy.short)
shortstop=strategy.position_avg_price*(1+SL)
shortprofit=strategy.position_avg_price*(1-TP)
strategy.exit("Venta Put", stop=shortstop, limit=shortprofit)






Más.