Dual EMA Golden Cross Strategi

Penulis:ChaoZhang, Tanggal: 2024-01-22 11:04:41
Tag:

img

Gambaran umum

Strategi ini menghasilkan sinyal perdagangan berdasarkan persilangan antara garis EMA cepat dan garis EMA lambat. Ketika garis EMA cepat melintasi di atas garis EMA lambat, sinyal beli dihasilkan. Ketika garis EMA cepat melintasi di bawah garis EMA lambat, sinyal jual dihasilkan. Strategi ini memanfaatkan keuntungan dari moving average untuk secara efektif melacak tren pasar dan menghasilkan sinyal perdagangan selama inisiasi tren.

Logika Strategi

Garis EMA cepat dan Garis EMA lambat adalah indikator inti dari strategi ini. Strategi ini mengatur dua garis EMA dengan parameter yang berbeda, dengan 10 untuk EMA cepat dan 20 untuk EMA lambat. Garis EMA 10 hari merespons lebih cepat terhadap perubahan harga, sementara garis EMA 20 hari merespons lebih lambat. Ketika garis EMA jangka pendek melintasi di atas garis EMA jangka panjang, itu berarti garis rata-rata jangka pendek mulai memimpin garis jangka panjang ke atas, yang berarti pasar mungkin beralih ke bull state. Pada titik ini, sinyal beli dihasilkan. Sebaliknya, ketika EMA pendek jatuh di bawah EMA panjang, itu berarti EMA pendek mulai kehilangan kekuatan utamanya di depan EMA panjang, yang berarti pasar mungkin beralih ke keadaan bear. Dengan demikian, sinyal jual dihasilkan.

Dengan memanfaatkan logika crossover antara garis EMA yang cepat dan lambat, strategi ini menangkap titik-titik pergantian tren pasar tepat waktu dan menghasilkan sinyal perdagangan yang sesuai. Sementara itu, EMA sendiri memiliki kemampuan untuk menyaring sinyal palsu, menghindari perdagangan yang berlebihan selama konsolidasi pasar. Ini memungkinkan strategi untuk menangkap titik balik pasar sambil mengurangi perdagangan yang salah, yang mengarah pada profitabilitas yang lebih tinggi.

Analisis Keuntungan

  • Menangkap titik balik pasar melalui aturan silang EMA untuk profitabilitas yang kuat
  • Menggunakan baik garis EMA cepat dan lambat untuk keunggulan masing-masing
  • Kemampuan penyaringan kebisingan EMA mengurangi perdagangan yang salah
  • Mudah dimengerti, dioptimalkan dan diperluas
  • Kemampuan yang tinggi untuk memasukkan indikator pendukung lainnya

Analisis Risiko

  • Sinyal palsu yang sering dapat terjadi selama pasar yang terikat rentang
  • Pengaturan parameter EMA yang tidak benar dapat menyebabkan hilangnya tikungan utama
  • Penarikan yang tertunda dapat mengakibatkan hilangnya peluang perdagangan jangka pendek
  • Tidak mampu beradaptasi dengan turbulensi pasar yang drastis

Untuk mengatasi risiko ini, optimasi dapat diperkenalkan seperti menambahkan aturan penyaringan, menggabungkan MACD untuk menghindari sinyal palsu, menggunakan EMA adaptif untuk mempercepat respons dll. Juga, mekanisme stop loss dan profit taking yang tepat diperlukan.

Arahan Optimasi

Arah potensial untuk optimasi lebih lanjut meliputi:

  • Menambahkan aturan penyaringan pada sinyal masuk, misalnya menggabungkan volume perdagangan
  • Mengintegrasikan indikator pendukung seperti MACD untuk sinyal tambahan
  • Memperkenalkan EMA adaptif untuk menyesuaikan parameter secara dinamis
  • Menerapkan analisis multi-frame waktu untuk memanfaatkan EMA yang berbeda
  • Mengoptimalkan strategi stop loss melalui trailing stop, stop persen dll.
  • Memanfaatkan teknologi AI untuk penyesuaian parameter otomatis

Ringkasan

Strategi ini menangkap titik balik pasar yang kritis melalui logika crossover dari garis EMA ganda, membuatnya efektif untuk perdagangan langsung. Dengan filter tambahan, indikator pendukung dan optimasi stop loss, stabilitas strategi dapat ditingkatkan lebih lanjut. Logika strategi mudah dan layak dipelajari untuk pedagang kuant, dengan potensi yang melimpah untuk perluasan dan perbaikan.


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

//@version=4
strategy("Backtest single EMA cross", overlay=true)

qty = input(100000, "Buy quantity")

testStartYear = input(2019, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testStartHour = input(0, "Backtest Start Hour")
testStartMin = input(0, "Backtest Start Minute")
testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, testStartHour, testStartMin)
testStopYear = input(2099, "Backtest Stop Year")
testStopMonth = input(1, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0)
testPeriodBackground = input(title="Color Background?", type=input.bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and time >= testPeriodStart and time <= testPeriodStop ? 
   #00FF00 : na
testPeriod() => true


ema1 = input(10, title="Select EMA 1")
ema2 = input(20, title="Select EMA 2")

expo = ema(close, ema1)
ma = ema(close, ema2)

avg_1 = avg(expo, ma)
s2 = cross(expo, ma) ? avg_1 : na
//plot(s2, style=plot.style_line, linewidth=3, color=color.red, transp=0)

p1 = plot(expo, color=#00FFFF, linewidth=2, transp=0)
p2 = plot(ma, color=color.orange, linewidth=2, transp=0)
fill(p1, p2, color=color.white, transp=80)

longCondition = crossover(expo, ma)

shortCondition = crossunder(expo, ma)


if testPeriod()
    strategy.entry("Long", strategy.long, when=longCondition)
    strategy.entry("Short", strategy.short, when=shortCondition)

plotshape(longCondition, title = "Buy Signal", text ="BUY", textcolor =#FFFFFF , style=shape.labelup, size = size.normal, location=location.belowbar, color = #1B8112, transp = 0)
plotshape(shortCondition, title = "Sell Signal", text ="SELL", textcolor = #FFFFFF, style=shape.labeldown, size = size.normal, location=location.abovebar, color = #FF5733, transp = 0)



Lebih banyak