
Strategi ramalan trend MACD adalah strategi mengikuti trend berdasarkan indikator MACD dan indikator EMA. Strategi ini tidak seperti strategi MACD tradisional yang menghasilkan isyarat perdagangan melalui persilangan garis isyarat, tetapi menghasilkan isyarat perdagangan melalui perubahan jarak antara garis indikator MACD dan garis isyarat untuk menangkap perubahan trend.
Hitung garis pantas DEMAfast: Hitung dua kali EMA purata MMEfast dari garis pantas melalui kaedah EMA, kemudian kira garis pantas DEMAfast berdasarkan formula DEMAfast=((2 * MMEfast) - MMEfastb)).
Hitung garis perlahan DEMAslow: Hitung dua kali purata EMA MMEslow dari garis perlahan melalui kaedah EMA, kemudian kira garis perlahan DEMAslow berdasarkan formula DEMAslow = (((2 * MMEslow) - MMEslowb)).
Hitung garis MACD: Garis MACD adalah garis laju DEMAfast tolak perbezaan garis perlahan DEMAslow LigneMACDZeroLag
Hitung garis isyarat: Hitung dua kali nilai purata EMA MMEsignal pada garis MACD melalui kaedah EMA, kemudian berdasarkan formula garis isyarat Lignesignal=((2 * MMEsignal) - MMEsignalb).
Membandingkan talian MACD dan talian isyarat: menghasilkan isyarat beli apabila talian MACD lebih besar daripada talian isyarat; menghasilkan isyarat jual apabila talian MACD lebih kecil daripada talian isyarat.
Pengiraan di atas menggunakan algoritma DEMA, yang dapat mengurangkan kelewatan penunjuk MACD secara berkesan.
Dengan menggunakan algoritma DEMA, penarikan MACD dapat dikurangkan, menjadikan isyarat perdagangan lebih sensitif.
Tidak bergantung pada isyarat silang penunjuk MACD, tetapi menangkap perubahan trend melalui perubahan jarak antara MACD dan garis isyarat, yang dapat memasuki trend lebih awal.
Strategi ini adalah tepat untuk menilai trend, faktor keuntungan boleh mencapai 1.6-3.5, dan hasil yang lebih baik.
Strategi logiknya ringkas dan jelas, mudah difahami, sesuai untuk perdagangan kuantitatif.
MACD sebagai penunjuk ketinggalan, boleh menghasilkan banyak isyarat perdagangan tidak sah dalam keadaan pemulihan.
Walaupun algoritma DEMA dapat mengurangkan ketinggalan tetapi tidak dapat menghapuskan sepenuhnya, ketinggalan tetap ada.
Sebagai strategi trend following, keuntungan mungkin kurang baik dalam keadaan yang tidak menentu.
Parameter sma, lma,tsp perlu dioptimumkan dengan nilai yang setara untuk menyesuaikan diri dengan tempoh dan varieti yang berbeza.
Mungkin perlu menambah strategi hentikan kerugian untuk mengawal kerugian.
Optimumkan parameter sma, lma, spp untuk menyesuaikan diri dengan pelbagai kitaran dan jenis perdagangan.
Tambah strategi hentian kerugian dinamik seperti ATR untuk mengawal setiap kerugian.
Menggunakan indikator trend untuk mengelakkan dagangan dalam keadaan goyah.
Menambah kawalan jumlah dagangan, menyesuaikan kedudukan mengikut turun naik pasaran.
Mengoptimumkan logik masuk dan keluar, memperhalusi peraturan isyarat perdagangan.
Strategi ramalan trend MACD dengan memperbaiki kaedah pengiraan penunjuk MACD, menggunakan algoritma DEMA untuk mengurangkan ketinggalan, dan menggunakan MACD dan perubahan jarak garis isyarat untuk menilai trend, sebagai strategi mengikuti trend, dapat menangkap perubahan trend dengan berkesan, faktor keuntungan boleh mencapai 1.6-3.5, mempunyai kelebihan tertentu. Tetapi masih perlu mengoptimumkan lagi parameter pengaturan, strategi hentikan kerugian, penapis gegaran dan lain-lain, untuk menyesuaikan diri dengan lebih banyak keadaan pasaran, akan menjadi arah perkembangan strategi ini.
/*backtest
start: 2022-10-26 00:00:00
end: 2023-11-01 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/
// © moritz1301
//@version=4
strategy("MACD Trendprediction Strategy V1", shorttitle="MACD TPS", overlay=true)
sma = input(12,title='DEMA Courte')
lma = input(26,title='DEMA Longue')
tsp = input(9,title='Signal')
dolignes = input(true,title="Lignes")
MMEslowa = ema(close,lma)
MMEslowb = ema(MMEslowa,lma)
DEMAslow = ((2 * MMEslowa) - MMEslowb )
MMEfasta = ema(close,sma)
MMEfastb = ema(MMEfasta,sma)
DEMAfast = ((2 * MMEfasta) - MMEfastb)
LigneMACDZeroLag = (DEMAfast - DEMAslow)
MMEsignala = ema(LigneMACDZeroLag, tsp)
MMEsignalb = ema(MMEsignala, tsp)
Lignesignal = ((2 * MMEsignala) - MMEsignalb )
MACDZeroLag = (LigneMACDZeroLag - Lignesignal)
bgcolor(LigneMACDZeroLag<Lignesignal ? color.red : color.green)
if (LigneMACDZeroLag>Lignesignal)
strategy.entry("Buy", strategy.long, comment="BUY")
if (LigneMACDZeroLag<Lignesignal)
strategy.close("Buy", strategy.long, comment="SELL")