이중 RSI 돌파구 전략 (Dual RSI Breakthrough Strategy) 은 빠르고 느린 RSI 지표를 사용하여 거래 신호를 생성하는 양적 거래 전략이다. 이 전략은 시장 추세를 추적하기 위해 빠르고 느린 RSI 지표 사이의 돌파구를 통해 거래 신호를 형성한다.
이 전략은 두 가지 RSI 지표를 동시에 사용합니다. 2 기간을 가진 빠른 RSI 지표와 14 기간을 가진 느린 RSI 지표. 전략의 거래 신호는 두 가지 RSI 지표 사이의 돌파구에서 발생합니다.
느린 RSI가 50보다 크고 빠른 RSI가 50보다 작을 때 긴 신호가 생성됩니다. 느린 RSI가 50보다 작고 빠른 RSI가 50보다 크면 짧은 신호가 생성됩니다. 길거나 짧은 후에 스톱 손실 신호가 발생하면 (롱 포지션이 돈을 잃었을 때 빨간색 K-라인 열이 나타나고 짧은 포지션이 돈을 잃었을 때 녹색 K-라인 열이 나타납니다), 포지션은 종료됩니다.
이 전략은 다음 측면에서도 최적화 될 수 있습니다.
이중 RSI 돌파구 전략은 시장 트렌드 변화를 추적하기 위해 빠르고 느린 RSI 지표를 사용하여 과잉 구매 및 과잉 판매 영역에서 거래 신호를 형성하여 정상을 추구하고 바닥을 죽이는 것을 효과적으로 피할 수 있습니다. 동시에 위험을 제어하기 위해 스톱 로스 메커니즘이 설정됩니다. 전략은 간단하고 구현하기 쉽고 양적 거래에 적합합니다. 매개 변수 최적화, 조합 지표 등을 통해 수익 인자를 더욱 향상시킬 수 있습니다.
/*backtest start: 2024-01-10 00:00:00 end: 2024-01-17 00:00:00 period: 15m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2018 //@version=2 strategy(title = "Noro's Double RSI Strategy 1.0", shorttitle = "2RSI str 1.0", overlay=true ) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") leverage = input(1, defval = 1, minval = 1, maxval = 100, title = "leverage") fast = input(2, defval = 2, minval = 2, maxval = 100, title = "Fast RSI Period") slow = input(14, defval = 14, minval = 2, maxval = 100, title = "Slow RSI Period") fromyear = input(2018, defval = 2018, minval = 1900, maxval = 2100, title = "From Year") toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year") frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month") tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month") fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day") today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day") //Fast RSI fastup = rma(max(change(close), 0), fast) fastdown = rma(-min(change(close), 0), fast) fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown)) //Slow RSI slowup = rma(max(change(close), 0), slow) slowdown = rma(-min(change(close), 0), slow) slowrsi = slowdown == 0 ? 100 : slowup == 0 ? 0 : 100 - (100 / (1 + slowup / slowdown)) //Signals up = slowrsi > 50 and fastrsi < 50 dn = slowrsi < 50 and fastrsi > 50 exit = (strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open) lot = strategy.position_size == 0 ? strategy.equity / close * leverage : lot[1] //Trading if up if strategy.position_size < 0 strategy.close_all() strategy.entry("Long", strategy.long, needlong == false ? 0 : lot ) if dn if strategy.position_size > 0 strategy.close_all() strategy.entry("Short", strategy.short, needshort == false ? 0 : lot ) if exit strategy.close_all()