RSI và Bollinger Bands Chiến lược có lợi nhuận

Tác giả:ChaoZhang, Ngày: 2024-01-08 11:14:31
Tags:

img

Tổng quan

Chiến lược này chủ yếu sử dụng chỉ số RSI và Bollinger Bands để thiết kế các quy tắc giao dịch và kiếm lợi nhuận trong các thị trường xu hướng. Nó đi dài khi RSI nằm dưới đường mua quá mức và giá ở gần dải dưới Bollinger Bands; nó đi ngắn khi RSI nằm trên đường bán quá mức và giá ở gần dải trên. Đây là logic giao dịch cơ bản.

Chiến lược logic

RSI là một chỉ báo giá cao hơn, được sử dụng để xác định mức mua quá mức và bán quá mức. RSI dưới ngưỡng mua quá mức được coi là tín hiệu bán quá mức, trong khi trên ngưỡng bán quá mức là tín hiệu mua quá mức.

Chiến lược này kết hợp RSI để đánh giá tâm lý thị trường và Bollinger Bands để phát hiện sự đột phá giá. Các giao dịch chỉ được mở khi cả hai điều kiện được đáp ứng đồng thời. Điều này giúp lọc ra các tín hiệu giả và cải thiện hiệu suất chiến lược.

Điểm mạnh

Chiến lược này kết hợp RSI và Bollinger Bands, giúp xác định tốt hơn xu hướng thị trường và nắm bắt đà tăng. So với các chiến lược chỉ số duy nhất, nó lọc ra nhiều tín hiệu sai và tạo ra các tín hiệu chất lượng cao hơn. RSI đo mức mua quá mức / bán quá mức, trong khi BB bắt được xu hướng sau khi phá vỡ. Cùng nhau chúng hoạt động rất hiệu quả.

Chiến lược này chỉ mở giao dịch khi cả RSI và BB đưa ra tín hiệu đồng thời. Điều này tránh sự can thiệp từ các tín hiệu giả. Với tốc độ dừng lỗ, rủi ro cũng có thể được kiểm soát khi thị trường quay lại.

Phân tích rủi ro

Mặc dù chiến lược lọc ra một số tín hiệu sai, RSI và BB vẫn có thể phát ra tín hiệu sai đồng thời trong các thị trường khác nhau, gây ra tổn thất không cần thiết.

Nó được khuyến cáo để tối ưu hóa các thông số thông qua backtesting để tìm ra sự kết hợp tốt nhất của các thông số. Ngoài ra, hãy xem xét tạm dừng giao dịch trong các thị trường khác nhau để tránh thua lỗ không cần thiết. Ngoài ra, sử dụng stop loss đúng cách để kiểm soát lỗ giao dịch duy nhất.

Các lĩnh vực cải thiện

Chiến lược có thể được cải thiện trong các khía cạnh sau:

  1. Tối ưu hóa các thông số RSI và BB để kết hợp tốt nhất

  2. Thêm các chỉ số khác như các tín hiệu lọc, như MACD, KD vv

  3. Thêm xác nhận đột phá để tránh đột phá sai

  4. Điều chỉnh các tham số hoặc ngừng giao dịch theo các điều kiện thị trường khác nhau

  5. Tối ưu hóa stop loss cho stop loss động

Kết luận

Chiến lược này kết hợp RSI và Bollinger Bands để thiết kế các quy tắc giao dịch. Bằng cách chỉ nhận tín hiệu khi cả hai đồng ý, các tín hiệu giả có thể được lọc ra một cách hiệu quả. Thông qua tối ưu hóa tham số, thêm các bộ lọc tín hiệu, tối ưu hóa stop loss v.v., chiến lược này có thể liên tục được tinh chỉnh để có lợi nhuận ổn định hơn.


/*backtest
start: 2023-12-08 00:00:00
end: 2024-01-07 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Get Funded Easily by mjanusic", shorttitle="FTMO Crusher by mjanusic", overlay=true)

///////////// RSI
RSIlength = input(16, title="RSI Period Length")
RSIvalue = input(45, title="RSI Value Range")
RSIoverSold = 0 + RSIvalue
RSIoverBought = 100 - RSIvalue
price = close
vrsi = ta.rsi(price, RSIlength)

///////////// Bollinger Bands
BBlength = input(20, title="Bollinger Bands SMA Period Length")
BBmult = input(2.0, title="Bollinger Bands Standard Deviation")
BBbasis = ta.sma(price, BBlength)
BBdev = BBmult * ta.stdev(price, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev
source = close
buyCondition = ta.crossover(vrsi, RSIoverSold) and ta.crossover(source, BBlower)
sellCondition = ta.crossunder(vrsi, RSIoverBought) and ta.crossunder(source, BBupper)

///////////// RSI + Bollinger Bands Strategy
if (not na(vrsi))
    if (buyCondition)
        strategy.entry("Long Entry", strategy.long, stop=BBlower, comment="Long Entry")
    else
        strategy.cancel(id="Long Entry")

    if (sellCondition)
        strategy.entry("Short Entry", strategy.short, stop=BBupper, comment="Short Entry")
    else
        strategy.cancel(id="Short Entry")

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


Thêm nữa