Strategi ini adalah sistem mengikuti trend berdasarkan isyarat silang MACD dan RSI, digabungkan dengan Bollinger Bands untuk analisis turun naik pasaran. Pendekatan teras adalah untuk menangkap titik pembalikan trend melalui penyelarasan persilangan emas / kematian MACD dan zon overbought / oversold RSI, sambil menggunakan Bollinger Bands untuk mengesahkan julat turun naik harga untuk isyarat perdagangan yang lebih mantap.
Strategi ini menggunakan mekanisme penapisan penunjuk teknikal tiga:
Keadaan kemasukan memerlukan MACD golden cross dan RSI di zon bawah (<50), yang menunjukkan potensi pemulihan pasaran dari kawasan oversold. Keadaan keluar memerlukan persilangan kematian MACD dan RSI di zon yang lebih tinggi (> 50), menunjukkan kelemahan momentum menaik dan kemungkinan pembetulan.
Strategi ini membina sistem perdagangan trend yang agak lengkap melalui aplikasi gabungan MACD, RSI, dan Bollinger Bands. Ia mempunyai asas teori yang kukuh dan kebolehcapaian praktikal, tetapi masih memerlukan pengoptimuman parameter dan peningkatan kawalan risiko berdasarkan ciri pasaran tertentu. Melalui arah pengoptimuman yang dicadangkan, strategi ini berpotensi untuk kestabilan dan keuntungan yang lebih baik. Sistem ini sesuai untuk pelabur yang mencari peluang trend jangka menengah hingga panjang, tetapi pengguna perlu memahami sepenuhnya keterbatasan dan melaksanakan pengurusan risiko yang betul.
/*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")