
Strategi ini dipanggil strategi gabungan DEMA MACD. Ia menggabungkan penunjuk DEMA rata-rata dan penunjuk MACD, menggunakan pengesahan dua penunjuk untuk menghantar isyarat jual beli. Idea utamanya adalah menggunakan penunjuk trend DEMA dan penunjuk momentum MACD untuk pengesahan ganda pada masa yang sama, untuk mendapatkan prestasi strategi yang lebih baik dengan meningkatkan ketepatan isyarat.
Strategi ini adalah berdasarkan kepada penggunaan gabungan penunjuk DEMA rata-rata dan penunjuk MACD. Prinsip-prinsipnya adalah sebagai berikut:
Hitung garis purata DEMA 21 hari, apabila harga penutupan melepasi garis purata DEMA dianggap sebagai isyarat beli, apabila melepasi garis purata DEMA di bawah dianggap sebagai isyarat jual.
Hitung perbezaan MACD dan tambah parameter pilihan untuk mengawal sama ada perbezaan MACD lebih besar daripada 0 diperlukan sebagai pengesahan tambahan untuk isyarat beli.
Apabila isyarat beli rata-rata DEMA muncul, jika anda mengaktifkan pengesahan tambahan dengan perbezaan MACD lebih besar daripada 0, anda perlu menunggu perbezaan MACD berubah menjadi positif untuk mencetuskan isyarat beli sebenar.
Apabila isyarat jual DEMA muncul secara berurutan, isyarat jual dikeluarkan secara langsung, tanpa memerlukan pengesahan tambahan dari MACD.
Dengan kombinasi kedua-dua petunjuk, anda boleh menggunakan garis rata DEMA untuk menentukan arah trend, dan pada masa yang sama menggunakan nilai perbezaan MACD untuk menentukan sama ada anda sedang berada di peringkat permulaan trend, untuk mengelakkan spekulasi dan meningkatkan ruang keuntungan. Diakui membeli dengan nilai perbezaan MACD lebih besar daripada 0 membolehkan strategi membeli hanya dalam tempoh pertumbuhan indeks, garis rata DECL dengan cepat mengesahkan menjual membolehkan strategi menghentikan kerugian tepat pada masanya.
Strategi ini menggabungkan garis purata DEMA dan penunjuk MACD dalam beberapa aspek:
DEMA bertindak balas dengan lebih sensitif dan dapat menangkap perubahan trend tepat pada masanya untuk mengelakkan jatuh ke dalam perangkap gegaran.
MACD dengan perbezaan lebih besar daripada 0 mengesahkan bahawa anda boleh menyaring isyarat palsu, membeli hanya pada peringkat permulaan trend, dan meluaskan ruang keuntungan.
Tidak perlu MACD mengesahkan langsung DECL menjual boleh cepat terputus, maksimum menyimpan keuntungan.
Penunjuk ganda saling mengesahkan meningkatkan ketepatan isyarat dan mengurangkan kemungkinan perdagangan yang salah.
Terdapat ruang untuk mengoptimumkan parameter yang boleh disesuaikan dengan keadaan pasaran yang berbeza dengan menyesuaikan parameter.
Strategi ini mempunyai risiko utama:
Sensitiviti tindak balas DEMA juga lebih mudah menghasilkan isyarat yang salah, yang memerlukan penunjuk MACD untuk disahkan.
Indeks MACD mempunyai keterlambatan dan mungkin terlepas masa pembelian terbaik. Ia disyorkan untuk menggunakan indeks terdahulu yang lain.
Bergantung pada pengoptimuman parameter, penyesuaian parameter yang berbeza untuk pasaran yang berbeza berbeza. Perlu terus melakukan pengujian semula untuk mencari parameter yang optimum.
Risiko korelasi bersiri. Kedua-dua DEMA dan MACD bergantung kepada pengiraan EMA, mempunyai korelasi yang tinggi, dan ketepatan isyarat diragukan.
Penyelesaian yang sesuai adalah seperti berikut:
Menambah pengesahan metrik lain, membina kombinasi pelbagai metrik untuk mengurangkan kemungkinan kesilapan.
Cuba ganti MACD dengan BB, KD dan lain-lain untuk menangkap titik beli lebih awal.
Menubuhkan mekanisme pengoptimuman dan kemas kini parameter untuk menilai kesihatan parameter dalam masa nyata.
Cuba untuk memperkenalkan indikator yang tidak berkaitan, seperti indikator gegaran untuk mengurangkan risiko hubungan.
Strategi ini boleh dioptimumkan dengan cara berikut:
Cuba ubah parameter DEMA untuk mencari kombinasi parameter terbaik. Sensitiviti yang mempengaruhi strategi secara langsung.
Peningkatan mekanisme stop loss. Strategi semasa hanya bergantung pada DECL untuk menjual sinyal stop loss, yang boleh ditetapkan sebagai stop loss bergerak atau stop loss peratus.
Menambah petunjuk terdahulu lain untuk menggantikan MACD, mencari isyarat lebih awal. Contohnya, garis Brin, KDJ dan sebagainya.
Memperkenalkan penunjuk yang tidak berkaitan untuk meningkatkan kestabilan strategi, seperti penambahan jumlah transaksi, penunjuk gegaran, dan sebagainya.
Membina mekanisme pengoptimuman dan kemas kini parameter, menilai kesihatan parameter dalam masa nyata, menyesuaikan parameter secara automatik.
Strategi ini menggunakan gabungan garis rata-rata DEMA dan indikator MACD, memanfaatkan kelebihan kedua-duanya untuk mengesahkan dan menghantar isyarat jual beli. Ia mempunyai kepekaan dan ketepatan isyarat yang lebih tinggi berbanding dengan indikator tunggal.
/*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)