Chiến lược giao dịch ngưỡng dựa trên RSI


Ngày tạo: 2023-10-30 14:58:38 sửa đổi lần cuối: 2023-10-30 14:58:38
sao chép: 0 Số nhấp chuột: 805
1
tập trung vào
1617
Người theo dõi

Chiến lược giao dịch ngưỡng dựa trên RSI

Tổng quan

Chiến lược này thực hiện một chiến lược giao dịch giảm giá đơn giản dựa trên chỉ số RSI tương đối mạnh. Mua khi RSI thấp hơn 30 và bán khi RSI cao hơn 40. Thời gian giữ vị trí được cố định là 10 ngày. Chiến lược này phù hợp với giao dịch ngắn hạn và trung bình.

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

Chiến lược này chủ yếu dựa trên việc tạo ra tín hiệu giao dịch trong khu vực quá bán và quá mua của chỉ số RSI. Chỉ số RSI phản ánh sự sụt giảm nhanh chóng trong một chu kỳ. RSI thấp hơn 30 cho thấy giá cổ phiếu có thể vượt quá khu vực bán và có thể bật lên; RSI cao hơn 70 cho thấy giá cổ phiếu có thể vượt quá khu vực mua và có thể giảm.

Cụ thể, chiến lược này tính toán RSI 10 ngày đầu tiên, sau đó đặt ngưỡng 30 và 40. Khi RSI 10 ngày thấp hơn 30, nó tạo ra tín hiệu mua, và khi RSI 10 ngày cao hơn 40, nó tạo ra tín hiệu bán. Sau khi nhận được tín hiệu mua, bạn mua. Sau khi nhận được tín hiệu bán, nếu giữ vị thế hơn 10 ngày, bạn sẽ bán ngay lập tức; Nếu giữ vị thế ít hơn 10 ngày, bạn tiếp tục giữ vị trí cho đến ngày thứ 10 và bán.

Chiến lược này đơn giản và dễ hiểu, sử dụng chỉ số RSI để đánh giá các khu vực quá mua và quá bán để thực hiện chiến lược giao dịch giảm giá dựa trên chỉ số.

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

  1. Sử dụng các chỉ số RSI rộng rãi, các tham số tối ưu hóa không gian rộng

Chiến lược này sử dụng các chỉ số RSI được sử dụng rộng rãi. Các tham số RSI có thể được điều chỉnh và tối ưu hóa để phù hợp với các chu kỳ và môi trường thị trường khác nhau.

  1. Dễ dàng theo dõi xu hướng

RSI có thể phản ánh xu hướng thay đổi giá. Chiến lược này dựa trên chỉ số RSI để đánh giá xu hướng giá, thực hiện theo dõi xu hướng đơn giản.

  1. Kiểm soát rủi ro tốt hơn

Chiến lược này sử dụng thời gian giữ vị trí cố định, có thể kiểm soát hiệu quả tổn thất đơn. Đồng thời, các tham số RSI có thể được điều chỉnh để giảm khả năng giao dịch sai.

Rủi ro chiến lược

  1. RSI dễ bị tối ưu hóa

Các tham số của RSI có thể được cài đặt linh hoạt, nhưng quá tối ưu hóa và sai lệch đo lường lại có thể dẫn đến rủi ro thực tế.

  1. Có một sự chậm trễ.

RSI thuộc về các chỉ số theo dõi xu hướng, phản ứng chậm với sự kiện bất ngờ, có một sự chậm trễ nhất định.

  1. Thời gian giữ vị thế cố định không linh hoạt

Thời gian giữ vị trí cố định đã buộc điểm dừng lỗ và không thể điều chỉnh theo sự thay đổi của thị trường. Mong muốn tối ưu hóa hơn nữa để điều chỉnh dừng lỗ động.

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

  1. Tối ưu hóa các tham số RSI, kiểm tra tác động của các tham số khác nhau đối với chiến lược

  2. Thêm các chỉ số khác, tạo ra các chỉ số, tận dụng lợi thế của các chỉ số khác nhau

  3. Tối ưu hóa chiến lược dừng lỗ để có thể điều chỉnh động theo biến đổi thị trường

  4. Tối ưu hóa quản lý vị trí, điều chỉnh vị trí theo tình hình thị trường

  5. Kiểm tra các giống phù hợp với chiến lược, chọn các giống có tính thanh khoản tốt và biến động cao

  6. Tối ưu hóa thời gian giao dịch, kiểm tra tác động của thời gian giao dịch khác nhau đối với chiến lược

Tóm tắt

Chiến lược này đơn giản hơn, thực hiện chiến lược giao dịch dựa trên giảm giá thông qua chỉ số RSI. Ưu điểm của chiến lược là đơn giản, dễ hiểu và kiểm soát rủi ro tương đối tốt. Tuy nhiên, cũng có những vấn đề như khó khăn trong việc tối ưu hóa tham số RSI, không linh hoạt trong việc dừng lỗ.

Mã nguồn chiến lược
/*backtest
start: 2022-10-23 00:00:00
end: 2023-10-29 00:00:00
period: 1d
basePeriod: 1h
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/
// © Bitduke

//@version=4
// strategy("Simple RSI Buy/Sell at a level", shorttitle="Simple RSI Strategy", overlay=true,calc_on_every_tick=false,pyramiding=1, default_qty_type=strategy.cash,default_qty_value=1000, currency=currency.USD, initial_capital=1000,commission_type=strategy.commission.percent, commission_value=0.075)
overbought = input(40, title="overbought value")
oversold = input(30, title="oversold value")
// Component Test Periods Code Begin
testStartYear = input(2018, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(2021, "Backtest Stop Year")
testStopMonth = input(16, "Backtest Stop Month")
testStopDay = input(2, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

// A switch to control background coloring of the test period
testPeriodBackground = input(title="Color Background?", type=input.bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na
bgcolor(testPeriodBackgroundColor, transp=97)

testPeriod() => true
// Component Test Periods Code End
//////////////////////////////////////////////////////////////////////

myrsi = rsi(close, 10) > overbought
myrsi2 = rsi(close, 10) < oversold

barcolor(myrsi ? color.black : na)
barcolor(myrsi2 ? color.blue : na)


myEntry = myrsi2 and hour(time) <= 9

strategy.entry("Buy Signal", strategy.long, when = myEntry and testPeriod())

// Close 10 bar periods after the condition that triggered the entry

//if (myEntry[10])
    //strategy.close("Buy Signal")
strategy.close("Buy Signal", when = barssince(myEntry) >= 10 or myrsi and testPeriod())

//strategy.entry("Sell Signal",strategy.short, when = myrsi2)