Strategi Momentum SMA Berganda


Tarikh penciptaan: 2024-01-17 15:05:08 Akhirnya diubah suai: 2024-01-17 15:05:08
Salin: 1 Bilangan klik: 629
1
fokus pada
1617
Pengikut

Strategi Momentum SMA Berganda

Gambaran keseluruhan

Strategi pergerakan ganda SMA adalah strategi perdagangan berasaskan analisis teknikal yang menghasilkan isyarat beli dan jual berdasarkan dua petunjuk purata bergerak sederhana (SMA). Ia bertujuan untuk menangkap pergerakan harga saham dalam jangka pendek hingga pertengahan.

Logik Strategi

Strategi ini menggunakan dua penunjuk SMA, iaitu jangka pendek dan jangka panjang - SMA pantas (panjang 9 kitaran) dan SMA perlahan (panjang 45 kitaran).

Apabila harga penutupan saham menembusi garis rata-rata SMA pantas dan SMA perlahan, menunjukkan permulaan trend ke atas, strategi ini menghasilkan isyarat overhead/beli dan memasuki kedudukan overhead.

Apabila harga jatuh di bawah dua garis rata-rata SMA, ia menunjukkan bahawa trend menurun bermula, strategi ini menghasilkan isyarat kosong / menjual dan memasuki kedudukan kosong.

Dinamika paras stop loss ditetapkan sebagai titik tertinggi pada hari sebelumnya ((pada perdagangan kosong) dan titik terendah pada hari sebelumnya ((pada perdagangan berganda)).

Analisis kelebihan

Kelebihan utama strategi ini ialah:

  1. Menggabungkan penggunaan SMA jangka pendek dan jangka panjang untuk menangkap trend pertengahan yang baru muncul
  2. Penempatan Stop Loss Adaptif Mengurangkan Risiko dan Membuat Keuntungan Berjalan
  3. Mudah difahami dan dilaksanakan
  4. Menonjol dalam trend

Walau bagaimanapun, seperti semua strategi analisis teknikal, isyarat dalam keadaan gegaran sering salah. Ia boleh diperbaiki dengan menambah petunjuk lain seperti RSI.

Analisis risiko

Risiko utama strategi ini ialah:

  1. Kemungkinan untuk bergolak dan terkesan oleh isyarat yang salah: Bergantung kepada persilangan SMA sahaja, isyarat yang tidak wajar mungkin berlaku dalam keadaan penyetaraan atau golak, yang membawa kos perdagangan yang tidak perlu. Ini boleh dikurangkan dengan kombinasi dengan indikator lain seperti RSI.

  2. vulnerable to sudden trend reversals: Peralihan pesat selepas masuk ke pasaran boleh dengan cepat menembusi titik berhenti. Risiko ini dapat dikurangkan dengan mengoptimumkan panjang SMA atau menambahkan penapis lain.

  3. Risiko terlalu sesuai dengan parameter pengoptimuman: Pengoptimuman yang meluas terhadap panjang SMA dan parameter lain boleh menyebabkan prestasi cakera keras yang buruk. Pemantauan semula yang mantap diperlukan dalam jangka masa yang panjang.

Arah pengoptimuman

Strategi ini boleh dipertingkatkan dengan:

  1. Tambah RSI dan lain-lain untuk pengesahan tambahan untuk meningkatkan ketepatan isyarat
  2. Menggunakan kaedah hentian dinamik seperti ATR atau Hentian Tergantung untuk menyesuaikan diri dengan turun naik pasaran
  3. Optimumkan panjang SMA berdasarkan turun naik sejarah dan jangka masa dagangan saham yang berbeza
  4. Menambah peraturan pengurusan dana dan kedudukan yang munasabah untuk memaksimumkan pulangan dan mengehadkan penarikan balik

ringkaskan

Secara keseluruhannya, strategi momentum dua SMA menyediakan kaedah untuk menangkap trend jangka pendek hingga jangka menengah secara langsung. Walaupun kaedahnya sangat asas, penambahan penapis tambahan, hentian dinamik dan pengoptimuman berhati-hati dapat membantu meningkatkan pulangan penyesuaian risiko mereka. Digunakan secara pilihan dalam kenaikan dan penurunan saham, ia dapat menangkap keadaan yang menguntungkan.

Kod sumber strategi
/*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)