Strategi ini adalah strategi momentum yang didasarkan pada garis rata-rata bergerak. Ini menghasilkan sinyal perdagangan dengan menghitung rata-rata bergerak sederhana dari periode yang berbeda dan membandingkan situasi silang mereka. Secara khusus, ketika garis rata-rata bergerak jangka pendek melintasi di atas garis rata-rata bergerak jangka panjang, sinyal beli dihasilkan; ketika garis rata-rata bergerak jangka pendek melintasi di bawah garis rata-rata bergerak jangka panjang, sinyal jual dihasilkan.
Logika inti dari strategi ini didasarkan pada efek momentum, yang merupakan keberlanjutan tren harga saham. Garis rata-rata bergerak dapat secara efektif mencerminkan tren perubahan harga saham. Ketika garis rata-rata bergerak jangka pendek melintasi di atas garis rata-rata bergerak jangka panjang, itu berarti bahwa harga saham mulai memasuki tren kenaikan; sebaliknya, ketika garis rata-rata bergerak jangka pendek melintasi di bawah garis rata-rata bergerak jangka panjang, itu berarti bahwa harga saham mulai memasuki tren penurunan. Strategi ini menghasilkan sinyal perdagangan berdasarkan prinsip ini.
Secara khusus, rata-rata bergerak sederhana 13 hari dan rata-rata bergerak sederhana 34 hari didefinisikan dalam strategi. Setelah menghitung dua rata-rata bergerak ini berdasarkan harga penutupan harian, hubungan magnitud mereka dibandingkan. Jika garis 13 hari melintasi di atas garis 34 hari, sinyal beli dihasilkan, yang menunjukkan bahwa harga saham memasuki tren kenaikan dan posisi panjang harus ditetapkan; jika garis 13 hari melintasi di bawah garis 34 hari, sinyal jual dihasilkan, yang menunjukkan bahwa harga saham memasuki tren penurunan dan posisi harus ditutup.
Keuntungan terbesar dari strategi ini adalah sederhana dan mudah dipahami dan diimplementasikan. Garis rata-rata bergerak adalah salah satu indikator teknis yang paling dasar dan umum digunakan. Prinsipnya sederhana dan mudah dipahami dan diterapkan. Pada saat yang sama, sinyal silang garis rata-rata bergerak juga telah terbukti efektif melalui praktik jangka panjang.
Selain itu, pengaturan parameter strategi ini fleksibel dan dapat disesuaikan sesuai dengan berbagai varietas dan kondisi pasar. Misalnya, parameter siklus garis rata-rata bergerak dapat diubah untuk menyesuaikan sensitivitas strategi. Ini memberikan ruang untuk optimasi dan penyesuaian strategi.
Risiko terbesar dari strategi ini adalah bahwa mungkin ada lebih banyak sinyal palsu dan terjebak di pasar yang terikat kisaran. Ketika harga berfluktuasi tajam, garis rata-rata bergerak dapat menghasilkan persilangan yang sering, menghasilkan sinyal palsu. Pada titik ini, Anda perlu menyesuaikan parameter siklus garis rata-rata bergerak untuk menyaring beberapa kebisingan.
Selain itu, ketika ada pembalikan pasar yang lebih besar, titik stop loss dari strategi dapat dipecahkan, menghasilkan kerugian yang lebih besar.
Aspek-aspek berikut dari strategi ini dapat dioptimalkan:
Mengoptimalkan parameter siklus garis rata-rata bergerak untuk menemukan kombinasi optimal parameter untuk berbagai varietas dan kondisi pasar.
Tambahkan penyaringan indikator teknis lainnya seperti MACD dan KD untuk menghindari menghasilkan sinyal palsu di pasar yang terikat kisaran.
Optimalkan dan sesuaikan secara dinamis strategi stop loss untuk menghindari titik stop loss terlalu dekat sambil memastikan stop loss, dengan kemungkinan lebih tinggi untuk dilanggar.
Meningkatkan mekanisme manajemen posisi seperti investasi tetap dan rasio posisi untuk mengendalikan risiko transaksi tunggal.
Strategi ini adalah strategi crossover rata-rata bergerak yang sangat klasik. Ini menghasilkan sinyal beli dan jual dengan menghitung dan membandingkan hubungan antara rata-rata bergerak jangka pendek dan jangka panjang. Keuntungan dari strategi ini adalah parameter yang sederhana, fleksibel, dan cocok untuk pemula untuk belajar; Kelemahannya adalah bahwa sinyal mungkin tidak cukup stabil dan mudah terjebak di pasar yang terikat rentang. Dengan optimasi yang tepat, itu masih bisa menjadi strategi kuantitatif yang sangat praktis.
/*backtest start: 2023-01-16 00:00:00 end: 2024-01-22 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 // TODO: update strategy name strategy("{STRATEGY NAME}", overlay=true) // === TA LOGIC === // // // TODO: PUT YOUR TA LOGIC HERE LONG_SIGNAL_BOOLEAN = crossover(sma(close, 13), sma(close, 34)) SHORT_SIGNAL_BOOLEAN = crossunder(sma(close, 12), sma(close, 21)) // === INPUT BACKTEST DATE RANGE === enableShorts = input(false, title="Enable short entries?") FromMonth = input(defval = 5, title = "From Month", minval = 1, maxval = 12) FromDay = input(defval = 18, title = "From Day", minval = 1, maxval = 31) FromYear = input(defval = 2018, title = "From Year", minval = 2017) ToMonth = input(defval = 9, title = "To Month", minval = 1, maxval = 12) ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) ToYear = input(defval = 2018, title = "To Year", minval = 2017) start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window window() => true // create function "within window of time" // === STRATEGY BUY / SELL ENTRIES === // TODO: update the placeholder LONG_SIGNAL_BOOLEAN and SHORT_SIGNAL_BOOLEAN to signal // long and short entries buy() => window() and LONG_SIGNAL_BOOLEAN sell() => window() and SHORT_SIGNAL_BOOLEAN if buy() strategy.entry("Long", strategy.long, comment="Long") if sell() if (enableShorts) strategy.entry("Short", strategy.short, comment="Short") else strategy.close("Long") // === BACKTESTING: EXIT strategy === sl_inp = input(10, title='Stop Loss %', type=float)/100 tp_inp = input(30, title='Take Profit %', type=float)/100 stop_level = strategy.position_avg_price * (1 - sl_inp) take_level = strategy.position_avg_price * (1 + tp_inp) strategy.exit("Stop Loss/Profit", "Long", stop=stop_level, limit=take_level)