RSI 반전 전략

저자:차오장, 날짜: 2024-01-19 14:24:09
태그:

img

전반적인 설명

RSI 반전 전략은 RSI 지표와 평형 이동 평균을 계산하여 주가가 과소매 또는 과소매인지 결정하여 구매 및 판매 신호를 생성합니다. 이 전략은 주가 반전되면 수익을 창출하기 위해 RSI 지표의 반전 특성을 활용합니다.

전략 논리

이 전략은 먼저 14주기 RSI를 계산하고 0-100로 정상화한다. 그 다음 RSI의 5주기 가중화 이동 평균을 계산하고, 접수 함수를 사용하여 -1에서 1로 매핑한다. 매핑된 RSI가 -0.8 이상으로 넘으면 구매 신호가 생성된다. 1 이하로 넘으면 판매 신호가 생성된다. 매핑 및 임계 판단 방법은 여기서 RSI 지표의 반전 신호를 감지하는 데 사용됩니다.

이 전략은 달과 날짜 범위도 설정하여 지정된 달과 날짜에만 실행됩니다.

장점

  • RSI 지표의 반전 특성을 활용하여 가격 반전 지점에서 거래 신호를 생성하고 반전 기회를 포착합니다.
  • RSI에 대한 지도와 임계 판단은 신호를 더 명확하게 합니다.
  • 달과 날짜를 설정할 수 있고, 사용에 유연합니다.

위험성

  • RSI 역전 신호는 잘못된 거래 신호로 이어지는 잘못된 신호를 가질 수 있습니다. 이것은 RSI 매개 변수를 조정하거나 다른 필터를 추가하여 감소 할 수 있습니다.
  • 단일 RSI 지표에만 의존하면 가짜 신호에 취약하게됩니다. 다른 지표 또는 요인을 추가하면 전략 안정성이 향상 될 수 있습니다.
  • 고정된 달 및 날짜 범위는 다른 기간 동안 거래 기회를 놓칠 수 있습니다. 더 유연한 실행 시간을 구성 할 수 있습니다.

최적화 방향

  • 더 많은 매개 변수 조합을 테스트하여 RSI와 이동 평균 기간 사이의 최적의 일치점을 찾으십시오.
  • 부피나 변동성 같은 지표를 추가하여 반전 신호를 확인하고 잘못된 신호를 줄이세요.
  • 더 많은 거래 기회를 다루기 위해 달과 날짜 범위를 최적화하고 조정합니다.
  • 리스크를 제어하기 위해 스톱 로스 메커니즘을 추가합니다.

요약

RSI 역전 전략은 RSI 지표를 기반으로 간단한 역전 거래 규칙을 구축하여 가격 역전 기회를 효과적으로 포착합니다. 전략은 구현하기가 쉽지만 매개 변수 최적화, 위험 통제 메커니즘 등을 통해 향상 될 수 있으며 안정적이고 수익성이 높은 양적 거래 전략입니다.


/*backtest
start: 2023-01-12 00:00:00
end: 2024-01-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title="RSI Reverse", shorttitle="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


plot(RVS_RSI,color=red)
plot(threshold1,color=blue)
plot(threshold2,color=blue)

buycon = crossover(RVS_RSI,threshold2)
sellcon = crossunder(RVS_RSI , threshold1)

monthfrom =input(6)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)


if (  buycon  ) 
    strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND", comment="BUY")
    
else
    strategy.cancel(id="BUY")


if ( sellcon) 

    strategy.close("BUY")
    





더 많은