
A estratégia é uma estratégia de acompanhamento de tendências dinâmicas baseada em um sistema de dupla linha média, que combina sinais cruzados de linha média rápida e linha média lenta, além de introduzir uma linha média filtrada para otimizar o tempo de entrada e obter um efeito de negociação robusto por meio da gestão de fundos e controle de risco.
A estratégia usa a média móvel simples de 11 e 31 períodos (SMA) como o principal sistema de sinalização, e usa a média de 5 períodos como filtro. Quando a linha rápida (SMA11) atravessa a linha lenta (SMA31) e o preço está acima da linha média filtrada, o sistema gera vários sinais. Quando a linha rápida atravessa a linha lenta, o sistema é equilibrado.
A estratégia de construir um sistema de acompanhamento de tendências relativamente estável através de múltiplos equilíbrio sistema. Embora existam algumas limitações inerentes, mas com a otimização e melhoria razoável, pode aumentar ainda mais a estabilidade da estratégia e a rentabilidade.
/*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)