Chiến lược này kết hợp các chỉ số Bollinger Bands và Stoch RSI để giao dịch nhiều chỉ số. Nó thuộc về loại chiến lược chỉ số kết hợp điển hình. Bollinger Bands xác định hướng xu hướng và Stoch RSI tối ưu hóa thời gian nhập cảnh cho tín hiệu giao dịch.
Chiến lược dựa trên hai chỉ số chính:
Bollinger Bands
Tính toán các dải trên, giữa và dưới.
Stoch RSI
Tính toán chỉ số Stoch RSI. Một tín hiệu mua được tạo ra khi đường K vượt qua đường D.
Lý thuyết giao dịch cụ thể là: mở dài khi cả hai Bollinger Bands phá vỡ thấp hơn và Stoch RSI đường chéo vàng xảy ra cùng một lúc.
Logic exit sử dụng các dải để lấy lợi nhuận và dừng lỗ: đóng cho lợi nhuận khi giá chạm vào dải trên hoặc giữa một lần nữa, đóng cho lỗ khi giá phá vỡ trở lại dưới dải dưới.
Các rủi ro có thể được giảm bằng cách:
Chiến lược có thể được cải thiện bằng cách:
Tối ưu hóa các thông số Bollinger Bands
Điều chỉnh tỷ lệ tính toán trên/dưới để phù hợp nhất
Tối ưu hóa các thông số Stoch RSI
Tìm giá trị K và D tối ưu
Thêm các chỉ số xác nhận như MACD
Tránh các tín hiệu sai dựa trên chỉ số duy nhất
Sử dụng điểm dừng lợi nhuận sau thay vì điểm dừng cố định
Các điểm dừng dựa trên biến động giá
Các thông số thử nghiệm riêng biệt cho các sản phẩm khác nhau
Các thông số tối ưu khác nhau giữa các sản phẩm khác nhau
Chiến lược này sử dụng các băng Bollinger cho hướng xu hướng và Stoch RSI để tối ưu hóa nhập cảnh, tận dụng một cách tiếp cận đa chỉ số. Nhưng những thách thức như tối ưu hóa tham số khó khăn và độ chính xác tín hiệu tồn tại. Kiểm tra kỹ lưỡng cho tối ưu hóa tham số, thêm bộ lọc và điều chỉnh liên tục các quy tắc dựa trên kết quả có thể cải thiện độ chính xác trong khi vẫn giữ được điểm mạnh của một hệ thống kết hợp.
/*backtest start: 2022-09-14 00:00:00 end: 2023-09-20 00:00:00 period: 2d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title = "BB+RSI v2", overlay = true) price=close ////////// /////// BB ///////////////////////// bblength = input(50) bbupmult =input(2,step=0.1,title="Multiplier for BB Upper Band") bblowmult = input(2,step=0.1,title="Multiplier for BB Lower Band") basis = sma(close,bblength) devup = bbupmult * stdev(close, bblength) devlow = bblowmult * stdev(close, bblength) upper = basis + devup lower = basis - devlow plot(basis, color=red) p1 = plot(upper, color=blue) p2 = plot(lower, color=blue) fill(p1, p2) bbbuy= crossover(price,lower) bbsell = crossunder(price,upper) or price>upper or crossunder(price,basis) //////////////////// BB ////////////////////// //////////////////////// S RSI ///////////////////// lengthrsi = input(6) overSold = input( 20 ) overBought = input( 70 ) vrsi = rsi(price, lengthrsi) smoothK = input(3, minval=1) smoothD = input(3, minval=1) lengthRSI = input(14, minval=1) lengthStoch = input(14, minval=1) src = input(close, title="RSI Source") rsi1 = rsi(src, lengthRSI) k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK) d = sma(k, smoothD) SRSIbuy=crossover(k,d) ////////////////////// S RSI /////////////////////// // Conditions longcond = bbbuy and SRSIbuy closelong = bbsell monthfrom =input(6) monthuntil =input(12) dayfrom=input(1) dayuntil=input(31) if ( longcond ) strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND", comment="BUY") else strategy.cancel(id="BUY") if ( closelong ) strategy.close("BUY")