Strategi Crossover Purata Pergerakan Berbilang SMA


Tarikh penciptaan: 2023-11-28 15:08:37 Akhirnya diubah suai: 2023-11-28 15:08:37
Salin: 2 Bilangan klik: 713
1
fokus pada
1617
Pengikut

Strategi Crossover Purata Pergerakan Berbilang SMA

Gambaran keseluruhan

Strategi ini dengan mengira garis rata-rata SMA untuk beberapa tempoh masa, dan mengambil nilai purata untuk membina penunjuk garis rata-rata. Apabila harga naik, ia menghasilkan isyarat beli apabila ia melanggar garis rata-rata, dan apabila harga turun, ia menghasilkan isyarat jual apabila ia melanggar garis rata-rata.

Prinsip Strategi

  1. Hitung purata SMA untuk 5 tempoh yang berbeza (8, 21, 50, 100, 200 hari)
  2. Rata-rata 5 nilai purata untuk mendapatkan purata akhir.
  3. Sinyal beli dihasilkan apabila harga penutupan naik dan melepasi garis purata
  4. Tanda jual dihasilkan apabila harga penutupan turun dan melanggar garis purata

Strategi ini menggunakan purata SMA untuk beberapa tempoh masa, yang dapat menyelaraskan kurva dengan berkesan, menghapuskan pecah palsu. Ia mempunyai kestabilan yang lebih tinggi berbanding dengan garis purata tunggal.

Analisis kelebihan

  1. Garis purata jangka masa yang digunakan secara berkesan dapat menyaring bunyi pasaran dan mengenal pasti trend
  2. Melancarkan kurva untuk mengelakkan banyak isyarat palsu
  3. Logik strategi mudah difahami, mudah diimplementasikan, sesuai untuk pelajar pemula
  4. Kombinasi kitaran linear yang boleh disesuaikan untuk mengoptimumkan kesan penunjuk

Analisis risiko

  1. Sistem garis rata secara keseluruhan terlewat, tidak dapat mengesan perubahan harga dalam masa yang tepat
  2. Penembusan gagal, titik henti jauh, risiko kerugian besar
  3. Garis Henti Dipicu Selalunya Dalam Trend Guncangan

Risiko ini boleh dikurangkan dengan mengurangkan tempoh purata bahagian dengan sewajarnya, dan dengan menambah pengesahan petunjuk lain.

Arah pengoptimuman

  1. Mengoptimumkan gabungan kitaran linear rata untuk mencari parameter terbaik
  2. Menambah tanda-tanda pengesahan penembusan seperti jumlah transaksi
  3. Meneroka trend, mengelakkan isyarat palsu di pasaran
  4. Membangunkan program pengoptimuman parameter automatik untuk mencari parameter optimum secara dinamik

ringkaskan

Strategi ini adalah strategi yang stabil dan praktikal. Strategi ini mempunyai pemikiran yang jelas, integrasi yang merata dalam pelbagai tempoh masa, dan dapat mengenal pasti trend dengan berkesan. Tetapi kita juga perlu memperhatikan keterbelakangan dan risiko salah maklumat. Dengan cara menetapkan parameter pengoptimuman lebih lanjut, menambah indikator pengesahan, dan sebagainya, strategi ini dapat terus diperbaiki, menjadikannya sebagai alat perdagangan kuantitatif yang kuat.

Kod sumber strategi
/*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)