
La estrategia es una estrategia de seguimiento de tendencias dinámicas basada en un sistema de doble línea media, que combina la señal cruzada de la línea media rápida con la línea media lenta, al tiempo que introduce una línea media filtrada para optimizar el tiempo de entrada y lograr un efecto de negociación sólido a través de la gestión de fondos y el control de riesgos.
La estrategia utiliza el promedio móvil simple de 11 y 31 períodos (SMA) como su sistema de señales principal, mientras que el promedio de 5 períodos se utiliza como filtro. Cuando la línea rápida (SMA11) atraviesa la línea lenta (SMA31) y el precio está por encima de la línea media filtrada, el sistema genera múltiples señales; cuando la línea rápida atraviesa la línea lenta, el sistema se estabiliza. La estrategia controla el tamaño de cada transacción mediante el establecimiento de una cantidad fija de capital, lo que permite la gestión del riesgo.
La estrategia construye un sistema de seguimiento de tendencias relativamente sólido a través de un sistema de líneas medias múltiples. Si bien existen algunas limitaciones inherentes, se puede mejorar aún más la estabilidad y la rentabilidad de la estrategia mediante optimizaciones y mejoras razonables. Se recomienda a los comerciantes que ajusten los parámetros de manera específica en combinación con las circunstancias específicas del mercado cuando se aplican en el mercado real.
/*backtest
start: 2024-10-01 00:00:00
end: 2024-10-31 23:59:59
period: 3h
basePeriod: 3h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy('Nifty 30m SMA Crossover Long', overlay=true)
start = timestamp(2020, 1, 1, 0, 0)
end = timestamp(2024, 12, 31, 0, 0)
SlowSma = ta.sma(close, 31)
FastSma = ta.sma(close, 11)
FilterSma = ta.sma(close, 5)
plot(SlowSma, title='Sma 31', color=color.new(color.green, 0))
plot(FastSma, title='Sma 11', color=color.new(color.red, 0))
plot(FilterSma, title='Filter Sma 5', color=color.new(color.black, 0))
// strategy
LongEntry = FastSma > SlowSma and close > FilterSma
LongExit = FastSma < SlowSma
MyQty = 10000000 / close
// // Plot signals to chart
// plotshape(not LongExit and strategy.position_size > 0 and bIndicator, title='Hold', location=location.abovebar, color=color.new(color.blue, 0), style=shape.square, text='Hold', textcolor=color.new(color.blue, 0))
// plotshape(LongExit and bIndicator and strategy.position_size > 0, title='Exit', location=location.belowbar, color=color.new(color.red, 0), style=shape.triangledown, text='Sell', textcolor=color.new(color.red, 0))
// plotshape(LongEntry and strategy.position_size == 0 and bIndicator, '', shape.arrowup, location.abovebar, color.new(color.green, 0), text='Buy', textcolor=color.new(color.green, 0))
// plotshape(not LongEntry and strategy.position_size == 0 and bIndicator, '', shape.circle, location.belowbar, color.new(color.yellow, 0), text='Wait', textcolor=color.new(color.black, 0))
if time >= start and time < end
strategy.entry('Enter Long', strategy.long, qty=1, when=LongEntry)
strategy.close('Enter Long', when=LongExit)