Strategi Trading Selisih Rata-Rata Bergerak Dua Garis
Gambaran Umum
Strategi ini menghasilkan sinyal trading berdasarkan selisih rata-rata pergerakan (moving average) dari dua garis MA. Strategi ini menghitung dua garis MA dengan periode cepat dan lambat. Ketika garis cepat menembus ke atas dari garis lambat, maka sinyal beli dihasilkan; ketika garis cepat menembus ke bawah dari garis lambat, maka sinyal jual dihasilkan.
Penjelasan Prinsip
Logika inti dari strategi ini adalah menghitung dua rata-rata pergerakan SMA(len1) dan SMA(len2), serta selisihnya yaitu dif. len1 mewakili periode MA jangka pendek, len2 mewakili periode MA jangka panjang. MA jangka pendek merespon perubahan harga lebih cepat, sedangkan MA jangka panjang lebih mencerminkan tren jangka panjang.
Ketika MA jangka pendek menembus ke atas dari MA jangka panjang, hal ini menunjukkan harga jangka pendek mulai naik melebihi tren jangka panjang, sehingga dapat dilakukan pembelian. Ketika menembus ke bawah dari MA jangka panjang, hal ini menunjukkan harga jangka pendek mulai turun di bawah tren jangka panjang, sehingga dapat dilakukan penjualan.
Untuk menyaring sinyal palsu, strategi ini juga memperkenalkan out3 sebagai garis sinyal trading. out3 adalah hasil dari pemulusan SMA dari selisih antara MA jangka pendek dan harga median. Sinyal trading hanya dihasilkan ketika out3 melintasi dif.
Secara spesifik, variabel long bernilai positif ketika out3 menembus ke atas dif, sebagai sinyal beli; variabel short bernilai negatif ketika out3 menembus ke bawah dif, sebagai sinyal jual. strategy.entry menghasilkan order beli berdasarkan sinyal long, dan strategy.close menghasilkan order tutup jual berdasarkan sinyal short.
Analisis Keunggulan
Ini adalah strategi yang sangat sederhana dan intuitif untuk mengikuti tren. Dengan menggunakan perbedaan periode dua MA yang menghasilkan persilangan MA, strategi ini dapat menangkap titik pembalikan tren dengan lebih andal dibandingkan sistem MA tunggal. Selain itu, penyaringan sinyal dengan garis sinyal dapat menghindari sinyal palsu di pasar yang bergejolak hingga batas tertentu.
Dibandingkan dengan metode seperti trailing stop, strategi ini menggunakan konsep mengikuti tren sehingga dapat memaksimalkan keuntungan, dan tidak akan terhenti karena stop loss selama tren masih berlangsung. Pada saat yang sama, strategi ini juga mengontrol kerugian dengan menutup posisi tepat waktu saat tren berbalik.
Strategi ini memiliki parameter yang sedikit, mudah dipahami dan disesuaikan, cocok sebagai strategi pengantar bagi pemula yang belajar algorithmic trading.
Risiko dan Perbaikan
Risiko terbesar dari strategi ini adalah parameter periode MA yang tidak tepat sehingga menghasilkan sinyal trading yang salah. Jika periode MA jangka pendek len1 terlalu panjang, maka akan melewatkan peluang di awal tren; jika terlalu pendek, maka akan meningkatkan kemungkinan sinyal palsu. Jika periode MA jangka panjang len2 terlalu panjang, maka akan menunda penyesuaian posisi; jika terlalu pendek, maka mudah terganggu oleh gejolak pasar.
Dengan menyesuaikan parameter len1 dan len2, kita dapat memperoleh kombinasi terbaik. Bisa juga dicoba dengan memperkenalkan MA adaptif untuk menyesuaikan periode secara dinamis. Selain itu, dengan mengoptimalkan parameter filter, sinyal palsu dapat dikurangi.
Strategi mengikuti tren juga perlu memperhatikan pengendalian besarnya kerugian per perdagangan, dapat menetapkan titik stop loss atau memperkenalkan manajemen posisi untuk optimasi.
Kesimpulan
Strategi selisih dua MA adalah representasi yang sangat khas dari strategi mengikuti tren. Sistem persilangan dua MA yang sederhana memberikan sumber sinyal yang stabil, dan dengan filter yang tepat dapat secara efektif menghindari gangguan dari gejolak pasar. Dengan mengoptimalkan parameter periode MA, kinerja strategi yang baik dapat diperoleh. Strategi ini sangat cocok sebagai strategi pengantar untuk belajar algorithmic trading.
/*backtest
start: 2022-10-10 00:00:00
end: 2023-10-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//by afrazium
//@version=3
strategy(title="SMA Diff strat", shorttitle="SMAD STR", overlay=false, initial_capital=1, precision=8, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.1, calc_on_order_fills= false, calc_on_every_tick=false, pyramiding=0)
len1 = input(50, minval=1, title="Length1"), len2 = input(100, minval=1, title="Length2"), smo = input(1, minval=1, title="Smoothing")- 1

