Strategi Trading Golden Cross Long Only Triple EMA

Penulis:ChaoZhang, Tanggal: 2023-09-26 16:23:53
Tag:

Gambaran umum

Strategi ini menghasilkan sinyal perdagangan berdasarkan golden cross dan death cross dari tiga garis EMA dengan periode yang berbeda untuk memanfaatkan kekuatan masing-masing EMA dan mencapai kinerja perdagangan yang lebih baik.

Logika Strategi

Strategi ini menghitung tiga garis EMA dengan periode 8, 50 dan 200, dan menghasilkan sinyal ketika EMA yang lebih cepat melintasi di atas atau di bawah EMA yang lebih lambat.

  1. Menghitung garis EMA 8 periode, 50 periode dan 200 periode.

  2. Pergi panjang ketika EMA 8 periode melintasi di atas EMA 50 periode (salib emas), tutup posisi ketika EMA 50 periode melintasi di bawah EMA 8 periode (salib kematian).

  3. Opsional hanya pergi panjang ketika harga di atas 200 periode EMA untuk menghindari whipsaws.

  4. Garis EMA pilihan yang mengambil keuntungan dapat diatur untuk menutup posisi ketika harga melintasi di bawahnya.

EMA cepat mengidentifikasi dasar, EMA menengah menentukan tren, dan EMA lambat menyaring kebisingan.

Keuntungan

  1. EMA tiga kali secara efektif menentukan tren dan memanfaatkan kekuatan individu. EMA 8 periode menangkap dasar pendek, EMA 50 periode menentukan tren jangka menengah, dan EMA 200 periode menyaring kebisingan.

  2. Hanya pergi jauh di atas 200 periode EMA menghindari whipsaws.

  3. EMA yang dapat disesuaikan untuk mengambil keuntungan menetapkan target keuntungan yang wajar.

  4. Penyesuaian visual seperti warna bar dan plot EMA meningkatkan fleksibilitas.

  5. Logika sederhana dari golden/death cross mudah dipahami.

Risiko dan Pengurangan

  1. Penundaan EMA dapat menyebabkan waktu masuk yang terlewatkan.

  2. Whipsaws dapat menghasilkan sinyal yang buruk. Gunakan EMA yang lebih panjang untuk menyaring, atau menambahkan kondisi.

  3. Target keuntungan tetap tidak adaptif. Gunakan keluar dinamis berdasarkan ATR dll.

  4. Tidak ada stop berarti risiko tak terbatas.

Peluang Peningkatan

  1. Mengoptimalkan periode EMA untuk parameter terbaik.

  2. Tambahkan indikator seperti MACD untuk waktu.

  3. Mengimplementasikan pengambilan keuntungan dinamis berdasarkan volatilitas.

  4. Tambahkan logika stop-loss, trailing atau nilai tetap.

  5. Meningkatkan kondisi masuk, misalnya filter volume.

Kesimpulan

Strategi ini memanfaatkan penyaringan tren EMA untuk mengidentifikasi pergerakan yang memiliki probabilitas tinggi. mengoptimalkan exit, menambahkan indikator dan filter dapat meningkatkan kinerja.


/*backtest
start: 2023-09-18 00:00:00
end: 2023-09-20 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Long only EMA CROSS 8/50/200 Backtest", shorttitle="Golden Cross Tri EMA", overlay=true)

// EMA 8/50/200 Cross TEST



// Input
switch1=input(true, title="Enable Bar Color?")
switch2=input(true, title="Show 8 EMA")
switch3=input(true, title="Show 50 EMA")
switch4=input(true, title="Show 200 EMA")
switch5=input(false, title="Show profit level EMA")
bool_Long_EMA200=input(false, title="Long only above EMA200")
movingaverage_8 = ema(close, input(8))
movingaverage_50 = ema(close, input(50))
movingaverage_market_signal = ema(close, input(200))
movingaverage_profitlvl = ema(close, input(50))


// Calculation
bullish_cross = if bool_Long_EMA200 == true
    crossover(movingaverage_8, movingaverage_50) and movingaverage_8 > movingaverage_market_signal
else 
    bullish_cross = crossover(movingaverage_8, movingaverage_50)
bearish_cross = crossunder(close, movingaverage_profitlvl)

// Strategy
if bullish_cross
    strategy.entry("long", strategy.long)

strategy.close("long", when = bearish_cross )

// Colors
bartrendcolor = close > movingaverage_8 and close > movingaverage_50 and change(movingaverage_50) > 0 ? green : close < movingaverage_8 and close < movingaverage_50 and change(movingaverage_50) < 0 ? red : blue
barcolor(switch1?bartrendcolor:na)

// Output
plot(switch2?movingaverage_8:na,color = change(movingaverage_8) > 0 ? green : red,linewidth=2, title="EMA8")
plot(switch3?movingaverage_50:na,color = change(movingaverage_50) > 0 ? green : red,linewidth=2,title="EMA50")
plot(switch4?movingaverage_market_signal:na,color = change(movingaverage_market_signal) > 0 ? green : red,linewidth=3,title="EMA200")
plot(switch5?movingaverage_profitlvl:na,color = change(movingaverage_profitlvl) > 0 ? green : red,linewidth=3, title="EMA Profit LVL")

//
alertcondition(bullish_cross, title='Golden Cross (bullish)', message='Bullish')
alertcondition(bearish_cross, title='Death Cross (bearish)', message='Bearish')

Lebih banyak