글 목차
근거와 범위
Fidelity와 TradingView는 RSI와 다이버전스에 대해 설명하고 있으며, TA-Lib은 수치 비교를 위한 구현 예제를 제공합니다. 하지만 이러한 참고 자료들은 본 문서에서 제안하는 구성의 승률이나 수익성을 입증하는 것은 아닙니다.
실전 적용 절차
- RSI를 계산하세요초기값·평활화·워밍업 규칙을 고정합니다.
- 두 개의 피벗을 기다리세요확인된 같은 유형의 극값을 짝짓습니다.
- 관계를 분류하세요가격, RSI 및 이전 맥락을 비교하십시오.
- 가격 확인을 기다리세요중간 스윙과 TTL을 고정합니다.
- 순가치를 측정합니다구조적 가격만을 고려한 기준선과 비교하십시오.
모멘텀 약화는 추세 반전과 같은 의미가 아닙니다.
Fidelity는 강한 추세에서 RSI가 극단적 수준을 유지할 수 있다고 설명합니다[1]. 따라서 RSI가70을 넘었다고 자동 매도해서는 안 됩니다. 가격 고점은 높아지는데 RSI 고점은 낮아지는 경우에도 가격이 더 오를 수 있습니다. 지속적 반전 전에 여러 다이버전스 후보가 나타날 수 있고, 전략의 관측 기간 안에 반전하지 않는 추세도 있습니다.
RSI는 평활화된 양수 및 음수 종가 변화를 비교합니다. TradingView는 RMA 기반 계산인 [2]를 문서화합니다. 제안된 구현은 gain=max(C[t]−C[t−1],0)와 loss=max(C[t−1]−C[t],0)를 설정하고, 14 변화의 평균으로 초기값을 설정한 후, L에 대해 동일한 재귀를 사용하여 G=(13G+gain)/14를 업데이트합니다. 이때 G+L>0, RSI=100G/(G+L)가 사용됩니다.
가격과 RSI는 독립적인 증거가 아닙니다. RSI는 가격으로부터 계산됩니다. 발산은 극단적인 가격과 그 가격에 도달하는 경로 사이의 유용한 차이를 나타낼 수 있지만, 가격 설정과 일치하는 두 번째 레이블이 있다고 해서 증거가 자동으로 두 배가 되는 것은 아닙니다.
네 가지 변형 모두 명확한 기준점과 맥락이 필요합니다.
기준선은 동일한 유형의 연속적인 가격 피벗을 쌍으로 만들고 각 피벗의 occurred_at에서 RSI를 샘플링합니다. 두 번째 피벗이 확인된 후에만 해당 쌍을 평가하십시오. RSI 앵커를 가장 매력적인 오실레이터 극단값으로 여러 봉 동안 이동시키지 마십시오. 별도의 RSI 피벗 검출기를 사용하려면 일치하는 윈도우와 두 검출기 모두의 가용성이 필요합니다.
제안 허용폭은 두 번째 피벗 이전의 ATR로 구한 epsilon=0.1×ATR와 RSI 포인트 단위의 d=5입니다. 일반 강세 다이버전스는 가격 저점 하락과 RSI 상승, 히든 강세는 이미 성립한 상승 추세 안에서 가격 저점 상승과 RSI 하락을 요구합니다. 약세는 해당 관계를 반대로 적용합니다. 맥락은 첫 기준점 이전에 이미 알려져 있어야 합니다.
크기 필터는 미세한 수치 차이가 발산 레이블로 인식되는 것을 방지하지만, 그 유용성은 검증이 필요합니다. 원시 가격 차이, RSI 차이 및 막대 간격을 기록하여 거부된 후보를 다른 과거 선택 기준을 다시 계산하지 않고 분석할 수 있도록 합니다.
| 유형 | p2의 가격 대 p1의 가격 | p2와 p1의 RSI 비교 | 제안된 사전 맥락 |
|---|---|---|---|
| 일반 강세 | 앞선 점보다 낮고 그 차이가epsilon을 초과 | 앞선 점보다 높고 그 차이가d를 초과 | 선행 하락 |
| 일반 약세 | 앞선 점보다 높고 그 차이가epsilon을 초과 | 앞선 점보다 낮고 그 차이가d를 초과 | 선행 상승 |
| 숨겨진 강세 | 앞선 점보다 높고 그 차이가epsilon을 초과 | 앞선 점보다 낮고 그 차이가d를 초과 | 상승 추세 확정 |
| 숨겨진 하락세 | 앞선 점보다 낮고 그 차이가epsilon을 초과 | 앞선 점보다 높고 그 차이가d를 초과 | 하락 추세 확정 |
when p2 becomes confirmed:
p1 = previous_confirmed_pivot_of_same_kind(p2)
if p1 is None or RSI[p1.i] is missing or RSI[p2.i] is missing: return
bull_regular = p2.price < p1.price-eps and RSI[p2.i] > RSI[p1.i]+d
if bull_regular:
trigger = highest_confirmed_swing_between(p1,p2)
freeze_candidate(p1,p2,trigger,expires_in=10)
# Evaluate a close crossing only after activation.
# If the trigger was crossed before activation, reject or use a separate late-entry version.
워밍업 및 경계값은 재현 가능해야 합니다.
TA-Lib의 소스 코드는 시드 값과 수치적 동작([3]) 확인을 지원하지만, 플랫폼별 출력 결과는 비교 없이 동일하다고 가정해서는 안 됩니다. 제안된 플랫 시리즈 규칙은 G=L=0일 때 플랫 플래그를 사용하여 RSI=50를 설정합니다. L=0<G인 경우 RSI=100, G=0<L인 경우 RSI=0로 설정합니다. 이러한 분기를 명시적으로 테스트하십시오.
피벗은 미조정 고가·저가에서 찾으면서 RSI는 주식분할 조정 종가로 계산하는 식으로 서로 다른 가격 기준을 섞지 마십시오. 누락 봉은 평활화와 피벗 위치 모두를 바꿀 수 있습니다. 연구 명세에 지표 버전, 초기값, 룩백, 피벗 규칙과 허용폭을 저장합니다.
수치적 검증을 위해, 충분한 워밍업 후 단조 상승 마감 시계열, 단조 하강 시계열, 그리고 완전히 평탄한 시계열을 입력합니다. 그런 다음 이득과 손실을 하나씩 삽입하고 재귀 값을 단계별로 비교합니다. 초기화로 인해 발생하는 RSI 값의 차이는 발산 논리의 불일치로 해석되기 전에 해결해야 합니다.
확인된 다이버전스도 진입 손익 조건이 나쁠 수 있다
가상 예시: p1=100의 저점은 RSI=25를, p2=98의 저점은 RSI=33를 나타냅니다. ATR=2, epsilon=0.2, 그리고 8포인트 상승한 RSI는 d=5를 넘어섭니다. p2가 확인되면, 이미 알려진 중간 고점인 103가 가격 트리거가 됩니다. 이후 103.3에서 종가가 형성되면, 완충된 트리거인 103.2를 넘어섭니다.
다음 실행 가능한 진입점이 103.4이고 손절매가 97.8인 경우, 초기 가격 변동 위험은 5.6 포인트입니다. 2R 목표가는 114.6로, 원래의 다이버전스 구조와는 상당히 거리가 있습니다. 손절매 전에 114.6에 도달하는 경로는 이러한 가상 목표가를 만족시키지만, 이는 과거 성공률 추정치는 아닙니다.
진입하지 못한 실패: p2=98 이후 가격이97→94로 계속 하락하며103을 상향 돌파하지 않으면 후보를 무효화하거나 만료시킵니다.98 부근에서 즉시 매수하는 별도 전략은 그 전략의 손실도 남겨야 하며, 구조적 트리거를 기다리는 버전의 결과를 가져다 쓸 수 없습니다.
진입 후 실패도 발생할 수 있습니다. 돌파가 체결된 후 가격이 구조적 저점을 하향 돌파하는 경우입니다. 탐지기는 거래 가설이 빗나가더라도 두 개의 기준점 간의 관계를 정확하게 식별할 수 있습니다. 탐지기 유효성, 트리거 유효성 및 실제 결과를 별도로 보고하십시오.
활성화, 무효화 및 중복 후보
제안한 TTL은 확인 후10봉입니다. 진입 전 새 저점이p2−buffer보다 낮으면 일반 강세 다이버전스 후보는 무효입니다. 진입 후에는 등록한 스톱마켓과 시간 청산 규칙을 따릅니다. 갭으로 거래의 손익 조건이 나빠졌다면 주문 제출 전에 거부할 수 있지만 이미 체결된 주문을 기록에서 지울 수는 없습니다.
여러 앵커 조합이 동일한 기본 아이디어를 표현할 수 있습니다. 기준선은 인접한 동일 유형의 피벗을 쌍으로 묶고 해당 피벗의 식별자로부터 이벤트 ID를 생성합니다. 3개 저점 발산은 단순히 세 개의 선을 그릴 수 있다는 이유만으로 세 번의 독립적인 거래를 의미하는 것이 아니라, 더 많은 선택지를 제공하는 별도의 모델입니다.
후보 활성화 시 두 기준점 사이의 구조적 트리거를 고정합니다. 피벗 확인 지연 중 이미 그 수준을 넘었다면 낡은 후보를 명시적으로 거부하거나 별도의 늦은 진입 버전을 등록합니다. 더 유리한 체결가를 주는 이후 스윙으로 트리거를 바꾸면 가설 자체가 달라지고 사후 선택이 생길 수 있습니다.
볼륨에 독립적으로 검증 가능한 역할을 부여하세요
한 가설은p2로 하락하는 구간에서 거래가 줄고 가격 돌파 때 늘어난다는 것입니다. 길이가 다른 구간의 총량 대신 봉당 평균 거래량 또는 같은 세션 시각의 RVOL을 비교합니다. 높은 총 거래량과 작은 가격 이동만으로는 흡수를 입증하지 못합니다.
세 가지 분기를 사용하세요. 첫 번째는 구조적 가격 트리거만 사용하는 것이고, 두 번째는 동일한 트리거에 다이버전스를 추가하는 것이며, 세 번째는 다이버전스에 거래량을 추가하는 것입니다. 손절매, 매수/매도 규모, 실행은 모두 동일하게 유지하세요. 이렇게 하면 오실레이터 관계의 가치와 거래 활동의 가치를 구분할 수 있고, 모든 개선 사항을 마지막으로 추가한 지표 탓으로 돌리는 것을 방지할 수 있습니다.
고거래량 부분집합의 거래비용을 확인합니다. 필터는 스프레드가 넓거나 불리한 갭이 큰 뉴스성 돌파를 선택할 수 있습니다. 남은 체결 거래의 승률뿐 아니라 거부된 후보와 기회 수도 보고합니다.
다이버전스의 각 유형을 따로 검증하기
일반·히든, 강세·약세 다이버전스를 각각 보고합니다. RSI 기간, 피벗 창 또는d를 고르는 데 쓰지 않은 최종 검증 기간을 보존합니다. 여러 설정을 시도하고 보기 좋은 차트만 공개하는 것은 재현 가능한 선택 과정을 입증하지 못합니다.
검증 절차에서는 p2가 확인 신호가 나타나지 않는 동안 더 이른 시점의 캔들에서 그려질 수 있는지, 그리고 RSI가 정확히 일치하는 가격 타임스탬프에서 샘플링되는지를 확인해야 합니다. 횡보 구간, 불충분한 워밍업, 중복되는 후보, 그리고 대칭적인 하락 데이터도 포함해야 합니다.
후보군 수, 트리거율, 취소율, 대기 시간, 이벤트별 순수익률 및 포트폴리오 노출도를 측정합니다. 돌파 후 진입이 신호 종가보다 훨씬 불리할 수 있으므로 스프레드와 스톱갭을 고려하여 분석합니다. 개발 단계 외에 등록된 결과를 개선하지 않고 다이버전스가 복잡성만 더하는 경우, 구조적 기준선은 여전히 유용한 결과로 남습니다.
흔한 실수
눈으로 포인트를 일치시키기
고정된 기간 없이 각 최저 가격 근처에서 가장 편리한 RSI 최저값을 선택하는 것은 재현성이 없습니다.
추세 중 반복되는 발산
가격이 같은 방향으로 급격하게 움직이는 동안에도 모멘텀은 둔화될 수 있습니다.
숨겨진 변형과 일반 변형을 혼합
그들의 맥락 가설은 서로 다르며, 통합 통계는 상반된 행동을 숨길 수 있습니다.
이 기법을 사용하기 전 체크리스트
자신의 데이터로 확인한 뒤 각 항목에 체크하세요. 진행 상태는 이 브라우저에 저장되며, 전략의 수익성을 인증하지는 않습니다.
자주 묻는 질문
다이버전스가 피벗 포인트가 확정되기 전에 바닥을 식별할 수 있을까요?
사라질 수도 있는 임시 후보를 사용하는 방식으로만 작동합니다. 이 기준선은 확정될 때까지 기다리므로 게시된 기록이 안정적으로 유지됩니다.
RSI를 MACD로 교체해야 할까요?
동일한 가격 트리거 및 실행 정책을 사용하여 증분 정보를 비교하십시오. 매력적인 예시마다 오실레이터를 바꾸는 것은 테스트 가능한 시스템을 정의하는 것이 아닙니다.
연구 출처
각 출처는 옆에 설명된 정의나 근거를 뒷받침합니다. 의사코드, 가상 예시와 제안된 매개변수는 별도로 검증해야 합니다.
- Relative Strength IndexFidelity. 다이버전스 및 과매수·과매도 해석의 한계를 검토했습니다. 확인일: .
- Relative Strength IndexTradingView. RMA 계산식과 RSI 해석을 검토했습니다. 확인일: .
- TA-Lib RSI implementationTA-Lib. 계산 소스 코드를 검토했습니다. 수익성 있는 거래 전략을 입증하는 자료는 아닙니다. 확인일: .
관련 기법
위험 안내
이 내용은 학습과 연구 설계를 위한 것이며 금융 조언이 아닙니다. Backtest는 과거 데이터 시뮬레이션으로, 미래 성과를 보장하지 않으며 실제 거래를 주문하지 않습니다. 이 라이브러리의 기법이 모두 앱에 구현된 기능은 아닙니다. 관련 정보: 검증 방법 및 학습 센터.
실제 자금을 투입하기 전에 규칙을 검증하세요
앱 지원 범위, 데이터와 개별 모의 거래를 확인하세요. 고급 탐지 기법은 별도 구현이 필요할 수 있습니다.
App Store에서 Backtest 다운로드