RSI và Bollinger Bands chiến lược đôi

Tác giả:ChaoZhang, Ngày: 2024-04-03 17:54:52
Tags:RSIBBSMAstdev

img

Tổng quan

Chiến lược này kết hợp các chỉ số kỹ thuật Relative Strength Index (RSI) và Bollinger Bands. Nó tạo ra tín hiệu mua khi giá giảm xuống dưới Bollinger Band dưới và bán tín hiệu khi giá tăng lên trên Bollinger Band trên. Chiến lược chỉ kích hoạt tín hiệu giao dịch khi cả chỉ số RSI và Bollinger Bands đồng thời ở trạng thái bán quá hoặc mua quá.

Chiến lược logic

  1. Tính toán giá trị RSI dựa trên các thông số RSI được đặt.
  2. Sử dụng công thức Bollinger Bands để tính các Bollinger Bands giữa, trên và dưới.
  3. Xác định xem giá đóng hiện tại có vượt qua Bollinger Band trên hoặc dưới không.
  4. Xác định xem giá trị RSI hiện tại trên ngưỡng mua quá mức hoặc dưới ngưỡng bán quá mức.
  5. Tạo tín hiệu mua hoặc bán tương ứng khi cả hai chỉ số Bollinger Bands và RSI đáp ứng các điều kiện tương ứng.

Ưu điểm chiến lược

  1. Kết hợp các chỉ số xu hướng và động lực để đánh giá toàn diện hơn về điều kiện thị trường.
  2. Sử dụng hai chỉ số làm bộ lọc có hiệu quả làm giảm khả năng tín hiệu sai.
  3. Logic mã rõ ràng và cài đặt tham số linh hoạt, phù hợp với môi trường thị trường và phong cách giao dịch khác nhau.

Rủi ro chiến lược

  1. Trong thị trường bất ổn, chiến lược này có thể tạo ra nhiều giao dịch thua lỗ hơn.
  2. Cài đặt tham số không chính xác có thể dẫn đến hiệu suất chiến lược kém và yêu cầu tối ưu hóa dựa trên điều kiện thực tế.
  3. Chiến lược không bao gồm dừng lỗ, có khả năng làm cho nó bị rủi ro rút vốn đáng kể.

Hướng dẫn tối ưu hóa chiến lược

  1. Tối ưu hóa các thông số RSI và Bollinger Bands dựa trên đặc điểm thị trường và sở thích cá nhân.
  2. Đưa ra các chỉ số kỹ thuật bổ sung như MACD, đường trung bình động, v.v., để cải thiện độ tin cậy tín hiệu.
  3. Đặt mức dừng lỗ và lấy lợi nhuận hợp lý để kiểm soát rủi ro giao dịch duy nhất.
  4. Đối với thị trường hỗn loạn, hãy xem xét thêm các điều kiện hoặc giảm kích thước vị trí để giảm chi phí liên quan đến giao dịch thường xuyên.

Tóm lại

Chiến lược RSI và Bollinger Bands Double Strategy kết hợp các chỉ số xu hướng và động lực để cung cấp đánh giá tương đối toàn diện về điều kiện thị trường và tạo ra các tín hiệu giao dịch tương ứng. Tuy nhiên, chiến lược có thể hoạt động kém hơn ở các thị trường hỗn loạn và thiếu các biện pháp kiểm soát rủi ro, do đó cần thận trọng khi áp dụng nó để giao dịch trực tiếp. Bằng cách tối ưu hóa các tham số, giới thiệu các chỉ số khác và thiết lập mức dừng lỗ và lấy lợi nhuận hợp lý, sự ổn định và lợi nhuận của chiến lược này có thể được cải thiện hơn nữa.


/*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")


Có liên quan

Thêm nữa