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


Ngày tạo: 2023-12-28 15:50:35 sửa đổi lần cuối: 2023-12-28 15:50:35
sao chép: 0 Số nhấp chuột: 810
1
tập trung vào
1623
Người theo dõi

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

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

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

Chiến lược đảo ngược siêu xu hướng 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 đá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.

  1. Chỉ số RSI nhận diện sự đảo ngược

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.

Phân tích lợi thế

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

  1. Kết hợp xu hướng và đảo ngược, giao dịch tại điểm đảo ngược
  2. Có thể kiểm soát được sự rút lui, có thể kiểm soát được rủi ro.
  3. Các tham số có thể được tối ưu hóa theo thị trường

Phân tích rủi ro

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:

  1. Rủi ro thất bại

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.

  1. Rủi ro tối ưu hóa tham số

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.

  1. Chỉ số kỹ thuật bị tụt hậu

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

Hướng tối ưu hóa

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:

  1. Tối ưu hóa các tham số siêu xu hướng để thích ứng 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. Tăng chiến lược dừng lỗ để kiểm soát tổn thất đơn lẻ
  4. Kết hợp với các chỉ số khác để xác định độ tin cậy đảo ngược
  5. Tham gia chỉ số khối lượng giao dịch để tránh phá vỡ giả

Tóm tắt

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.

Mã nguồn chiến lược
/*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")