Strategi Dual SMA Crossover menghasilkan sinyal perdagangan dengan menghitung crossover dari dua garis SMA dengan pengaturan parameter yang berbeda. Ketika garis SMA yang lebih cepat melintasi di atas garis SMA yang lebih lambat, sinyal beli dihasilkan. Ketika garis SMA yang lebih lambat melintasi di bawah garis SMA yang lebih cepat, sinyal jual dihasilkan. Strategi ini menggunakan dua set parameter SMA pada saat yang sama, satu set untuk menentukan titik masuk, dan yang lainnya untuk menentukan titik keluar.
Strategi ini menggunakan dua set parameter SMA,smaB1
, smaB2
untuk sinyal beli, dansmaS1
, smaS2
untuk sinyal jual, yang mewakili rata-rata bergerak yang lebih lambat dan lebih cepat masing-masing.smaB1
Salib di atassmaB2
, sinyal beli dihasilkan.smaS2
Salib di bawahsmaS1
, sinyal jual dihasilkan. Hal ini memungkinkan penyesuaian kondisi masuk dan keluar yang fleksibel untuk beradaptasi dengan perubahan lingkungan pasar.
Secara khusus, strategi ini memantau situasi silang antara dua garis SMA yang dihitung dari harga penutupan untuk menentukan waktu pembelian dan penjualan. Ketika garis SMA yang lebih cepat melintasi di atas garis SMA yang lebih lambat, dinilai bahwa tren harga naik, jadi pergi panjang pada saat ini. Dan ketika garis SMA yang lebih lambat melintasi di bawah garis SMA yang lebih cepat, tren harga berbalik ke bawah, jadi keluar posisi panjang.
Keuntungan utama dari strategi ini adalah:
Ada juga beberapa risiko yang terkait dengan strategi ini:
Untuk mengendalikan risiko di atas, metode seperti optimasi parameter SMA, stop loss dinamis untuk mengunci keuntungan, dll dapat digunakan untuk meningkatkan strategi.
Beberapa arah optimasi untuk strategi ini:
Strategi SMA Crossover menghasilkan sinyal perdagangan yang sederhana dan efektif dengan menghitung situasi crossover antara dua garis SMA. Fleksibilitas untuk menyesuaikan parameter membuat strategi ini dapat disesuaikan dengan produk yang berbeda, dan ini adalah strategi trend yang umum digunakan. Perbaikan lebih lanjut dapat dilakukan pada strategi ini melalui optimasi parameter, penyaringan sinyal dll untuk menghasilkan sinyal yang lebih dapat diandalkan.
/*backtest start: 2023-11-15 00:00:00 end: 2023-11-22 00:00:00 period: 5m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © melihtuna //@version=4 strategy("SMA Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=10000, currency=currency.USD, commission_value=0.1, commission_type=strategy.commission.percent) smaB1 = input(title="smaB1",defval=377) smaB2 = input(title="smaB2",defval=200) smaS1 = input(title="smaS1",defval=377) smaS2 = input(title="smaS2",defval=200) smawidth = 2 plot(sma(close, smaB1), color = #EFB819, linewidth=smawidth, title='smaB1') plot(sma(close, smaB2), color = #FF23FD, linewidth=smawidth, title='smaB2') plot(sma(close, smaS1), color = #000000, linewidth=smawidth, title='smaS1') plot(sma(close, smaS2), color = #c48dba, linewidth=smawidth, title='smaS2') // === INPUT BACKTEST RANGE === FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) FromYear = input(defval = 2020, title = "From Year", minval = 2017) ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12) ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) ToYear = input(defval = 9999, title = "To Year", minval = 2017) // === FUNCTION EXAMPLE === start = timestamp(FromYear, FromMonth, FromDay, 00, 00) finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) window() => time >= start and time <= finish ? true : false longCondition = crossover(sma(close, smaB1),sma(close, smaB2)) if (window() and longCondition) strategy.entry("BUY", strategy.long) shortCondition = crossover(sma(close, smaS2),sma(close, smaS1)) if (window() and shortCondition) strategy.entry("SELL", strategy.short)