볼륨 비율 반전 거래 전략 (Volume Ratio Reversal Trading Strategy, VR Reversal Strategy) 은 볼륨 지표에 기반한 단기 반전 거래 전략이다. 거래 신호를 생성하기 위해 일정 기간 동안 볼륨과 평균 볼륨의 비율을 계산하여 주요 플레이어의 시장 참여를 판단합니다. 이 전략은 주로 단기적으로 강력한 평균 반전 자산에 적합합니다.
VR 역전 전략의 핵심 지표는 현재 기간의 거래량과 일정 기간 동안의 평균 거래량 사이의 비율을 나타내는 볼륨 비율 (단기적으로 VR로 지칭) 이다. 구체적인 계산 방법은:
VR = 전류 부피 / SMA (부피, N)
N는 매개 변수 Length를 뜻하는 경우, 현재 주기의 거래 부피를 Length 주기에 대한 거래 부피의 단순한 이동 평균에 나누는 값입니다.
VR > 임계점, 그것은 주요 플레이어의 참여 신호로 간주됩니다. 이 때, 가격 상승 또는 하락의 돌파와 결합하여 구매 및 판매 신호가 생성됩니다.
이 전략은 또한 보조 방향 판단 지표 dir를 도입합니다. 현재 주기의 종료 가격을 N 주기의 종료 가격과 비교합니다. 1 이상은 상승 방향이며 1 이하는 하락 방향입니다.
VR가 지정된 임계값보다 크면, dir=1이면 구매 신호가 생성됩니다. dir=-1이면 판매 신호가 생성됩니다.
VR 역전 전략의 가장 큰 장점은 갑작스러운 가격 역전 가능성을 포착하는 것입니다. 주요 플레이어의 개입 신호가있을 때 전략은 신속하게 판단을 내릴 수 있으며 리바운드 또는 리트랙의 기회를 적시에 포착 할 수 있습니다.
다른 장점으로는 다음과 같습니다.
VR 역전 전략은 몇 가지 장점을 가지고 있지만, 여전히 몇 가지 위험이 있습니다.
또한, 과도한 거래는 피해야 하며, 단 한번의 손실을 통제하기 위해 스톱 로스를 설정해야 합니다.
VR 역전 전략의 더 많은 최적화를 위한 여지가 있습니다. 주요 제안은 다음과 같습니다.
VR 반전 거래 전략은 간단하고 구현하기 쉬운 단기 정량 전략입니다. 주요 플레이어의 신호를 잡음으로써 반전 기회를 포착합니다. 전략은 특히 명백한 반전과 함께 변동적인 제품에 적합하지만 위험 통제도 필요합니다. 추가 최적화는 전략을 더 견고하게하고 더 많은 잘못된 신호를 필터링 할 수 있습니다.
/*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=4 strategy(title="Volume Ratio_30min", shorttitle="VR_30min")//,initial_capital=1000) // User Input ------------------------------------------------------------------ len = input(20, title="Length", minval=1) threshold = input(3,step=0.05, title="閾値") // Volume Caliculetion --------------------------------------------------------- vol = volume sma=sma(volume,len) vrs = vol / sma // Direction ------------------------------------------------------------------- dirtime=input(1,"direction picker # bars") dir=if close/close[dirtime] > 1 1 else -1 // Plot ------------------------------------------------------------------------ plot(vrs, title="VRS", color=color.green, transp=0) hline(1, title="baseline") plot(threshold, color=color.white) // ️⚠️⚠️Logic ----------------------------------------------------------------- long = vrs > threshold and dir == 1 short = vrs > threshold and dir ==-1 // Back Test Fnction ----------------------------------------------------------- start = timestamp(input(2019, "Start Year"), input(1, "Start Month"), input(1, "Start Day"), 0, 0) end = timestamp(input(9999, "End Year"), input(1, "End Month"), input(1, "End Day"), 0, 0) _testPeriod() => true // Order ----------------------------------------------------------------------- if _testPeriod() if long strategy.entry("Long", strategy.long) if short strategy.entry("Short", strategy.short)