
Chiến lược này là một hệ thống giao dịch định lượng tích hợp ba chỉ báo kỹ thuật chính: chỉ số sức mạnh tương đối (RSI), đường trung bình động (MA) và Dải Bollinger (BB). Chiến lược này phân tích toàn diện các tín hiệu của nhiều chỉ báo kỹ thuật để tìm ra cơ hội giao dịch tốt nhất trong xu hướng và biến động của thị trường. Chiến lược này sử dụng golden cross và dead cross của MA20 và MA50 để đánh giá xu hướng trung hạn và kết hợp các tín hiệu mua quá mức và bán quá mức của RSI và sự hồi quy đột phá của các đường trên và dưới của Dải Bollinger để xây dựng một quyết định giao dịch hoàn chỉnh. hệ thống làm.
Logic cốt lõi của chiến lược này dựa trên ba chiều sau:
Điều kiện dài hạn phải được đáp ứng cùng lúc: RSI < 25 (quá bán) + MA20 > MA50 (xu hướng tăng) + giá < đường dưới của Bollinger Band (quá bán) Điều kiện bán khống phải được đáp ứng cùng lúc: RSI>80 (quá mua) + MA20 Đường trên của Bollinger Band (quá tăng)
Chiến lược này xây dựng một hệ thống giao dịch tương đối hoàn chỉnh thông qua sự phối hợp của nhiều chỉ báo kỹ thuật. Chiến lược này hoạt động tốt trên những thị trường có xu hướng rõ ràng, nhưng cần phải chú ý đến những thay đổi trong môi trường thị trường và có những điều chỉnh tương ứng. Thông qua việc tối ưu hóa và cải tiến liên tục, chiến lược này dự kiến sẽ mang lại lợi nhuận ổn định trong giao dịch thực tế.
/*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")