Strategi ini menggabungkan indikator MACD dan RSI untuk menentukan arah tren dan tingkat overbought/oversold untuk perdagangan tren.
Logika utama:
Menghitung garis MACD dan garis sinyal (EMA dari MACD)
Delta adalah perbedaan mereka, mengungkapkan perubahan momentum harga
RSI untuk mengukur kondisi overbought/oversold
Pergi panjang ketika Delta melintasi di atas garis nol dan RSI overbought (default 70)
Pergi short ketika Delta melintasi di bawah garis nol dan RSI oversold (default 30)
MACD untuk arah momentum, RSI untuk overbought/sold - combo menyaring banyak sinyal palsu.
Menggabungkan dua indikator untuk sinyal yang disaring
MACD mengukur momentum, RSI mengukur overbought/sold
Parameter yang dapat dikonfigurasi untuk pasar yang berbeda
Rasional strategi perdagangan tren yang jelas
Efektivitas terbatas dari kombinasi indikator tunggal
Tidak ada stop loss, tidak dapat mengendalikan kerugian per perdagangan
Tidak mempertimbangkan ukuran posisi
Pengurangan:
Uji indikator lain, temukan kombinasi optimal
Tambahkan kerugian trailing atau hard stop
Ukuran posisi berdasarkan ukuran akun atau volatilitas
Uji MACD dengan kombinasi indikator lainnya
Mengoptimalkan parameter untuk stabilitas
Menyaring sinyal berdasarkan tren untuk menghindari pecah palsu
Gunakan stop loss untuk melindungi keuntungan
ML untuk menilai kualitas sinyal
Strategi ini menggabungkan MACD dan RSI untuk penentuan tren yang solid. Stabilitas dapat ditingkatkan melalui optimasi parameter, stop loss, filter cerdas dll. Ini memberikan kerangka perdagangan tren yang efektif untuk peningkatan lebih lanjut.
/*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)