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 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, và sau đó xác định các cơ hội đảo ngược kết hợp với chỉ số RSI để thực hiện giao dịch tại các điểm đảo ngược xu hướng.
Chiến lược đảo ngược Super Trend bao gồm hai phần chính:
Chỉ số siêu xu hướng để đánh giá xu hướng thị trường
Chỉ số siêu xu hướng tính toán dải giá dựa trên giá hiện tại và phạm vi thực tế trung bình trong một khoảng thời gian nhất định để xác định hướng xu hướng. Khi giá vượt qua đường ray trên, nó tăng; khi giá vượt qua đường ray dưới, nó giảm.
Chỉ số RSI để xác định sự đảo ngược
Chỉ số RSI đánh giá liệu nó hiện đang bị mua quá mức hoặc bán quá mức bằng cách so sánh số ngày tăng và giảm trong một khoảng thời gian.
Trong chiến lược này, bằng một số biến đổi nhất định, chúng ta có được đường cong RSI được xử lý và thiết lập các đường ngưỡng.
Chiến lược đảo ngược siêu xu hướng kết hợp các chỉ số xu hướng và đảo ngược để xem xét toàn diện sức mạnh của xu hướng và hiện tượng mua quá mức / bán quá mức, để nó có thể mở và đóng các vị trí ở các vị trí tương đối tốt để có được lợi nhuận chiến lược tốt hơn.
Những lợi thế chính là:
Chiến lược đảo ngược Super Trend cũng có một số rủi ro, chủ yếu bao gồm:
Nguy cơ thất bại đảo ngược
Các tín hiệu đảo ngược có thể là tín hiệu sai và không đảo ngược thành công, có thể làm tăng tổn thất.
Rủi ro tối ưu hóa tham số
Tối ưu hóa tham số không chính xác có thể gây ra quá mức phù hợp của chiến lược và không thể thích nghi với những thay đổi của thị trường.
Sự chậm trễ của chỉ số kỹ thuật
Tất cả các chỉ số kỹ thuật đều có sự chậm trễ, có thể thiếu vị trí đầu vào tốt nhất.
Để giải quyết những rủi ro này, chúng ta 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ố, v.v.
Chiến lược đảo ngược Super Trend có thể được tối ưu hóa theo các chiều kích sau đây theo thị trường và nhu cầu:
Chiến lược đảo ngược siêu xu hướng kết hợp các lợi thế của giao dịch xu hướng và giao dịch đảo ngược, cho phép đi theo xu hướng trong khi mở các vị trí tại các đ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ố và kiểm soát rủi ro một cách thích hợp, chiến lược này có thể đạt được lợi nhuận chiến lược ổn định. Không gian tối ưu hóa của nó cũng rất lớn, có thể điều chỉnh dựa trên điều kiện thị trường thực tế.
/*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")