
Strategi ini adalah strategi pelacakan tren dinamis berdasarkan sistem dua rata-rata, yang menggabungkan sinyal silang rata-rata cepat dan rata-rata lambat, dan juga memperkenalkan rata-rata filter untuk mengoptimalkan waktu masuk, untuk mencapai efek perdagangan yang kuat melalui manajemen dana dan pengendalian risiko.
Strategi ini menggunakan rata-rata bergerak sederhana (SMA) 11 periode dan 31 periode sebagai sistem sinyal utama, dan menggunakan rata-rata rata-rata 5 periode sebagai filter. Sistem menghasilkan sinyal ganda ketika harga berada di atas rata-rata filter pada garis cepat (SMA11) dan harga berada di atas garis cepat (SMA31); sistem menetap ketika harga berada di bawah garis cepat (SMA31). Strategi ini mengontrol ukuran setiap perdagangan dengan menetapkan jumlah uang tetap, sehingga memungkinkan manajemen risiko.
Strategi ini membangun sistem pelacakan tren yang relatif stabil melalui sistem multi-linear. Meskipun ada beberapa keterbatasan yang melekat, dengan optimasi dan perbaikan yang masuk akal, stabilitas dan profitabilitas strategi dapat ditingkatkan lebih lanjut.
/*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)