Chiến lược đảo ngược RSI vượt ngưỡng bán quá mức


Ngày tạo: 2023-12-22 15:00:48 sửa đổi lần cuối: 2023-12-22 15:00:48
sao chép: 0 Số nhấp chuột: 720
1
tập trung vào
1621
Người theo dõi

Chiến lược đảo ngược RSI vượt ngưỡng bán quá mức

Tổng quan

Chiến lược bán tháo RSI ngược là một chiến lược giao dịch thuật toán sử dụng chỉ số sức mạnh tương đối (RSI) để đánh giá tình trạng bán tháo và vào vị trí bán tháo khi giá đảo ngược. Chiến lược này đặt ngưỡng RSI là 30 và mở một vị trí bán tháo khi RSI thấp hơn 30, khi đó mở một vị trí bán tháo. Chiến lược này khóa lợi nhuận bằng cách sử dụng các quy tắc dừng lỗ và dừng chân nghiêm ngặt.

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

Chiến lược vượt qua RSI vượt qua RSI sử dụng chỉ số RSI trong 14 chu kỳ. Khi chỉ số RSI thấp hơn 30, nó được coi là trạng thái vượt quá. Điều này cho thấy giá đã giảm liên tục trong một thời gian trước, hiện đang ở trạng thái vượt quá, thị trường sắp có sự đảo ngược, giá có thể sẽ chuyển sang tăng. Chiến lược tại thời điểm này bắt đầu làm nhiều đầu tìm kiếm cơ hội đảo ngược.

Cụ thể, khi RSI <30 và nằm trong cửa sổ thời gian đánh giá lại, sẽ kích hoạt nhiều tín hiệu mở vị trí. Sau đó, thiết lập mức dừng lỗ dưới 1% giá nhập cảnh và mức dừng lỗ trên 7% giá nhập cảnh.

Toàn bộ chiến lược tăng vốn bằng cách đánh giá điểm tháo đảo bán quá mức và đặt lệnh dừng lỗ để khóa lợi nhuận.

Phân tích lợi thế

Chiến lược bán tháo RSI theo chiều ngược có một số lợi thế:

  1. Đây là một chiến lược giao dịch đáng tin cậy hơn để nắm bắt các cơ hội tăng giá từ sự đảo ngược bán tháo.

  2. Sử dụng chỉ số RSI để xác định điểm vào, đánh giá chuyên nghiệp hơn so với việc đặt cược trực tiếp vào giá.

  3. Các thiết lập dừng lỗ và ngăn chặn nghiêm ngặt có thể kiểm soát hiệu quả rủi ro và lợi nhuận của một giao dịch.

  4. Dữ liệu phản hồi cho thấy chiến lược này mang lại lợi nhuận và tỷ lệ chiến thắng cao.

  5. Dễ hiểu và dễ sử dụng cho người mới.

Phân tích rủi ro

Một số rủi ro của chiến lược bán tháo RSI cũng có thể xảy ra, bao gồm:

  1. Mặc dù RSI thấp hơn 30 sẽ làm tăng khả năng đảo ngược, nhưng môi trường thị trường phức tạp và biến động, trường hợp đảo ngược thất bại cũng có thể xảy ra, khi đó dừng lỗ sẽ được kích hoạt.

  2. Điểm dừng quá gần, có khả năng xảy ra va chạm dừng lớn hơn. Bạn có thể nới lỏng mức độ dừng một cách thích hợp.

  3. Cài đặt cửa sổ thời gian phản hồi không đúng, có thể gây ra sự lệch lạc về kết quả thử nghiệm.

  4. Việc giao dịch một loại tiền tệ không phù hợp cũng có thể ảnh hưởng đến thu nhập. Chiến lược này phù hợp nhất với các loại tiền tệ có biến động lớn.

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

Tuy nhiên, có một số cách để cải thiện chiến lược bán tháo RSI:

  1. Điều chỉnh các tham số RSI để kiểm tra tác động của các tham số khác nhau đối với lợi nhuận chiến lược.

  2. Kiểm tra các cặp tiền tệ khác nhau và chọn các đồng tiền có biến động lớn hơn.

  3. Điều chỉnh các tham số dừng lỗ để tìm ra sự kết hợp tối ưu của các tham số. Mở rộng đúng mức độ dừng lỗ cũng là một hướng.

  4. Thêm một bộ lọc cho các chỉ số khác, chẳng hạn như giá chỉ được đưa vào sau khi phá vỡ một đường trung bình di chuyển.

  5. Kiểm tra các tham số chu kỳ thời gian khác nhau để tìm thời điểm tốt nhất để nhập học.

Tóm tắt

Chiến lược bán tháo vượt qua RSI hoàn toàn dễ hiểu và dễ vận hành, thu được lợi nhuận bằng cách nắm bắt cơ hội bán tháo vượt qua. Ưu điểm lớn nhất của chiến lược là dễ nắm bắt và người mới có thể sử dụng.

Mã nguồn chiến lược
/*backtest
start: 2023-12-14 00:00:00
end: 2023-12-18 19:00:00
period: 3m
basePeriod: 1m
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/
// © brodieCoinrule

//@version=4
strategy(shorttitle='Oversold RSI with tight SL',title='Oversold RSI with tight SL Strategy (by Coinrule)', overlay=true, initial_capital = 1000, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 50, commission_type=strategy.commission.percent, commission_value=0.1)
//Backtest dates
fromMonth = input(defval = 1,    title = "From Month",      type = input.integer, minval = 1, maxval = 12)
fromDay   = input(defval = 1,    title = "From Day",        type = input.integer, minval = 1, maxval = 31)
fromYear  = input(defval = 2020, title = "From Year",       type = input.integer, minval = 1970)
thruMonth = input(defval = 1,    title = "Thru Month",      type = input.integer, minval = 1, maxval = 12)
thruDay   = input(defval = 1,    title = "Thru Day",        type = input.integer, minval = 1, maxval = 31)
thruYear  = input(defval = 2112, title = "Thru Year",       type = input.integer, minval = 1970)

showDate  = input(defval = true, title = "Show Date Range", type = input.bool)

start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false       // create function "within window of time"

perc_change(lkb) =>
    overall_change = ((close[0] - close[lkb]) / close[lkb]) * 100



// RSI inputs and calculations
lengthRSI = 14
RSI = rsi(close, lengthRSI)
oversold= input(30)


//Entry 
strategy.entry(id="long", long = true, when = RSI< oversold and window())

//Exit
Stop_loss= ((input (1))/100)
Take_profit= ((input (7)/100))

longStopPrice  = strategy.position_avg_price * (1 - Stop_loss)
longTakeProfit = strategy.position_avg_price * (1 + Take_profit)

strategy.close("long", when = close < longStopPrice or close > longTakeProfit and window())