Strategi EMA Ribbon

Penulis:ChaoZhang, Tanggal: 2024-01-22 12:21:47
Tag:

img

Gambaran umum

Strategi EMA Ribbon menghasilkan sinyal perdagangan dengan menghitung rata-rata bergerak eksponensial (EMA) dari periode yang berbeda dan mengidentifikasi crossover di antara mereka. Strategi ini membangun pita dari 8 EMA dengan periode yang bervariasi, dan menggunakan crossover antara EMA periode terpendek dan EMA periode terpanjang untuk menentukan tren pasar dan menghasilkan sinyal perdagangan.

Logika Strategi

Inti dari strategi ini terdiri dari 8 EMA: 20 periode, 25 periode, 30 periode, 35 periode, 40 periode, 45 periode, 50 periode dan 55 periode. 8 EMA ini membentuk pita yang ditumpuk dari bawah ke atas. Ketika EMA jangka pendek melintasi EMA jangka panjang, sinyal beli dihasilkan. Ketika EMA jangka pendek melintasi di bawah EMA jangka panjang, sinyal jual dihasilkan.

Sebagai contoh, ketika EMA 20 periode melintasi di atas EMA 55 periode, sinyal beli dipicu; ketika EMA 20 periode melintasi di bawah EMA 55 periode, sinyal jual dipicu. EMA dapat menunjukkan tren pasar dengan sangat baik. Strategi ini mengidentifikasi tren dominan menggunakan beberapa silang EMA dan menghasilkan sinyal perdagangan sesuai.

Analisis Keuntungan

Strategi EMA Ribbon memiliki keuntungan berikut:

  1. Menggunakan beberapa EMA dari periode yang berbeda dapat mengidentifikasi perubahan tren pasar dengan lebih akurat.

  2. Membangun pita dengan beberapa EMA membuat sinyal perdagangan lebih jelas.

  3. Menggabungkan EMA jangka panjang dan jangka pendek mempertimbangkan tren jangka panjang dan koreksi jangka pendek.

  4. Strategi ini memungkinkan ruang pengoptimalan parameter yang besar dengan menyesuaikan periode EMA dan parameter lainnya.

  5. Logika strategi sederhana dan mudah dipahami dan diterapkan.

Analisis Risiko

Strategi EMA Ribbon juga memiliki beberapa risiko:

  1. Ini dapat menghasilkan sinyal palsu ketika tren pasar secara keseluruhan tidak jelas.

  2. Periode EMA dapat disesuaikan untuk mengurangi frekuensi perdagangan.

  3. Pengaturan parameter yang tidak benar dapat menyebabkan sinyal terlalu sensitif atau tertinggal. Parameter perlu diuji berulang kali dan dioptimalkan.

  4. Kesenjangan harga mendadak dari peristiwa dapat membatalkan sinyal. Strategi stop loss harus digunakan untuk mengendalikan risiko.

Arahan Optimasi

Strategi EMA Ribbon dapat dioptimalkan dalam aspek berikut:

  1. Sesuaikan parameter periode EMA untuk menemukan kombinasi optimal.

  2. Tambahkan indikator teknis lainnya untuk penyaringan sinyal dan konfirmasi untuk meningkatkan akurasi.

  3. Menggabungkan indikator volatilitas untuk mengurangi frekuensi perdagangan di lingkungan volatilitas rendah.

  4. Tetapkan strategi stop loss untuk membatasi kerugian per perdagangan.

  5. Mengoptimalkan strategi pengelolaan uang untuk meningkatkan faktor keuntungan.

  6. Uji kekuatan parameter di berbagai produk dan kontrak.

Ringkasan

Strategi EMA Ribbon memiliki logika yang jelas, mengidentifikasi tren dengan silang EMA dan menghasilkan sinyal perdagangan. Ini memiliki ruang optimasi yang besar untuk menyesuaikan parameter, menambahkan filter sinyal dll. Secara keseluruhan cukup sederhana dan praktis, baik untuk pemula perdagangan kuantitatif. Tetapi mengontrol frekuensi perdagangan dan risiko tetap penting.


/*backtest
start: 2024-01-14 00:00:00
end: 2024-01-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="EMA Ribbon [Krypt] with Buy/Sell Signals", shorttitle="EMA Ribbon", overlay=true)

dropn(src, n) =>
    na(src[n]) ? na : src

length1 = input(20, title="MA-1 period", minval=1)
length2 = input(25, title="MA-2 period", minval=1)
length3 = input(30, title="MA-3 period", minval=1)
length4 = input(35, title="MA-4 period", minval=1)
length5 = input(40, title="MA-5 period", minval=1)
length6 = input(45, title="MA-6 period", minval=1)
length7 = input(50, title="MA-7 period", minval=1)
length8 = input(55, title="MA-8 period", minval=1)
source_input = input(close, title="Source")

price = dropn(source_input, 1)

ema1 = ema(price, length1)
ema2 = ema(price, length2)
ema3 = ema(price, length3)
ema4 = ema(price, length4)
ema5 = ema(price, length5)
ema6 = ema(price, length6)
ema7 = ema(price, length7)
ema8 = ema(price, length8)

plot(ema1, title="MA-1", color=#f5eb5d, transp=0, linewidth=2)
plot(ema2, title="MA-2", color=#f5b771, transp=0, linewidth=2)
plot(ema3, title="MA-3", color=#f5b056, transp=0, linewidth=2)
plot(ema4, title="MA-4", color=#f57b4e, transp=0, linewidth=2)
plot(ema5, title="MA-5", color=#f56d58, transp=0, linewidth=2)
plot(ema6, title="MA-6", color=#f57d51, transp=0, linewidth=2)
plot(ema7, title="MA-7", color=#f55151, transp=0, linewidth=2)
plot(ema8, title="MA-8", color=#aa2707, transp=0, linewidth=2)

// Buy and sell signals based on crossover and crossunder
buySignal = crossover(ema1, ema8)
sellSignal = crossunder(ema1, ema8)

plotshape(series=buySignal, title="Buy Signal", color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=sellSignal, title="Sell Signal", color=color.red, style=shape.triangledown, size=size.small)

if buySignal
    strategy.entry("Enter Long", strategy.long)
else if sellSignal
    strategy.entry("Enter Short", strategy.short)

Lebih banyak