- Persegi
- Multi-Moving Average Trend Following Strategy - Sistem Sinyal Investasi Jangka Panjang Berdasarkan Indikator EMA dan SMA
Multi-Moving Average Trend Following Strategy - Sistem Sinyal Investasi Jangka Panjang Berdasarkan Indikator EMA dan SMA
Penulis:
ChaoZhang, Tanggal: 2024-12-13 10:28:02
Tag:
EMASMA
Gambaran umum
Strategi ini adalah sistem mengikuti tren berdasarkan kombinasi beberapa moving average, terutama memanfaatkan hubungan silang dan posisi antara Weekly EMA20, Daily SMA100, Daily SMA50, dan Daily EMA20 untuk menangkap peluang investasi jangka menengah hingga panjang. Strategi mengidentifikasi titik masuk panjang potensial dengan mengamati hubungan antara harga dan moving average, dikombinasikan dengan persyaratan durasi.
Prinsip Strategi
Logika inti dari strategi ini didasarkan pada kondisi kunci berikut:
- Menggunakan 20-periode mingguan eksponensial Moving Average (EMA1W20) sebagai indikator tren utama
- Kombinasi dengan 100 hari Simple Moving Average (SMA1D100) untuk konfirmasi tren sekunder
- Menggunakan rata-rata bergerak sederhana 50 hari (SMA1D50) sebagai referensi tren jangka menengah.
- Menggunakan 20-hari Exponential Moving Average (EMA1D20) untuk konfirmasi tren jangka pendek
Sistem ini menghasilkan sinyal panjang ketika harga mempertahankan di atas EMA1W20 dan SMA1D100 selama 14 hari berturut-turut dan kemudian turun di bawah SMA1D50.
Keuntungan Strategi
- Validasi multi-frame time: Menggabungkan rata-rata bergerak mingguan dan harian untuk penilaian tren yang lebih komprehensif
- Kondisi masuk yang ketat: Memerlukan harga untuk mempertahankan di atas rata-rata bergerak utama untuk durasi yang cukup, secara efektif menyaring sinyal palsu
- Pengendalian risiko yang wajar: Menggunakan beberapa persilangan dan posisi rata-rata bergerak untuk batas risiko yang jelas
- Kemampuan beradaptasi yang tinggi: Parameter strategi dapat disesuaikan dengan lingkungan pasar yang berbeda
- Eksekusi yang jelas: Sinyal perdagangan didefinisikan dengan baik dan cocok untuk implementasi program
Risiko Strategi
- Risiko keterlambatan: Rata-rata bergerak secara inheren memiliki beberapa keterlambatan, berpotensi menyebabkan keterlambatan entri
- Risiko pasar sampingan: Dapat menghasilkan sinyal pecah palsu yang sering di pasar yang berbeda
- Sensitivitas parameter: Parameter optimal dapat bervariasi dalam lingkungan pasar yang berbeda
- Risiko penarikan: Dapat mengalami penarikan yang signifikan selama pembalikan tren mendadak
- Risiko pelaksanaan: Membutuhkan operasi sistem yang stabil untuk menghindari hilangnya sinyal atau penundaan pelaksanaan
Arah Optimasi Strategi
- Masukkan indikator volume: Tambahkan mekanisme konfirmasi volume untuk meningkatkan keandalan sinyal
- Mengoptimalkan penyesuaian parameter: Mengembangkan mekanisme penyesuaian parameter dinamis
- Tambahkan kondisi penyaringan: Pertimbangkan untuk menambahkan indikator lingkungan pasar
- Memperbaiki mekanisme stop loss: Merancang aturan stop loss dan profit taking yang lebih rinci
- Meningkatkan konfirmasi sinyal: Pertimbangkan untuk menambahkan indikator teknis lain untuk konfirmasi tambahan
Ringkasan
Strategi ini menetapkan tren yang relatif komprehensif mengikuti sistem melalui beberapa kombinasi rata-rata bergerak, yang cocok untuk investor jangka menengah hingga panjang. Meskipun memiliki risiko lag dan sensitivitas parameter tertentu, strategi ini memiliki nilai praktis melalui kontrol risiko yang tepat dan optimalisasi terus-menerus.
/*backtest
start: 2024-11-12 00:00:00
end: 2024-12-11 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Scriptâ„¢ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © petitepupu
//@version=5
ema20wTemp = ta.ema(close, 20)
ema20w = request.security(syminfo.tickerid, "1W", ema20wTemp, barmerge.gaps_on, barmerge.lookahead_off)
sma100d = ta.sma(close, 100)
sma50d = ta.sma(close, 50)
ema20d = ta.ema(close, 20)
daysAbove = input.int(14, title="Days", minval=1)
plot(ema20w, color=color.blue)
plot(sma100d, color=color.yellow)
plot(sma50d, color=color.red)
plot(ema20d, color=color.green)
longCondition = true
clean = true
for i = 0 to daysAbove
if close[i] < ema20w or close[i] < sma100d or close > sma50d
longCondition := false
clean := false
break
//TODO:
if clean != true
longCondition := true
for i = 0 to daysAbove
if close[i] > ema20w or close[i] > sma100d or close >= ema20d or -100 * (close - ema20d)/ema20d < 5.9
longCondition := false
break
// plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.triangleup, title="Buy Signal", size = size.small)
if (longCondition)
strategy.entry("Long", strategy.long)
strategy(title="LT Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=800)
Berkaitan
Lebih banyak