
Chiến lược này kết hợp các chỉ số tương đối mạnh và yếu (RSI) và hai chỉ số Bollinger Bands, để thực hiện một logic mở và mở hai lần xác nhận. Chiến lược này sẽ phát ra tín hiệu giao dịch khi RSI và Bollinger Bands đồng thời hiển thị tín hiệu mua quá mức hoặc bán quá mức. Điều này có thể làm giảm hiệu quả tín hiệu giả và tăng sự ổn định của chiến lược.
Lập luận trên thực hiện một chiến lược mở lỗ ổn định với xác nhận kép.
Cơ chế xác nhận kép có thể lọc ra nhiều giao dịch ồn ào, tránh số lượng giao dịch không cần thiết, giảm chi phí giao dịch và tăng tỷ lệ lợi nhuận.
Chỉ số RSI có thể xác định hiệu quả xu hướng và đảo ngược, và chỉ số Bollinger Bands có thể xác định hiệu quả kháng cự hỗ trợ.
Thiết lập tham số linh hoạt, có thể điều chỉnh theo các giống và sở thích giao dịch khác nhau, có khả năng thích ứng.
Trong tình huống xung đột, RSI và chỉ số BRI có thể phát tín hiệu sai cùng một lúc, dẫn đến tổn thất không cần thiết.
Cơ chế xác nhận kép sẽ làm tăng một chút độ trễ vào và có thể bỏ lỡ cơ hội giao dịch ở các đường ngắn. Không phù hợp với các chiến lược rất nhạy cảm với độ trễ.
Chiến lược này rất nhạy cảm với các tham số, thiết lập tham số không phù hợp có thể làm giảm đáng kể lợi nhuận. Cần có đầy đủ phản hồi và kiểm tra lại để tìm ra sự kết hợp tham số tối ưu.
Bạn có thể thử nghiệm các chỉ số RSI của các chu kỳ khác nhau để tìm các tham số chu kỳ phù hợp nhất và cải thiện hiệu quả của chỉ số.
Có thể thêm logic dừng lỗ, thiết lập dừng động hoặc dừng cố định hợp lý, kiểm soát rủi ro mất mát đơn lẻ.
Có thể kiểm tra tham số chiều rộng của đường dẫn băng tròn, tối ưu hóa phạm vi đường dẫn và cải thiện hiệu quả nhận diện của băng tròn.
Có thể thử nghiệm các đầu vào giá khác nhau, chẳng hạn như giá đóng cửa, giá cao nhất, giá thấp nhất, v.v., để tìm các đầu vào giá tốt nhất để tăng cường sự ổn định chiến lược.
Chiến lược này kết hợp thành công với chỉ số RSI và Bollinger Bands để thực hiện logic xác nhận kép, đảm bảo cơ hội giao dịch đầy đủ và giảm tiếng ồn giao dịch hiệu quả. Với sự tối ưu hóa tham số hợp lý và kiểm soát rủi ro, chiến lược này có thể trở thành một chiến lược theo dõi và giao dịch rất ổn định và đáng tin cậy.
/*backtest
start: 2023-12-22 00:00:00
end: 2024-01-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("Bollinger + RSI, Double Strategy (by ChartArt)", shorttitle="CA_-_RSI_Bol_Strat", overlay=true)
// ChartArt's RSI + Bollinger Bands, Double Strategy
//
// Version 1.0
// Idea by ChartArt on January 14, 2015.
//
// This strategy uses a modfied RSI to sell
// when the RSI increases over the value of 55
// (or to buy when the value falls below 45),
// with the classic Bollinger Bands strategy
// to sell when the price is above the
// upper Bollinger Band (and to buy when
// this value is below the lower band).
//
// This simple strategy only triggers when
// both the RSI and the Bollinger Bands
// indicators are at the same time in
// a overbought or oversold condition.
//
// List of my work:
// https://www.tradingview.com/u/ChartArt/
//
// __ __ ___ __ ___
// / ` |__| /\ |__) | /\ |__) |
// \__, | | /~~\ | \ | /~~\ | \ |
//
//
///////////// RSI
RSIlength = input( 16 ,title="RSI Period Length")
RSIvalue = input( 45 ,title="RSI Value Range")
RSIoverSold = 0 + RSIvalue
RSIoverBought = 100 - RSIvalue
price = close
vrsi = rsi(price, RSIlength)
///////////// Bollinger Bands
BBlength = input(20, minval=1,title="Bollinger Bands SMA Period Length")
BBmult = input(2.0, minval=0.001, maxval=50,title="Bollinger Bands Standard Deviation")
BBbasis = sma(price, BBlength)
BBdev = BBmult * stdev(price, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev
source = close
buyEntry = crossover(source, BBlower)
sellEntry = crossunder(source, BBupper)
plot(BBbasis, color=aqua,title="Bollinger Bands SMA Basis Line")
p1 = plot(BBupper, color=silver,title="Bollinger Bands Upper Line")
p2 = plot(BBlower, color=silver,title="Bollinger Bands Lower Line")
fill(p1, p2)
///////////// Colors
switch1=input(true, title="Enable Bar Color?")
switch2=input(true, title="Enable Background Color?")
TrendColor = RSIoverBought and (price[1] > BBupper and price < BBupper) ? red : RSIoverSold and (price[1] < BBlower and price > BBlower) ? green : na
barcolor(switch1?TrendColor:na)
bgcolor(switch2?TrendColor:na,transp=50)
///////////// RSI + Bollinger Bands Strategy
if (not na(vrsi))
if (crossover(vrsi, RSIoverSold) and crossover(source, BBlower))
strategy.entry("RSI_BB_L", strategy.long, stop=BBlower, comment="RSI_BB_L")
else
strategy.cancel(id="RSI_BB_L")
if (crossunder(vrsi, RSIoverBought) and crossunder(source, BBupper))
strategy.entry("RSI_BB_S", strategy.short, stop=BBupper, comment="RSI_BB_S")
else
strategy.cancel(id="RSI_BB_S")
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)