Chiến lược dừng lỗ đột phá hội tụ RSI


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

Chiến lược dừng lỗ đột phá hội tụ RSI

Tổng quan

Chiến lược này sử dụng các chỉ số RSI để xác định xu hướng tiềm năng của thị trường, kết hợp với các chỉ số Bollinger Bands để xác định các khu vực kháng cự hỗ trợ quan trọng, tìm kiếm các cơ hội hút thấp để đặt nhiều vị trí trong tình huống biến động xu hướng và dừng lỗ trong khu vực quá mua.

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

  1. Sử dụng chỉ số RSI để đánh giá xu hướng tiềm năng của thị trường. RSI dưới 40 được coi là khu vực bán tháo, thị trường có khả năng chuyển đổi; RSI trên 50 được coi là khu vực mua quá mức, thị trường có khả năng chuyển đổi.

  2. Sử dụng chỉ số Brin Belt để xác định các vùng kháng cự hỗ trợ quan trọng. Brin Belt là đường trung bình di chuyển của giá, đường trên và đường dưới tạo thành kênh chênh lệch tiêu chuẩn của giá.

  3. Khi RSI <40 và giá gần đường mòn xuống của Bollinger Bands, hãy xem xét nhiều cơ hội để hút thấp hơn và tạo vị trí nhiều đầu.

  4. Khi RSI> 50 hoặc Stop Loss vượt quá 50%, hãy xóa lệnh Stop Loss.

Phân tích lợi thế

  1. Sử dụng RSI để xác định xu hướng tiềm năng của thị trường, tránh lập vị thế đối kháng.

  2. Kết hợp với Brin để tìm kiếm các điểm có cơ hội hút thấp, xác định chính xác thời gian xây dựng nhà kho.

  3. Các nhà nghiên cứu cho rằng, sự thay đổi này có thể gây ra một số vấn đề trong tương lai.

  4. Một cơ chế dừng lỗ linh hoạt, đảm bảo tối đa hóa lợi nhuận.

Phân tích rủi ro

  1. Các tham số Brin không phù hợp có thể dẫn đến việc không xác định chính xác các vùng hỗ trợ.

  2. Bước đột phá hoặc đột phá giả có thể gây ra sai lầm đánh giá quá mua quá bán.

  3. Việc thiết lập điểm dừng lỗ không đúng cách có thể dẫn đến việc rút lui sớm hoặc mở rộng lỗ.

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

  1. Tối ưu hóa các tham số Brin để xác định chính xác hơn các vùng kháng cự hỗ trợ.

  2. Kết hợp với các chỉ số khác như MACD, KDJ và lọc các tín hiệu giả.

  3. Động thái tối ưu hóa các thuật toán dừng lỗ, giảm thiểu tối đa tổn thất trong khi đảm bảo lợi nhuận.

Tóm tắt

Chiến lược này dùng RSI để xác định hướng của xu hướng tiềm năng, được hỗ trợ bởi các vùng hỗ trợ được xác định bằng các vùng Brin, để thực hiện mua thấp và bán cao, là một chiến lược biến động xu hướng điển hình. Với một số tối ưu hóa, nó có thể trở thành một chiến lược định lượng đáng tin cậy và ổn định lợi nhuận.

Mã nguồn chiến lược
/*backtest
start: 2023-12-28 00:00:00
end: 2024-01-04 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("price drop buy in", overlay=true, initial_capital=1000, max_bars_back=24)

// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2018, title = "From Year", minval = 2017)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2017)

// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => true // create function "within window of time"


///////////// RSI
RSIlength = input(60,title="RSI Period Length") 
RSIoverSold = 40
RSIoverBought = 50
price = close
vrsi = rsi(close, RSIlength)

smaLong = sma(close,80)
smaShort = sma(close,40)

///////////// Bollinger Bands
BBlength = input(20, 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

longcondition = (price < BBlower and vrsi < RSIoverSold) 

    // vrsi < RSIoverSold

shortcondition = (RSIoverBought and strategy.openprofit > 50 )  or price > BBupper






if(longcondition)
    strategy.entry('buy', strategy.long, when = window())
    
if(shortcondition)
    strategy.entry('sell', strategy.short, when = window())