
Chiến lược theo dõi chênh lệch giá RSI Channel tạo ra tín hiệu giao dịch bằng cách theo dõi sự biến động của chỉ số RSI trong kênh giảm giá, kết hợp với sự phá vỡ giá. Chiến lược này nhằm mục đích nắm bắt sự bùng nổ mua bán nhanh chóng trong thị trường tiền điện tử.
Sử dụng Hull Moving Average Smooth RSI để tạo ra các chỉ số RSI sau khi làm mịn, bao gồm RSI giá đóng cửa, RSI giá cao nhất, RSI giá thấp nhất và RSI giá trung bình.
Cài đặt RSI trong phạm vi 55-45. Khi chỉ số RSI đi vào 55-45 kênh, biểu thị đi vào vùng rung.
Khi chỉ số RSI của giá đóng cửa đi xuống từ đường trên và giá đóng cửa thấp hơn giá trung bình, nó cho thấy giá chịu áp lực; trong khi chỉ số RSI của giá trung bình vẫn cao hơn giới hạn trên đường, nó cho thấy giá trung bình vẫn có động lực mua, phù hợp với logic theo dõi giá trung bình, do đó tạo ra tín hiệu mua.
Khi giá RSI đóng cửa từ giới hạn dưới của kênh, và giá đóng cửa cao hơn giá trung bình, cho thấy giá có hỗ trợ; và tại thời điểm này, chỉ số RSI trung bình thấp hơn giới hạn dưới của kênh, cho thấy giá trung bình chịu áp lực lớn, phù hợp với logic theo dõi giá trung bình phá vỡ, do đó tạo ra tín hiệu bán.
Chỉ số RSI giá cao nhất và RSI giá thấp nhất được sử dụng để xác định các tín hiệu giao dịch không hiệu quả và dừng lại nhanh chóng.
Sử dụng giá trung bình để theo dõi xu hướng mạnh mẽ của giá trung bình, phù hợp với khái niệm theo dõi xu hướng.
RSI dao động trong kênh giảm giá, gợi ý vào thắt chặt, và sử dụng giá trung bình để theo dõi hướng mạnh của giá trung bình để tránh bị mắc kẹt trong rung động trong khoảng.
Chỉ số RSI giá cao nhất và RSI giá thấp nhất được sử dụng để xác định nhanh chóng các tín hiệu giao dịch không hiệu quả, dừng lỗ nhanh chóng và kiểm soát tổn thất hiệu quả.
Các chỉ số RSI được thiết lập không đúng có thể dẫn đến quá nhạy cảm hoặc chậm chạp.
Ý nghĩa của giá trị trung bình không phải lúc nào cũng đáng tin cậy, giá trị trung bình có thể bị dao động.
Thị trường tiền điện tử có nhiều biến động, đặt vị trí dừng lỗ quá nới lỏng có thể dẫn đến tổn thất mở rộng.
Giải pháp:
Có thể đưa ra các chỉ số như dải Brin để xác định xem giá trung bình có gần đường lên xuống hay không, do đó cải thiện độ chính xác của phán đoán về hướng phá vỡ giá trung bình.
Sử dụng các mô hình học sâu như LSTM để dự đoán xu hướng tương lai của giá trị trung bình, hỗ trợ xác định giá trị trung bình có thể phá vỡ một hướng nào đó không.
Tùy theo mức độ biến động của thị trường, điều chỉnh vị trí dừng lỗ trong thời gian thực. Ví dụ: khi biến động tăng lên, hãy thắt chặt vị trí dừng lỗ một cách thích hợp; khi biến động giảm đi, bạn có thể nới lỏng vị trí dừng lỗ một cách thích hợp.
Chiến lược theo dõi chênh lệch giá RSI Channel nhằm tạo ra tín hiệu giao dịch bằng cách theo dõi sự biến động của chỉ số RSI trong kênh và kết hợp với sự phá vỡ của giá, nhằm mục đích nắm bắt các vụ nổ mua bán nhanh chóng trong thị trường tiền điện tử. Chiến lược này kết hợp hiệu quả với phương pháp theo dõi xu hướng và nhận diện khoảng cách, vẫn có thể có được giao dịch tốt hơn khi chênh lệch giá thu hẹp.
/*backtest
start: 2023-11-17 00:00:00
end: 2023-12-17 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Hull MA of RSI Strategy",overlay=false)
//+++++++++++++++++++++++++++++++
//++++++++++++ Setup ++++++++++++
//+++++++++++++++++++++++++++++++
// RSI
rsi1_tt="=== RSI ==="
rsi1_len=input(13,title="Period",inline="set",group=rsi1_tt)
//Mid
mid_tt="=== Mid Channel ==="
upper=input(55.0,title="Upper",inline="set",group=mid_tt)
lower=input(45.0,title="Lower",inline="set",group=mid_tt)
//Over
over_tt="=== Over ==="
ovb=input(70.0,title="Overbought",inline="set",group=over_tt)
ovs=input(30.0,title="Oversold",inline="set",group=over_tt)
//++++++++++++++++++++++++++++++++++++++++
//++++++++++++ Hull MA of RSI ++++++++++++
//++++++++++++++++++++++++++++++++++++++++
hma_tt="=== Hull MA ==="
hma_len=input(3,title="Period",inline="set",group=hma_tt)
rsi_c=hma(rsi(close,rsi1_len),hma_len)
rsi_h=hma(rsi(high,rsi1_len),hma_len)
rsi_l=hma(rsi(low,rsi1_len),hma_len)
rsi_hl2=hma(rsi(hl2,rsi1_len),hma_len)
//++++++++++++++++++++++++++++++++
//++++++++++++ Signal ++++++++++++
//++++++++++++++++++++++++++++++++
var order_status="None"
BuySignal=
crossunder(rsi_c,ovb)
and
close<hl2
and
rsi_hl2>ovb
and
order_status=="None"
CloseBuy=
order_status[1]=="Long"
and
(crossover(rsi_c,ovb)
or
crossunder(rsi_l,upper))
SellSignal=
crossover(rsi_c,ovs)
and
close>hl2
and
rsi_hl2<ovs
and
order_status=="None"
CloseSell=
order_status[1]=="Short"
and
(crossunder(rsi_c,ovs)
or
crossover(rsi_h,lower))
ExitSignal=
CloseBuy
or
CloseSell
if BuySignal
order_status:="Long"
if SellSignal
order_status:="Short"
if ExitSignal
order_status:="None"
//+++++++++++++++++++++++++++++++++++
//++++++++++++ Plot Line ++++++++++++
//+++++++++++++++++++++++++++++++++++
rsi_c_col=
rsi_c>upper?color.new(color.blue,0):
rsi_c<lower?color.new(color.blue,0):
color.new(color.orange,0)
rsi_h_col=
rsi_h>upper?color.new(color.green,0):
rsi_h<lower?color.new(color.green,0):
color.new(color.orange,0)
rsi_l_col=
rsi_l>upper?color.new(color.yellow,0):
rsi_l<lower?color.new(color.yellow,0):
color.new(color.orange,0)
rsi_hl2_col=
rsi_hl2>upper?color.new(color.olive,0):
rsi_hl2<lower?color.new(color.olive,0):
color.new(color.orange,0)
plot(rsi_c,title="RSI Close",color=rsi_c_col,linewidth=2)
plot(rsi_h,title="RSI High",color=rsi_h_col,linewidth=1)
plot(rsi_l,title="RSI Low",color=rsi_l_col,linewidth=1)
plot(rsi_hl2,title="RSI HL2",color=rsi_hl2_col,linewidth=1)
upper_line=hline(upper,title="Upper",color=color.new(color.black,100))
lower_line=hline(lower,title="Lower",color=color.new(color.black,100))
fill(upper_line,lower_line,title="Mid Channel",color=color.silver)
ovb_line=hline(ovb,title="Overbought",color=color.new(color.silver,0),linestyle=hline.style_solid,linewidth=2)
ovs_line=hline(ovs,title="Oversold",color=color.new(color.silver,0),linestyle=hline.style_solid,linewidth=2)
//++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++ Plot Analyzing Signals ++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++
//Color
buy_col=
BuySignal?color.new(color.blue,70):na
sell_col=
SellSignal?color.new(color.red,70):na
close_buy_col=
CloseBuy and order_status[1]=="Long"?color.new(color.yellow,70):na
close_sell_col=
CloseSell and order_status[1]=="Short"?color.new(color.yellow,70):na
//Background
bgcolor(close_buy_col, title='Close Buy', offset=0)
bgcolor(close_sell_col, title='Close Sell', offset=0)
bgcolor(sell_col, title='Sell', offset=0)
bgcolor(buy_col, title='Buy', offset=0)
//++++++++++++++++++++++++++++++++++
//++++++++++++ Backtest ++++++++++++
//++++++++++++++++++++++++++++++++++
strategy.entry("Long",strategy.long,when=BuySignal)
strategy.close("Long",when=CloseBuy)
strategy.entry("Short",strategy.short,when=SellSignal)
strategy.close("Short",when=CloseSell)
//EOF