
RSI와 평균의 교차 전략은 상대적으로 약한 지표 ((RSI) 와 이동 평균을 결합한 양적 거래 전략이다. 이 전략은 RSI 지표를 사용하여 증권 가치의 과매매 상황을 판단하고 RSI와 평균의 황금 교차 및 사다리 신호를 결합하여 포지션을 설정하거나 포지션을 설정하는 것을 결정한다.
RSI 지표값을 계산한다. RSI 지표는 한 기간 동안의 상승과 하락을 기반으로 평균 종결 상승과 평균 종결 하락을 비교하여 증권이 과매매되거나 과매매되는지 판단한다.
RSI 지표의 이동 평균 MA 를 계산하십시오. 지수 이동 평균 EMA 또는 간단한 이동 평균 SMA를 사용하십시오.
RSI 지표 위가 이동 평균을 통과할 때, 금색의 크로스 신호를 생성하고, 더 많은 것을 만듭니다. RSI 지표 아래가 이동 평균을 통과할 때, 사각지대를 생성하고, 공백을 만듭니다.
RSI가 오버 바이 라인 (Over Buy Line) 보다 높을 때, 증권이 오버 바이 (Over Buy) 로 간주되어, 상장한다. RSI가 오버 소드 라인 (Over Sell) 보다 낮을 때, 증권이 오버 소드 (Over Sell) 로 간주되어, 더 많이 한다.
지표와 평균의 교차 신호를 결합하여 한 지표에만 의존하는 것을 피하고 의사 결정의 정확성을 향상시킵니다.
RSI를 사용하여 오버 바이 오버 소드를 판단하고, 오버 바이 오버 소드 라인을 설정하고, 포지션 설정 및 중지 시간을 결정합니다.
지표와 평균을 교차하여 더 많은 코카이드를 사용하면 시장의 전환점을 적시에 잡을 수 있습니다.
RSI 지표는 변동이 있을 때 잘못된 신호를 내보냅니다.
RSI가 과매매하는 판단기준은 조정할 수 있으며, 부적절한 설정으로 인해 너무 느슨하거나 엄격해질 수 있습니다.
평균선 시스템은 단기적인 비정상적인 변동에 너무 민감하여 막부로 잡힐 수 있다.
RSI 변수를 조정하여 최적의 길이 변수를 찾습니다.
이동 평균 변수를 최적화하여 최적의 평균 선주기를 찾습니다.
다른 오버 바이 오버 세일 라인 파라미터를 테스트하고, 포지션 구축 기회를 최적화한다.
다른 지표와 함께 필터링 신호를 사용하여 잘못된 거래를 피하십시오.
RSI 지표와 평균 라인 크로스 전략은 RSI 판단을 사용하여 오버 바이 오버 세일과 이동 평균 크로스 신호를 결합하여 시장의 뜨거운 지역을 효과적으로 판단하고 중요한 지점에서 역전 기회를 잡을 수 있습니다. 매개 변수 최적화 및 신호 필터링을 통해 전략의 성능을 개선하여 거래 위험을 줄일 수 있습니다. 이 전략은 중간 짧은 라인 거래자에게 적합하며 더 나은 초과 수익을 제공 할 수 있습니다.
/*backtest
start: 2022-12-14 00:00:00
end: 2023-12-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
//dfurrer45
strategy(title="Relative Strength Index", shorttitle="RSI", overlay=true)
src = close, len = input(13, minval=1, title="Length"), maLen = input(9, minval=1, title="MA Lenght"), exponential = input(false, title="Exponential")
// === BACKTEST RANGE ===
FromMonth = input(defval = 10, title = "From Month", minval = 1)
FromDay = input(defval = 3, title = "From Day", minval = 1)
FromYear = input(defval = 2017, title = "From Year", minval = 2014)
ToMonth = input(defval = 1, title = "To Month", minval = 1)
ToDay = input(defval = 1, title = "To Day", minval = 1)
ToYear = input(defval = 9999, title = "To Year", minval = 2014)
// === BACKTEST END ===
backtestdaterange = (time > timestamp(FromYear, FromMonth, FromDay, 00, 00))
rsioverbought = input(90, minval=1, title="RSI % start overbought")
rsioversold = input(10, minval=1, title="RSI % start oversold")
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
ma = exponential ? ema(rsi, maLen) : sma(rsi, maLen)
rsimacrossup = cross(rsi,ma) and rsi > ma
rsimacrossdown = cross(rsi,ma) and rsi < ma
plotchar(rsimacrossup, char='⇧', location = location.belowbar, color = green, text = "", textcolor = green, size=size.small)
plotchar(rsimacrossdown, char='⇩', location = location.abovebar, color = red, text = "", textcolor = red, size=size.small)
plotchar(rsi > rsioverbought, char='x', location = location.belowbar, color = aqua, text = "", textcolor = red, size=size.small)
plotchar(rsi < rsioversold, char='x', location = location.belowbar, color = aqua, text = "", textcolor = red, size=size.small)
closetrade = rsimacrossup or rsimacrossdown
strategy.close_all(closetrade)
strategy.close_all((rsi > rsioverbought) or (rsi < rsioversold))
strategy.entry("Short Overbought",strategy.short, when=(rsi > rsioverbought) and backtestdaterange)
strategy.entry("Buy Overbought",strategy.long, when=(rsi < rsioversold) and backtestdaterange)
strategy.entry("Long Cross", strategy.long, when=rsimacrossup and backtestdaterange)
strategy.entry("Short Cross", strategy.short, when=rsimacrossdown and backtestdaterange)