상대 볼륨 지수 전략


생성 날짜: 2023-12-20 15:12:56 마지막으로 수정됨: 2023-12-20 15:12:56
복사: 0 클릭수: 864
avatar of ChaoZhang ChaoZhang
1
집중하다
1621
수행원

상대 볼륨 지수 전략

전략 개요

이것은 상대적 강도 지표 (RSI) 와 상대적 거래량 지표에 기반한 정량화 거래 전략이다. 이 전략은 강세를 보이는 가장 빠른 단계의 거래 신호를 포착하여 초과 수익을 얻는다.

전략 원칙

이 전략은 두 가지 지표를 통합합니다: 상대적 강도 지표 ((RSI) 와 상대적 양 지표 ((RVOL). RSI는 시장의 흐름을 판단하는 과매매 상황을 판단합니다. RSI가 30보다 낮으면 과매매, 70보다 높으면 과매입니다.

전략적 논리는 다음과 같습니다: RSI가 과매매를 할 때 (RSI가 마이너스보다 높다) 그리고 RVOL가 과대 할 때 시장에 더 많이 진입하십시오. RSI가 과매를 할 때 (RSI가 마이너스보다 낮다) 그리고 RVOL가 과대 할 때 시장에 더 많이 진입하십시오. 평소 위치 신호는 RSI가 정상 수준으로 돌아가는 것입니다.

우위 분석

이 전략의 가장 큰 장점은 RSI 지표를 사용하여 시장이 과매매되는 시기를 판단하고, 높은 상대적 신호를 결합하여 시장이 가장 격렬 할 때 초강력한 시장의 폭발점을 포착하는 것입니다. RSI와 RVOL의 조합 신호를 사용하여 많은 가짜 돌파구를 필터링하여 수익률을 높일 수 있습니다.

단일 RSI 지표를 사용하는 것과 비교하여, 이 전략은 거래량 참조를 증가시키고 거래량이 부족할 때 시장에 개입하는 것을 피한다. 단일 브레이크 지표를 사용하는 것과 비교하여, 이 전략은 오버 바이 오버 셀 영역에서 주류로 향하는 반발을 피한다.

위험 분석

이 전략의 가장 큰 위험은 RSI 지표가 잘못된 신호를 보내는 확률에 있다. 시장이 사이드웨이에 있을 때, RSI 지표는 종종 오버 바이 오버 셀 영역으로 들어가서 가짜 신호를 생성한다. 또한, 이 전략은 거래량 변화에 민감하며, 양이 충분하지 않은 주식을 만나면 수익 공간을 할인한다.

위험을 줄이기 위해 RSI의 매개 변수를 적절하게 조정하여 RSI의 평균 길이를 늘리거나 RVOL의 경계를 높일 수 있습니다. 다른 지표와 조합하여 전략의 안정성을 높일 수 있습니다.

최적화 방향

이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.

  1. 유동성 지표와 결합하여 유동성이 낮은 지표를 피하는 것;

  2. 변동률 지표에 가입하고, 변동이 심해지면만 개입한다.

  3. 거래량 모니터링을 추가하는 것과 같은 가짜 침입을 제거하는 메커니즘을 추가합니다.

  4. “이번 대안은 더 많은 투자자들이 투자할 수 있도록 하기 위한 것입니다.

  5. 매개 변수를 최적화하고, 피드백 데이터와 결합하여 최적의 매개 변수 조합을 찾습니다.

요약하다

이 상대량 지표 전략은 상대 강도 지표와 상대 거래량을 결합하여 오버 바이 오버 셀 지역 내 거래량이 폭발한 시점을 성공적으로 위치시키고, 효과적인 트렌드 캡처 전략이다. 이 전략의 심리 시나리오는 명확하며, 매개 변수를 조정한 후, 양적 거래 시스템의 효과적인 구성 요소가 될 수 있다.

전략 소스 코드
/*backtest
start: 2022-12-13 00:00:00
end: 2023-12-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © gary_trades
//This script is a basic concept to catch breakout moves utilising a spike in relative volume when the RSI is high (for longs) or when the RSI is low (for shorts).
//Drawdown is typically low as it exits out of the trade once the RSI returns back to "normal levels".

//@version=4
strategy(title="Relative Volume & RSI Pop", shorttitle="VOL & RSI Pop", overlay=false, precision=2, margin_long=100, margin_short=100)

//RSI
RSIlength = input(14, title="RSI Period")
RSItop = input(70, title="RSI buy", minval= 69, maxval=100)
RSIbottom = input(35, title="RSI short", minval= 0, maxval=35)
price = close
vrsi = rsi(price, RSIlength)
RSIco = crossover(vrsi, RSItop)
RSIcu = crossunder(vrsi, RSIbottom)
plot(vrsi, "RSI", color=color.purple)
band1 = hline(70, "Upper Band", color=#C0C0C0)
bandm = hline(50, "Middle Band", color=color.new(#C0C0C0, 50))
band0 = hline(30, "Lower Band", color=#C0C0C0)
fill(band1, band0, color=color.purple, transp=90, title="Background")

//RELATIVE VOLUME
RVOLlen = input(14, minval=1, title="RV Period")
av = sma(volume, RVOLlen)
RVOL = volume / av
RVOLthreshold = input(1.5,title="RV Threshold", minval=0.5, maxval=10)

//TRADE TRIGGERS
LongCondition = RSIco and RVOL > RVOLthreshold
CloseLong = vrsi < 69

ShortCondition = RSIcu and RVOL > RVOLthreshold
CloseShort = vrsi > 35

if (LongCondition)
    strategy.entry("Long", strategy.long)
    
strategy.close("Long", when = CloseLong)    

if (ShortCondition)
    strategy.entry("Short", strategy.short)
    
strategy.close("Short", when = CloseShort)