
Tinjauan Strategi
Strategi ini adalah sistem trading overhead yang didasarkan pada simplistic moving average (SMA) crossover, yang berfokus pada menangkap tren turun pasar. Strategi ini menggunakan simplistic moving average 20 periode dan 50 periode sebagai indikator inti, sistem menghasilkan sinyal kosong ketika SMA pendek (20) turun melewati SMA panjang (50) turun; sistem berposisi kosong ketika SMA pendek (20) naik melewati SMA panjang (50). Desain ini bersih dan efektif, sangat cocok untuk menangkap tren turun jangka pendek dalam kerangka waktu 15 menit.
Prinsip Strategi
Strategi ini didasarkan pada teori moving average crossover klasik dalam analisis teknis. Logika intinya adalah sebagai berikut:
- Hitung rata-rata bergerak sederhana 20 periode (SMA20) dan rata-rata bergerak sederhana 50 periode (SMA50)
- Ketika SMA20 di bawah melewati SMA50, dianggap sebagai pergerakan harga yang berbalik ke arah negatif, tren dipicu oleh overbought, yang memicu sinyal shorting
- Ketika SMA20 melewati SMA50, dianggap sebagai penurunan yang melemah atau berakhir, yang memicu sinyal closeout
- Strategi menggunakan mode operasi penuh posisi dengan 100% dana yang tersedia untuk setiap transaksi
Dari implementasi kode, strategi menggunakan fungsi ta.crossunder () dan ta.crossover () dari bahasa Pine Script untuk menangkap peristiwa persilangan rata-rata dengan tepat, dan melakukan perdagangan melalui fungsi strategy.entry () dan strategy.close (). Selain itu, strategi juga menampilkan sinyal perdagangan secara intuitif di grafik, membantu pedagang memahami pelaksanaan logika perdagangan secara instan.
Keunggulan Strategis
- Singkat dan efisienStrategi ini menggunakan hanya dua indikator teknis, logika yang jelas, mudah dipahami dan diterapkan, mengurangi risiko over-fitting.
- Kemampuan untuk melacak trenKombinasi SMA20 dan SMA50 secara efektif menangkap perubahan tren jangka menengah, yang biasanya menunjukkan ruang penurunan yang lebih besar ketika rata-rata jangka pendek melintasi rata-rata jangka panjang.
- Peningkatan manajemen risikoStrategi ini memiliki persyaratan masuk dan keluar yang jelas, tidak memperluas kerugian tanpa batas, dan secara otomatis menutup posisi ketika tren berbalik.
- Umpan balik visual: Dengan bentuk dan teks label pada grafik, pedagang dapat melihat setiap sinyal perdagangan dengan jelas, untuk analisis dan pemantauan real-time.
- Sangat mudah beradaptasiMeskipun strategi ini bekerja dengan baik pada jangka waktu 15 menit, logika intinya juga berlaku untuk periode waktu lainnya dan memiliki kemampuan adaptasi lintas-frame waktu yang baik.
- Perdagangan terhadap kemanusiaanStrategi “berada di atas angin” seringkali menguntungkan dalam situasi pasar yang penuh dengan kepanikan, membantu para pedagang untuk tetap tenang dan mengambil keuntungan dari pasar yang turun.
Risiko Strategis
- Risiko pasar yang bergejolakDalam pasar yang bergejolak, seringnya persilangan garis rata-rata dapat menyebabkan beberapa sinyal palsu yang menghasilkan perdagangan kerugian berturut-turut. Cara yang lebih baik adalah dengan menambahkan indikator konfirmasi, seperti indikator kekuatan tren atau filter tingkat fluktuasi.
- Masalah keterbelakangan: Moving average sendiri memiliki keterlambatan, yang dapat menyebabkan waktu masuk dan keluar yang tidak ideal, kehilangan titik perdagangan terbaik. Anda dapat mempertimbangkan untuk menggunakan indikator yang lebih sensitif seperti EMA atau menyesuaikan siklus rata-rata untuk mengurangi masalah ini.
- Pembatasan satu arahStrategi hanya tidak melakukan banyak trading, dan mungkin kehilangan banyak peluang untuk naik di pasar bullish jangka panjang. Salah satu solusinya adalah mengembangkan strategi multihead yang mendukung atau memperluas strategi saat ini ke sistem perdagangan dua arah.
- Manajemen keuangan yang burukStrategi menggunakan 100% dana untuk berdagang, tanpa mempertimbangkan manajemen posisi, yang dapat menyebabkan pengurangan dana dengan cepat jika terjadi kerugian berturut-turut. Disarankan untuk menambahkan modul manajemen risiko, menyesuaikan ukuran posisi berdasarkan dinamika volatilitas pasar.
- Kurangnya pengendalian kerugianStrategi saat ini mengandalkan crossover rata-rata sebagai titik awal, tanpa set stop loss, dan mungkin menanggung penarikan besar dalam situasi ekstrem. Harus ditambahkan mekanisme stop loss berdasarkan ATR atau persentase tetap.
Arah optimasi strategi
- Menambahkan filter trenMenggunakan indikator kekuatan tren seperti ADX (Average Directional Index) untuk melakukan perdagangan hanya jika ADX lebih besar dari titik terendah tertentu, untuk menghindari sinyal palsu dari pasar yang bergoyang. Optimalisasi ini dapat meningkatkan rasio kemenangan dan kerugian secara signifikan.
- Optimalkan siklus rata-rataSiklus 20⁄50 yang digunakan saat ini adalah pengaturan klasik, tetapi dapat meningkatkan fleksibilitas strategi dengan menelusuri kembali kombinasi parameter yang berbeda untuk menemukan parameter optimal untuk varietas perdagangan tertentu.
- Memperkenalkan analisis multi-frame waktu: Menambahkan penilaian tren pada kerangka waktu yang lebih tinggi, hanya melakukan sinyal kosong pada grafik 15 menit saat garis matahari atau grafik 4 jam berorientasi ke bawah, menghindari perdagangan kontra-trend.
- Menambahkan manajemen posisiBerbasis ATR (Average True Rate of Volatility) ukuran posisi yang disesuaikan secara dinamis, mengurangi posisi di pasar yang bergejolak tinggi, meningkatkan posisi secara moderat saat volatilitas rendah, dan mengoptimalkan kelancaran kurva modal.
- Menambahkan mekanisme stop lossPengaturan stop loss berdasarkan ATR atau key support, dan stop loss berdasarkan risk return ratio atau low point di awal, meningkatkan kemampuan perlindungan dana.
- Menambahkan waktu penyaringan transaksiAnalisis kinerja pada waktu perdagangan yang berbeda, menghindari waktu yang tidak efisien atau berisiko, seperti saat perdagangan di pasar Asia, Eropa, dan Amerika Serikat yang dapat berfluktuasi.
- Mempertimbangkan Faktor BiayaTermasuk biaya transaksi dan faktor slippage dalam evaluasi strategi untuk lebih akurat menilai efek transaksi yang sebenarnya.
Meringkaskan
SMA20/50 Smart Ticket Trading System adalah strategi trading kuantitatif yang sederhana dan efisien untuk melakukan trading overhead dengan menangkap sinyal silang dari moving average sederhana. Strategi ini berkinerja baik dalam tren turun, logika operasinya jelas, dan mudah dipahami dan diterapkan. Meskipun ada risiko yang melekat seperti sinyal palsu pasar yang bergoyang dan keterlambatan linier, kinerja strategi dapat ditingkatkan secara signifikan dengan menambahkan filter tren, pengaturan parameter yang dioptimalkan, dan mekanisme manajemen dan penghentian kerugian yang disempurnakan.
Kode 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