
Strategi ini disebut strategi kombinasi DEMA MACD. Strategi ini menggabungkan indikator DEMA rata-rata dan MACD, menggunakan konfirmasi dua indikator untuk sinyal jual beli. Ide utamanya adalah menggunakan indikator tren DEMA dan indikator momentum MACD untuk konfirmasi ganda sekaligus, untuk mendapatkan kinerja strategi yang lebih baik dengan meningkatkan akurasi sinyal.
Strategi ini didasarkan pada kombinasi antara indikator DEMA dan MACD. Prinsipnya adalah sebagai berikut:
Perhitungan rata-rata DEMA 21 hari, ketika harga penutupan melewati garis rata-rata DEMA dianggap sebagai sinyal beli, ketika melewati garis rata-rata DEMA di bawah dianggap sebagai sinyal jual.
Hitung perbedaan MACD dan tambahkan parameter opsional untuk mengontrol apakah perbedaan MACD lebih besar dari 0 diperlukan sebagai konfirmasi tambahan untuk sinyal beli.
Pada saat muncul sinyal beli rata-rata DEMA, jika membuka konfirmasi tambahan dengan MACD lebih besar dari 0, maka perlu menunggu MACD berubah menjadi positif untuk memicu sinyal beli yang sebenarnya.
Ketika sinyal jual muncul di DEMA, sinyal jual langsung dikirim, tanpa perlu konfirmasi tambahan dari MACD.
Dengan kombinasi dua indikator ini, Anda dapat menggunakan garis rata-rata DEMA untuk menentukan arah tren, dan menggunakan perbedaan MACD untuk menentukan apakah Anda saat ini berada di tahap awal tren, menghindari spekulasi dan memperbesar ruang keuntungan. Dengan perbedaan MACD lebih besar dari 0, konfirmasi pembelian memungkinkan strategi untuk membeli hanya pada periode pertumbuhan indeks, dan garis rata-rata DECL dengan cepat mengkonfirmasi penjualan memungkinkan strategi untuk menghentikan kerugian tepat waktu.
Keunggulan strategi ini dalam kombinasi dengan rata-rata DEMA dan MACD terutama terlihat dalam beberapa aspek berikut:
Reaksi DEMA lebih sensitif, dapat menangkap perubahan tren tepat waktu, dan menghindari jatuh ke dalam perangkap guncangan.
MACD lebih besar dari 0 mengkonfirmasi bahwa sinyal palsu dapat disaring, hanya membeli pada tahap awal tren, memperluas ruang keuntungan.
Tidak perlu MACD konfirmasi langsung DECL menjual dapat cepat mati, maksimum menyimpan sudah menguntungkan.
Indikator ganda saling memverifikasi meningkatkan akurasi sinyal dan mengurangi kemungkinan transaksi yang salah.
Ada banyak ruang untuk mengoptimalkan parameter, yang dapat disesuaikan dengan lingkungan pasar yang berbeda dengan menyesuaikan parameter.
Strategi ini memiliki risiko utama sebagai berikut:
Sensitivitas reaksi DEMA juga lebih mudah menghasilkan sinyal yang salah, yang memerlukan indikator MACD untuk verifikasi.
Indikator MACD memiliki keterlambatan dan mungkin melewatkan waktu terbaik untuk membeli.
Adaptasi parameter yang berbeda untuk pasar yang berbeda tergantung pada pengoptimalan parameter. Perlu terus melakukan pengujian ulang untuk menemukan parameter yang optimal.
Risiko korelasi serialisasi. DEMA dan MACD bergantung pada perhitungan EMA, korelasi tinggi, dan akurasi sinyal diragukan.
Solusi yang sesuai adalah sebagai berikut:
Menambahkan validasi indikator lain, membangun kombinasi multi-indikator untuk mengurangi probabilitas kesalahan.
Cobalah untuk mengganti MACD dengan BB, KD, dan lain-lain untuk menangkap titik beli lebih awal.
Membangun mekanisme optimasi dan pembaruan parameter untuk menilai kesehatan parameter secara real-time.
Cobalah untuk memasukkan indikator yang tidak relevan, seperti indikator getaran yang mengurangi risiko relevansi.
Strategi ini dapat dioptimalkan dari beberapa arah:
Mencoba mengubah parameter DEMA untuk mencari kombinasi parameter terbaik. Sensitivitas yang mempengaruhi strategi secara langsung.
Strategi saat ini hanya bergantung pada sinyal stop loss dari DECL, yang dapat diatur sebagai stop loss bergerak atau stop loss persentase.
Menambahkan indikator sebelumnya lainnya menggantikan MACD, mencari sinyal lebih awal. Misalnya, garis Brin, KDJ, dll.
Memperkenalkan indikator-indikator yang tidak relevan untuk meningkatkan kehandalan strategi, seperti menambahkan volume transaksi, indikator-indikator getaran, dan sebagainya.
Membangun mekanisme optimasi dan pembaruan parameter, menilai kesehatan parameter secara real time, dan menyesuaikan parameter secara otomatis.
Strategi ini menggunakan kombinasi garis rata-rata DEMA dan indikator MACD, memanfaatkan keuntungan dari keduanya untuk mengkonfirmasi dan mengirim sinyal jual beli. Dibandingkan dengan indikator tunggal, memiliki sensitivitas dan akurasi sinyal yang lebih tinggi.
/*backtest
start: 2022-12-14 00:00:00
end: 2023-12-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © melihtuna
//@version=1
strategy("DEMA Strategy with MACD", overlay=true)
// === Trend Trader Strategy ===
DemaLength = input(21, minval=1)
MacdControl = input(false, title="Control 'MACD Histogram is positive?' when Buy condition")
e1 = ema(close, DemaLength)
e2 = ema(e1, DemaLength)
dema1 = 2 * e1 - e2
pos = close > dema1 ? 1 : 0
barcolor(pos == 0 ? red: pos == 1 ? green : blue )
plot(dema1, color= blue , title="DEMA Strategy with MACD")
// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear = input(defval = 2020, title = "From Year", minval = 2017)
ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear = input(defval = 9999, title = "To Year", minval = 2017)
// === FUNCTION EXAMPLE ===
start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window
window() => true // create function "within window of time"
// === MACD ===
[macdLine, signalLine, histLine] = macd(close, 12, 26, 9)
macdCond= MacdControl ? histLine[0] > 0 ? true : false : true
strategy.entry("BUY", strategy.long, when = window() and pos == 1 and macdCond)
strategy.entry("SELL", strategy.short, when = window() and pos == 0)