Estrategia de cruce de la media móvil doble

El autor:¿ Qué pasa?, Fecha: 2024-01-31 11:29:45
Las etiquetas:

img

Resumen general

Esta es una estrategia de negociación basada en el cruce de medias móviles dobles. Genera señales de compra y venta cuando dos medias móviles de diferentes longitudes se cruzan. Específicamente, va largo cuando el MA más rápido cruza por encima del MA más lento, y va corto cuando el MA más rápido cruza por debajo del MA más lento.

Estrategia lógica

La lógica central de esta estrategia radica en los principios de cruce entre dos promedios móviles.

En esta estrategia, el MA a corto plazo captura las tendencias a corto plazo, mientras que el MA a largo plazo captura las tendencias a largo plazo.

Específicamente, la estrategia calcula los MA utilizando ta.sma durante el período largo_periodo y el período corto_periodo definidos por los usuarios. Luego utiliza ta.crossover y ta.crossunder para detectar el cruce dorado y el cruce de muerte entre los dos MA. Cuando el MA corto cruza por encima del MA largo, vaya largo. Cuando el MA corto cruza por debajo, vaya corto.

Ventajas

Las principales ventajas de esta estrategia incluyen:

  1. Lógica simple, fácil de seguir.
  2. Parámetros personalizables y adaptables a los diferentes mercados.
  3. El cruce de MA filtra el ruido, capturando la inversión de tendencia.
  4. Alta sensibilidad para capturar los puntos de inflexión de los precios.

Los riesgos

También hay varios riesgos:

  1. Una brecha demasiado pequeña entre las MAs causa señales falsas.
  2. Los períodos equivocados de MA pierden las tendencias principales.
  3. Las inversiones no siempre implican cambios de tendencia.
  4. Los parámetros deben ajustarse para evitar el sobreajuste.

Para mitigar los riesgos, se pueden ajustar los parámetros, incorporar el stop loss y el take profit o añadir otros indicadores técnicos.

Optimización

Hay espacio para una mayor optimización:

  1. Optimizar los períodos de admisión adaptativa.
  2. Añadir el filtro de volumen para evitar una falsa fuga.
  3. Incorporar otros indicadores como el MACD, KDJ.
  4. Se añadirá el stop loss/take profit para limitar la pérdida.
  5. Mejorar la estructura del código para una mejor escalabilidad.

Conclusión

En conclusión, esta es una estrategia de inicio ideal para el comercio algorítmico, gracias a su simplicidad en la lógica y los parámetros, mientras que todavía es capaz de capturar eficazmente las reversiones del mercado.


/*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=5
strategy("Cross 2 Moving Average Strategy", shorttitle="2MA Cross", overlay=true)

// User-defined input for moving averages
long_period = input(20, title="Long Period")
short_period = input(5, title="Short Period")
type_ma = input.string("SMA", title = "MA type", options = ["SMA", "EMA"])

// Calculating moving averages
long_ma = ta.sma(close, long_period)
short_ma = ta.sma(close, short_period)

// Plot moving averages
plot(long_ma, title="Long Moving Average", color=color.red)
plot(short_ma, title="Short Moving Average", color=color.green)

// Strategy logic for crossing of moving averages
longCondition = ta.crossover(short_ma, long_ma)
shortCondition = ta.crossunder(short_ma, long_ma)

// Entry orders
if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.entry("Short", strategy.short)

// Optional: Add stop loss and take profit
stop_loss_perc = input(1, title="Stop Loss (%)") / 100
take_profit_perc = input(2, title="Take Profit (%)") / 100

strategy.exit("Exit Long", from_entry="Long", stop=close*(1-stop_loss_perc), limit=close*(1+take_profit_perc))
strategy.exit("Exit Short", from_entry="Short", stop=close*(1+stop_loss_perc), limit=close*(1-take_profit_perc))


Más.