
Strategi ini adalah sistem pengesanan trend berdasarkan isyarat silang MACD dan RSI, dan analisis pergerakan pasaran digabungkan dengan Burin. Inti strategi ini adalah untuk menangkap titik perubahan trend melalui gabungan antara MACD Gold Forks dan RSI Overbought Oversold Zones, sambil menggunakan Burin untuk mengesahkan kawasan pergerakan harga, untuk memberikan isyarat perdagangan yang lebih kuat.
Strategi ini menggunakan tiga mekanisme penapisan indikator teknikal:
Keperluan kemasukan memerlukan garpu emas MACD dan RSI berada di bawah ((< 50), yang menunjukkan bahawa pasaran mungkin akan bangkit dari kawasan oversold. Keadaan keluar memerlukan forks mati MACD dan RSI berada di tahap tinggi ((> 50), yang menunjukkan bahawa tenaga naik akan menjadi lemah dan mungkin akan mula kembali.
Strategi ini menggunakan gabungan MACD, RSI dan Brinband, untuk membina sistem perdagangan trend yang agak lengkap. Strategi ini mempunyai asas teori yang baik dan kebolehan praktikal, tetapi masih memerlukan pengoptimuman parameter dan peningkatan kawalan risiko mengikut ciri-ciri pasaran tertentu. Dengan arah pengoptimuman yang dicadangkan, strategi ini dijangka memperoleh kestabilan dan keuntungan 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")