Strategi Dual SMA Momentum adalah strategi perdagangan berbasis analisis teknis yang menghasilkan sinyal beli dan jual berdasarkan dua indikator rata-rata bergerak sederhana (SMA).
Strategi ini menggunakan dua indikator SMA dengan jendela waktu pendek dan panjang - SMA cepat (panjang 9 periode) dan SMA lambat (panjang 45 periode).
Ini menghasilkan sinyal long/buy ketika harga penutupan saham melintasi di atas garis SMA cepat dan lambat, menunjukkan awal tren naik.
Ini menghasilkan sinyal short/sell ketika harga melintasi di bawah kedua garis SMA, menunjukkan awal tren penurunan.
Tingkat stop loss ditetapkan secara dinamis pada hari sebelumnya
Keuntungan utama dari strategi ini adalah:
Namun, seperti semua strategi analisis teknis, ia dapat berkinerja buruk selama pasar range-bound dan whipsaw dengan sinyal palsu yang sering.
Risiko utama dari strategi ini adalah:
Cenderung terhadap whipsaws dan sinyal palsu: Karena hanya mengandalkan crossover SMA, strategi dapat menghadapi whipsaws dan sinyal palsu selama pasar sisi atau bergolak, menciptakan biaya perdagangan yang tidak perlu. Hal ini dapat dikurangi dengan menggabungkan dengan indikator lain seperti RSI.
Kerentanan terhadap pembalikan tren mendadak: Pembalikan cepat setelah entri lintas SMA dapat mencapai tingkat stop loss dengan cepat sebelum tren terbentuk. Risiko ini dapat dikurangi dengan mengoptimalkan panjang SMA atau menambahkan filter lain.
Risiko overoptimasi dari tweaking parameter: Optimasi panjang SMA dan parameter lainnya yang luas untuk menyesuaikan data historis dapat menyebabkan kinerja yang buruk dalam perdagangan langsung.
Beberapa cara di mana strategi ini dapat ditingkatkan adalah:
Menambahkan indikator lain seperti RSI untuk konfirmasi perdagangan tambahan untuk meningkatkan waktu dan akurasi sinyal
Memasukkan metode penempatan stop loss dinamis seperti ATR atau exit lampu gantung untuk lebih beradaptasi dengan volatilitas pasar
Mengoptimalkan panjang SMA berdasarkan volatilitas historis dan kerangka waktu perdagangan untuk saham yang berbeda
Menambahkan aturan manajemen uang yang sehat dan ukuran posisi untuk memaksimalkan pengembalian dan membatasi penarikan
Singkatnya, strategi Dual SMA Momentum menawarkan pendekatan yang mudah untuk memperdagangkan tren jangka pendek hingga menengah. Meskipun mendasar dalam pendekatannya, penyempurnaan seperti filter tambahan, dynamic stop dan optimasi yang bijaksana dapat membantu meningkatkan pengembalian yang disesuaikan dengan risiko. Digunakan secara selektif selama tren naik dan turun saham, ini dapat menangkap pergerakan yang menguntungkan.
/*backtest start: 2023-01-10 00:00:00 end: 2024-01-16 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)