Strategi ini menggabungkan penunjuk MACD dan RSI untuk menentukan arah trend dan tahap overbought/oversold untuk perdagangan trend.
Logik utama:
Mengira garis MACD dan garis isyarat (EMA MACD)
Delta adalah perbezaan mereka, menyatakan perubahan momentum harga
RSI untuk mengukur keadaan overbought/oversold
Pergi panjang apabila Delta melintasi di atas garis sifar dan RSI overbought (default 70)
Pergi pendek apabila Delta melintasi di bawah garis sifar dan RSI oversold (default 30)
MACD untuk arah momentum, RSI untuk overbought / sold - combo menapis banyak isyarat palsu.
Menggabungkan dua penunjuk untuk isyarat disaring
MACD mengukur momentum, RSI mengukur overbought/sold
Parameter yang boleh dikonfigurasi untuk pasaran yang berbeza
Rasional strategi perdagangan trend yang jelas
Keberkesanan terhad daripada gabungan satu penunjuk
Tiada stop loss, tidak dapat mengawal kerugian setiap perdagangan
Tidak mengambil kira saiz kedudukan
Pengurangan:
Uji penunjuk lain, cari kombinasi yang optimum
Tambah kerugian yang tertinggal atau berhenti keras
Saiz kedudukan berdasarkan saiz akaun atau turun naik
Uji MACD dengan gabungan penunjuk lain
Mengoptimumkan parameter untuk kestabilan
Menapis isyarat mengikut trend untuk mengelakkan pecah palsu
Gunakan stop loss untuk melindungi keuntungan
ML untuk menilai kualiti isyarat
Strategi ini menggabungkan MACD dan RSI untuk penentuan trend yang kukuh. Kestabilan boleh ditingkatkan melalui pengoptimuman parameter, stop loss, penapis pintar dan lain-lain.
/*backtest start: 2023-08-21 00:00:00 end: 2023-09-20 00:00:00 period: 6h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("MACD RSI Strategy", overlay=true) fastLength = input(12) slowlength = input(26) MACDLength = input(9) MACD = ema(close, fastLength) - ema(close, slowlength) aMACD = ema(MACD, MACDLength) delta = MACD - aMACD // RSI length_rsi = input( 14 ) overSold = input( 30 ) overBought = input( 70 ) price = close vrsi = rsi(price, length_rsi) // if (not na(vrsi)) if (crossover(delta, 0) and crossover(vrsi, overBought )) strategy.entry("MacdLE", strategy.long, comment="LE") if (crossunder(delta, 0) and crossunder(vrsi, overSold)) strategy.entry("MacdSE", strategy.short, comment="SE") //plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)