Chiến lược giao dịch RSI Bollinger Bands


Ngày tạo: 2023-09-18 22:13:18 sửa đổi lần cuối: 2023-09-18 22:13:18
sao chép: 0 Số nhấp chuột: 782
1
tập trung vào
1617
Người theo dõi

Tổng quan

Chiến lược này sử dụng chỉ số RSI để đánh giá tình trạng quá mức mua và bán, và kết hợp với kênh biến động giá của chỉ số Bollinger Bands để tạo ra tín hiệu giao dịch. Khi chỉ số RSI hiển thị quá mức mua hoặc quá mức bán, đồng thời giá gần hoặc chạm vào Bollinger Bands xuống đường, tạo ra tín hiệu mua và bán. Chiến lược phân tích xu hướng tổng hợp và đánh giá biến động, động lực tìm cơ hội.

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

Chiến lược này được đánh giá dựa trên hai chỉ số sau:

  1. Chỉ số RSI đánh giá quá mua quá bán

Tính toán chỉ số RSI tương đối mạnh trong một chu kỳ nhất định, dựa trên các tham số được đặt trước để xác định xem nó có đi vào vùng quá mua hay quá bán hay không, ví dụ như giới hạn trên của vùng quá mua được đặt ở mức 40 và giới hạn dưới của vùng quá bán được đặt ở mức 45.

  1. Chỉ số BRI mô tả phạm vi biến động giá

Tính toán dải Brin trong một chu kỳ nhất định, tạo ra các kênh giá qua đường ray trên và dưới của nó, mô tả phạm vi biến động giá.

Trên cơ sở đó, chiến lược đưa ra các quy tắc giao dịch sau:

Khi chỉ số RSI vượt qua 45 và đi vào vùng bán tháo, và giá vượt qua Bollinger Bands xuống đường, tạo ra tín hiệu mua; Khi RSI vượt qua 40 và đi vào vùng bán tháo, và giá cả vượt qua Bollinger Bands, tạo ra một tín hiệu bán.

Phân tích lợi thế

Chiến lược này kết hợp RSI với chỉ số Brin và có những lợi thế sau:

  1. RSI đánh giá tình trạng quá mua quá bán, và Blink đánh giá xu hướng của giá cả, cả hai đều bổ sung cho nhau;

  2. Brin đai trên và dưới đường ray có thể được định vị như một vị trí dừng lỗ, có lợi cho kiểm soát rủi ro;

  3. Thiết lập tham số đơn giản, dễ thực hiện và phản hồi;

  4. Có thể được tối ưu hóa cho các tham số RSI để xác định phạm vi bán tháo tốt nhất;

  5. Bạn có thể chọn các giá nhập khác nhau để phù hợp với nhiều môi trường thị trường.

Rủi ro và giải pháp

Chiến lược này cũng có một số rủi ro:

  1. Phạm vi băng thông Brin quá rộng dẫn đến dự kiến dừng lỗ kém

    • Điều chỉnh đúng tham số băng thông Brin để tối ưu hóa phạm vi dừng
  2. RSI được thiết lập không đúng, đánh giá sai trong khoảng quá mua quá bán

    • Xác định phạm vi giao dịch tốt nhất bằng cách đo lại và tối ưu hóa các tham số RSI
  3. Không thể xác định chính xác điểm đảo ngược xu hướng, có nguy cơ bị mất tín hiệu

    • Giới hạn đúng đắn các tham số chu kỳ của Blink để bắt kịp xu hướng đảo ngược sớm
  4. Không có khả năng kiểm soát lỗ hổng hiệu quả, có nguy cơ dừng lỗ do cú sốc thị trường lớn

    • Thêm chiến lược dừng chân di động hoặc động, tối ưu hóa cách dừng chân

Hướng tối ưu hóa

Chiến lược này có thể được tối ưu hóa theo các khía cạnh sau:

  1. Tối ưu hóa các tham số RSI để xác định phạm vi bán tháo tốt nhất

  2. Tối ưu hóa tham số băng thông Brin, kiểm soát phạm vi dừng

  3. Tham gia các chỉ số khác để đánh giá xu hướng đảo ngược, tránh bỏ lỡ tín hiệu

  4. Ứng dụng thuật toán học máy để xác định thời điểm mua bán

  5. Sử dụng các tham số khác nhau tùy theo môi trường thị trường khác nhau

  6. Tăng cơ chế dừng lỗ động

  7. Chương trình tự động tối ưu hóa các tham số phát triển

Tóm tắt

Tóm lại, chiến lược này được sử dụng kết hợp với chỉ số RSI và Bollinger Bands để tạo ra một nền tảng quyết định giao dịch ổn định hơn. Logic của chiến lược đơn giản và rõ ràng, có lợi cho kiểm soát rủi ro, nhưng cũng có một số không gian tối ưu hóa.

Mã nguồn chiến lược
/*backtest
start: 2023-08-18 00:00:00
end: 2023-09-17 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Mdemoio


//@version=4
strategy("Madri", shorttitle="Madri", overlay=true)


// Version 1.1


///////////// RSI
RSIlength = input(2,title="A") 
RSIoverSold = 45
RSIoverBought = 40
price = close
vrsi = rsi(price, RSIlength)


///////////// Bollinger Bands
BBlength = input(150, minval=1,title="B")
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)


///////////// 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="Buy")
    else
        strategy.cancel(id="RSI_BB_L")
        
    if (crossunder(vrsi, RSIoverBought) and crossunder(source, BBupper))
        strategy.entry("RSI_BB_S", strategy.short, stop=BBupper, comment="Sell")
    else
        strategy.cancel(id="RSI_BB_S")

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