Dual EMA golden cross breakout adalah strategi trading trend-following dan breakout yang didasarkan pada dua exponential moving average (EMA) dengan periode yang berbeda. Strategi ini menghasilkan sinyal beli ketika golden cross muncul antara dua EMA dan sinyal jual ketika death cross terjadi, untuk menangkap perubahan tren harga. Strategi ini juga menggabungkan kondisi price breakout EMA untuk menyaring sinyal palsu.
Strategi EMA dua golden cross breakout terutama didasarkan pada logika berikut:
Gunakan EMA jangka pendek (garis 26 hari) untuk menangkap tren jangka pendek dan EMA jangka panjang (garis 200 hari) untuk menentukan arah tren jangka panjang.
Ketika EMA periode yang lebih pendek melintasi EMA periode yang lebih lama, ini disebut
Ketika EMA periode yang lebih pendek melintasi di bawah EMA periode yang lebih lama, ini disebut
Ketika sinyal silang terjadi, harga juga perlu menembus EMA untuk menyaring sinyal palsu dan memastikan sinyal perdagangan yang andal.
Menerapkan teknik stop loss dan mengambil keuntungan untuk mengendalikan risiko perdagangan dan mengunci keuntungan.
Strategi EMA dua golden cross breakout memiliki keuntungan berikut:
Menggunakan EMA ganda untuk menentukan tren harga dan sinyal silang dapat secara efektif melacak pergerakan pasar.
Menggabungkan sinyal filter price breakout mencegah tertipu oleh sinyal silang palsu.
Mengadopsi logika perdagangan yang sederhana dan jelas, mudah dimengerti dan diterapkan.
Terapkan pada produk dan kerangka waktu yang berbeda, fleksibel dan serbaguna.
Parameter EMA yang dapat dikonfigurasi dan kondisi stop loss/take profit membuatnya sangat fleksibel.
Strategi EMA double gold cross breakout juga memiliki risiko berikut:
Pembagian yang sering dapat terjadi ketika harga bergesekan, menghasilkan sinyal perdagangan yang berlebihan.
Dual EMA kadang-kadang memiliki kinerja yang tertinggal dan tidak dapat merespons perubahan harga tepat waktu.
Stop loss point yang terlalu kecil dapat dengan mudah dipicu oleh sedikit fluktuasi harga, sementara take profit point yang terlalu besar dapat kehilangan beberapa keuntungan.
Penghakiman tren utama harus dibuat sebelum sinyal perdagangan untuk menghindari perdagangan melawan tren.
Strategi EMA dua golden cross breakout dapat dioptimalkan dalam aspek berikut:
Menerapkan algoritma pembelajaran mesin untuk secara dinamis mengoptimalkan parameter EMA sehingga mereka dapat lebih beradaptasi dengan fluktuasi harga.
Tambahkan sinyal konfirmasi lainnya seperti volume, Bollinger Bands dll untuk meningkatkan kualitas sinyal.
Menggabungkan prediksi pembelajaran mendalam dari jalur harga untuk menempatkan stop loss dan mengambil keuntungan lebih dekat ke tingkat optimal.
Mengoptimalkan strategi khusus untuk data frekuensi tinggi untuk meningkatkan presisi sinyal.
Tambahkan mekanisme penyesuaian adaptif untuk stop loss untuk mencegah stop out yang berlebihan.
Singkatnya, strategi penembusan silang emas EMA ganda menggunakan sinyal penembusan EMA untuk menentukan tren harga dan titik balik, dan menggabungkan filter penembusan harga untuk menghindari sinyal palsu. Ini adalah tren yang dapat diandalkan, stabil dan mudah diterapkan setelah strategi perdagangan. Peningkatan lebih lanjut dapat dilakukan melalui optimasi parameter, penyaringan sinyal dan penyesuaian adaptif. Logika perdagangan ini sederhana dan intuitif, cocok untuk semua jenis investor, dan karenanya merupakan salah satu strategi perdagangan algoritmik mendasar.
/*backtest start: 2023-12-26 00:00:00 end: 2024-01-25 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA Buy/Sell Signal", shorttitle="EMABuySell", overlay=true) // === INPUTS === src = input(close) ema1Length = input(26, title='EMA-1') ema2Length = input(200, title='EMA-2') EMASig = input(true, title="Show EMA ?") takeProfitPercent = input(2.0, title="Take Profit (%)") / 100 stopLossPercent = input(1, title="Stop Loss (%)") / 100 pema1 = ta.ema(src, ema1Length) pema2 = ta.ema(src, ema2Length) // Plotting EMAs plot(EMASig ? pema1 : na, title='EMA-1', color=color.new(color.blue, 0), linewidth=2) plot(EMASig ? pema2 : na, title='EMA-2', color=color.new(color.orange, 0), linewidth=2) // EMA Crossover Buy Signal EMACrossoverLong = ta.crossover(pema1, pema2) // EMA Crossunder Short Signal EMACrossoverShort = ta.crossunder(pema1, pema2) // Crossover above EMA-200 Long Signal CrossoverAboveEMA200 = ta.crossover(close, pema2) // Trading logic for Long if ((EMACrossoverLong and close > pema1 and close > pema2) or CrossoverAboveEMA200) strategy.entry("Buy", strategy.long, qty=1) // Take Profit logic for Long longCondition = close >= strategy.position_avg_price * (1 + takeProfitPercent) if (strategy.position_size > 0 and longCondition) strategy.close("Buy") // Stop Loss logic for Long stopLossConditionLong = ta.crossunder(pema1, pema2) if (strategy.position_size > 0 and stopLossConditionLong) strategy.close("Buy") // Trading logic for Short if (EMACrossoverShort and close < pema1 and close < pema2) strategy.entry("Sell", strategy.short, qty=1) // Take Profit logic for Short shortCondition = close <= strategy.position_avg_price * (1 - takeProfitPercent) if (strategy.position_size < 0 and shortCondition) strategy.close("Sell") // Stop Loss logic for Short stopLossConditionShort = ta.crossover(pema1, pema2) if (strategy.position_size < 0 and stopLossConditionShort) strategy.close("Sell") // Visual Signals plotshape(series=EMACrossoverLong or CrossoverAboveEMA200, title="Buy Signal", color=color.green, style=shape.triangleup, size=size.small) plotshape(series=EMACrossoverShort, title="Sell Signal", color=color.red, style=shape.triangledown, size=size.small)