Strategi ini menentukan entri dan keluar berdasarkan situasi persilangan garis EMA cepat (3), garis EMA lambat (11) dan garis EMA lambat (18), dikombinasikan dengan persilangan garis nol MACD. Ini adalah strategi dinamis yang memanfaatkan kombinasi indikator EMA dan MACD ganda untuk keputusan perdagangan.
Strategi ini terutama didasarkan pada dua indikator analisis teknis:
EMA Crossover. Ia menggunakan crossover EMA cepat (3), EMA lambat (11) dan EMA lambat (18) untuk menentukan tren dan sebagai sinyal masuk dan keluar.
Indikator MACD dan Zero Line Crossover. MACD terdiri dari DIFF dan DEA. DIFF dibangun oleh EMA cepat (3) dikurangi EMA lambat (11). DEA adalah EMA (27) dari MACD. MACD>0 menunjukkan bullishness dan MACD<0 menunjukkan bearishness. Zero line crossover bertindak sebagai sinyal masuk dan keluar.
Menurut kombinasi EMA crossover dan MACD zero line crossover, ada 3 peluang masuk dan 2 peluang keluar:
Singkatnya, strategi ini memanfaatkan sepenuhnya keuntungan sistem silang EMA ganda dan indikator MACD. Dengan menyesuaikan secara dinamis parameter rata-rata bergerak dan MACD, dapat meningkatkan profitabilitas strategi.
Ini memanfaatkan kekuatan dari crossover EMA dan indikator MACD, meningkatkan akurasi melalui konfirmasi dua indikator.
Ada 3 peluang masuk panjang dan 2 peluang keluar, meningkatkan frekuensi perdagangan dan potensi keuntungan.
Panjang EMA cepat, EMA lambat, EMA garis nol dan MACD semua dapat dioptimalkan.
Logika yang jelas membuatnya mudah untuk debug dan mengoptimalkan.
Baik crossover EMA maupun indikator MACD memiliki beberapa sinyal palsu, yang dapat menyebabkan kerugian yang tidak perlu.
Frekuensi perdagangan yang tinggi dengan ukuran stop loss yang kecil di setiap perdagangan, sehingga kerugian dapat terkumpul.
Kesulitan dalam optimasi parameter. Optimasi yang tidak benar dapat menyebabkan overfit.
Dampak dari biaya perdagangan harus dipertimbangkan sepenuhnya.
Untuk mengurangi risiko:
Atur stop loss yang tepat untuk membatasi kerugian dalam perdagangan tunggal.
Sesuaikan parameter dengan tepat untuk menghindari overfitting.
Pertimbangkan dampak biaya perdagangan, seperti mengurangi frekuensi perdagangan.
Alternatif uji seperti Bollinger Bands, KDJ dll.
Mengoptimalkan parameter silang EMA: Mengubah panjang EMA cepat dan lambat.
Mengoptimalkan parameter MACD: Mengubah panjang EMA perhitungan DIFF dan DEA.
Tambahkan strategi stop loss: jumlah stop perdagangan, stop waktu, trailing stop dll.
Sesuaikan frekuensi masuk dengan biaya perdagangan.
Strategi ini menggabungkan sistem crossover EMA ganda dan indikator MACD untuk membangun strategi parameter dinamis dengan frekuensi perdagangan yang tinggi dan profitabilitas yang kuat. Juga, logika yang jelas membuatnya mudah dipahami dan dioptimalkan. Tetapi ada juga risiko sinyal palsu dan overfitting yang perlu ditangani melalui stop loss yang tepat, langkah-langkah anti-overfitting dll. Secara keseluruhan, strategi ini memiliki kegunaan praktis yang besar.
/*backtest start: 2024-01-29 00:00:00 end: 2024-02-05 00:00:00 period: 15m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("MACD+EMA crossovers Strategy custom",initial_capital=10000,max_bars_back=150,commission_type=strategy.commission.percent , commission_value=0.1, shorttitle="MACD+EMAcross",pyramiding = 10,default_qty_type=strategy.percent_of_equity,default_qty_value=33,overlay=false) short = ema(close,3) long = ema(close, 11) long2 = ema(close, 18) //plot(short, color = red, linewidth = 4) //plot(long, color = blue, linewidth = 4) //plot(long2, color = green, linewidth = 4) isCross1 = crossover(short, long) isCross2 = crossover(short, long2) isCrossSell = crossunder(short, long) //isCross3 = crossover(long, long2) //plotshape(isCross1 and not isCross2, color=lime, style=shape.arrowup, text="1st in",size = size.tiny, location = location.belowbar) //plotshape(isCross2 , color=lime, style=shape.arrowup, text="2nd in",size = size.tiny, location = location.belowbar) //plotshape(isCross3 , color=lime, style=shape.arrowdown, text="All in",size = size.normal, location = location.abovebar) //plotshape(isCrossSell , color=red, style=shape.arrowdown, text="SELL",size = size.small, location = location.abovebar) fastLength = input(3) slowlength = input(11) MACDLength = input(27) MACD = ema(close, fastLength) - ema(close, slowlength) aMACD = ema(MACD, MACDLength) //signal delta = MACD - aMACD // histograma strategy.entry("MacdLE 1st in", strategy.long, comment="MacdLE 1st in",when=crossover(delta, 0)) strategy.entry("2nd in", strategy.long, comment="2nd in",when=isCross1) strategy.entry("all in", strategy.long, comment="all in",when=isCross2) strategy.close("2nd in",when=isCrossSell) strategy.close("all in",when=isCrossSell) //strategy.close("2nd in",when=crossunder(delta, 0)) //strategy.close("all in",when=crossunder(delta, 0)) strategy.close("MacdLE 1st in",when=crossunder(delta, 0)) histColour = (delta > 0) ? green : (delta < 0) ? red : #4169E1 plot(MACD,color=red,linewidth=2) plot(aMACD,color=blue,linewidth=2) plot(delta,style=histogram, color=histColour, linewidth=10) plot(0,color=white)