
Strategi ini adalah sistem perdagangan kuantitatif yang menggabungkan indikator pergerakan rata-rata trend deviasi ((MACD) dan indikator kekuatan relatif ((RSI)). Strategi ini mengenal pasti titik perubahan trend pasaran dengan menganalisis tanda-tanda persilangan dan tahap overbought dan oversold kedua-dua indikator teknikal ini, untuk membuat keputusan perdagangan. Sistem ini menggunakan pelaksanaan perdagangan berprogram, yang dapat menangkap peluang pasaran secara automatik dan melakukan perdagangan.
Logik strategi ini adalah berdasarkan dua petunjuk teknikal utama: MACD dan RSI. Indikator MACD digunakan untuk menentukan arah trend dengan mengira perbezaan antara purata bergerak cepat (12 tempoh) dan purata bergerak perlahan (26 tempoh) dan kemudian dibandingkan dengan garis isyarat (9 tempoh). Indikator RSI digunakan untuk menentukan sama ada pasaran berada dalam keadaan overbought atau oversold dengan mengira 14 kitaran kekuatan relatif.
Apabila garis MACD ke atas melintasi garis isyarat dan RSI adalah di bawah 70 (level overbought), sistem menghasilkan isyarat beli; apabila garis MACD ke bawah melintasi garis isyarat dan RSI adalah di atas 30 (level overbought), sistem menghasilkan isyarat jual. Mekanisme pengesahan berganda ini dapat menyaring isyarat palsu dengan berkesan.
Sistem perdagangan kuantitatif silang dinamik MACD-RSI adalah strategi perdagangan automatik yang digabungkan dengan analisis teknikal indikator klasik. Mekanisme berganda yang disahkan oleh penilaian trend MACD dan RSI overbought oversold, dapat menangkap titik perubahan pasaran dengan berkesan. Strategi ini mempunyai kelebihan seperti kebolehpercayaan yang tinggi dan kemampuan penyesuaian yang kuat, tetapi juga perlu berhati-hati terhadap risiko pasaran yang bergolak dan sinyal yang terlewat.
/*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")