슈퍼 트렌드 반전 전략


생성 날짜: 2023-12-28 15:50:35 마지막으로 수정됨: 2023-12-28 15:50:35
복사: 0 클릭수: 810
avatar of ChaoZhang ChaoZhang
1
집중하다
1623
수행원

슈퍼 트렌드 반전 전략

개요

슈퍼 트렌드 역전 전략은 슈퍼 트렌드 지표와 RSI 지표를 결합한 역전 거래 전략이다. 이 전략은 슈퍼 트렌드를 사용하여 시장의 경향 방향을 판단하고, RSI 지표와 결합하여 역전 기회를 식별하고, 트렌드 역전 지점에서 거래한다.

전략 원칙

슈퍼 트렌드 반전 전략은 크게 두 가지로 구성됩니다.

  1. 슈퍼 트렌드 지표는 시장의 흐름을 판단합니다.

슈퍼 트렌드 지표는 현재 가격과 일정 주기 동안의 평균 실제 파장의 가격을 계산하여 트렌드 방향을 판단한다. 가격이 상회 궤도를 돌파 할 때 부진이며, 가격이 하향 궤도를 돌파 할 때 하향이다.

  1. RSI 지표가 반전

RSI 지표는 종결 가격 상승일과 가격 하락의 일 수를 비교하여 현재 과매매 상태인지 판단합니다. 슈퍼 트렌드 지표와 결합하면 트렌드 반전의 시간을 찾을 수 있습니다.

이 전략에서, 특정 transformations를 통해, 처리 된 RSI 곡선을 얻을 수 있습니다. RSI 곡선이 해당 경계를 돌파 할 때 구매 및 판매 신호를 생성하는 경량 선을 설정합니다.

우위 분석

슈퍼 트렌드 역전 전략은 트렌드와 역전 지표, 종합적인 고려 트렌드 힘과 오버 바이 오버 셀 현상을 결합하여 상대적으로 좋은 위치에 평화 포지션을 열 수 있으며, 이로 인해 우수한 전략 수익을 얻을 수 있다.

주요 장점은:

  1. 트렌드와 반향을 결합하여 반향점에서의 거래
  2. 탈퇴는 통제할 수 있고, 위험도 통제할 수 있습니다.
  3. 매개 변수 최적화 공간이 넓고 시장에 따라 조정할 수 있다.

위험 분석

슈퍼 트렌드 반전 전략에는 다음과 같은 위험 요소가 있습니다.

  1. 역전 실패 위험

반전 신호는 가짜 신호일 수 있고, 성공적으로 반전할 수 없고, 이 때 손실이 커질 수 있다.

  1. 매개변수 최적화 위험

부적절한 매개 변수 최적화로 인해 전략이 지나치게 잘 맞지 않아 시장의 변화에 적응할 수 없습니다.

  1. 기술적인 지표의 뒤처짐

모든 기술 지표가 뒤쳐져 있으며, 최적의 진입 위치를 놓칠 수 있다.

이러한 위험에 대해, 다른 지표의 조합, 매개 변수 최적화 방법의 조정 등의 방법으로 더 많은 최적화와 개선이 가능합니다.

최적화 방향

슈퍼 트렌드 역전 전략은 시장과 요구에 따라 다음과 같은 차원에서 최적화 될 수 있습니다.

  1. 슈퍼 트렌드 매개 변수를 최적화하여 다른 시장에 적응합니다.
  2. RSI 리버스 트리거 로직을 최적화하거나 개선합니다.
  3. 단편적 손실을 통제하기 위한 손실을 막는 전략을 강화
  4. 다른 지표와 함께 역전 신뢰성을 결정합니다.
  5. 거래량 지표를 추가하여 가짜 돌파구를 피하십시오.

요약하다

슈퍼 트렌드 역전 전략은 트렌드 거래와 역전 거래의 결합으로 진행할 수 있고, 역전 지점에서 포지션을 열 수 있다. 매개 변수를 지속적으로 테스트하고 최적화하여 위험을 적절히 제어함으로써, 이 전략은 안정적인 전략 수익을 얻을 수 있다. 최적화 할 수 있는 공간도 매우 넓으며, 실제 시장 상황에 따라 조정할 수 있다.

전략 소스 코드
/*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")