Strategi ini menggunakan arah kemiringan dan hubungan silang antara beberapa EMA untuk menentukan arah tren, untuk perdagangan tren non-stop.
Menghitung 3 kelompok EMA - cepat, menengah dan lambat EMA.
Ketika EMA cepat melintasi di atas EMA menengah, dan kemiringan EMA menengah menjadi positif, sinyal panjang dihasilkan.
Ketika EMA cepat melintasi di bawah EMA menengah, dan kemiringan EMA menengah berubah menjadi negatif, sinyal pendek dihasilkan.
Pergi panjang ketika harga melintasi EMA yang lambat, dan pendek ketika harga melintasi EMA yang lambat.
Hubungan kemiringan EMA mencerminkan perubahan tren.
Multiple EMA meningkatkan akurasi dalam penilaian tren.
EMA cepat, menengah dan lambat secara wajar membedakan tren dan konsolidasi.
Perubahan kemiringan EMA memberikan petunjuk awal tentang perubahan tren.
Crossover harga lebih lanjut mengkonfirmasi untuk menghindari kebocoran palsu.
Selalu menjaga posisi sepenuhnya menangkap peluang tren.
Mengandalkan hanya EMA membawa risiko posisi yang besar selama periode yang terbatas pada kisaran.
Parameter EMA yang tidak tepat mungkin tidak menunjukkan titik balik.
Tidak dapat menentukan kekuatan tren, risiko awal masuk kebalik.
Tidak ada kontrol kerugian perdagangan tunggal yang efektif.
Uji kombinasi EMA yang berbeda untuk menemukan parameter optimal.
Tambahkan indikator lain seperti MACD untuk menentukan kekuatan.
Tambahkan mekanisme stop loss untuk pengendalian risiko.
Mengevaluasi kekuatan tren untuk menghindari entri terbalik prematur.
Mengoptimalkan ukuran posisi untuk manajemen modal.
Berhenti berdagang sementara ketika tren menjadi bergolak.
Strategi ini secara masuk akal menggunakan kombinasi EMA untuk menentukan tren. Tetapi hanya mengandalkan EMA memiliki keterbatasan, meninggalkan ruang optimasi yang besar untuk menggabungkan lebih banyak indikator. Mekanisme pengendalian risiko juga diperlukan untuk meningkatkan stabilitas. Secara keseluruhan kerangka kerja dirancang secara ilmiah, dan memiliki potensi untuk berkembang menjadi strategi perdagangan tren yang kuat setelah perbaikan berkelanjutan.
/*backtest start: 2023-08-20 00:00:00 end: 2023-09-19 00:00:00 period: 6h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("EMA Slope + EMA Cross Strategy (by ChartArt)", shorttitle="CA_-_EMA_slope_cross", overlay=true) // ChartArt's EMA Slope + EMA Cross Strategy // // Version 1.0 // Idea by ChartArt on March 10, 2018. // // This strategy uses divergences between // three moving averages and their slope // directions as well as crosses between // the price and the moving averages // to switch between long/short positions. // // The strategy is non-stop in the market // and always either long or short. // // In addition the moving averages are colored // depending if they are trending up or down. // // List of my work: // https://www.tradingview.com/u/ChartArt/ // Input price = input(close) MA1_Length = input(2,step=1, title="EMA 1 Length") MA2_Length = input(4,step=1, title="EMA 2 Length") MA3_Length = input(20,step=1, title="EMA 3 Length") switch1=input(true, title="Show Bar Color?") switch2=input(true, title="Show Moving Averages?") // Calculation MA1 = ema(price, MA1_Length) MA2 = ema(price, MA2_Length) MA3 = ema(price, MA3_Length) // Strategy long = crossunder(price, MA3) or ( change(price)<0 and change(MA1)<0 and crossunder(price,MA1) and change(MA2)>0 ) short = crossover(price, MA3) or ( change(price)>0 and change(MA1)>0 and crossover(price,MA1) and change(MA2)<0 ) if long strategy.entry("Long", strategy.long, comment="Long") if short strategy.entry("Short", strategy.short, comment="Short") // Strategy Alert alertcondition(long, title='EMA Slope + EMA Cross Strategy, Long Alert', message='Go Long!') alertcondition(short, title='EMA Slope + EMA Cross Strategy, Short Alert', message='Go Short!') // MA trend bar color up = change(MA2)>0 and change(MA3)>0 dn = change(MA2)<0 and change(MA3)<0 bar_color = up?green:dn?red:blue barcolor(switch1?bar_color:na) // MA trend output color MA2_color = change(MA2)>0?lime:change(MA2)<0?red:blue MA3_color = change(MA3)>0?lime:change(MA3)<0?red:blue // MA output EMA2 = plot(switch2?MA2:na, title="EMA 2", style=linebr, linewidth=2, color=MA2_color) EMA3 = plot(switch2?MA3:na, title="EMA 3", style=linebr, linewidth=4, color=MA3_color) fill(EMA2, EMA3, color=silver, transp=50) //plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)