상대 생동감 지수(RVI)는 상승 추세에서 종가가 보통 시가보다 높다는 아이디어를 바탕으로 계산됩니다.
하락 추세에서는 반대의 상황이 발생하죠. 가격 변화는 한 바의 최대 가격 범위로 나누어 지수를 정규화합니다:
RVI = (CLOSE - OPEN) / (HIGH - LOW)
- OPEN - 시가;
- HIGH - 최고가;
- LOW - 최저가;
- CLOSE - 종가.
이 오실레이터는 일시적인 가격 변동을 제외하기 위해 부드럽게 조정됩니다. 신호선도 동일한 방식으로 생성됩니다. 이 지표의 주된 장점은 RVI와 신호선의 부드러움 알고리즘을 선택할 수 있다는 점입니다. 총 10가지 알고리즘 중에서 적합한 것을 선택할 수 있습니다:
- SMA - 단순 이동 평균;
- EMA - 지수 이동 평균;
- SMMA - 부드러운 이동 평균;
- LWMA - 선형 가중 이동 평균;
- JJMA - JMA 적응 평균;
- JurX - 초선형 부드러움;
- ParMA - 포물선 부드러움;
- T3 - 틸슨의 다중 지수 부드러움;
- VIDYA - 투샤르 찬데의 알고리즘을 이용한 부드러움;
- AMA - 페리 카우프먼의 알고리즘을 이용한 부드러움.
각 부드러운 알고리즘에 대한 Phase 매개변수는 완전히 다른 의미를 가집니다:
- JMA의 경우, 외부 Phase 변수는 -100에서 +100까지 변화합니다.
- T3의 경우, 부드러움 비율은 시각화를 위해 100을 곱한 값입니다;
- VIDYA의 경우 CMO 기간, AMA의 경우 느린 EMA 기간;
- AMA의 빠른 EMA 기간은 고정값이며 기본적으로 2입니다. 제곱 비율도 AMA에 대해 2입니다.
이 지표는 SmoothAlgorithms.mqh 라이브러리 클래스를 사용합니다(terminal_data_folder\MQL5\Include 폴더에 복사해야 함). 이 클래스의 사용에 대한 자세한 내용은 "추가 버퍼 없이 중간 계산을 위한 가격 시계열 평균화"라는 기사에서 설명되어 있습니다.
