
Strategi ini adalah sistem pelacakan tren yang didasarkan pada sinyal silang indikator MACD dan RSI, dan digabungkan dengan Brin untuk analisis pergerakan pasar. Inti dari strategi ini adalah menangkap titik-titik perubahan tren melalui kombinasi antara zona overbought dan oversold MACD dan RSI, sambil menggunakan Brin untuk mengkonfirmasi zona fluktuasi harga, sehingga memberikan sinyal perdagangan yang lebih kuat.
Strategi ini menggunakan tiga mekanisme penyaringan indikator teknis:
Kondisi masuk membutuhkan MACD Gold Fork dan RSI berada di level rendah (< 50), yang menunjukkan bahwa pasar mungkin mulai bangkit dari zona oversold. Kondisi keluar membutuhkan MACD dead fork dan RSI berada di level tinggi ((> 50), yang menunjukkan bahwa momentum naik melemah dan mungkin mulai berbalik.
Strategi ini menggunakan kombinasi MACD, RSI, dan Brinks untuk membangun sistem perdagangan pelacakan tren yang relatif lengkap. Strategi ini memiliki dasar teori yang baik dan kelayakan praktis, tetapi masih memerlukan pengoptimalan parameter dan perbaikan kontrol risiko sesuai dengan karakteristik pasar tertentu. Dengan arah pengoptimalan yang disarankan, strategi ini diharapkan untuk mendapatkan stabilitas dan profitabilitas yang lebih baik.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("MACD, RSI, Bollinger Bands Strategy", overlay=true)
// Input parameters for MACD
fastLength = input.int(12, title="MACD Fast Length")
slowLength = input.int(26, title="MACD Slow Length")
signalLength = input.int(9, title="MACD Signal Length")
// Input parameters for RSI
rsiLength = input.int(14, title="RSI Length")
// Input parameters for Bollinger Bands
bbLength = input.int(20, title="Bollinger Band Length")
bbMult = input.float(2.0, title="Bollinger Band Multiplier")
// MACD calculation
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalLength)
macdCrossUp = ta.crossover(macdLine, signalLine)
macdCrossDown = ta.crossunder(macdLine, signalLine)
// RSI calculation
rsi = ta.rsi(close, rsiLength)
// Bollinger Bands calculation
bbBasis = ta.sma(close, bbLength)
bbUpper = bbBasis + bbMult * ta.stdev(close, bbLength)
bbLower = bbBasis - bbMult * ta.stdev(close, bbLength)
// Plot Bollinger Bands
plot(bbBasis, color=color.blue, title="Bollinger Band Basis")
plot(bbUpper, color=color.green, title="Upper Bollinger Band")
plot(bbLower, color=color.red, title="Lower Bollinger Band")
// Entry condition: MACD crosses signal line from below and RSI < 50
enterLong = macdCrossUp and rsi < 50
// Exit condition: MACD crosses signal line from above and close touches the Bollinger Band middle line
exitLong = macdCrossDown and rsi> 50
// Strategy logic
if (enterLong and strategy.position_size == 0)
strategy.entry("Buy", strategy.long)
if (exitLong and strategy.position_size > 0)
strategy.close("Buy")