
Chiến lược này kết hợp hai chỉ số kỹ thuật tương đối mạnh mẽ (RSI) và Bollinger Bands (Bollinger Bands) để tạo ra tín hiệu mua khi giá thấp hơn Bollinger Bands và bán khi giá cao hơn Bollinger Bands. Chiến lược này chỉ kích hoạt tín hiệu giao dịch khi chỉ số RSI và Bollinger Bands cùng lúc đang bán quá mức hoặc mua quá mức.
Chiến lược kép RSI và BRI có thể đánh giá toàn diện tình trạng thị trường bằng cách kết hợp các chỉ số xu hướng và động lực và đưa ra tín hiệu giao dịch tương ứng. Tuy nhiên, chiến lược này có thể hoạt động kém trong thị trường bất ổn và không có biện pháp kiểm soát rủi ro, vì vậy cần thận trọng khi sử dụng trên thị trường thực.
/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Bollinger + RSI, Double Strategy (by ChartArt) v1.1", shorttitle="CA_-_RSI_Bol_Strat_1.1", overlay=true)
// ChartArt's RSI + Bollinger Bands, Double Strategy - Update
//
// Version 1.1
// Idea by ChartArt on January 18, 2015.
//
// This strategy uses the RSI indicator
// together with the Bollinger Bands
// 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.
//
// In this version 1.1 the strategy was
// both simplified for the user and
// made more successful in backtesting.
//
// List of my work:
// https://www.tradingview.com/u/ChartArt/
//
// __ __ ___ __ ___
// / ` |__| /\ |__) | /\ |__) |
// \__, | | /~~\ | \ | /~~\ | \ |
//
//
///////////// RSI
RSIlength = input(14,title="RSI Period Length")
RSIoverSold = 30
RSIoverBought = 70
price = close
vrsi = rsi(price, RSIlength)
///////////// Bollinger Bands
BBlength = input(20, minval=1,title="Bollinger 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=color.blue,title="Bollinger Bands SMA Basis Line")
p1 = plot(BBupper, color=color.red,title="Bollinger Bands Upper Line")
p2 = plot(BBlower, color=color.green,title="Bollinger Bands Lower Line")
fill(p1, p2)
// Entry conditions
crossover_rsi = crossover(vrsi, RSIoverSold) and crossover(source, BBlower)
crossunder_rsi = crossunder(vrsi, RSIoverBought) and crossunder(source, BBupper)
///////////// RSI + Bollinger Bands Strategy
if (not na(vrsi))
if (crossover_rsi)
strategy.entry("RSI_BB_L", strategy.long, comment="RSI_BB_L")
else
strategy.cancel(id="RSI_BB_L")
if (crossunder_rsi)
strategy.entry("RSI_BB_S", strategy.short, comment="RSI_BB_S")
else
strategy.cancel(id="RSI_BB_S")