Strategi silang purata bergerak mudah

Penulis:ChaoZhang, Tarikh: 2024-02-21 15:11:32
Tag:

img

Ringkasan

Ini adalah strategi perdagangan gabungan berdasarkan purata bergerak mudah (SMA). Ia menggunakan persilangan garis SMA 9 hari dan 21 hari sebagai isyarat beli dan jual. Apabila SMA jangka pendek melintasi di atas SMA jangka panjang dari bawah, isyarat beli dihasilkan. Apabila SMA jangka pendek melintasi di bawah SMA jangka panjang dari atas, isyarat jual dihasilkan.

Logika Strategi

Logik teras strategi ini adalah menggunakan dua garis SMA dengan parameter yang berbeza - SMA 9 hari yang mewakili trend jangka pendek dan SMA 21 hari yang mewakili trend jangka panjang. Apabila garis trend jangka pendek melintasi di atas garis trend jangka panjang dari bawah, ia menunjukkan pasaran berubah dari trend menurun ke trend menaik, menghasilkan isyarat beli. Apabila garis jangka pendek melintasi di bawah garis jangka panjang dari atas, ia menandakan perubahan dari trend menaik ke trend menaik, menghasilkan isyarat jual.

Isyarat utama strategi ini bergantung kepada adalah salin emas dan salin kematian dari dua garis SMA. Salib emas berlaku apabila SMA pendek melintasi di atas SMA panjang, menandakan kemungkinan perubahan dari trend menurun ke trend naik. Salib kematian berlaku apabila SMA pendek melintasi di bawah SMA panjang, menunjukkan penurunan dari trend naik mungkin bermula. Dengan menggunakan kedua-dua isyarat ini, strategi mengenal pasti hubungan antara trend jangka pendek dan jangka panjang untuk membuat keputusan perdagangan.

Kelebihan

  1. Mudah difahami dan dilaksanakan
  2. Beberapa parameter yang memerlukan ujian / pengoptimuman yang luas
  3. Kekerapan dagangan yang munasabah mengelakkan dagangan yang terlalu agresif
  4. Cukup tepat dalam mengenal pasti titik pembalikan trend
  5. Menawarkan pengukuran dan kestabilan ke tahap tertentu

Risiko

  1. Rendah untuk menghasilkan isyarat palsu dan whipsaws
  2. Pemilihan titik pembelian/penjualan bergantung kepada pengalaman dan bukannya pendekatan sistematik
  3. Prestasi sangat bergantung kepada parameter. SMA 9 hari/21 hari mungkin tidak optimum
  4. Tidak berkesan untuk menapis bising perdagangan di pasaran bergelombang / sampingan
  5. Perdagangan kehilangan yang ketara dalam persekitaran turun naik yang tinggi

Kemungkinan Peningkatan:

  1. Tambah penapis untuk mengelakkan bertindak pada isyarat palsu
  2. Masukkan penunjuk lain untuk mengukur kebolehpercayaan isyarat
  3. Ujian dan mengoptimumkan parameter untuk produk yang berbeza
  4. Melaksanakan stop loss/take profit untuk mengawal risiko

Kesimpulan

Secara keseluruhan, ini adalah sistem crossover purata bergerak berganda yang agak tradisional dan mudah. Ia mudah difahami dan dilaksanakan dengan pemilihan parameter yang agak mudah. Ia dapat menjejaki perubahan antara trend jangka pendek dan jangka panjang dengan berkesan. Walau bagaimanapun, isu-isu seperti isyarat palsu, parameter yang dipilih secara empirik, prestasi biasa dalam persekitaran turun naik yang tinggi perlu ditangani. Pengoptimuman, peningkatan, dan kombinasi yang sesuai harus dipertimbangkan bersama dengan amalan kawalan risiko yang kukuh.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bitboy Strategy", overlay=true)

// Define MAs
SlowMA = ta.sma(close, 9)
FastMA = ta.sma(close, 21)

// Plot MAs
plot1 = plot(SlowMA, color=color.new(color.red, 0), title="Slow MA")
plot2 = plot(FastMA, color=color.new(color.green, 0), title="Fast MA")

// Plot MA Ribbon
fill(plot1, plot2, color=FastMA > SlowMA ? color.rgb(233, 21, 21, 50) : color.new(#1de223, 45))

// Define buy/sell conditions
longCondition = ta.crossover(SlowMA, FastMA)
shortCondition = ta.crossunder(SlowMA, FastMA)

// Strategy commands for buy/sell
if longCondition
    strategy.entry("Long", strategy.long)

if shortCondition
    strategy.entry("Short", strategy.short)

// Plot buy/sell signals (for visualization)
plotshape(longCondition, location=location.belowbar, color=color.rgb(18, 230, 25, 37), style=shape.labelup, text="Buy", textcolor=color.white)
plotshape(shortCondition, location=location.abovebar, color=color.rgb(239, 23, 23, 40), style=shape.labeldown, text="Sell", textcolor=color.white)

Lebih lanjut