RSI 롱-숏 모멘텀 전략


생성 날짜: 2023-10-26 17:05:40 마지막으로 수정됨: 2023-10-26 17:05:40
복사: 0 클릭수: 741
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

RSI 롱-숏 모멘텀 전략

개요

RSI 다공동 동력 전략은 전형적인 라리 코너스 RSI 지표에 기반하여 RSI 지표의 오버 바이 오버 세이 신호를 사용하여 구매와 판매를 결정하는 동력 전략이다. 이 전략은 주로 가격이 오버 바이 또는 오버 세이 상태에 있는지 판단하여 구매와 판매 신호로 사용한다.

전략 원칙

이 전략은 일정 기간 동안의 가격 상승과 하락의 동력을 계산하여 RSI 지표를 구성합니다. RSI 지표가 초과 판매 라인 10보다 낮으면 초과 판매로 간주되며, 지표가 초과 구매 라인 90보다 높으면 초과 구매로 간주됩니다. 전략은 RSI 지표가 낮은 곳에서 초과 판매 라인을 통과하면 구매 신호를 생성하고 RSI 지표가 높은 곳에서 초과 구매 라인을 통과하면 판매 신호를 생성합니다.

전략은 추가적으로 평균선 판단 규칙을 추가하여 5일 평균선이 200일 평균선보다 높을 때 구매 신호를 생성하고 5일 평균선이 200일 평균선보다 낮을 때 판매 신호를 생성하도록 요구합니다. 이것은 단기 반동으로 인한 가짜 신호를 필터링 할 수 있습니다.

또한, 전략은 정지 메커니즘을 추가한다. 상위 포지션을 보유할 때, RSI 지표에 90을 넘어서면 모든 상위 포지션을 강제적으로 평행한다. 상위 포지션을 보유할 때, RSI 지표 아래 10을 넘어서면 모든 상위 포지션을 강제적으로 평행한다. 이것은 수익을 잠금화하여 손실 확산을 방지 할 수 있다.

전략적 이점

  1. RSI 지표를 사용하여 과매매 현상을 판단하여 가격 반전의 시기를 잡을 수 있습니다.

  2. 평균선 필터를 추가하여 단기 잡음으로 인한 잘못된 거래를 줄일 수 있습니다.

  3. 리스크를 잘 조절할 수 있는 차단 장치가 설치되어 손실이 확대되는 것을 방지할 수 있다.

  4. 전략 규칙은 간단하고 명확하며, 이해하기 쉽다.

  5. RSI는 많은 주식과 디지털 화폐에 적용되는 일반적인 실용적인 기술 지표입니다.

전략적 위험

  1. RSI 지표의 역전 실패 가능성이 있다. 가격 오버 바이 오버 셀드는 반드시 역전될 수 없다.

  2. 일률적인 필터링은 더 나은 거래 기회를 필터링 할 수 있습니다.

  3. 정지 설정이 잘못되면 조기 정지할 수 있고, 더 긴 선을 잡을 수 없는 경향이 있다.

  4. RSI의 주기 길이를 계산하는 것과 같은 파라미터를 적절히 조정해야 합니다.

최적화 변수, 다른 지표의 조합, 적절히 느슨한 정지대를 사용하여 위와 같은 위험을 줄일 수 있습니다.

전략 최적화 방향

  1. 다른 주기 RSI 지표의 효과를 테스트할 수 있다.

  2. KDJ, MACD 등과 RSI 형성 조합을 추가할 수 있다.

  3. 시장 상황에 따라 과매매한 값이 조정될 수 있다.

  4. 포지션 보유 시간에 따라 RSI 값을 조정할 수 있습니다.

  5. 손실이 일정 비율에 도달했을 때 손실을 중지하는 전략을 추가할 수 있습니다.

  6. 동적 추적 스톱로로 전환하여 일률적인 시스템을 최적화 할 수 있습니다.

요약하다

RSI 다공동량 전략은 RSI 지표를 사용하여 과매매 상태를 판단하는 신호로, 평균선과 정지 규칙에 필터링 필터링을 추가하여 단기 반전 기회를 효과적으로 잡을 수 있습니다. 이 전략은 간단하고 실용적이며, 더 넓은 시장 상황에 맞게 추가 테스트를 통해 최적화 할 가치가 있습니다.

전략 소스 코드
/*backtest
start: 2023-09-25 00:00:00
end: 2023-10-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//authour: SudeepBisht
//@version=3
//Based on Larry Connors RSI-2 Strategy - Lower RSI
strategy("SB_CM_RSI_2_Strategy_Version 2.0", overlay=true)

src = close
entry= input(defval=0,title="Entry area")
entry:=nz(entry[1])
overBought=input(90)
overSold=input(10)
//RSI CODE
up = rma(max(change(src), 0), 2)
down = rma(-min(change(src), 0), 2)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
//Criteria for Moving Avg rules
ma5 = sma(close,5)
ma200= sma(close, 200)

//Rule for RSI Color
col = close > ma200 and close < ma5 and rsi < 10 ? lime : close < ma200 and close > ma5 and rsi > 90 ? red : silver
chk= col==red?-1:col==lime?1:0

if (not na(rsi))
    if (crossover(rsi, overSold))
        if(chk[1]==1)
            strategy.entry("RsiLE", strategy.long, comment="RsiLE")
            entry:=1
    if (crossunder(rsi, overBought))
        if(chk[1]==-1)
            strategy.entry("RsiSE", strategy.short, comment="RsiSE")
            entry:=-1
        
if (not na(rsi))
    if (crossover(rsi, overSold) and entry==-1)
        strategy.close_all()
        //strategy.entry("RsiLE", strategy.long, comment="RsiLE")
        entry:=0
    if (crossunder(rsi, overBought) and entry==1)
        strategy.close_all()
        //strategy.entry("RsiSE", strategy.short, comment="RsiSE")
        entry:=0