Estrategia de ruptura de la media móvil doble

El autor:¿ Qué pasa?, Fecha: 2023-09-11 12:31:51
Las etiquetas:

Esta estrategia utiliza tanto las medias móviles SMA como EMA para determinar la dirección larga y corta basada en los desciframientos de precios.

La ventaja de esta estrategia de ruptura de media móvil dual es que la combinación de dos sistemas de media móvil puede mejorar la precisión. Sin embargo, existen problemas como señales falsas durante los mercados de rango y señales rezagadas.

En resumen, esta estrategia funciona mejor cuando hay tendencias fuertes, pero debe operarse con precaución.

En general, la estrategia de ruptura de dos promedios móviles tiene una lógica de negociación simple, pero requiere un control adecuado del riesgo y un ajuste de parámetros para aplicarse con éxito en el comercio en vivo.


/*backtest
start: 2023-08-11 00:00:00
end: 2023-09-10 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(title = "Noro's Multima v1.0", shorttitle = "Multima 1.0", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)

needlong = input(true, "long")
needshort = input(true, "short")

usema1 = input(true, "Use MA1 (SMA, blue)")
usema2 = input(true, "Use MA2 (EMA, red)")
lenma1 = input(40, defval = 40, minval = 2, maxval = 1000, title = "MA1 length")
lenma2 = input(40, defval = 40, minval = 2, maxval = 1000, title = "MA2 length")
//anti = input(true, defval = true, title = "Antipila")
usecf = input(true, defval = true, title = "Use color-filter")

//Strategy
ma1 = sma(close, lenma1)
ma2 = ema(close, lenma2)
signal1 = usema1 == false ? 0 : close > ma1 ? 1 : -1
signal2 = usema2 == false ? 0 : close > ma2 ? 1 : -1
lots = signal1 + signal2

//Lines
plot(ma1, color = blue, linewidth = 3, transp = 0)
plot(ma2, color = red, linewidth = 3, transp = 0)

//Trading
if lots > 0 and (close < open or usecf == false)
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na)

if lots < 0 and (close > open or usecf == false)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na)
    
if lots == 0
    strategy.close_all()
    
    
    

Más.