RSI 범위 거래 전략


생성 날짜: 2023-11-06 16:12:23 마지막으로 수정됨: 2023-11-06 16:12:23
복사: 0 클릭수: 655
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

RSI 범위 거래 전략

개요

RSI 간격의 흔들림 거래 전략은 RSI가 오버 바이 오버 소드 범위에 도달했을 때 역거래를 통해 가격의 흔들림 영역에서 이익을 얻습니다. 이 전략은 가격이 영원히 단독으로 상승하거나 하락하지 않을 것이라는 가정에 기초하여 RSI가 오버 바이 오버 소드 범위에 도달했을 때 가격 회전을 잡는 기회를 통해 수익을 얻습니다.

전략 원칙

이 전략은 RSI 지표를 계산하여 가격이 초과 구매 또는 초과 판매 범위에 도달했는지 여부를 판단합니다. 구체적으로, 전략은 먼저 RSI 지표의 길이를 2 주기로 계산합니다. 그리고 RSI 초과 구매 라인을 91으로 설정하고, 초과 판매 라인을 11으로 설정합니다. RSI 상에서 초과 판매 범위를 통과 할 때, 공백; RSI 아래에서 초과 판매 범위를 통과 할 때, 더 많이하십시오.

위험을 제어하기 위해, 전략은 또한 손실을 중지하는 기술을 설정한다. 구체적으로, 더 많은 것을 할 때, 가격이 장시간 가격의 0.5% 이상을 아래로 이동하면 평준을 중지한다.

종합적으로, 이 전략의 핵심 논리는: RSI 지표를 모니터링하여 가격 오버 바이 오버 소드를 판단하고, 구성된 RSI 파라미터에 따라 역거래를 하며, 위험을 제어하기 위해 스톱을 설정하는 것입니다.

우위 분석

  • RSI를 이용해서 오버 바이 오버 소드를 판단하는 것은 좀 더 고전적이고 신뢰할 수 있는 거래 신호입니다.

  • 역거래는 가격의 일방적인 상승과 하락이 영원히 일어나지 않는다는 가정에 부합하는 과매매를 통해 가격 간격의 변동으로부터 이익을 얻을 수 있다.

  • 단일 거래의 손실을 제어하기 위해 중지 손실을 설정하십시오.

  • 전략적 피드백 프레임워크는 간단하고 명확하며, 이해하기 쉽고 수정할 수 있습니다.

  • RSI 파라미터와 스톱 로드 폭은 시장의 변화에 따라 유연하게 설정할 수 있다.

위험 분석

  • RSI는 트렌드 지표로서, 변동이 아닌 지속적인 가격 트렌드가 발생하면 이 전략은 연속적인 손실을 초래할 수 있다.

  • RSI 파라미터가 잘못 설정되어 거래 신호가 증가하지만 승률이 낮을 수 있습니다.

  • 스톱 손실이 적절하게 설정되지 않으면, 가격의 작은 부분으로 스톱 손실이 유발되거나, 단일 손실이 너무 커질 수 있습니다.

  • 이 전략은 역동적인 시장환경에 더 적합하며, 현저한 추세가 있는 시장에서는 효과가 좋지 않을 수 있다.

  • 너무 큰 포지션을 설정하는 것은 또한 단편적 손실을 증가시킬 수 있습니다.

최적화 방향

  • 다른 지표들 (MACD 등) 과 RSI를 결합하여 포트폴리오 신호를 형성하여 거래 의사결정의 정확성을 높일 수 있다.

  • RSI의 통계적 특성을 연구하여 최적의 변수 조합을 찾을 수 있다.

  • 포지션 비율 동적 조정 메커니즘을 설정할 수 있으며, 피드백에서 그 효과를 테스트할 수 있다.

  • ATR과 같은 지표로 스톱 로드 폭을 계산하는 것을 고려할 수 있으며, 스톱 로드를 더 적응적으로 만들 수 있다.

  • 기계학습과 같은 방법을 결합하여 최적의 파라미터 조합을 찾을 수 있다.

  • RSI와 결합된 다른 역전 거래 전략을 탐색하여 보다 안정적인 거래 시스템을 형성할 수 있습니다.

요약하다

RSI 간격의 흔들림 거래 전략은 간단한 RSI 지표에 의해 가격 과매매를 판단하여 역거래를 하고, 손실 통제 위험을 설정한다. 이 전략은 흔들림 반동의 시장 환경에 적합하며, 간격의 가격 변동을 포착하여 이익을 얻는다. 그러나 RSI가 트렌드 지표로서의 한계도 있다. 이 전략은 트렌드가 명백한 시장에는 적합하지 않을 수 있다.

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

//@version=5
strategy("Simple RSI Strategy", overlay=true)

var rsiLength = input(2, title = "rsi Length")
var float rsiBuyLevel = input(11, title = "What rsi level triggers a long")
var float rsiShortLevel = input(91, title = "What rsi level triggers a short")
var float maxRisk =  input(.05, title="Maximum risk/ trade")
var chartEntryStop = input(.005, title="Max Movment in the opposite direction / trade")
var float longEntryPrice = na
var float shortEntryPrice = na 
rsiValue = ta.rsi(close, rsiLength)

var float maxRiskValue = (strategy.equity * maxRisk) / chartEntryStop
var float maxRsi = 0

//Conditions


// Strategy Execution
if( close <= longEntryPrice-(longEntryPrice*chartEntryStop ))
    strategy.close("Long")

if( close >= shortEntryPrice+(shortEntryPrice*chartEntryStop ))
    strategy.close("Short")

if (rsiValue <= rsiBuyLevel and maxRsi == rsiShortLevel)
    maxRsi := rsiBuyLevel 
    strategy.close("Short")
    strategy.entry("Long", strategy.long)
    longEntryPrice := close
    
   
else if (rsiValue >= rsiShortLevel and maxRsi == rsiBuyLevel)
    maxRsi := rsiShortLevel
    strategy.close("Long")
    strategy.entry("Short", strategy.short)
    shortEntryPrice := close

else if (rsiValue >= rsiShortLevel )
    maxRsi := rsiShortLevel
    strategy.close("Long")

else if (rsiValue <= rsiBuyLevel )
    maxRsi := rsiBuyLevel
    strategy.close("Short")