
Chiến lược này sử dụng chiến lược đảo ngược giá và chỉ số tương đối mạnh (RSI) để xác định xu hướng với kết hợp hữu cơ của việc xác định quá mua quá bán. Trong đó, phần đảo ngược giá xác định liệu có tín hiệu đảo ngược giá hay không, phần RSI được sử dụng để xác định liệu thị trường có quá mua quá bán hay không. Kết hợp hai phần tín hiệu có thể lọc hiệu quả tín hiệu giả và cải thiện chất lượng tín hiệu.
Phần giá đảo ngược sử dụng hình thức 123 để xác định giá đảo ngược. Cụ thể, khi giá đóng cửa thấp hơn giá đóng cửa ngày hôm trước trong 2 ngày liên tiếp và đường dẫn thấp ngẫu nhiên của chỉ số cao hơn 50 vào ngày 9, tạo ra tín hiệu mua; khi giá đóng cửa cao hơn giá đóng cửa ngày hôm trước trong 2 ngày liên tiếp và đường dẫn cao ngẫu nhiên của chỉ số cao hơn 50 vào ngày 9, tạo ra tín hiệu bán.
RSI phân tích thị trường có quá mua hay quá bán dựa trên chỉ số tương đối mạnh là trên 70 hoặc dưới 30. RSI trên 70 là tín hiệu quá mua, RSI dưới 30 là tín hiệu quá bán.
Cuối cùng, tín hiệu đảo ngược giá và tín hiệu RSI hoạt động hợp lý với nhau. Khi cả hai đều là tín hiệu mua hoặc bán, tín hiệu giao dịch thực tế sẽ được đưa ra thị trường. Điều này có thể lọc các tín hiệu giả của chỉ số đơn và cải thiện chất lượng tín hiệu.
Chiến lược này sử dụng cả chỉ số hình dạng giá và chỉ số bán tháo, cả hai đều cần phải đồng bộ để đưa ra thị trường. Điều này có thể lọc tối đa các tín hiệu giả mà chỉ số đơn lẻ có thể tạo ra và đảm bảo độ tin cậy của tín hiệu mỗi lần đưa ra thị trường.
Phần giá đảo ngược đánh giá sự đảo ngược bằng hình dạng 123. Đây là một cách giao dịch đảo ngược điển hình. Đồng thời, chỉ số RSI cũng có thể đánh giá xu hướng, đóng vai trò xác nhận phụ trợ.
Chiến lược này chỉ sử dụng hai chỉ số phổ biến, số lượng tham số vừa phải. Để cấu trúc tổng thể của chiến lược đơn giản và rõ ràng, hoạt động trên sàn không khó khăn và dễ nắm bắt. Điều này rất quan trọng đối với các nhà giao dịch trên sàn.
Giá đảo ngược có khả năng thất bại, không thể hoàn toàn tránh được. Khi giá tạo ra tín hiệu 123, nhưng sau đó lại đảo ngược trở lại. Điều này sẽ gây ra thất bại trong giao dịch.
Các chiến lược tự đánh giá là dễ dàng hơn và dễ tạo ra nhiều tín hiệu giao dịch. Nếu không được kiểm soát, sẽ dẫn đến tần suất giao dịch quá cao, tăng chi phí giao dịch và căng thẳng tâm lý.
Chỉ số RSI mặc định ở khoảng 30 - 70. Đây chỉ là tham số kinh nghiệm, nếu thực tế không phù hợp, dễ dàng bỏ lỡ tín hiệu chính xác hoặc phát tín hiệu sai.
Điều chỉnh đúng quy mô nắm giữ để kiểm soát tổn thất đơn lẻ.
Thêm các điều kiện lọc, giảm tần suất giao dịch. Ví dụ: Tham gia vào phán quyết đường trung bình di động.
Kiểm tra các thị trường khác nhau sau khi động điều chỉnh phạm vi RSI tham số, đặt giá trị hợp lý.
Trên cơ sở hiện tại, thêm quy tắc phán đoán đường trung bình di chuyển, có thể lọc một mức độ nào đó cho tiếng ồn trong phạm vi nhỏ.
Thử nghiệm xác định sự kết hợp tốt nhất của các tham số RSI vượt quá giá trị mua và bán bằng cách đo lại dữ liệu lịch sử.
Ngoài các phương thức dừng lỗ hiện có, có thể thêm các cơ chế thoát khỏi mối quan hệ lợi nhuận và dừng lỗ mục tiêu để khóa lợi nhuận.
Chiến lược này sử dụng phán đoán đảo ngược giá và phán đoán chỉ số RSI xác nhận kép, để thực hiện suy nghĩ giao dịch hỗ trợ xu hướng chủ đạo. Các tham số được thiết lập đơn giản và dễ nắm bắt trên thực tế. Bằng cách tối ưu hóa, có thể thêm nhiều điều kiện lọc, giảm tần số giao dịch và đồng thời duy trì chất lượng chụp tín hiệu. Chiến lược này hoạt động tốt và có giá trị trong thực tế.
/*backtest
start: 2023-12-14 00:00:00
end: 2023-12-21 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 16/08/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
// The RSI is a very popular indicator that follows price activity.
// It calculates an average of the positive net changes, and an average
// of the negative net changes in the most recent bars, and it determines
// the ratio between these averages. The result is expressed as a number
// between 0 and 100. Commonly it is said that if the RSI has a low value,
// for example 30 or under, the symbol is oversold. And if the RSI has a
// high value, 70 for example, the symbol is overbought.
//
// 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
mRSI(Length,Oversold,Overbought) =>
pos = 0.0
xRSI = rsi(close, Length)
pos:=iff(xRSI > Overbought, 1,
iff(xRSI < Oversold, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & RSI", 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 ----")
LengthRSI = input(12, minval=1)
Oversold = input(30, minval=1)
Overbought = input(70, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posmRSI = mRSI(LengthRSI,Oversold,Overbought)
pos = iff(posReversal123 == 1 and posmRSI == 1 , 1,
iff(posReversal123 == -1 and posmRSI == -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 )