
Strategi ini adalah strategi pengesanan trend dinamik berdasarkan sistem dua garis rata-rata, menggabungkan isyarat silang garis rata-rata cepat dan garis rata-rata perlahan, sambil memperkenalkan garis rata-rata penapis untuk mengoptimumkan masa masuk, untuk mencapai kesan perdagangan yang mantap melalui pengurusan dana dan kawalan risiko.
Strategi ini menggunakan purata bergerak sederhana ((SMA) 11 dan 31 kitaran sebagai sistem isyarat utama, dan menggunakan rata-rata 5 kitaran sebagai penapis. Apabila garis cepat ((SMA11) melewati garis perlahan ((SMA31) dan harga berada di atas garis rata-rata penapis, sistem menghasilkan banyak isyarat; apabila garis cepat di bawah garis perlahan, sistem menetap.
Strategi ini membina sistem pengesanan trend yang agak stabil melalui sistem pelbagai garis rata. Walaupun terdapat beberapa batasan yang wujud, dengan pengoptimuman dan penambahbaikan yang munasabah, kestabilan dan keuntungan strategi dapat ditingkatkan lagi.
/*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)