슈퍼 트렌드 역전 전략

저자:차오장, 날짜: 2023-12-28 15:50:35
태그:

img

전반적인 설명

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

전략 원칙

슈퍼 트렌드 역전 전략은 두 가지 주요 부분으로 구성됩니다.

  1. 시장 동향을 판단하는 슈퍼 트렌드 지표

    슈퍼 트렌드 인디케이터는 트렌드 방향을 결정하기 위해 현재 가격과 특정 기간 동안의 평균 실제 범위를 기반으로 가격 범위를 계산합니다. 가격이 상단 레일을 뚫면 상승세를 나타냅니다. 가격이 하단 레일을 뚫면 하락세를 나타냅니다.

  2. 반전을 식별하는 RSI 지표

    RSI 지표 는 특정 기간 동안의 상승 및 하락 날 수를 비교하여 현재 과잉 매입 또는 과잉 판매 여부를 판단합니다. 슈퍼 트렌드 지표와 결합하면 트렌드 역전의 기회를 탐지 할 수 있습니다.

    이 전략에서, 특정 변환을 통해, 우리는 처리된 RSI 곡선을 얻고 임계선을 설정합니다. RSI 곡선이 해당 임계선을 통과하면 구매 및 판매 신호가 생성됩니다.

이점 분석

슈퍼 트렌드 역전 전략은 트렌드 및 역전 지표를 결합하여 트렌드 강도와 과잉 구매/ 과잉 판매 현상을 포괄적으로 고려하여 상대적으로 좋은 위치에서 포지션을 열고 닫을 수 있습니다. 더 나은 전략 수익을 얻기 위해.

주요 장점은 다음과 같습니다.

  1. 트렌드와 반전, 반전 지점에서의 거래
  2. 통제 가능한 마취, 더 나은 위험 통제
  3. 시장에 따라 조정 가능한 큰 매개 변수 최적화 공간

위험 분석

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

  1. 역전 실패 위험

    반전 신호는 잘못된 신호일 수 있고, 반전 신호가 성공적으로 반전되지 않아 손실이 증가할 수 있습니다.

  2. 매개 변수 최적화 위험

    부적절한 매개 변수 최적화는 전략의 과도한 적합성 및 시장 변화에 적응 할 수없는 원인이 될 수 있습니다.

  3. 기술 지표 지연

    모든 기술 지표는 지연을 가지고 있으며, 아마도 가장 좋은 입점 위치를 놓치고 있습니다.

이러한 위험을 해결하기 위해 우리는 다른 지표를 결합하고 매개 변수 최적화 방법을 조정함으로써 더 이상 최적화하고 개선 할 수 있습니다.

최적화 방향

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

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







더 많은