Estrategia de cruce de dos medias móviles

El autor:¿ Qué pasa?, Fecha: 2023-11-21 11:34:09
Las etiquetas:

img

Resumen general

La estrategia de cruce de media móvil doble es una estrategia típica de seguimiento de tendencias que calcula dos medias móviles con períodos diferentes y utiliza su cruce como señales comerciales para capturar la dirección y el impulso de las tendencias del mercado.

Estrategia lógica

La estrategia se basa principalmente en dos promedios móviles. El primer promedio móvil tiene un período más corto y puede responder a los cambios de precios más rápido. El segundo promedio móvil tiene un período más largo y puede filtrar algo de ruido. Cuando el promedio móvil a corto plazo cruza el promedio móvil a largo plazo, se considera una señal de compra. Cuando el promedio móvil a corto plazo cruza por debajo del promedio móvil a largo plazo, se considera una señal de venta.

Específicamente, esta estrategia calcula una media móvil exponencial de 10 períodos (precio1) y una media móvil exponencial de 20 períodos (precio2). Si los precios de apertura y cierre de la barra actual son ambos más altos que los dos promedios móviles, se genera una señal de compra. Si los precios de apertura y cierre son ambos más bajos que los dos promedios móviles, se genera una señal de venta.

Este diseño permite una entrada más temprana cuando una tendencia comienza a formarse y sigue la tendencia.

Ventajas

  • Detecta las tendencias temprano y sigue las tendencias fuertes
  • Filtro de ruido para el cruce con doble MA
  • La doble confirmación de los precios de apertura y cierre reduce las operaciones ineficaces

Los riesgos

  • Práctico a los golpes de punzón y a las operaciones inversas
  • Pueden producirse señales de cruce frecuentes
  • El gran espacio de ajuste de parámetros puede conducir a la sobreajuste

Mejoramiento

  • Prueba diferentes conjuntos de parámetros para encontrar óptimo
  • Añadir stop loss al tamaño de pérdida límite
  • Añadir filtros para reducir las malas operaciones
  • Combinar otros indicadores para confirmar señales

Resumen de las actividades

La estrategia es relativamente simple y práctica, capturando tendencias con cruce de doble MA, por lo que es una estrategia cuantitativa fundamental. Pero también tiene algunos riesgos y necesita una mayor optimización para diferentes regímenes de mercado.


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

//@version=3
//study(title="MA River CC v1", overlay = true)
strategy("MA River CC v1", overlay=true)
src = input(close, title="Source")

price = request.security(syminfo.tickerid, timeframe.period, src)
ma1 = input(10, title="1st MA Length")
type1 = input("EMA", "1st MA Type", options=["SMA", "EMA"])

ma2 = input(20, title="2nd MA Length")
type2 = input("EMA", "2nd MA Type", options=["SMA", "EMA"])

price1 = if (type1 == "SMA")
    sma(price, ma1)
else
    ema(price, ma1)
    
price2 = if (type2 == "SMA")
    sma(price, ma2)
else
    ema(price, ma2)


//plot(series=price, style=line,  title="Price", color=black, linewidth=1, transp=0)
plot(series=price1, style=line,  title="1st MA", color=blue, linewidth=2, transp=0)
plot(series=price2, style=line, title="2nd MA", color=green, linewidth=2, transp=0)


buy_entry = (open>price1 and open>price2) and (close>price1 and close>price2)  
sell_entry = (open<price1 and open<price2) and (close<price1 and close<price2)
buy_close = sell_entry
sell_close = buy_entry
//longCondition = crossover(price1, price2)    
if(buy_entry)
    strategy.entry("Long", strategy.long)
    
if(sell_entry)
    strategy.entry("Short", strategy.short)

strategy.close("Long" , when=buy_close)
strategy.close("Short",when=sell_close)



Más.