Strategi Prediksi Tren MACD adalah strategi mengikuti tren berdasarkan indikator MACD dan indikator EMA. Tidak seperti strategi MACD tradisional yang menghasilkan sinyal perdagangan dengan melintasi garis sinyal, strategi ini menghasilkan sinyal perdagangan dengan perubahan jarak antara garis MACD dan garis sinyal untuk menangkap perubahan tren.
Menghitung garis cepat DEMAfast: Menghitung dua nilai EMA dari garis cepat MMEfast, dan menghitung garis cepat DEMAfast menurut rumus DEMAfast = ((2 * MMEfast) - MMEfastb).
Menghitung garis lambat DEMAslow: Menghitung dua nilai EMA dari garis lambat MMEslow, dan menghitung garis lambat DEMAslow menurut rumus DEMAslow = ((2 * MMEslow) - MMEslowb).
Menghitung garis MACD: Garis MACD adalah perbedaan antara garis cepat DEMAfast dan garis lambat DEMAslow, LigneMACDZeroLag.
Hitung garis sinyal: Hitung dua nilai EMA dari garis MACD MMEsignal, dan hitung garis sinyal Lignesignal menurut rumus Lignesignal = ((2 * MMEsignal) - MMEsignalb).
Bandingkan garis MACD dan garis sinyal: Menghasilkan sinyal beli ketika garis MACD lebih besar dari garis sinyal, dan menghasilkan sinyal jual ketika garis MACD lebih kecil dari garis sinyal.
Perhitungan di atas menggunakan algoritma DEMA, yang dapat secara efektif mengurangi lag dari indikator MACD.
Menggunakan algoritma DEMA dapat mengurangi keterlambatan indikator MACD dan membuat sinyal perdagangan lebih sensitif.
Hal ini tidak bergantung pada sinyal crossover MACD, tetapi menangkap perubahan tren melalui perubahan jarak antara MACD dan garis sinyal, yang dapat memasuki tren lebih awal.
Strategi ini menilai tren dengan akurat, dan faktor keuntungan dapat mencapai 1,6-3,5 dengan profitabilitas yang baik.
Logika strategi sederhana dan jelas, mudah dimengerti dan diimplementasikan, cocok untuk perdagangan kuantitatif.
Sebagai indikator yang tertinggal, MACD dapat menghasilkan banyak sinyal perdagangan yang tidak valid di pasar yang terikat rentang.
Meskipun algoritma DEMA mengurangi lag, tidak dapat sepenuhnya menghilangkan lag. Masih ada beberapa lag.
Sebagai tren mengikuti strategi, keuntungan mungkin tidak baik di pasar yang berbeda.
Parameter sma, lma, tsp perlu dioptimalkan untuk periode dan varietas yang berbeda.
Strategi stop loss mungkin perlu ditambahkan untuk mengendalikan kerugian.
Mengoptimalkan parameter sma, lma, tsp untuk beradaptasi dengan periode dan varietas perdagangan yang berbeda.
Tambahkan strategi stop loss dinamis seperti ATR untuk mengendalikan kerugian per perdagangan.
Masukkan indikator penilaian tren untuk menghindari perdagangan di pasar yang bervariasi.
Tambahkan ukuran posisi untuk menyesuaikan posisi berdasarkan volatilitas pasar.
Mengoptimalkan masuk dan keluar logika untuk menyempurnakan aturan sinyal perdagangan.
Strategi Prediksi Tren MACD meningkatkan perhitungan MACD dengan menggunakan algoritma DEMA untuk mengurangi keterlambatan, dan menilai tren melalui perubahan jarak antara MACD dan garis sinyal. Sebagai strategi mengikuti tren, ini dapat secara efektif menangkap perubahan tren. Faktor keuntungan dapat mencapai 1,6-3,5, dengan keuntungan tertentu. Tetapi masih membutuhkan optimasi lebih lanjut dari parameter, strategi stop loss, penyaringan pasar rentang, dll untuk beradaptasi dengan lebih banyak lingkungan pasar. Ini akan menjadi arah pengembangan 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")