
Strategi ini ialah sistem perdagangan kuantitatif yang menyepadukan tiga penunjuk teknikal utama: indeks kekuatan relatif (RSI), purata bergerak (MA) dan Bollinger Bands (BB). Strategi ini menganalisis secara komprehensif isyarat pelbagai penunjuk teknikal untuk mencari peluang dagangan terbaik dalam arah aliran dan turun naik pasaran. Strategi ini menggunakan salib emas dan salib mati MA20 dan MA50 untuk menilai arah aliran jangka sederhana, dan menggabungkan isyarat terlebih beli dan terlebih jual RSI dan regresi terobosan trek atas dan bawah Bollinger Bands untuk membina keputusan perdagangan yang lengkap- membuat sistem.
Logik teras strategi adalah berdasarkan tiga dimensi berikut:
Syarat panjang mesti dipenuhi pada masa yang sama: RSI < 25 (terlebih jual) + MA20 > MA50 (trend menaik) + harga < Jalur bawah Bollinger Band (terlebih jual) Syarat jualan singkat mesti dipenuhi pada masa yang sama: RSI>80 (terlebih beli) + MA20 Lagu atas Bollinger Band (terlebih meningkat)
Strategi ini membina sistem perdagangan yang agak lengkap melalui kerjasama yang diselaraskan oleh pelbagai petunjuk teknikal. Strategi ini berprestasi baik dalam pasaran dengan arah aliran yang jelas, tetapi perlu memberi perhatian kepada perubahan dalam persekitaran pasaran dan membuat pelarasan yang sepadan. Melalui pengoptimuman dan penambahbaikan berterusan, strategi ini dijangka mencapai pulangan yang stabil dalam dagangan sebenar.
/*backtest
start: 2019-12-23 08:00:00
end: 2025-01-04 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("RSI + MA + BB30 Strategy", overlay=true)
// === Cài đặt RSI ===
rsiLength = input(14, title="RSI Length")
rsiOverbought = input(80, title="RSI Overbought Level")
rsiOversold = input(25, title="RSI Oversold Level")
rsi = ta.rsi(close, rsiLength)
// === Cài đặt MA ===
maLength20 = input(20, title="MA20 Length")
maLength50 = input(50, title="MA50 Length")
ma20 = ta.sma(close, maLength20)
ma50 = ta.sma(close, maLength50)
// === Cài đặt Bollinger Bands (BB30) ===
bbLength = input(30, title="Bollinger Bands Length")
bbStdDev = input(2, title="BB Standard Deviation")
[bbUpper, bbBasis, bbLower] = ta.bb(close, bbLength, bbStdDev)
// === Điều kiện giao dịch ===
// Điều kiện Long
longCondition = (rsi < rsiOversold) and (ma20 > ma50) and (close < bbLower)
// Điều kiện Short
shortCondition = (rsi > rsiOverbought) and (ma20 < ma50) and (close > bbUpper)
// === Mở lệnh giao dịch ===
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
// === Hiển thị chỉ báo trên biểu đồ ===
// Hiển thị MA
plot(ma20, color=color.blue, title="MA20")
plot(ma50, color=color.red, title="MA50")
// Hiển thị Bollinger Bands
plot(bbUpper, color=color.green, title="BB Upper")
plot(bbBasis, color=color.gray, title="BB Basis")
plot(bbLower, color=color.green, title="BB Lower")
// Hiển thị RSI và mức quan trọng
hline(rsiOverbought, "RSI Overbought", color=color.red, linestyle=hline.style_dashed)
hline(rsiOversold, "RSI Oversold", color=color.green, linestyle=hline.style_dashed)
plot(rsi, color=color.purple, title="RSI")