
Gambaran Keseluruhan Strategi
Strategi ini adalah sistem perdagangan kosong yang berdasarkan pada simpul bergerak rata-rata ((SMA) yang bercampur-campur, yang memberi tumpuan kepada menangkap tren turun pasaran. Strategi ini menggunakan purata bergerak sederhana 20 dan 50 kitaran sebagai penunjuk teras, sistem menghasilkan isyarat kosong apabila jangka pendek SMA (20) turun melintasi jangka panjang SMA (50); sistem meratakan apabila jangka pendek SMA (20) melintasi jangka panjang SMA (50). Reka bentuk ini bersih dan berkesan, sangat sesuai untuk menangkap tren turun jangka pendek dalam bingkai masa 15 minit.
Prinsip Strategi
Strategi ini berdasarkan kepada teori klasik moving average crossover dalam analisis teknikal. Logik utamanya adalah seperti berikut:
- Hitung purata bergerak sederhana 20 kitaran ((SMA20) dan purata bergerak sederhana 50 kitaran ((SMA50)
- Apabila SMA20 di bawah menembusi SMA50, dilihat sebagai pergerakan harga bertukar ke arah negatif, trend dipengaruhi oleh overbought, yang mencetuskan isyarat shorting
- Apabila SMA20 melintasi SMA50, ia dianggap sebagai penurunan atau berakhir, yang mencetuskan isyarat kedudukan kosong
- Strategi menggunakan mod operasi penuh, menggunakan 100% dana yang tersedia untuk setiap perdagangan
Dari segi pelaksanaan kod, strategi menggunakan fungsi ta.crossunder () dan ta.crossover () dalam bahasa Pine Script untuk menangkap peristiwa persilangan garis rata dengan tepat, dan melaksanakan perdagangan melalui fungsi strategy.entry () dan strategy.close (). Selain itu, strategi juga menunjukkan isyarat perdagangan secara intuitif di carta, membantu pedagang memahami pelaksanaan logik perdagangan dengan serta-merta.
Kelebihan Strategik
- ringkas dan berkesanStrategi menggunakan hanya dua petunjuk teknikal, logiknya jelas, mudah difahami dan dilaksanakan, mengurangkan risiko kecocokan berlebihan.
- Keupayaan untuk mengesan trendKombinasi SMA20 dan SMA50 berkesan menangkap perubahan trend pada pertengahan masa. Apabila garis purata jangka pendek melintasi garis purata jangka panjang, ia biasanya menunjukkan ruang penurunan yang lebih besar.
- Pengurusan risiko yang lebih baikStrategi ini mempunyai syarat masuk dan keluar yang jelas, tidak membiarkan kerugian berkembang tanpa had, dan secara automatik menutup kedudukan apabila trend berbalik.
- Maklum balas visual: Dengan tanda bentuk dan label teks pada carta, peniaga dapat melihat setiap isyarat perdagangan dengan jelas, memudahkan analisis dan pemantauan masa nyata.
- Sangat boleh menyesuaikan diriWalaupun strategi ini berfungsi dengan baik pada jangka masa 15 minit, logik terasnya juga berlaku untuk jangka masa lain dan mempunyai kemampuan adaptasi yang baik di antara jangka masa.
- Perdagangan ke atas manusiaStrategi kosong sering mendapat keuntungan ketika pasaran berada dalam keadaan panik, membantu peniaga untuk kekal tenang dan mendapat keuntungan dalam pasaran yang jatuh.
Risiko Strategik
- Risiko pasaran yang tidak menentuDalam pasaran yang bergolak, seringnya persilangan garis rata-rata boleh menyebabkan beberapa isyarat palsu, menghasilkan perdagangan kerugian berturut-turut. Kaedah penambahbaikan adalah dengan menambah penunjuk pengesahan, seperti penunjuk kekuatan trend atau penapis kadar turun naik.
- Masalah ketinggalan zaman: Rata-rata bergerak itu sendiri mempunyai keterlambatan, yang boleh menyebabkan masa masuk dan keluar tidak sesuai, kehilangan titik perdagangan terbaik. Untuk mengurangkan masalah ini, pertimbangkan untuk menggunakan penunjuk yang lebih sensitif seperti EMA atau menyesuaikan kitaran rata-rata.
- Batasan satu arahStrategi hanya tidak melakukan banyak kerja kosong, dan mungkin kehilangan banyak peluang untuk naik dalam pasaran lembu jangka panjang. Salah satu penyelesaian adalah dengan membangunkan strategi multihead yang serasi atau memperluaskan strategi semasa ke sistem perdagangan dua hala.
- Pengurusan kewangan yang kurang baikStrategi menggunakan 100% dana untuk berdagang, tanpa mempertimbangkan pengurusan kedudukan, yang boleh menyebabkan dana berkurangan dengan cepat jika kerugian berturut-turut. Disyorkan untuk menambah modul pengurusan risiko, menyesuaikan saiz kedudukan berdasarkan pergerakan turun naik pasaran.
- Kekurangan mekanisme kawalan kerugianStrategi semasa bergantung pada persilangan rata-rata sebagai titik permulaan, tidak ada penangguhan yang ditetapkan, dan mungkin mengalami penarikan balik yang lebih besar dalam keadaan yang melampau. Peranti penangguhan berdasarkan ATR atau peratusan tetap harus ditambah.
Arah pengoptimuman strategi
- Menambah penapis trendMemperkenalkan penunjuk kekuatan trend seperti ADX (Indeks Arah Rata-rata), dan hanya melakukan perdagangan apabila ADX lebih besar daripada nilai terendah tertentu, untuk mengelakkan isyarat palsu pasaran yang bergolak. Pengoptimuman sedemikian dapat meningkatkan kadar kemenangan dan keuntungan secara ketara.
- Optimumkan kitaran rata-rataPada masa ini, kitaran 20⁄50 digunakan sebagai tetapan klasik, tetapi anda boleh mencari parameter optimum untuk jenis perdagangan tertentu dengan mengkaji semula kombinasi parameter yang berbeza untuk meningkatkan kebolehpasaran strategi.
- Pengenalan analisis pelbagai kerangka masa: Tambah penghakiman trend pada bingkai masa yang lebih tinggi, hanya melaksanakan isyarat kosong pada carta 15 minit apabila garisan hari atau carta 4 jam bergerak ke bawah, dan mengelakkan dagangan berlawanan trend.
- Tambah pengurusan kedudukanMengubah saiz kedudukan secara dinamik berdasarkan ATR, mengurangkan kedudukan di pasaran yang bergelombang tinggi, meningkatkan kedudukan secara sederhana ketika turun naik rendah, dan mengoptimumkan kelancaran kurva modal.
- Menambah mekanisme penghentian kerugian: menetapkan hentian berdasarkan ATR atau kedudukan sokongan utama, dan berhenti berdasarkan nisbah pulangan risiko atau titik rendah awal, meningkatkan keupayaan perlindungan dana.
- Menambah penapis masa transaksiAnalisis prestasi pada masa perdagangan yang berbeza, mengelakkan masa yang tidak cekap atau berisiko tinggi, seperti masa pertukaran di pasaran Asia, Eropah dan Amerika Syarikat yang mungkin berubah-ubah.
- Mempertimbangkan faktor kosDalam penilaian strategik, faktor bayaran dan slippage boleh dimasukkan untuk menilai kesan sebenar transaksi.
ringkaskan
Sistem perdagangan tiket pintar SMA20/50 adalah strategi perdagangan kuantitatif yang ringkas dan cekap untuk melakukan perdagangan kosong dengan menangkap isyarat silang rata-rata bergerak sederhana. Strategi ini berprestasi dalam trend menurun, logik pengendaliannya jelas, mudah difahami dan dilaksanakan. Walaupun terdapat risiko yang wujud seperti isyarat palsu pasaran yang bergolak dan keterlambatan garis lurus, prestasi strategi dapat ditingkatkan dengan cara menambahkan penapis trend, menetapkan parameter yang dioptimumkan, dan memperbaiki pengurusan dana dan mekanisme penangguhan kerugian.
Kod sumber strategi
/*backtest
start: 2025-01-01 00:00:00
end: 2025-03-31 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=6
strategy("SMA20/50 Short-Only Strategy", overlay=true, initial_capital=5000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// Input sources and calculations
src = close
sma20 = ta.sma(src, 20)
sma50 = ta.sma(src, 50)
// Generate sell signal when sma20 crosses below sma50
sellSignal = ta.crossunder(sma20, sma50)
// Generate exit signal when sma20 crosses above sma50
exitSignal = ta.crossover(sma20, sma50)
// Plot SMAs
plot(sma20, color = color.blue, title = "SMA 20")
plot(sma50, color = color.black, title = "SMA 50")
// Plot sell signal
plotshape(sellSignal, style = shape.triangledown, location = location.abovebar, color = color.red, size = size.tiny, title = "Sell Signal")
// Plot exit signal
plotshape(exitSignal, style = shape.xcross, location = location.belowbar, color = color.green, size = size.tiny, title = "Exit Signal")
// Add label for sell signals
if sellSignal
label.new(bar_index, high, text="SELL", color = color.red, style = label.style_label_down, textcolor = color.white, size = size.small)
// Add label for exit signals
if exitSignal
label.new(bar_index, low, text="EXIT", color = color.green, style = label.style_label_up, textcolor = color.white, size = size.small)
// Strategy entry and exit - SHORT ONLY
if sellSignal
strategy.entry("Short", strategy.short)
if exitSignal
strategy.close("Short")
// Strategy performance stats
var cumPnL = 0.0
if strategy.closedtrades > 0
cumPnL := strategy.netprofit