
Chiến lược đảo ngược siêu xu hướng là một chiến lược giao dịch đảo ngược kết hợp các chỉ số siêu xu hướng và chỉ số RSI. Chiến lược này sử dụng siêu xu hướng để xác định hướng của xu hướng thị trường, sau đó kết hợp với chỉ số RSI để xác định cơ hội đảo ngược và giao dịch tại điểm đảo ngược xu hướng.
Chiến lược đảo ngược siêu xu hướng bao gồm hai phần chính:
Chỉ số siêu xu hướng đánh giá xu hướng bằng cách tính toán giá hiện tại với giá có chiều dài thực tế trung bình trong một chu kỳ nhất định. Khi giá phá vỡ đường lên, nó là lạc quan, và khi giá rơi xuống đường.
Chỉ số RSI đánh giá xem liệu hiện tại có đang ở trạng thái quá mua hay quá bán bằng cách so sánh ngày giá tăng và ngày giá giảm trong một khoảng thời gian. Kết hợp với chỉ số siêu xu hướng, bạn có thể tìm thấy thời gian thay đổi xu hướng.
Trong chiến lược này, thông qua một số biến đổi, có được đường cong RSI được xử lý, thiết lập đường giá trị ngưỡng, đường cong RSI sẽ tạo ra tín hiệu mua và bán khi phá vỡ ngưỡng tương ứng.
Chiến lược đảo ngược siêu xu hướng kết hợp xu hướng và chỉ số đảo ngược, cân nhắc tổng hợp sức mạnh của xu hướng và hiện tượng mua bán quá mức, có thể mở vị trí hòa bình ở vị trí tương đối tốt, để có được lợi nhuận chiến lược tốt hơn.
Những ưu điểm chính là:
Các chiến lược đảo ngược siêu xu hướng cũng có một số rủi ro, bao gồm:
Tín hiệu đảo ngược có thể là tín hiệu giả, không thể đảo ngược thành công, trong trường hợp này tổn thất có thể tăng lên.
Việc tối ưu hóa tham số không phù hợp có thể dẫn đến việc chiến lược quá phù hợp và không thể thích ứng với sự thay đổi của thị trường.
Tất cả các chỉ số kỹ thuật đều bị chậm trễ, có thể bỏ lỡ vị trí nhập cảnh tốt nhất.
Đối với những rủi ro này, có thể tối ưu hóa và cải thiện hơn nữa bằng cách kết hợp các chỉ số khác, điều chỉnh các phương pháp tối ưu hóa tham số.
Chiến lược đảo ngược siêu xu hướng có thể được tối ưu hóa theo thị trường và nhu cầu, trong các chiều sau:
Chiến lược đảo ngược siêu xu hướng có lợi thế là kết hợp giao dịch xu hướng và giao dịch đảo ngược, có thể làm theo chiều hướng và có thể mở vị trí tại điểm đảo ngược. Bằng cách liên tục kiểm tra và tối ưu hóa các tham số, kiểm soát rủi ro một cách thích hợp, chiến lược này có thể nhận được lợi nhuận chiến lược ổn định.
/*backtest
start: 2022-12-21 00:00:00
end: 2023-12-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title = "Super-Trend-reverse Strategy", overlay = true)
// Super Trend Strategy
Factor=input(2,type =float, minval=1,maxval = 100)
Pd=10 //input(10,minval=1,maxval = 100)
// ST1
UP=hlc3-(Factor*atr(Pd))
DOWN=hlc3+(Factor*atr(Pd))
// ST1.2
TrendUp=na
TrendUp:=close[1]>TrendUp[1]? max(UP,TrendUp[1]) : UP
TrendDown=na
TrendDown:=close[1]<TrendDown[1]? min(DOWN,TrendDown[1]) : UP
Trend = na
Tsl = na
Trend := close[1] > TrendDown[1] ? 1: close[1] < TrendUp[1]? -1: nz(Trend[1],1)
Tsl := Trend==1 ? TrendUp: TrendDown
/////////////// Functions for Reverse //////////////////////////////
IF(input) => (exp(2*input)-1) / (exp(2*input)+1)
//////////////////////// RSI REVERSE /////////////////////
RSI_main = input(14, title="RSI Main Period")
RSI_smooth = input(5, title="RSI Smooth Period")
//Functions
RVS(input) => (exp(2*input)-1) / (exp(2*input)+1)
//RSI Calculation
raw_RSI=0.1*(rsi(close,RSI_main)-50)
wma_RSI=wma(raw_RSI,RSI_smooth)
RVS_RSI = RVS(wma_RSI)
threshold1 = RVS_RSI < 0.8? 1 : 0
threshold2 = -0.8
RSIbuy = (RVS_RSI<threshold2)
RSIsell = (RVS_RSI > threshold1)
////////////////////// RSI REVERSE ///////////////////////
// Conditions
longCond = na
shortCond = na
longCond := RSIbuy and crossover(close, Tsl)
shortCond := RSIsell and crossunder(close, Tsl)
yearfrom = input(2018)
yearuntil =input(2039)
monthfrom =input(6)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)
if ( longCond and year >= yearfrom and year <= yearuntil and month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil)
strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND", comment="BUY")
else
strategy.cancel(id="BUY")
if ( shortCond and year >= yearfrom and year <= yearuntil and month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil )
strategy.close("BUY")