Strategi Crossover Rata-rata Gerak Multi-SMA

Penulis:ChaoZhang, Tanggal: 2023-11-28 15:08:37
Tag:

img

Gambaran umum

Strategi ini menghitung rata-rata bergerak SMA dari beberapa kerangka waktu dan mengambil nilai rata-rata untuk membangun indikator rata-rata bergerak. Ini menghasilkan sinyal beli ketika harga naik di atas rata-rata bergerak dan sinyal jual ketika harga turun di bawah rata-rata bergerak.

Prinsip Strategi

  1. Menghitung 5 SMA rata-rata bergerak dari periode yang berbeda (8 hari, 21 hari, 50 hari, 100 hari, 200 hari)
  2. Ambil rata-rata dari 5 rata-rata bergerak untuk mendapatkan indikator rata-rata bergerak akhir
  3. Menghasilkan sinyal beli ketika harga penutupan naik di atas rata-rata bergerak
  4. Menghasilkan sinyal jual ketika harga penutupan jatuh di bawah rata-rata bergerak

Dengan rata-rata SMA dari beberapa kerangka waktu, strategi ini dapat secara efektif meluruskan kurva dan menyaring breakout palsu.

Analisis Keuntungan

  1. Menggunakan rata-rata bergerak beberapa kerangka waktu dapat secara efektif menyaring kebisingan pasar dan mengidentifikasi tren
  2. kurva halus, menghindari menghasilkan terlalu banyak sinyal palsu
  3. Logika strategi sederhana dan jelas, mudah dipahami dan diterapkan, cocok untuk pemula untuk belajar
  4. Kombinasi periode rata-rata bergerak yang dapat disesuaikan untuk mengoptimalkan efek indikator

Analisis Risiko

  1. Sistem rata-rata bergerak tertinggal secara keseluruhan dan tidak dapat mengikuti perubahan harga dalam waktu
  2. Ketika kegagalan breakout terjadi, titik stop loss jauh, dengan risiko kerugian yang lebih besar
  3. Garis stop loss sering dipicu dalam tren osilasi

Risiko ini dapat dikurangi dengan memperpendek beberapa periode rata-rata bergerak dengan tepat dan menambahkan indikator lain untuk konfirmasi.

Arahan Optimasi

  1. Mengoptimalkan kombinasi periode rata-rata bergerak untuk menemukan parameter terbaik
  2. Tambahkan indikator seperti volume perdagangan untuk mengkonfirmasi sinyal breakout
  3. Menggabungkan indikator tren untuk menghindari sinyal palsu di pasar osilasi
  4. Mengembangkan program pengoptimalan parameter otomatis untuk secara dinamis menemukan parameter optimal

Ringkasan

Ide keseluruhan dari strategi ini jelas. Dengan mengintegrasikan moving average dari beberapa timeframe, strategi ini dapat secara efektif mengidentifikasi tren dan merupakan strategi yang stabil dan praktis. Namun, kita juga perlu memperhatikan lag dan risiko sinyal palsu. Melalui pengoptimalan lebih lanjut pengaturan parameter, menambahkan indikator konfirmasi, dll, kita dapat terus meningkatkan strategi ini untuk menjadikannya alat perdagangan kuantitatif yang kuat.


/*backtest
start: 2023-11-20 00:00:00
end: 2023-11-27 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("STRATEGY AVERAGE MULTI_SMA", overlay=true)


sma1 = sma(close,input(title="SMA 1", defval=8))

sma2 = sma(close,input(title="SMA 2", defval=21))

sma3 = sma(close,input(title="SMA 3", defval=50))

sma4 = sma(close,input(title="SMA 4", defval=100))

sma5 = sma(close,input(title="SMA 5", defval=200))


mediaSMA= (sma1+sma2+sma3+sma4+sma5)/5

//color mediaSMA

MediaUP = mediaSMA>mediaSMA[1]
colorUP = (MediaUP ? #3CFF35 : na)

MediaDOWN = mediaSMA<mediaSMA[1]
colorDOWN =(MediaDOWN ? #FF0F03 : na)

colorN =(not MediaUP and not MediaDOWN and mediaSMA==mediaSMA[1] ? white : na )

plot(mediaSMA,title="Avarege MULTI_SMA UP", color=colorUP, style=circles, linewidth=2, transp=0)
plot(mediaSMA,title="Avarege MULTI_SMA DOWN", color=colorDOWN, style=circles, linewidth=2, transp=0)
plot(mediaSMA,title="Avarege MULTI_SMA UP NEUTRAL", color=colorN, style=circles, linewidth=2, transp=0)


//plot(sma1,color=blue,linewidth=1, style=line,transp=0,title="SMA 1")
//plot(sma2,color=yellow,linewidth=1, style=line,transp=0,title="SMA 2")
//plot(sma3,color=green,linewidth=1, style=line,transp=0,title="SMA 3")
//plot(sma4,color=purple,linewidth=1, style=line,transp=0,title="SMA 4")
//plot(sma5,color=red,linewidth=1, style=line,transp=0,title="SMA 5")


// Strategy

//BUY
comprar=close>mediaSMA and mediaSMA>mediaSMA[1] 
fechar=close<mediaSMA and mediaSMA<mediaSMA[1]
 
strategy.entry("BUY",strategy.long,when=comprar)
strategy.entry("SELL",strategy.short, when=fechar)

//SELL
vender=close<mediaSMA and mediaSMA<mediaSMA[1] 
fechar2=close>mediaSMA and mediaSMA>mediaSMA[1]

strategy.entry("SELL",strategy.short, when=vender)
strategy.entry("BUY", strategy.long,when=fechar2)



Lebih banyak