상대적 변동성 지수 (RVI) 는 상대적으로 강한 지수 (RSI) 에서 개선된 기술 지표이다. 10일간의 종결 가격 표준 차이를 계산하여 변동성의 방향을 측정하여 시장의 경향과 힘을 판단한다.
이 전략의 핵심 논리는 다음과 같습니다.
10일간의 종결 가격 표준차 StdDev。
10일간의 종식 가격 상승을 계산하여 하루 전날보다 상승한 부분을 계산한다.
10일간의 종식 가격보다 낮게 종식된 부분을 계산한다.
지수 평준법을 사용하여 u와 d의 14일 지수 이동 평균 nU와 nd을 계산한다.
nU와 nD의 비율을 계산하고, 100으로 곱하면 nRes의 변동 지수를 얻는다.
nRes가 매입구역보다 낮으면 공백을 하고 매출구역보다 높으면 더 많은 것을 한다.
코드에서 구매 구역, 판매 구역 파라미터를 설정할 수 있으며, 역거래도 가능하다.
이 전략은 10일 동안의 종결 가격 변동성의 다공간 차이를 비교하여 시장의 다음 단계의 가능한 움직임을 판단한다. 다공간 변동성이 큰 경우 낙점 신호이며, 공평한 변동성이 큰 경우 하향 신호이다.
상대적인 변동성 지수 재측정 전략은 다음과 같은 장점이 있다:
종결 가격 표준 차이는 가격 자체보다 시장의 변동 정보를 더 잘 반영합니다.
계산 방법은 간단하고 명확하며, 이해하기 쉬운 구현이다.
구매/판매 신호는 명확하게 생성되고, 2차 판단이 필요하지 않습니다.
구매 구역, 판매 구역 파라미터를 유연하게 설정할 수 있으며, 전략의 민감도를 조정할 수 있다.
역거래를 지원하고 다양한 종류의 시장에 사용할 수 있습니다.
지표선과 매매 구역을 시각적으로 표시하여 직관적인 거래 신호를 형성한다.
이 전략의 효과는 검증되었습니다.
이 전략에는 몇 가지 위험도 있습니다.
구매/판매 신호는 잘못된 신호가 될 수 있으며, 추세와 지지 저항의 판단을 고려해야 한다.
종결 가격의 변동성만 고려하면 종결 가격의 상황을 반영할 수 없다.
변수 설정이 잘못되면 거래가 너무 자주 이루어지거나 수익이 떨어질 수 있습니다.
실제 거래 비용은 최종 수익률에 영향을 미칩니다.
이 경우, 상반된 거래 방식은 손실의 위험을 증가시킬 수 있습니다.
이 전략은 다음과 같은 측면에서 최적화될 수 있습니다.
다른 기술 지표와 함께 MACD, KD 등과 같은 잘못된 신호를 필터링하십시오.
오픈 포지션 비율의 동적 조정.
구매 구역과 판매 구역의 범위를 최적화하여 신호를 더 정확하게 만듭니다.
단편적 손실을 통제하기 위한 손해 방지 제도를 추가한다.
높은 변동성이 있는 상황에서 포지션 규모를 줄이는 것.
다양한 지표 파라미터 설정을 테스트한다. 계산일, 지수 평준화 파라미터 등이다.
상대적 변동 지수 재측정 전략은 상대적으로 공중 변동성을 판단하여 시장 방향을 판단하여 비교적 간단한 직관적인 트렌드 추적 전략을 구현한다. 이 전략의 장점은 논리적으로 명확하고, 구현하기 쉽고, 재측정 효과가 좋으며, 적절한 최적화를 통해 거래 성능을 향상시킬 수 있다. 그러나 거래에는 여전히 위험 제어에 주의를 기울이고, 거래 신호를 확인하기 위해 다른 지표와 결합한다. 전체적으로 이 전략은 거래량을 측정하는 데 귀중한 사고 방법을 제공합니다.
/*backtest
start: 2023-08-26 00:00:00
end: 2023-09-19 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 23/10/2017
// The RVI is a modified form of the relative strength index (RSI).
// The original RSI calculation separates one-day net changes into
// positive closes and negative closes, then smoothes the data and
// normalizes the ratio on a scale of zero to 100 as the basis for the
// formula. The RVI uses the same basic formula but substitutes the
// 10-day standard deviation of the closing prices for either the up
// close or the down close. The goal is to create an indicator that
// measures the general direction of volatility. The volatility is
// being measured by the 10-days standard deviation of the closing prices.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Relative Volatility Index", shorttitle="RVI")
Period = input(10, minval=1)
BuyZone = input(30, minval=1)
SellZone = input(70, minval=1)
reverse = input(false, title="Trade reverse")
hline(0, color=purple, linestyle=hline.style_dashed)
hline(BuyZone, color=red, linestyle=hline.style_solid)
hline(SellZone, color=green, linestyle=hline.style_solid)
xPrice = close
StdDev = stdev(xPrice, Period)
d = iff(close > close[1], 0, StdDev)
u = iff(close > close[1], StdDev, 0)
nU = (13 * nz(nU[1],0) + u) / 14
nD = (13 * nz(nD[1],0) + d) / 14
nRes = 100 * nU / (nU + nD)
pos = iff(nRes < BuyZone, -1,
iff(nRes > SellZone, 1, nz(pos[1], 0)))
possig = iff(reverse and pos == 1, -1,
iff(reverse and pos == -1, 1, pos))
if (possig == 1)
strategy.entry("Long", strategy.long)
if (possig == -1)
strategy.entry("Short", strategy.short)
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(nRes, color=red, title="RVI")