Strategi Momentum SMA Berganda

Penulis:ChaoZhang, Tarikh: 2024-01-17 15:05:08
Tag:

img

Ringkasan

Strategi Dual SMA Momentum adalah strategi perdagangan berasaskan analisis teknikal yang menghasilkan isyarat beli dan jual berdasarkan dua petunjuk purata bergerak (SMA) mudah.

Logika Strategi

Strategi ini menggunakan dua penunjuk SMA dengan tingkap masa pendek dan panjang - SMA cepat (panjang 9 tempoh) dan SMA perlahan (panjang 45 tempoh).

Ia menjana isyarat panjang/beli apabila harga penutupan saham melintasi di atas kedua-dua garis SMA cepat dan perlahan, yang menunjukkan permulaan trend menaik.

Ia menjana isyarat short/sell apabila harga melintasi di bawah kedua-dua garis SMA, menunjukkan permulaan trend penurunan.

Tahap stop loss ditetapkan secara dinamik pada hari sebelumnya (untuk dagangan pendek) dan hari sebelumnya (untuk dagangan panjang).

Analisis Kelebihan

Kelebihan utama strategi ini ialah:

  1. Menggunakan gabungan SMA jangka pendek dan jangka panjang untuk menangkap trend jangka menengah yang muncul
  2. Penempatan stop loss adaptif mengurangkan risiko dan membolehkan keuntungan berjalan
  3. Mudah difahami dan dilaksanakan
  4. Berprestasi baik di seluruh saham dan pasaran semasa keadaan trend

Walau bagaimanapun, seperti semua strategi analisis teknikal, ia boleh berprestasi rendah semasa pasaran terhad dan whipsaw dengan isyarat palsu yang kerap.

Analisis Risiko

Risiko utama strategi ini ialah:

  1. Rendah kepada whipsaws dan isyarat palsu: Oleh kerana ia hanya bergantung pada crossover SMA, strategi ini boleh menghadapi whipsaws dan isyarat palsu semasa pasaran sampingan atau bergolak, mewujudkan kos perdagangan yang tidak perlu. Ini boleh dikurangkan dengan menggabungkan dengan penunjuk lain seperti RSI.

  2. Risau terhadap pembalikan trend tiba-tiba: Pembalikan cepat selepas entri silang SMA boleh mencapai tahap stop loss dengan cepat sebelum trend terbentuk. Risiko ini boleh dikurangkan dengan mengoptimumkan panjang SMA atau menambah penapis lain.

  3. Risiko pengoptimuman berlebihan dari penyesuaian parameter: Pengoptimuman panjang SMA dan parameter lain yang luas untuk membetulkan data sejarah boleh menyebabkan prestasi yang buruk dalam perdagangan langsung.

Peluang Peningkatan

Beberapa cara di mana strategi ini boleh ditingkatkan ialah:

  1. Menambah penunjuk lain seperti RSI untuk pengesahan perdagangan tambahan untuk meningkatkan masa dan ketepatan isyarat

  2. Menggabungkan kaedah penempatan stop loss dinamik seperti ATR atau keluar candelier untuk menyesuaikan diri dengan lebih baik dengan turun naik pasaran

  3. Mengoptimumkan panjang SMA berdasarkan turun naik sejarah dan bingkai masa dagangan untuk stok yang berbeza

  4. Menambah pengurusan wang yang baik dan peraturan saiz kedudukan untuk memaksimumkan pulangan dan mengehadkan pengeluaran

Kesimpulan

Ringkasnya, strategi Dual SMA Momentum menawarkan pendekatan yang mudah untuk berdagang trend jangka pendek hingga sederhana. Walaupun asas dalam pendekatannya, penyempurnaan seperti penapis tambahan, berhenti dinamik dan pengoptimuman yang berhati-hati dapat membantu meningkatkan pulangan yang disesuaikan dengan risiko. Digunakan secara selektif semasa trend kenaikan dan penurunan saham, ia 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)


Lebih lanjut