Chiến lược kép RSI và Bollinger Bands

RSI BB SMA stdev
Ngày tạo: 2024-04-03 17:54:52 sửa đổi lần cuối: 2024-04-03 17:54:52
sao chép: 0 Số nhấp chuột: 928
1
tập trung vào
1617
Người theo dõi

Chiến lược kép RSI và Bollinger Bands

Tổng quan

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.

Nguyên tắc chiến lược

  1. Tính RSI dựa trên các tham số RSI đã đặt.
  2. Sử dụng công thức băng Brin để tính ra đường ray trung tâm, đường ray trên và đường ray dưới của băng Brin.
  3. Xác định giá đóng cửa hiện tại có phá vỡ đường băng Brin hay không.
  4. Xác định liệu RSI hiện tại có cao hơn ngưỡng mua quá mức hay thấp hơn ngưỡng bán quá mức không.
  5. Một tín hiệu giao dịch tương ứng được tạo ra khi cả hai chỉ số Binance và RSI đáp ứng các điều kiện mua hoặc bán.

Lợi thế chiến lược

  1. Kết hợp hai chỉ số kỹ thuật xu hướng và động lực, nó cho phép đánh giá toàn diện hơn về tình trạng thị trường.
  2. Việc sử dụng hai chỉ số cùng một lúc như là điều kiện lọc đã làm giảm hiệu quả khả năng xuất hiện của tín hiệu giả.
  3. Mã logic rõ ràng, tham số thiết lập linh hoạt, phù hợp với môi trường thị trường khác nhau và phong cách giao dịch.

Rủi ro chiến lược

  1. Trong một thị trường bất ổn, chiến lược này có thể dẫn đến nhiều giao dịch thua lỗ hơn.
  2. Thiết lập tham số không đúng cách có thể dẫn đến hiệu suất chiến lược kém, cần được tối ưu hóa theo thực tế.
  3. Chiến lược này không có lệnh dừng lỗ và có thể có nguy cơ rút tiền lớn hơn.

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

  1. Các tham số của RSI và BRI có thể được tối ưu hóa dựa trên đặc điểm thị trường và sở thích cá nhân.
  2. Các chỉ số kỹ thuật khác như MACD, đường trung bình, v.v. được đưa vào để cải thiện độ tin cậy của tín hiệu.
  3. Thiết lập các điểm dừng và chặn hợp lý, kiểm soát rủi ro giao dịch đơn lẻ.
  4. Đối với thị trường chấn động, bạn có thể xem xét tăng điều kiện phán đoán hoặc giảm vị trí để giảm chi phí giao dịch thường xuyên.

Tóm tắt

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.

Mã nguồn chiến lượ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")