상대 강도 지수(RSI) 전략


생성 날짜: 2023-11-02 15:54:24 마지막으로 수정됨: 2023-11-02 15:54:24
복사: 0 클릭수: 696
avatar of ChaoZhang ChaoZhang
1
집중하다
1621
수행원

상대 강도 지수(RSI) 전략

개요

RSI 전략은 상대적으로 강한 지표 RSI에 따라 거래하는 전략이다. 이 전략은 RSI의 오버 바이드 오버 셀드 영역을 사용하여 시장의 오버 바이드 오버 셀드 상태를 판단하여 가격 반전의 기회를 잡는다. RSI가 오버 셀드 영역에 진입할 때 더하고, 오버 바이드 영역에 진입할 때 공백을 만들고, 가격의 극한에서 평균으로 돌아가는 기회를 잡기 위해한다.

전략 원칙

RSI 전략의 핵심 논리는 RSI 지표의 계산 원리에 기초한다. RSI 지표는 한 기간 동안의 평균 마감 상승과 평균 마감 하락을 비교하여 증권 가격의 강점을 측정하는 기술적 분석 도구입니다. 계산 공식은 다음과 같습니다.

RSI = 100 - (100 / (1 + RS))

그 중, RS = 근 n일 평균 종결 상승/ 근 n일 평균 종결 감소

공식에 따르면, RSI 값은 0에서 100 사이로 고정된다. 증권 가격이 지속적으로 상승하면 평균 종결 상승률이 평균 종결 감소률보다 훨씬 높을 때 RSI는 100에 가깝게 될 것이다. 증권 가격이 지속적으로 떨어지면 평균 종결 감소률이 평균 종결 상승률보다 훨씬 높을 때 RSI는 0에 가깝게 될 것이다.

RSI 전략은 RSI가 과매매 구역에 들어가면 (일반적으로 30보다 낮다고 생각되는) 증권이 과매매 될 수 있음을 나타냅니다. 이 때 더 많이 할 수 있습니다. RSI가 과매매 구역에 들어가면 (일반적으로 70 이상이라고 생각되는) 증권이 과매매 될 수 있음을 나타냅니다.

구체적으로 보면, 이 전략 코드는 Length 파라미터를 설정하여 RSI의 계산주기를 지정하고, Oversold 및 Overbought 파라미터를 설정하여 RSI의 오버볼드 오버볼드 영역 마이너스를 지정한다. 현재 RSI 값과 마이너스의 관계에 따라 더 많은 하락 신호를 판단한다. 동시에 거래 방향을 제어하기 위해 리버스 파라미터를 설정한다.

전략적 이점

RSI 전략의 가장 큰 장점은 간단하고 사용하기 쉽다는 것입니다. RSI는 매우 일반적인 기술 지표이며, 대부분의 거래 소프트웨어는 RSI 기능을 내장하고 있습니다. 이 전략은 RSI 지표를 직접 호출하여 거래 신호 판단을 수행합니다. 복잡한 수학 계산과 모델이 필요하지 않으며, 이해하기 쉽고 사용하기 쉽습니다.

또 다른 장점은 변수 설정의 유연성이다. 전략은 사용자 정의 RSI 계산 사이클과 오버 바이 오버 시드 영역 마이너스를 허용하며, 다른 시장에 따라 변수를 조정하여 시장 변화에 더 잘 적응 할 수 있다. 또한, 역거래 설정은 전략의 유연성을 증가시킨다.

RSI 전략은 또한 높은 승률을 가지고 있다. 오버 바이 오버 셀 현상을 추적하여 거래 신호를 형성하기 때문에, 곡선 상회 정리 단계의 헤드 가짜 신호를 효과적으로 필터링 할 수 있으며, 시장에 진입 할 때 트렌드가 있는지 확인 할 수 있다. 이것은 또한 RSI 전략이 트렌드적인 행동에서 더 나은 수익을 얻을 수 있게 한다.

전략적 위험

RSI 전략의 첫 번째 위험은 가짜 신호를 쉽게 생성한다는 것입니다. 가격이 단기 조정되어 있지만 트렌드 반전이 발생하지 않을 때 RSI는 일시적으로 과매도 영역으로 들어서 반대 방향으로 잘못된 신호를 발산 할 수 있습니다. 거래자가 이러한 신호를 따라 역으로 포지션을 설정하면 손실이 발생할 수 있습니다.

또 다른 위험은 RSI가 이탈하는 것입니다. 가격 변동이 새로운 추세를 형성했을 수도 있지만 RSI 지표는 이전 과잉 구매 과잉 판매 영역에 머물러 있습니다. 이 시점에 생성 된 신호는 잘못된 것입니다.

또한, RSI 단 하나의 지표에 의존하여 가격 움직임과 대시장 환경을 무시하는 데에는 약간의 맹목성이 있으며, 이는 전략의 체계적 위험을 높일 것입니다.

전략 최적화 방향

RSI 전략은 다음과 같은 측면에서 최적화될 수 있습니다.

  1. MACD, 브린 띠 등과 같은 다른 지표 필터 신호와 결합하여 가짜 신호를 피합니다.

  2. 단독 손실을 방지하기 위해 손해 방지 장치를 추가하십시오.

  3. 대시장 흐름과 시장 환경에 따라 조정된 파라미터, 예를 들어, 황시에서는 과매매선을 높이고, 곰시에서는 과매매선을 낮춘다.

  4. 거래 시간을 최적화하고, 중요한 뉴스 이벤트를 피하고, 트렌드가 뚜렷할 때만 거래하십시오.

  5. 트렌드 가속화 시점에 포지션을 늘리고 트렌드를 활용하는 방법

  6. 대기 기간을 설정하여 RSI가 오버 바이 오버 셀 영역에서 단기간에 벗어나는 반향 신호를 방지합니다.

  7. 고정 거래량, 포지션 크기를 제어하는 것과 같은 자금 관리 전략을 늘립니다.

요약하다

RSI 전략은 매우 전형적인 과매매 현상을 추적하는 역전 전략이다. 그것은 간단하고 실용적이며, 변수는 조정할 수 있으며, 명백한 과매매 과매매 추세 상황이 발생했을 때 더 나은 수익을 얻을 수 있다. 그러나 또한 다른 지표와 함께 최적화를 수행하고 손실을 제어하는 자금 관리를 강화해야하는 일정한 체계적인 위험도 있다. 적절하게 사용하면 RSI 전략은 단선 유저가 더 안정적인 수익을 얻는 효과적인 도구가 될 수 있다.

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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 10/01/2017
// The RSI is a very popular indicator that follows price activity. 
// It calculates an average of the positive net changes, and an average 
// of the negative net changes in the most recent bars, and it determines 
// the ratio between these averages. The result is expressed as a number 
// between 0 and 100. Commonly it is said that if the RSI has a low value, 
// for example 30 or under, the symbol is oversold. And if the RSI has a 
// high value, 70 for example, the symbol is overbought. 
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Strategy RSI", shorttitle="Strategy RSI", overlay = true )
Length = input(12, minval=1)
Oversold = input(30, minval=1)
Overbought = input(70, minval=1)
reverse = input(false, title="Trade reverse")
xRSI = rsi(close, Length)
pos = iff(xRSI > Overbought, 1,
	   iff(xRSI < Oversold, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )