Strategi Ramalan Trend MACD adalah strategi trend berikut berdasarkan penunjuk MACD dan penunjuk EMA. Tidak seperti strategi MACD tradisional yang menghasilkan isyarat dagangan dengan melintasi garis isyarat, strategi ini menghasilkan isyarat dagangan dengan perubahan jarak antara garis MACD dan garis isyarat untuk menangkap perubahan trend.
Mengira DEMAfast garisan pantas: Mengira dua nilai EMA garisan pantas MMEfast, dan mengira DEMAfast garisan pantas mengikut formula DEMAfast = ((2 * MMEfast) - MMEfastb).
Mengira DEMAslow garis perlahan: Mengira dua nilai EMA MMEslow garis perlahan, dan mengira DEMAslow garis perlahan mengikut formula DEMAslow = ((2 * MMEslow) - MMEslowb).
Mengira garis MACD: Garis MACD adalah perbezaan antara garis pantas DEMAfast dan garis perlahan DEMAslow, LigneMACDZeroLag.
Mengira garis isyarat: Mengira dua nilai EMA dari garis MACD MMEsignal, dan mengira garis isyarat Lignesignal mengikut formula Lignesignal = ((2 * MMEsignal) - MMEsignalb).
Bandingkan garis MACD dan garis isyarat: Menjana isyarat beli apabila garis MACD lebih besar daripada garis isyarat, dan menjana isyarat jual apabila garis MACD kurang daripada garis isyarat.
Pengiraan di atas menggunakan algoritma DEMA, yang dapat mengurangkan kelewatan penunjuk MACD dengan berkesan.
Menggunakan algoritma DEMA boleh mengurangkan kelewatan penunjuk MACD dan membuat isyarat perdagangan lebih sensitif.
Ia tidak bergantung pada isyarat persilangan MACD, tetapi menangkap perubahan trend melalui perubahan jarak antara MACD dan garis isyarat, yang boleh memasuki trend lebih awal.
Strategi menilai dengan tepat trend, dan faktor keuntungan boleh mencapai 1.6-3.5 dengan keuntungan yang baik.
Logik strategi adalah mudah dan jelas, mudah difahami dan dilaksanakan, sesuai untuk perdagangan kuantitatif.
Sebagai penunjuk yang ketinggalan, MACD boleh menghasilkan banyak isyarat dagangan yang tidak sah di pasaran terhad julat.
Walaupun algoritma DEMA mengurangkan lag, ia tidak dapat menghilangkan lag sepenuhnya.
Sebagai trend mengikuti strategi, keuntungan mungkin tidak baik di pasaran yang berbeza.
Parameter sma, lma, tsp perlu dioptimumkan untuk tempoh dan jenis yang berbeza.
Strategi stop loss mungkin perlu ditambahkan untuk mengawal kerugian.
Mengoptimumkan parameter sma, lma, tsp untuk menyesuaikan diri dengan tempoh dan jenis perdagangan yang berbeza.
Tambah strategi stop loss dinamik seperti ATR untuk mengawal kerugian setiap perdagangan.
Menggabungkan penunjuk penilaian trend untuk mengelakkan perdagangan di pasaran yang berbeza.
Tambah saiz kedudukan untuk menyesuaikan kedudukan berdasarkan turun naik pasaran.
Mengoptimumkan logik masuk dan keluar untuk memperbaiki peraturan isyarat perdagangan.
Strategi Ramalan Trend MACD meningkatkan pengiraan MACD dengan menggunakan algoritma DEMA untuk mengurangkan kelewatan, dan menilai trend melalui perubahan jarak antara MACD dan garis isyarat. Sebagai strategi trend berikut, ia dapat menangkap perubahan trend dengan berkesan. Faktor keuntungan boleh mencapai 1.6-3.5, dengan kelebihan tertentu. Tetapi ia masih memerlukan pengoptimuman lebih lanjut parameter, strategi stop loss, penapisan pasaran pelbagai, dll untuk menyesuaikan diri dengan lebih banyak persekitaran pasaran. Ini akan menjadi arah pembangunan 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")