Bollinger + RSI, Chiến lược đôi v1.1

Tác giả:ChaoZhang, Ngày: 2022-05-07 14:59:50
Tags:RSI

Chiến lược này sử dụng chỉ số RSI cùng với Bollinger Bands để bán khi giá trên Bollinger Band trên (và mua khi giá trị này dưới dải dưới).

Cập nhậtTrong phiên bản 1.1 được cập nhật này, chiến lược đã được đơn giản hóa cho người dùng (ít đầu vào) và trở nên thành công hơn trong kiểm tra ngược bằng cách sử dụng khoảng thời gian 200 cho SMA là cơ sở cho Bollinger Band. Tôi cũng giảm số lượng cảnh báo màu để hiển thị ít hơn, nhưng các cơ hội giao dịch phù hợp hơn.

Và giống như phiên bản đầu tiên, chiến lược này không sử dụng giá đóng từ khung thời gian cao hơn và không nên vẽ lại sau khi nến hiện tại đã đóng. Nó có thể vẽ lại như mọi chỉ số Tradingview trong khi nến hiện tại chưa đóng.

Tất cả các giao dịch đều liên quan đến rủi ro cao; hiệu suất trong quá khứ không nhất thiết là chỉ báo về kết quả trong tương lai. Kết quả thực hiện giả thuyết hoặc mô phỏng có một số hạn chế vốn có. Không giống như một hồ sơ hiệu suất thực tế, kết quả mô phỏng không đại diện cho giao dịch thực tế. Ngoài ra, vì các giao dịch chưa thực hiện thực tế, kết quả có thể đã được bù đắp quá mức hoặc quá mức cho tác động của một số yếu tố thị trường, chẳng hạn như thiếu thanh khoản. Các chương trình giao dịch mô phỏng nói chung cũng phải tuân theo thực tế là chúng được thiết kế với lợi ích sau lưng. Không có đại diện nào được thực hiện rằng bất kỳ tài khoản nào sẽ hoặc có khả năng đạt được lợi nhuận hoặc lỗ tương tự như những tài khoản được hiển thị.

P.S. Đối với người dùng nâng cao nếu bạn muốn truy cập vào nhiều chức năng hơn của kịch bản chiến lược này, thì vui lòng sử dụng phiên bản 1.0:Kiểm tra lại img


/*backtest
start: 2022-04-06 00:00:00
end: 2022-05-05 23:59:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
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(6,title="RSI Period Length") 
RSIoverSold = 50
RSIoverBought = 50
price = close
vrsi = rsi(price, RSIlength)


///////////// Bollinger Bands
BBlength = input(200, minval=1,title="Bollinger Period Length")
BBmult = 2 // 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) and BBbasis < BBbasis[1] ? red : RSIoverSold and (price[1] < BBlower and price > BBlower) and BBbasis > BBbasis[1] ? 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")
        
    if (crossunder(vrsi, RSIoverBought) and crossunder(source, BBupper))
        strategy.entry("RSI_BB_S", strategy.short, stop=BBupper,  comment="RSI_BB_S")

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

Có liên quan

Thêm nữa