Chiến lược cảnh báo lịch sử RSI đảo ngược kép


Ngày tạo: 2024-01-04 17:17:24 sửa đổi lần cuối: 2024-01-04 17:17:24
sao chép: 1 Số nhấp chuột: 806
1
tập trung vào
1621
Người theo dõi

Chiến lược cảnh báo lịch sử RSI đảo ngược kép

Tổng quan

Chiến lược cảnh báo lịch sử RSI đảo ngược kép tạo ra tín hiệu giao dịch chính xác hơn bằng cách kết hợp chiến lược 123 đảo ngược và chiến lược cảnh báo lịch sử RSI. Chiến lược 123 đảo ngược đánh giá điểm biến động giá, chiến lược cảnh báo lịch sử RSI đánh giá điểm bán tháo.

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

123 Chiến lược đảo ngược

Chiến lược đảo ngược dựa trên giả định: tín hiệu đảo ngược giá cổ phiếu thường xuất hiện 2 ngày trước khi giá cổ phiếu đảo ngược.

Các quy định cụ thể là:

  • Tín hiệu mua: Giá đóng cửa ngày trước < giá đóng cửa hai ngày trước và giá đóng cửa hiện tại > giá đóng cửa ngày trước và đường K chậm 9 ngày thấp hơn 50
  • Tín hiệu bán: giá đóng cửa ngày trước> giá đóng cửa hai ngày trước và giá đóng cửa hiện tại < giá đóng cửa ngày trước và đường K nhanh ngày 9 cao hơn 50

Chiến lược này sử dụng các mối quan hệ giá trị 2 ngày trước khi giá cổ phiếu đảo ngược để đánh giá điểm đảo ngược có thể. Trong khi đó, chỉ số K-line loại bỏ một số tín hiệu tiếng ồn.

Chiến lược cảnh báo lịch sử RSI

Chiến lược cảnh báo lịch sử RSI được sửa đổi dựa trên các chỉ số RSI:

  • Lớn RSI từ -100 đến -100
  • Một tín hiệu giao dịch được tạo ra khi RSI vượt quá đường báo động mua/bán dự kiến

Chiến lược này tạo ra tín hiệu giao dịch bằng cách đánh giá kích thước tuyệt đối của chỉ số RSI, gợi ý tình trạng quá mua quá bán.

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

Chiến lược này kết hợp hai loại chiến lược khác nhau, có lợi thế bổ sung cho nhau, tạo ra tín hiệu đáng tin cậy hơn. Các lợi thế cụ thể là:

  1. Chiến lược đảo ngược 123 rất giỏi trong việc xác định điểm đảo ngược giá. Chiến lược cảnh báo lịch sử RSI rất giỏi trong việc xác định điểm quá mua quá bán.
  2. Chiến lược 123 reversal và chiến lược cảnh báo lịch sử RSI sử dụng các chỉ số khác nhau làm đầu vào. Điều này có thể làm giảm khả năng tín hiệu sai và tăng độ tin cậy.
  3. Cả hai chiến lược đều có không gian tối ưu hóa riêng, có thể nâng cao hiệu quả chiến lược hơn nữa bằng cách điều chỉnh tham số.

Rủi ro chiến lược

Chiến lược này có những rủi ro:

  1. Việc đảo ngược giá cổ phiếu không nhất thiết phải xảy ra. Giá có thể tiếp tục hoạt động theo xu hướng ban đầu ngay cả khi đáp ứng các điều kiện đánh giá của chiến lược đảo ngược 123.
  2. Chỉ số RSI có nhiều khả năng phát ra tín hiệu sai. Giá trị tuyệt đối của RSI vượt quá đường cảnh báo không nhất thiết phải đại diện cho tình trạng quá mua quá bán thực sự.
  3. Cả hai chiến lược có thể đồng thời phát ra tín hiệu sai.

Các giải pháp tương ứng là:

  1. Điều chỉnh các tham số của chiến lược đảo ngược 123 một cách thích hợp để đảm bảo rằng nó chỉ phát ra tín hiệu điểm đảo ngược được xác định.
  2. Điều chỉnh vị trí đường dây cảnh báo của chiến lược cảnh báo lịch sử RSI để giảm khả năng tín hiệu giả.
  3. Thêm xác nhận các chỉ số khác để tránh rủi ro sai hướng quá lớn.

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

Chiến lược này có thể được tối ưu hóa theo các hướng sau:

  1. Sử dụng các kết hợp các tham số khác nhau để thử nghiệm chiến lược đảo ngược 123 và chiến lược cảnh báo lịch sử RSI để tìm tham số tối ưu.
  2. Thêm các chỉ số phán đoán khác, thực hiện xác thực đa yếu tố, lọc các tín hiệu giả hơn. Ví dụ: có thể giới thiệu chỉ số đường trung bình, chỉ số tỷ lệ dao động, v.v.
  3. Kiểm tra các phạm vi thời gian giữ vị trí khác nhau. Các chiến lược hiện có sử dụng Momentum Holding, có thể kiểm tra tối ưu hóa để theo dõi xu hướng.
  4. Cấu trúc tham số tối ưu hóa cho đường dài và đường ngắn.

Tóm tắt

Chiến lược báo động lịch sử RSI đảo ngược kép có thể tạo ra tín hiệu giao dịch đáng tin cậy hơn bằng cách kết hợp chiến lược đảo ngược giá và chiến lược phán đoán mua bán quá mức. So với chiến lược đơn lẻ, có khả năng tín hiệu giả thấp hơn và có lợi thế về phán đoán toàn diện hơn. Chiến lược này có rất nhiều không gian tối ưu hóa, có thể nâng cao hơn nữa sự ổn định và khả năng lợi nhuận của chiến lược thông qua các phương tiện như điều chỉnh tham số, kiểm tra đa yếu tố và tối ưu hóa vị trí.

Mã nguồn chiến lược
/*backtest
start: 2022-12-28 00:00:00
end: 2024-01-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 28/06/2021
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// This simple indicator modified RSI
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos


RSI_Hist(RSIPeriod,BuyAlertLevel,SellAlertLevel,RSIHistoModify) =>
    pos = 0.0
    xPrice = close
    RSIMain = (rsi(xPrice, RSIPeriod) - 50) * RSIHistoModify
    pos:= iff(RSIMain > BuyAlertLevel, 1,
    	     iff(RSIMain < SellAlertLevel, -1, nz(pos[1], 0)))
    pos

strategy(title="Combo Backtest 123 Reversal & RSI HistoAlert", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- RSI HistoAlert ----")
RSIPeriod = input(13, minval=1)
BuyAlertLevel = input(-10)
SellAlertLevel = input(10)
RSIHistoModify = input(1.5)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posRSI_Hist = RSI_Hist(RSIPeriod,BuyAlertLevel,SellAlertLevel,RSIHistoModify)
pos = iff(posReversal123 == 1 and posRSI_Hist == 1 , 1,
	   iff(posReversal123 == -1 and posRSI_Hist == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1 , 1, pos))	   
if (possig == 1 ) 
    strategy.entry("Long", strategy.long)
if (possig == -1 )
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )