Dual SMA Crossover Strategi

Penulis:ChaoZhang, Tanggal: 2023-11-23 16:42:58
Tag:

img

Gambaran umum

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.

Logika Strategi

Strategi ini menggunakan dua set parameter SMA,smaB1, smaB2untuk sinyal beli, dansmaS1, smaS2untuk sinyal jual, yang mewakili rata-rata bergerak yang lebih lambat dan lebih cepat masing-masing.smaB1Salib di atassmaB2, sinyal beli dihasilkan.smaS2Salib 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.

Analisis Keuntungan

Keuntungan utama dari strategi ini adalah:

  1. Menggunakan sistem crossover rata-rata bergerak ganda memungkinkan pengaturan kriteria masuk dan keluar yang fleksibel untuk beradaptasi dengan perubahan pasar
  2. Garis SMA sendiri dapat menyaring beberapa kebisingan dan menghasilkan sinyal perdagangan yang lebih andal
  3. Kombinasi parameter SMA yang dapat disesuaikan memungkinkan optimasi parameter untuk produk yang berbeda

Analisis Risiko

Ada juga beberapa risiko yang terkait dengan strategi ini:

  1. Sinyal crossover SMA mungkin tertinggal dan gagal menghasilkan sinyal tepat waktu di sekitar titik balik
  2. Pemilihan parameter SMA yang tidak tepat dapat menyebabkan terlalu banyak sinyal palsu
  3. Sinyal yang dihasilkan dalam kondisi pasar yang tidak stabil mungkin tidak bekerja dengan baik

Untuk mengendalikan risiko di atas, metode seperti optimasi parameter SMA, stop loss dinamis untuk mengunci keuntungan, dll dapat digunakan untuk meningkatkan strategi.

Arahan Optimasi

Beberapa arah optimasi untuk strategi ini:

  1. Uji lebih banyak kombinasi parameter SMA untuk menemukan parameter optimal
  2. Tambahkan konfirmasi volume untuk menghindari sinyal yang salah selama fluktuasi harga yang keras
  3. Menggabungkan indikator lain (misalnya MACD, RSI) untuk menyaring sinyal crossover SMA
  4. Tambahkan strategi stop loss untuk mengunci keuntungan dan mengurangi kerugian

Ringkasan

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)
    
    
    

Lebih banyak