RSI 스톱 트레일링 트레이딩 전략


생성 날짜: 2024-03-28 17:56:58 마지막으로 수정됨: 2024-03-28 17:56:58
복사: 0 클릭수: 614
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

RSI 스톱 트레일링 트레이딩 전략

개요

이 전략은 상대적으로 강하고 약한 지수 ((RSI) 지표를 사용하여 시장 과매매 상황을 판단합니다. RSI가 30 미만일 때 포지션을 더 많이 열고, 포지션 개시 가격의 98.5%로 중지 손실을 설정합니다. 이 전략의 주요 아이디어는 시장에서 과매매 신호가 발생했을 때 출장하고, 위험을 엄격히 제어하고, 가격이 중지 가격보다 떨어지면 즉시 포지션을 종료합니다.

전략 원칙

  1. RSI를 계산하기 위해, 14개의 K선으로 마감 가격을 계산한다.
  2. RSI가 30보다 낮으면 오버셀 신호를 보내서 더 많이 내기 시작합니다.
  3. 포지션 개시와 동시에 포지션 개시 가격을 기록하고 포지션 개시 가격과 스톱 손실 비율 ((1.5%) 에 따라 스톱 손실 가격을 계산한다.
  4. 가격이 스톱로스 가격보다 떨어지면 즉시 매매를 중지한다.
  5. 포지션 평준화 후, 포지션 개시 가격과 포지션 중지 가격을 다시 설정하고 다음 포지션 개시 기회를 기다립니다.

전략적 이점

  1. 간단하고 이해하기 쉬우며, 논리적으로 명확하며, 초보자들도 학습하고 사용할 수 있습니다.
  2. 위험을 엄격히 통제하고, 스톱로스 가격을 설정하고, 스톱로스 가격을 만지면 즉시 청산하여 손실 확산을 최대한 방지한다.
  3. RSI를 통해 과매매 상황을 판단하여 시장이 단기간에 초하락한 후 재발 기회를 잡을 수 있습니다.
  4. 코드는 간결하고 효율적이며 실행 속도가 빠르며 거래 신호를 놓치지 않습니다.

전략적 위험

  1. RSI 지표는 낙후 지표로, 지표가 과매매되었지만 가격이 계속 하락하는 경우가 발생할 수 있으며, 이때 입장은 추가 손실 위험에 직면 할 수 있습니다.
  2. 고정 스톱 비율은 시장의 변동에 동적으로 대응하지 못할 수 있으며, 시장이 급격히 변동할 때 고정 스톱은 빈번한 스톱으로 이어지는 부진 기회를 놓치게 할 수 있다.
  3. 이 전략은 수익 목표가 없으며, 전적으로 손실을 막는 것에 의존하여 위험을 통제하며, 전체적으로 수익 수준이 낮아질 수 있습니다.

전략 최적화 방향

  1. RSI 지표 이외에, 다른 기술 지표 보조 판단을 도입하여 신호 정확성을 향상시킵니다. 예를 들어 MACD, KDJ 등
  2. 스톱 스포트 비율을 최적화하여, 역사 데이터에 따라 다른 스톱 스포트 비율을 테스트하여 최적의 스톱 스포트 설정을 찾을 수 있습니다.
  3. 손해의 기초에, 이동적 손해 또는 추적적 손해와 같은 동적 손해 중지 메커니즘을 추가하여 손해 차단을 더 유연하고 효과적으로 만든다.
  4. 수익 목표를 설정하고, 특정 수익 수준을 달성한 후 적극적으로 평점 포지션을 설정하고, 완전히 손실을 막는 출전에 의존하지 않습니다.

요약하다

RSI 중지 추적 거래 전략은 RSI 지표를 통해 과매매 상황을 판단하고, 동시에 고정 중지 비율을 엄격하게 제어합니다. 전체적인 아이디어는 간단하고 이해하기 쉽고, 초보자 학습에 적합합니다. 그러나이 전략은 지연성, 중지 장치의 단순성, 수익 수준이 높지 않은 문제도 있습니다. 실제 응용에서 지속적인 최적화 개선, 전략의 안정성 및 수익성을 향상시킬 필요가 있습니다.

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

//@version=5
strategy('RSI Trading Bot', overlay=true)

// RSI threshold value and stop loss percentage
rsiThreshold = 30
stopLossPercentage = 1.5

// Calculate RSI
rsiLength = 14
rsiValue = ta.rsi(close, rsiLength)

// Initialize variables
var bool positionOpen = false
var float entryPrice = na
var float stopLossPrice = na

// Enter position when RSI crosses below threshold
if ta.crossunder(rsiValue, rsiThreshold)
    strategy.entry('Long', strategy.long)
    positionOpen := true
    entryPrice := close
    stopLossPrice := entryPrice * (1 - stopLossPercentage / 100)
    stopLossPrice

// Exit position on stop loss
if positionOpen and close < stopLossPrice
    strategy.close('Long')
    positionOpen := false
    entryPrice := na
    stopLossPrice := na
    stopLossPrice

// Plot entry and stop loss prices
plot(entryPrice, title='Entry Price', color=color.new(color.green, 0), linewidth=2)
plot(stopLossPrice, title='Stop Loss Price', color=color.new(color.red, 0), linewidth=2)