Strategi crossover purata bergerak adalah strategi perdagangan kuantitatif

Penulis:ChaoZhang, Tarikh: 2023-12-22 13:28:01
Tag:

img

Ringkasan

Strategi crossover purata bergerak adalah strategi perdagangan kuantitatif berdasarkan purata bergerak mudah (SMA). Ia menghasilkan isyarat beli dan jual apabila crossover SMA tempoh yang berbeza berlaku.

Secara khusus, strategi ini mengira SMA 9 tempoh dan 45 tempoh. Apabila harga melintasi di atas kedua-dua garis SMA, isyarat beli dihasilkan. Apabila harga melintasi di bawah kedua-dua garis, isyarat jual dicetuskan.

Logika Strategi

Logik teras strategi ini adalah berdasarkan pada prinsip golden cross dan dead cross purata bergerak. purata bergerak dapat menapis bunyi pasaran dengan berkesan dan menunjukkan perubahan trend utama. Apabila MA jangka pendek melintasi di atas MA jangka panjang, ia menandakan pembalikan trend menaik.

Secara khusus, strategi ini menggunakan purata bergerak mudah 9 tempoh dan 45 tempoh. Garis 9 tempoh mewakili trend jangka pendek manakala garis 45 tempoh menangkap pergerakan jangka panjang. Apabila harga melintasi di atas kedua-dua garis SMA, ia menunjukkan harga berada di saluran menaik baik jangka pendek dan jangka panjang, oleh itu mencetuskan entri panjang. Persalinan bertentangan menunjukkan kelemahan momentum menaik dan meminta isyarat keluar.

Dari perspektif kod, strategi ini mula-mula mengira nilai SMA 9 tempoh dan 45 tempoh. Kemudian ia menggunakan fungsi ta.crossover dan ta.crossunder untuk mengesan salib emas dan salib mati antara dua garis MA. Apabila isyarat beli dan jual dicetuskan, fungsi plot bentuk menggambar segitiga dan segitiga terbalik pada carta harga.

Di samping itu, logik stop-loss dilaksanakan untuk menguruskan keluar perdagangan. Khususnya, harga tinggi dan rendah bar sebelumnya diekstrak sebagai harga stop-loss selepas membuka perdagangan baru. Ini membolehkan strategi untuk mengunci keuntungan dan mencegah kerugian besar.

Analisis Kelebihan

  • Setup purata bergerak berganda menangkap perubahan trend jangka menengah hingga panjang sambil menapis bunyi jangka pendek, meningkatkan kualiti isyarat.

  • Mekanisme stop-loss berkesan mengawal risiko dan kunci dalam keuntungan.

  • Logik yang mudah dan mudah dilaksanakan, sesuai untuk pemula.

  • Penggunaan modal yang tinggi untuk keuntungan kompaun.

Analisis Risiko

  • Strategi MA berganda cenderung untuk menghasilkan whipsaws dan isyarat yang tidak sah semasa pasaran yang bergolak.

  • Penempatan stop loss konservatif tidak dapat mengesan trend dengan berkesan.

  • Pemilihan parameter yang kurang optimum boleh membawa kepada perdagangan berlebihan atau kekerapan perdagangan yang tidak mencukupi.

  • Tidak dapat menyesuaikan diri dengan perubahan besar trend.

Penyelesaian:

  1. Mengoptimumkan parameter MA untuk mengurangkan isyarat palsu

  2. Melaksanakan hentian dinamik mengikut trend

  3. Tambah penapis menggunakan penunjuk lain

  4. Pengecualian manual di sekitar pembalikan utama

Arahan pengoptimuman

Penambahbaikan lanjut untuk strategi:

  1. Gunakan MAs adaptif atau eksponensial untuk menangkap trend dengan lebih baik.

  2. Tambah penapis turun naik untuk mengelakkan isyarat palsu semasa pasaran berkisar.

  3. Melakukan pengoptimuman parameter untuk kombinasi parameter terbaik.

  4. Menggabungkan mekanisme trend-mengikuti ke dalam logik stop-loss.

  5. Tambah analisis sokongan-tantangan untuk mengelakkan isyarat di sekitar tahap utama.

  6. Memanfaatkan pembelajaran mesin untuk lebih menapis kualiti isyarat.

Kesimpulan

Sistem crossover purata bergerak adalah pendekatan trend yang mudah namun berkesan. Dengan menapis bunyi bising dan mengesan trend jangka menengah, ia menghasilkan isyarat berkualiti. Dengan kerugian berhenti yang betul, ia membolehkan perdagangan trend yang dikendalikan risiko. Logik yang mudah juga menjadikannya ideal untuk pemula untuk diamalkan. Pengoptimuman lanjut dapat mengintegrasikan strategi ini sebagai komponen yang berkesan dari sistem kuantum keseluruhan.


/*backtest
start: 2022-12-15 00:00:00
end: 2023-12-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

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

// Input parameters
fast_length = input(9, title="Fast SMA Length")
slow_length = input(45, title="Slow SMA Length")

// Calculate moving averages
fast_sma = ta.sma(close, fast_length)
slow_sma = ta.sma(close, slow_length)

// Buy condition
buy_condition = ta.crossover(close, fast_sma) and ta.crossover(close, slow_sma)

// Sell condition
sell_condition = ta.crossunder(close, fast_sma) and ta.crossunder(close, slow_sma)

// Calculate stop loss levels
prev_low = request.security(syminfo.tickerid, "1D", low[1], lookahead=barmerge.lookahead_on)
prev_high = request.security(syminfo.tickerid, "1D", high[1], lookahead=barmerge.lookahead_on)

// Plot signals on the chart
plotshape(buy_condition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(sell_condition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)

// Strategy exit conditions
long_stop_loss = sell_condition ? prev_low : na
short_stop_loss = buy_condition ? prev_high : na

strategy.exit("Long Exit", from_entry="Long", when=sell_condition, stop=long_stop_loss)
strategy.exit("Short Exit", from_entry="Short", when=buy_condition, stop=short_stop_loss)

strategy.entry("Long", strategy.long, when=buy_condition)
strategy.entry("Short", strategy.short, when=sell_condition)


Lebih lanjut