Chiến lược đảo ngược siêu xu hướng

Tác giả:ChaoZhang, Ngày: 2023-12-28 15:50:35
Tags:

img

Tổng quan

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.

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

Chiến lược đảo ngược Super Trend bao gồm hai phần chính:

  1. 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.

  2. 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.

Phân tích lợi thế

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à:

  1. Kết hợp xu hướng và đảo ngược, giao dịch tại các điểm đảo ngược
  2. Việc rút tiền có thể kiểm soát được, kiểm soát rủi ro tốt hơn
  3. Không gian tối ưu hóa tham số lớn, điều chỉnh dựa trên thị trường

Phân tích rủi ro

Chiến lược đảo ngược Super Trend cũng có một số rủi ro, chủ yếu bao gồm:

  1. 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.

  2. 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.

  3. 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.

Hướng dẫn tối ưu hóa

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:

  1. Tối ưu hóa các thông số Super Trend để thích nghi với các thị trường khác nhau
  2. Tối ưu hóa hoặc cải thiện logic kích hoạt đảo ngược RSI
  3. Thêm chiến lược dừng lỗ để kiểm soát lỗ duy nhất
  4. Kết hợp các chỉ số khác để xác định độ tin cậy đảo ngược
  5. Thêm chỉ số khối lượng giao dịch để tránh phá vỡ sai

Tóm lại

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")







Thêm nữa