Strategi ini menggunakan rata-rata bergerak dan rata-rata bergerak eksponensial dari kerangka waktu yang berbeda sebagai sinyal perdagangan untuk mengejar kenaikan dan membunuh penurunan. Strategi ini menilai tren pasar dan titik infleksi sesuai dengan lokasi dan tren rata-rata bergerak jangka pendek dan menentukan tren utama sesuai dengan rata-rata bergerak jangka panjang. Strategi ini menggabungkan Rata-rata Gerak Sederhana (SMA) dan Rata-rata Gerak Eksponensial (EMA) sebagai indikator teknis untuk secara efektif menyaring kebisingan pasar dan menentukan tren harga.
Strategi ini menggunakan 5 hari, 13 hari, 21 hari SMA dan 75 hari, 90 hari, 200 hari EMA sebagai sinyal perdagangan.
Ketika SMA jangka pendek (5 hari, 13 hari, 21 hari) diatur secara berurutan (5 hari di bagian atas, 13 hari berikutnya, 21 hari di bagian bawah) dan semua SMA jangka pendek berada di atas EMA jangka panjang (75 hari, 90 hari, 200 hari), pergi panjang;
Ketika SMA jangka pendek (5 hari, 13 hari, 21 hari) diatur dalam urutan (5 hari di bagian bawah, 13 hari berikutnya, 21 hari di bagian atas) dan semua SMA jangka pendek berada di bawah EMA jangka panjang (75 hari, 90 hari, 200 hari), pergi pendek.
Dengan menggabungkan SMA dan EMA dari siklus yang berbeda, ia dapat secara efektif menilai tren harga jangka pendek dan jangka panjang untuk menerapkan strategi mengikuti tren.
Strategi ini memiliki keuntungan berikut:
Menggunakan indikator rata-rata bergerak ganda dapat secara efektif menyaring kebisingan pasar dan secara akurat menentukan tren harga.
Pengaturan multi timeframe, dengan siklus pendek untuk menentukan tren jangka pendek dan siklus panjang untuk menentukan tren utama, mencapai cepat dengan lambat.
SMA sensitif terhadap perubahan harga sementara EMA meringankan perubahan harga, menggabungkan keduanya bekerja lebih baik.
Logika mengejar naik dan membunuh tetes sederhana dan langsung, mudah dioperasikan.
Strategi ini juga memiliki beberapa risiko:
Pengaturan multi timeframe cukup kompleks dengan kesulitan dalam penyesuaian parameter dan optimalisasi.
Divergensi dapat terjadi antara indikator jangka pendek dan jangka panjang, memberikan sinyal yang salah.
Berdasarkan hanya pada indikator rata-rata bergerak, mungkin berkinerja buruk dalam kondisi pasar yang ekstrim.
Ada keterlambatan tertentu, tidak dapat menangkap titik inflexion tepat waktu.
Strategi dapat dioptimalkan dalam aspek berikut:
Tambahkan indikator teknis lain untuk penyaringan sinyal seperti KDJ, MACD dll untuk meningkatkan akurasi strategi.
Uji dan optimalkan periode dan jumlah rata-rata bergerak jangka pendek dan jangka panjang untuk menemukan kombinasi parameter yang optimal.
Tambahkan mekanisme stop loss untuk mengendalikan risiko dan DD.
Gabungkan indikator volume untuk menghindari pecah palsu di bawah lonjakan harga yang tajam.
Strategi ini mewujudkan pelacakan tren yang sederhana dan efektif dengan menggunakan rata-rata bergerak ganda dan analisis multi timeframe. Ide strategi jelas dan mudah dipahami dengan nilai praktis tertentu. Tetapi masih ada ruang untuk perbaikan seperti optimasi parameter, kontrol risiko dll. Secara keseluruhan, strategi ini memberikan ide-ide berharga untuk perdagangan kuantitatif, yang layak penelitian dan diskusi yang mendalam.
/*backtest start: 2023-11-12 00:00:00 end: 2023-12-05 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="my_strategy_name", shorttitle="MS1", overlay=true ) source = close // MAの長さ len1 = 5 len2 = 13 len3 = 21 // MAの計算 ma1 = sma(source, len1) ma2 = sma(source, len2) ma3 = sma(source, len3) // 計算したMAをプロットする plot(ma1,color=color.red) plot(ma2,color=color.orange) plot(ma3,color=color.blue) // EMAの長さ len4 = 75 len5 = 90 len6 = 200 // MAの計算 ema1 = ema(source, len4) ema2 = ema(source, len5) ema3 = ema(source, len6) // 計算したMAをプロットする plot(ema1,color=color.red) plot(ema2,color=color.orange) plot(ema3,color=color.blue) longCondition = (ma1>ma2 and ma2>ma3 and ma3>ema1 and ema1>ema2 and ema2>ema3)//ロングにエントリーする条件 if (longCondition) strategy.entry("My Long Entry", strategy.long, comment="Long") shortCondition = (ma1<ma2 and ma2<ma3 and ma3<ema1 and ema1<ema2 and ema2<ema3)//ショートにエントリーする条件 if (shortCondition) strategy.entry("My Short Entry", strategy.short, comment="Short") //エグジット条件 strategy.exit("My Long Exit", "My Long Entry", profit=200, loss=100) strategy.exit("My Short Exit", "My Short Entry", profit=200, loss=100)