이 전략은
이 전략은 빠른 기간 RSI (55일 기본값) 와 느린 기간 RSI (126일 기본값) 을 비교하여 거래 신호를 구성합니다. 빠른 기간 RSI가 느린 기간 RSI를 넘을 때 구매 신호가 생성됩니다. 빠른 기간 RSI가 느린 기간 RSI보다 떨어지면 판매 신호가 유발됩니다. 두 가지 다른 시간 프레임 사이의 상대적 강도를 비교함으로써 단기 및 장기 트렌드가 역전될 때 기회를 감지합니다.
포지션을 입력 한 후, 수익 목표 및 스톱 손실이 설정됩니다. 기본 수익 목표값은 엔트리 가격의 0.9배입니다. 기본 스톱 손실값은 엔트리 가격보다 3% 낮습니다. 역 신호가 활성화되면 포지션도 종료됩니다.
/*backtest start: 2022-11-29 00:00:00 end: 2023-12-05 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy(title="Relative Strength Index", shorttitle="RSI") slen = input(55, title="Short length") llen = input(126, title="Long length") sup = ema(max(change(close), 0), slen) sdown = ema(-min(change(close), 0), slen) rsi1 = sdown == 0 ? 100 : sup == 0 ? 0 : 100 - (100 / (1 + sup / sdown)) lup = ema(max(change(close), 0), llen) ldown = ema(-min(change(close), 0), llen) rsi2 = ldown == 0 ? 100 : lup == 0 ? 0 : 100 - (100 / (1 + lup / ldown)) ob = input(55, title="Overbought") os = input(45, title="Oversold") tp = input(.9, title="Take profit level %")*.01 sl = input(3, title="Stoploss level %")*.01 mid = avg(ob,os) plot (mid, color=#4f4f4f, transp=0) hline (ob, color=#4f4f4f) hline (os, color=#4f4f4f) long = crossover(rsi1,rsi2) short = crossunder(rsi1,rsi2) vall = valuewhen(long,close,0) lexit1 = high>=(vall*tp)+vall lexit2 = low<=vall-(vall*sl) vals = valuewhen(short,close,0) sexit1 = low<=vals - (vals*tp) sexit2 = high>=vals + (vals*sl) bgcolor (color=long?lime:na,transp=50) bgcolor (color=short?red:na, transp=50) strategy.entry("Long", strategy.long, when=long) strategy.close("Long", when=lexit1) strategy.close("Long", when=lexit2) strategy.close("Long", when=short) strategy.entry("Short", strategy.short, when=short) strategy.close("Short", when=sexit1) strategy.close("Short", when=sexit2) strategy.close("Short", when=long) plot (rsi1, color=orange, transp=0,linewidth=1, title="Short period RSI") plot (rsi2, color=aqua , transp=0,linewidth=1, title="Long period RSI")