Strategi Algoritma Palang Emas EMA Berganda


Tarikh penciptaan: 2024-01-22 11:04:41 Akhirnya diubah suai: 2024-01-22 11:04:41
Salin: 0 Bilangan klik: 646
1
fokus pada
1617
Pengikut

Strategi Algoritma Palang Emas EMA Berganda

Gambaran keseluruhan

Strategi ini menghasilkan isyarat perdagangan silang emas dan silang mati dengan mengira persimpangan EMA garis cepat dan EMA garis perlahan. Apabila EMA garis cepat melintasi EMA garis perlahan, ia menghasilkan isyarat pembelian; apabila EMA garis cepat melintasi EMA garis perlahan, ia menghasilkan isyarat jual. Strategi ini memanfaatkan sepenuhnya kelebihan rata-rata bergerak dan dapat mengesan trend pasaran dengan berkesan, menghasilkan isyarat perdagangan pada tahap permulaan trend.

Prinsip Strategi

Strategi ini menggunakan dua parameter EMA yang berbeza, parameter EMA cepat ditetapkan pada 10, parameter EMA perlahan ditetapkan pada 20. Di antaranya, EMA 10 hari bertindak balas lebih cepat terhadap perubahan harga, sementara EMA 20 hari bertindak balas lebih perlahan. Apabila EMA jangka pendek melintasi garis EMA jangka panjang, rata-rata jangka pendek mula memimpin rata-rata jangka panjang ke atas, yang menunjukkan bahawa harga mungkin masuk ke dalam keadaan negatif, yang menghasilkan isyarat pembelian; sebaliknya, apabila rata-rata jangka pendek melintasi garis rata-rata jangka panjang, rata-rata jangka pendek mula kehilangan kelebihan terhadap rata-rata jangka panjang, yang menunjukkan bahawa harga mungkin masuk ke dalam keadaan negatif, yang menghasilkan isyarat jual.

Melalui prinsip persilangan garis EMA yang perlahan, strategi ini dapat menangkap masa peralihan trend pasaran dengan baik, dan dapat menghasilkan isyarat perdagangan tepat pada masanya. Pada masa yang sama, indikator EMA sendiri mempunyai keupayaan untuk memanaskan isyarat palsu, untuk mengelakkan pembukaan kedudukan yang kerap ketika pasaran bergolak. Ini membolehkan strategi ini dapat menangkap titik peralihan pasaran dengan keuntungan yang lebih tinggi sambil mengurangkan perdagangan yang salah.

Analisis kelebihan

  • Menggunakan prinsip EMA silang, menangkap titik perubahan pasaran, keuntungan yang lebih kuat
  • Garis EMA pantas dan Garis EMA perlahan digunakan bersama-sama untuk mencapai kelebihan masing-masing
  • EMA sendiri berfungsi sebagai penapis yang boleh mengurangkan kesilapan perdagangan
  • Mudah, mudah difahami dan dioptimumkan
  • Berskala tinggi, boleh dioptimumkan lagi dengan pengenalan petunjuk tambahan

Analisis risiko

  • EMA berganda yang bersilang boleh menyebabkan isyarat salah yang kerap berlaku di bandar yang bergolak.
  • Penetapan parameter EMA yang tidak betul mungkin terlepas titik perubahan pasaran
  • Terdapat sedikit ketinggalan dan mungkin kehilangan peluang untuk beroperasi di talian pendek.
  • Tidak dapat menangani perubahan yang berlaku.

Untuk risiko yang disebutkan di atas, ia boleh dioptimumkan dengan memperkenalkan penunjuk tambahan, seperti meningkatkan syarat penapisan perdagangan, mengelakkan isyarat yang salah dalam kombinasi dengan penunjuk MACD, menggunakan kelajuan tindak balas penunjuk yang dipercepatkan oleh EMA yang menyesuaikan diri. Selain itu, halangan yang munasabah dan halangan aktif juga diperlukan.

Arah pengoptimuman

Strategi ini boleh dioptimumkan dengan cara berikut:

  • Menambah penapis kedudukan terbuka: contohnya dengan penunjuk jumlah dagangan, untuk mengelakkan penembusan palsu dengan jumlah rendah
  • Menggabungkan petunjuk tambahan seperti MACD untuk mengelakkan isyarat yang salah
  • Memperkenalkan EMA yang menyesuaikan diri, menyesuaikan parameter EMA secara dinamik mengikut keadaan pasaran
  • Operasi gabungan pelbagai kerangka masa, memanfaatkan kelebihan EMA yang berbeza
  • Mengoptimumkan strategi hentikan kerugian, mengunci keuntungan melalui hentikan bergerak, hentikan kadar dan sebagainya
  • Mengoptimumkan parameter secara automatik dengan menggabungkan teknologi seperti pembelajaran mendalam

ringkaskan

Strategi ini menggunakan prinsip persilangan dua EMA cepat dan perlahan, menangkap titik-titik perubahan pasaran yang penting, dan mempunyai kesan yang kuat. Dengan menggunakan petunjuk tambahan dan pengoptimuman berhenti, anda dapat meningkatkan kestabilan strategi. Idea strategi ini mudah dan jelas, layak untuk dipelajari dan digunakan oleh pedagang kuantitatif, dan mempunyai banyak ruang untuk pengembangan dan potensi pengoptimuman.

Kod sumber strategi
/*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)