엘스 평활화 스토캐스틱 상대강도지수 전략
개요
이 전략의 주요 아이디어는 Ehlers SuperSmoother 필터를 사용하여 Stochastic RSI 지표를 가공 처리함으로써 많은 거짓 신호를 걸러내고 더 신뢰할 수 있는 거래 신호를 얻는 것입니다. 기본 원리는 먼저 Stochastic RSI를 계산한 후, Ehlers SuperSmoother 필터로 평활화하고, 마지막으로 자체 이동 평균선과의 교차를 이용해 매수/매도 신호를 생성하는 것입니다.
전략 원리
이 전략은 먼저 종가의 로그값에 대한 RSI 지표를 계산한 후, RSI를 기반으로 Stochastic 지표를 계산합니다. 이는 전형적인 Stochastic RSI 지표입니다. 거짓 신호를 걸러내기 위해 Ehlers SuperSmoother 필터로 Stochastic RSI를 가공하고, 최종적으로 Stochastic RSI 라인이 자체 이동 평균선과 골든 크로스 시 매수, 데드 크로스 시 매도합니다. 따라서 이 전략의 핵심 포인트는 다음과 같습니다. 1) Stochastic RSI 지표 계산, 2) Ehlers SuperSmoother 필터 사용, 3) 이동 평균선과의 거래 신호 형성.
장점 분석
이 전략의 가장 큰 장점은 Ehlers SuperSmoother 필터를 사용하여 많은 거짓 신호를 효과적으로 걸러내 거래 신호의 신뢰성을 높인다는 점입니다. 또한 Stochastic RSI 지표 자체가 돌파성과 추세 추종 능력이 뛰어나므로, 이 전략은 추세를 정확히 식별하고 적절한 시점에 포지션을 진입 및 청산할 수 있습니다.
위험 분석
이 전략의 주요 위험은 시장이 크게 변동할 때 잘못된 신호가 발생하기 쉽다는 점입니다. 가격이 좁은 범위 내에서 크게 움직일 때 Stochastic RSI 지표는 많은 상승 및 하락 거짓 신호를 생성하며, 이때 Ehlers SuperSmoother 필터의 효과도 떨어질 수 있습니다. 또한 급격한 시장 움직임에서 지표의 지연성이 일부 위험을 초래할 수 있습니다.
이러한 위험을 줄이기 위해 Stochastic 기간을 늘리거나 평활도를 낮추는 등 매개변수를 적절히 조정하여 거짓 신호를 추가로 걸러낼 수 있습니다. 또한 다른 지표나 패턴과 결합하여 다중 필터 조건을 형성함으로써 잘못된 신호로 인한 위험을 피할 수 있습니다.
최적화 방향
이 전략은 주로 다음과 같은 측면에서 최적화할 수 있습니다.
-
매개변수 설정 최적화: Stochastic RSI 지표의 길이, 평활 상수 등 매개변수를 세밀하게 테스트하여 최적의 조합을 찾을 수 있습니다.
-
손절 메커니즘 추가: 이동 손절 또는 지정가 손절을 설정하여 수익을 확보하고 하락폭을 줄일 수 있습니다.
-
다른 지표나 패턴과 결합: 변동성 지표, 이동 평균 등과 결합하여 다중 필터 조건을 형성함으로써 위험을 더욱 줄일 수 있습니다.
-
큰 시간대 분석 결과에 따라 포지션 크기 조정: 더 높은 시간대의 추세 분석 결과에 따라 각 거래의 포지션 규모를 동적으로 조정할 수 있습니다.
요약
본 전략은 먼저 Stochastic RSI 지표를 계산한 후, Ehlers SuperSmoother 필터로 가공 처리하고, 마지막으로 자체 이동 평균선과의 교차를 통해 거래 신호를 생성하여 추세를 정확히 판단합니다. 전략의 장점은 지표와 필터의 조합 사용으로 거짓 신호를 효과적으로 걸러내 높은 확률의 거래 기회를 얻는 데 있습니다. 위험은 주로 부적절한 매개변수 설정과 손절 메커니즘 부재에서 발생합니다. 매개변수 최적화, 손절 추가 및 조합 최적화 등의 방법을 통해 전략의 안정성과 수익성을 더욱 높일 수 있습니다.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("ES Stoch RSI Strategy [krypt]", overlay=true, calc_on_order_fills=true, calc_on_every_tick=true, initial_capital=10000, currency='USD')
//Backtest Range- 1

