Strategi ini terutama menggunakan garis rata-rata bergerak EMA dan indikator MACD untuk menentukan perubahan pola pasar dan melakukan strategi perdagangan momentum. Ide inti adalah untuk pergi panjang ketika garis EMA jangka pendek melintasi di atas garis EMA jangka panjang dan MACD secara bersamaan melintasi di atas 0, dan pergi pendek ketika EMA jangka pendek melintasi di bawah EMA jangka panjang dan MACD secara bersamaan melintasi di bawah 0.
Strategi ini mengintegrasikan indikator garis rata-rata bergerak dan indikator MACD.
Pertama, ia menggunakan dua indikator EMA dengan panjang siklus yang berbeda, satu adalah garis EMA 25 siklus dan yang lainnya adalah garis EMA 50 siklus. Garis EMA 25 siklus dapat mencerminkan tren jangka pendek sementara garis EMA 50 siklus mencerminkan tren jangka menengah dan jangka panjang. Ketika garis EMA jangka pendek melintasi di atas garis EMA jangka panjang dari bawah, itu menunjukkan pasar sedang berbalik dari penurunan ke kenaikan, yang merupakan sinyal silang emas untuk pergi panjang. Ketika EMA jangka pendek melintasi di bawah EMA jangka panjang dari atas, itu menunjukkan pasar sedang berbalik dari atas ke bawah, yang merupakan sinyal silang kematian untuk pergi pendek.
Pada saat yang sama, strategi ini juga menggabungkan sinyal indikator MACD. Indikator MACD mencakup garis DIF dan garis DEA, yang mewakili perbedaan antara rata-rata bergerak eksponensial jangka pendek dan jangka panjang, yang dihitung oleh EMA ganda. Strategi ini menetapkan DIF sebagai perbedaan antara EMA 12 hari dan EMA 26 hari. Garis DEA adalah rata-rata bergerak eksponensial 9 hari dari DIF. Garis DIF mewakili momentum sementara garis DEA mewakili rata-rata MACD. Ketika DIF melintasi di atas garis DEA dari bawah, itu menghasilkan sinyal beli. Ketika DIF melintasi di bawah DEA dari atas, itu menghasilkan sinyal jual.
Menggabungkan kedua indikator ini, sinyal masuk panjang dihasilkan ketika EMA 25 hari memiliki salib emas dari EMA 50 hari, sementara garis DIF MACD
Ini adalah strategi dual-track yang sangat khas yang terintegrasi dengan indikator MACD untuk menghasilkan sinyal perdagangan yang lebih dapat diandalkan dengan keuntungan berikut:
Menggunakan garis EMA ganda dapat menghindari whipsaws dan false breakout untuk menghasilkan sinyal perdagangan yang lebih andal.
Mengintegrasikan indikator MACD dapat lebih lanjut memverifikasi sinyal perdagangan dan menghindari risiko sinyal dual-track EMA palsu, meningkatkan efektivitas praktis dari strategi.
Menggunakan garis 25 hari dan 50 hari sebagai garis cepat dan lambat, pemilihan parameter lebih akurat yang dapat menangkap perubahan tren yang signifikan dalam siklus jangka menengah dan pendek.
Dengan mengejar momentum dan pola pikir reversi rata-rata, strategi ini dapat melampaui indeks acuan dan mencapai pengembalian yang signifikan selama tren naik dan turun yang tajam di pasar yang lebih luas.
Logika strategi sederhana dan langsung, mudah dipahami dan diterapkan, cocok untuk pemula kuantitatif.
Parameter dapat dioptimalkan dengan hati-hati untuk lebih menyesuaikan strategi di berbagai produk dan lingkungan pasar.
Masih ada beberapa risiko yang perlu diperhatikan untuk strategi ini:
Kemungkinan sinyal EMA palsu tetap ada, whipsaw masih dapat terjadi dalam pergerakan pasar yang ganas.
Parameter MACD perlu terus dioptimalkan dan disesuaikan, jika tidak sinyal yang salah atau lag sinyal dapat terjadi.
Perlu berhati-hati apakah pengaturan titik stop loss wajar untuk menghindari terobosan yang tidak efektif yang menyebabkan kerugian yang lebih besar.
Perlu memperhatikan perubahan lingkungan pasar dan kebijakan untuk menghindari risiko sistemik yang menyebabkan kerugian yang lebih besar.
Kebutuhan untuk mengontrol ukuran posisi dan tingkat leverage untuk mencegah risiko likuidasi paksa dari tren sepihak.
Strategi ini juga dapat dioptimalkan dalam aspek berikut:
Uji kombinasi parameter yang lebih akurat dengan efisiensi praktis yang lebih tinggi, seperti menggunakan garis EMA 20 hari dan 60 hari sebagai jalur perdagangan, dengan DIF sebagai perbedaan antara EMA 10 hari dan EMA 20 hari.
Meningkatkan konfirmasi dari indikator volume perdagangan untuk menghindari low-volume false breakout.
Menggabungkan indikator volatilitas seperti ATR untuk menentukan metode stop loss yang lebih ilmiah.
Menggunakan algoritma pembelajaran mesin untuk mengoptimalkan parameter secara otomatis untuk beradaptasi secara dinamis dengan perubahan lingkungan pasar.
Tambahkan modul kontrol ukuran posisi untuk menyesuaikan ukuran secara dinamis berdasarkan kinerja strategi dan metrik.
Dapat memetakan sinyal strategi pada grafik jangka waktu yang lebih tinggi untuk membantu keputusan pada perdagangan arah jangka panjang.
Strategi ini mengintegrasikan kekuatan indikator garis rata-rata bergerak dan indikator MACD dengan menilai pola lilin berkualitas tinggi melalui garis EMA ganda dikombinasikan dengan DIF dan DEA yang cocok pada arah momentum MACD, membentuk strategi perdagangan momentum yang stabil dan efisien. Logika sederhana dan mudah dipahami dan dioptimalkan, sangat cocok untuk pedagang kuant untuk memulai dan implementasi. Melalui pengujian dan pengoptimalan berkelanjutan, strategi ini dapat menjadi salah satu strategi nilai yang mengungguli indeks.
/*backtest start: 2022-12-05 00:00:00 end: 2023-12-11 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="EMA+MACD", shorttitle="EMA+MACD", overlay=true) // Getting inputs fast_length = input(title="Fast Length", type=input.integer, defval=12) slow_length = input(title="Slow Length", type=input.integer, defval=26) src = input(title="Source", type=input.source, defval=close) signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9) sma_source = input(title="Oscillator MA Type", type=input.string, defval="EMA", options=["SMA", "EMA"]) sma_signal = input(title="Signal Line MA Type", type=input.string, defval="EMA", options=["SMA", "EMA"]) fast_ma = sma_source == "SMA" ? sma(src, fast_length) : ema(src, fast_length) slow_ma = sma_source == "SMA" ? sma(src, slow_length) : ema(src, slow_length) macd = fast_ma - slow_ma signal = sma_signal == "SMA" ? sma(macd, signal_length) : ema(macd, signal_length) hist = macd - signal len1 = input(title="Len Ema 1 ",type=input.integer,defval=25) len2 = input(title="Len Ema 2 ",type=input.integer,defval=50) ema1 = ema(src,len1) ema2 = ema(src,len2) bull = crossover(ema1,ema2) and macd > 0 bear = crossover(ema2,ema1) and macd < 0 l1 = bull ? label.new(x=bar_index,y=low,yloc=yloc.belowbar,text="BUY",color=color.green,textcolor=color.white,style=label.style_triangleup) : na l2 = bear ? label.new(x=bar_index,y=high,yloc=yloc.abovebar,text="SELL",color=color.red,textcolor=color.white,style=label.style_triangledown) : na strategy.entry("LONG",strategy.long,when=bull) strategy.entry("SHORT",strategy.short,when=bear)