Strategi ini adalah sistem trend following berdasarkan sinyal crossover MACD dan RSI, dikombinasikan dengan Bollinger Bands untuk analisis volatilitas pasar. Pendekatan inti adalah untuk menangkap titik pembalikan tren melalui koordinasi MACD golden/death crosses dan zona overbought/oversold RSI, sambil menggunakan Bollinger Bands untuk mengkonfirmasi rentang volatilitas harga untuk sinyal trading yang lebih kuat.
Strategi ini menggunakan tiga mekanisme penyaringan indikator teknis:
Kondisi masuk mengharuskan MACD golden cross dan RSI di zona bawah (<50), menunjukkan potensi pemulihan pasar dari area oversold. Kondisi keluar mengharuskan MACD death cross dan RSI di zona yang lebih tinggi (> 50), menunjukkan melemahnya momentum naik dan kemungkinan koreksi.
Strategi ini membangun sistem perdagangan yang relatif lengkap mengikuti tren melalui aplikasi gabungan MACD, RSI, dan Bollinger Bands. Strategi ini memiliki dasar teoritis yang kuat dan kelayakan praktis, tetapi masih membutuhkan optimasi parameter dan peningkatan pengendalian risiko berdasarkan karakteristik pasar tertentu. Melalui arah optimasi yang disarankan, strategi ini memiliki potensi stabilitas dan profitabilitas yang lebih baik. Sistem ini cocok untuk investor yang mencari peluang tren jangka menengah hingga panjang, tetapi pengguna perlu memahami sepenuhnya keterbatasannya dan menerapkan manajemen risiko yang tepat.
/*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")