RSI 추세 추종 이동 손절매 전략
개요
해당 전략은 RSI 지표를 활용하여 추세를 식별하고, 이동 평균선을 결합하여 추세를 확인한 후 손절매와 이익 실현을 설정하는 자동 거래 전략입니다. RSI가 68보다 크고 현재 이동 평균선이 이전 이동 평균선을 상향 돌파하면 매수하고, RSI가 28보다 작고 현재 이동 평균선이 이전 이동 평균선을 하향 돌파하면 매도합니다. 또한 손절매와 이익 실현 지점을 설정합니다.
전략 원리
이 전략은 주로 RSI 지표를 이용하여 과매수 및 과매도 현상을 판단하고 추세를 식별합니다. RSI가 70보다 크면 과매수 구간, 30보다 작으면 과매도 구간으로 간주합니다. 이동 평균선의 골든 크로스와 데드 크로스를 결합하여 추세를 확인합니다. 구체적인 거래 신호는 다음과 같습니다.
매수 신호: RSI가 68보다 크고 현재 이동 평균선이 이전 이동 평균선을 상향 돌파하면 매수합니다.
매도 신호: RSI가 28보다 작고 현재 이동 평균선이 이전 이동 평균선을 하향 돌파하면 매도합니다.
손절매와 이익 실현은 각 포지션에 대해 서로 다른 비율로 설정되며, 더 느슨한 것에서 더 엄격한 순서로 다음과 같습니다.
매수 이익 실현: 고점의 1.4%에서 포지션의 절반을 이익 실현하고, 고점의 0.8%에서 전체 포지션을 청산합니다.
매수 손절매: 진입 가격의 2%에서 손절매를 설정합니다.
매도 이익 실현: 저점의 0.4%에서 포지션의 절반을 이익 실현하고, 저점의 0.8%에서 전체 포지션을 청산합니다.
매도 손절매: 진입 가격의 2%에서 손절매를 설정합니다.
또한 추세가 반전될 경우, 예를 들어 매수 중 RSI가 30 아래로 하락하면 시장가로 전체 포지션을 청산하고, 매도 중 RSI가 60 위로 상승하면 시장가로 전체 포지션을 청산합니다.
전략 장점
- RSI 지표를 사용하여 과매수 및 과매도 현상을 판단함으로써 고점 추격과 저점 매도를 피합니다.
- 이동 평균선을 통한 추세 필터링으로 비주류 방향의 거래를 줄입니다.
- 단계적 이익 실현 설정으로 수익을 극대화합니다.
- 비교적 높은 손절매 지점 설정으로 추세에 적절한 공간을 제공합니다.
- 추세 전환 지표를 활용한 반대 방향 청산 전략으로 돌발 상황에 신속하게 대응합니다.
전략 위험
- RSI 매개변수 설정 문제로 식별 효과가 저조할 수 있습니다.
- 이동 평균선 매개변수 설정 문제로 필터링 효과가 좋지 않을 수 있습니다.
- 손절매 지점이 너무 느슨하여 손실이 확대될 위험이 있습니다.
- 이익 실현 지점이 너무 빡빡하여 수익을 극대화하지 못할 수 있습니다.
- 반전 청산 전략의 판단 오류로 불필요한 손실이 발생할 수 있습니다.
위험을 완화하기 위해 매개변수를 여러 번 테스트하고 최적화해야 합니다. 손절매와 이익 실현 설정은 적절해야 하며, 일정 범위 내에서 여유를 두고 시장 변동성에 따라 매개변수를 조정해야 합니다. 청산 전략은 신중하게 적용하여 지표 오판으로 인한 손실을 피해야 합니다.
최적화 방향
다음과 같은 측면에서 추가 최적화가 가능합니다.
- 더 많은 필터링 지표를 추가하여 신호 정확도를 높입니다. 예를 들어 거래량 필터를 추가합니다.
- 손절매 전략을 조정하여 최고가와 최저가를 추적하는 이동 손절매를 구현합니다.
- 일부 이익 실현을 추적 이익 실현으로 변경하여 수익을 극대화합니다.
- 데이터 소스 전환을 추가하고, 다양한 종목에 대해 서로 다른 주기 등의 매개변수 조합을 사용합니다.
- 선물 공매도 포지션 보유 비용을 고려하여 손절매와 이익 실현을 동적으로 조정합니다.
요약
해당 전략은 전반적으로 비교적 성숙하고 신뢰할 수 있는 추세 추종 전략입니다. RSI를 사용하여 과매수 및 과매도 현상을 판단하고 거래 방향을 결정합니다. 이동 평균선을 사용하여 필터링 및 확인을 수행합니다. 또한 적절한 손절매와 단계적 이익 실현을 설정합니다. 추세에서 좋은 수익을 얻을 수 있습니다. 매개변수 최적화가 잘 이루어지면 추세 장세에서 뛰어난 성과를 보입니다. 추가 최적화를 통해 더 우수한 성과를 얻을 수 있습니다.
// © CRabbit
//@version=5
// Starting with $100 and using 10% of the account per trade
strategy("RSI Template", shorttitle="RSI", overlay=false, initial_capital=100, default_qty_value=10, default_qty_type=strategy.percent_of_equity)
// RSI Indicator
ma(source, length, type) =>
switch type
"SMA" => ta.sma(source, length)
"Bollinger Bands" => ta.sma(source, length)
"EMA" => ta.ema(source, length)- 1

