
이것은 상대적 강도 지표 (RSI) 와 상대적 거래량 지표에 기반한 정량화 거래 전략이다. 이 전략은 강세를 보이는 가장 빠른 단계의 거래 신호를 포착하여 초과 수익을 얻는다.
이 전략은 두 가지 지표를 통합합니다: 상대적 강도 지표 ((RSI) 와 상대적 양 지표 ((RVOL). RSI는 시장의 흐름을 판단하는 과매매 상황을 판단합니다. RSI가 30보다 낮으면 과매매, 70보다 높으면 과매입니다.
전략적 논리는 다음과 같습니다: RSI가 과매매를 할 때 (RSI가 마이너스보다 높다) 그리고 RVOL가 과대 할 때 시장에 더 많이 진입하십시오. RSI가 과매를 할 때 (RSI가 마이너스보다 낮다) 그리고 RVOL가 과대 할 때 시장에 더 많이 진입하십시오. 평소 위치 신호는 RSI가 정상 수준으로 돌아가는 것입니다.
이 전략의 가장 큰 장점은 RSI 지표를 사용하여 시장이 과매매되는 시기를 판단하고, 높은 상대적 신호를 결합하여 시장이 가장 격렬 할 때 초강력한 시장의 폭발점을 포착하는 것입니다. RSI와 RVOL의 조합 신호를 사용하여 많은 가짜 돌파구를 필터링하여 수익률을 높일 수 있습니다.
단일 RSI 지표를 사용하는 것과 비교하여, 이 전략은 거래량 참조를 증가시키고 거래량이 부족할 때 시장에 개입하는 것을 피한다. 단일 브레이크 지표를 사용하는 것과 비교하여, 이 전략은 오버 바이 오버 셀 영역에서 주류로 향하는 반발을 피한다.
이 전략의 가장 큰 위험은 RSI 지표가 잘못된 신호를 보내는 확률에 있다. 시장이 사이드웨이에 있을 때, RSI 지표는 종종 오버 바이 오버 셀 영역으로 들어가서 가짜 신호를 생성한다. 또한, 이 전략은 거래량 변화에 민감하며, 양이 충분하지 않은 주식을 만나면 수익 공간을 할인한다.
위험을 줄이기 위해 RSI의 매개 변수를 적절하게 조정하여 RSI의 평균 길이를 늘리거나 RVOL의 경계를 높일 수 있습니다. 다른 지표와 조합하여 전략의 안정성을 높일 수 있습니다.
이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.
유동성 지표와 결합하여 유동성이 낮은 지표를 피하는 것;
변동률 지표에 가입하고, 변동이 심해지면만 개입한다.
거래량 모니터링을 추가하는 것과 같은 가짜 침입을 제거하는 메커니즘을 추가합니다.
“이번 대안은 더 많은 투자자들이 투자할 수 있도록 하기 위한 것입니다.
매개 변수를 최적화하고, 피드백 데이터와 결합하여 최적의 매개 변수 조합을 찾습니다.
이 상대량 지표 전략은 상대 강도 지표와 상대 거래량을 결합하여 오버 바이 오버 셀 지역 내 거래량이 폭발한 시점을 성공적으로 위치시키고, 효과적인 트렌드 캡처 전략이다. 이 전략의 심리 시나리오는 명확하며, 매개 변수를 조정한 후, 양적 거래 시스템의 효과적인 구성 요소가 될 수 있다.
/*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)