strategi mengikuti tren berdasarkan rata-rata bergerak

Penulis:ChaoZhang, Tanggal: 2023-10-31 14:00:47
Tag:

img

Gambaran umum

Strategi crossover rata-rata bergerak ganda adalah strategi mengikuti tren berdasarkan rata-rata bergerak. Strategi ini menghasilkan sinyal perdagangan dengan menghitung rata-rata bergerak dari periode yang berbeda dan mengidentifikasi crossover. Strategi ini menggunakan rata-rata bergerak cepat dan rata-rata bergerak lambat untuk membentuk sinyal.

Logika Strategi

Strategi ini terutama mengandalkan penyeberangan MA untuk menghasilkan sinyal perdagangan. Secara khusus melibatkan langkah-langkah berikut:

  1. Menghitung MA cepat dan MA lambat. periode MA cepat adalah 10, dan periode MA lambat adalah 50.

  2. Mengidentifikasi hubungan MA. Sinyal beli dihasilkan ketika MA cepat melintasi di atas MA lambat. Sinyal jual dihasilkan ketika MA cepat melintasi di bawah MA lambat.

  3. Mengeluarkan sinyal beli dan jual. pergi panjang ketika sinyal beli terjadi. pergi pendek ketika sinyal jual terjadi.

  4. Setelah memasuki perdagangan, atur stop loss berdasarkan persentase input dan ambil keuntungan untuk mengelola risiko.

Dengan membandingkan perubahan tren harga di berbagai kerangka waktu, strategi ini menentukan apakah pasar saat ini berada dalam tren naik atau turun.

Keuntungan

  • Mengambil secara efektif tren jangka menengah hingga panjang menggunakan sifat yang melekat pada trend-mengikuti MAs.

  • Sinyal silang yang sederhana dan jelas yang mudah diterapkan.

  • Periode cepat dan lambat yang dapat disesuaikan untuk optimasi parameter.

  • Membatasi kerugian pada perdagangan individu melalui stop loss.

Risiko

  • Cenderung untuk whipsaws dan overtrading di pasar rentang terikat.

  • MA memiliki keterlambatan dan mungkin kehilangan peluang jangka pendek.

  • Tidak memperhitungkan peristiwa mendadak seperti berita bearish yang signifikan.

  • Tidak memiliki mekanisme manajemen risiko dan dapat menyebabkan kerugian di luar toleransi risiko.

Manajemen Risiko:

  1. Mengoptimalkan periode MA untuk mengurangi sinyal palsu selama konsolidasi.

  2. Tambahkan indikator lain sebagai filter untuk mengatasi MA lag.

  3. Suplemen dengan analisis berita.

  4. Mengimplementasikan stop loss dan ukuran posisi untuk membatasi kerugian.

Peningkatan

  • Gabungkan dengan alat analisis lainnya seperti saluran dan pola untuk meningkatkan kualitas sinyal.

  • Mengoptimalkan parameter MA cepat dan lambat untuk menemukan kombinasi terbaik. 10-30 hari untuk MA cepat dan 20-120 hari untuk MA lambat sering bekerja dengan baik.

  • Tambahkan aturan ukuran posisi. ukuran posisi pecahan tetap dapat meningkatkan keuntungan dalam tren.

  • Masukkan logika untuk menangani peristiwa mendadak seperti menghentikan perdagangan setelah berita penurunan besar.

  • Backtest dan perdagangan kertas untuk mengevaluasi kinerja dan terus meningkatkan sistem.

Ringkasan

Strategi crossover rata-rata bergerak ganda mengidentifikasi arah tren dengan membandingkan crossover MA yang cepat dan lambat. Ini adalah pendekatan mengikuti tren yang sederhana dan praktis. Meskipun efektif, strategi ini memiliki beberapa keterbatasan yang dapat ditangani melalui pengoptimalan seperti penyesuaian parameter, menambahkan filter, dan menggabungkan alat lain. Dengan pengendalian risiko yang tepat, strategi ini dapat memberikan pengembalian yang baik.


/*backtest
start: 2023-09-30 00:00:00
end: 2023-10-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Simple Moving Average Crossover", overlay=true)

// Input parameters
fast_length = input(10, title="Fast MA Length")
slow_length = input(50, title="Slow MA Length")
stop_loss_pct = input(1, title="Stop Loss Percentage", minval=0, maxval=5) / 100

// Calculate moving averages
fast_ma = sma(close, fast_length)
slow_ma = sma(close, slow_length)

// Plot moving averages
plot(fast_ma, color=color.blue, title="Fast MA")
plot(slow_ma, color=color.red, title="Slow MA")

// Strategy logic
long_condition = crossover(fast_ma, slow_ma)
short_condition = crossunder(fast_ma, slow_ma)

// Execute trades
if (long_condition)
    strategy.entry("Long", strategy.long)

if (short_condition)
    strategy.entry("Short", strategy.short)

// Set stop loss
long_stop_price = close * (1 - stop_loss_pct)
short_stop_price = close * (1 + stop_loss_pct)

strategy.exit("Stop Loss/Profit", from_entry="Long", stop=long_stop_price)
strategy.exit("Stop Loss/Profit", from_entry="Short", stop=short_stop_price)


Lebih banyak