Strategi ini adalah sistem perdagangan kuantitatif yang menggabungkan indikator Moving Average Convergence Divergence (MACD) dan Relative Strength Index (RSI).
Indikator MACD menghitung perbedaan antara rata-rata bergerak cepat (12-periode) dan lambat (26-periode), membandingkannya dengan garis sinyal (9-periode rata-rata bergerak) untuk menentukan arah tren. Indikator RSI menghitung kekuatan relatif selama 14 periode untuk menentukan apakah pasar terlalu banyak dibeli atau terlalu banyak dijual.
Sinyal beli dihasilkan ketika garis MACD melintasi di atas garis sinyal dan RSI berada di bawah 70 (level overbought). Sinyal jual dihasilkan ketika garis MACD melintasi di bawah garis sinyal dan RSI berada di atas 30 (level oversold). Mekanisme konfirmasi ganda ini secara efektif menyaring sinyal palsu.
Sistem Perdagangan Kuantitatif Crossover Dinamis MACD-RSI adalah strategi perdagangan otomatis yang menggabungkan indikator analisis teknis klasik. Melalui mekanisme ganda penilaian tren MACD dan konfirmasi overbought/oversold RSI, secara efektif menangkap titik balik pasar. Strategi ini menawarkan keandalan tinggi dan kemampuan beradaptasi yang kuat, tetapi pedagang harus waspada terhadap risiko pasar yang bergolak dan lag sinyal. Ada ruang yang signifikan untuk perbaikan melalui pengenalan indikator teknis tambahan dan optimasi konfirmasi sinyal. Dalam aplikasi praktis, investor harus menyesuaikan parameter berdasarkan kondisi pasar tertentu dan menggabungkannya dengan metode analisis lainnya.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-03 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("MACD + RSI Strategy", overlay=true) // MACD settings fastLength = input.int(12, title="MACD Fast Length") slowLength = input.int(26, title="MACD Slow Length") signalSmoothing = input.int(9, title="MACD Signal Smoothing") // RSI settings rsiLength = input.int(14, title="RSI Length") rsiOverbought = input.float(70, title="RSI Overbought Level") rsiOversold = input.float(30, title="RSI Oversold Level") // Calculate MACD [macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalSmoothing) // Calculate RSI rsi = ta.rsi(close, rsiLength) // Generate buy and sell signals buySignal = ta.crossover(macdLine, signalLine) and rsi < rsiOverbought sellSignal = ta.crossunder(macdLine, signalLine) and rsi > rsiOversold // Plot buy and sell signals on chart plotshape(series=buySignal, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY") plotshape(series=sellSignal, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL") // Strategy entry and exit if buySignal strategy.entry("Buy", strategy.long) if sellSignal strategy.close("Buy") // Plot MACD and Signal Line plot(macdLine, color=color.blue, title="MACD Line") plot(signalLine, color=color.orange, title="Signal Line") // Plot RSI hline(rsiOverbought, "Overbought", color=color.red) hline(rsiOversold, "Oversold", color=color.green) plot(rsi, color=color.purple, title="RSI")