이중 RSI 돌파구 전략

저자:차오장, 날짜: 2024-01-18 15:25:11
태그:

img

전반적인 설명

이중 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와 느린 RSI의 조합은 트렌드 변화를 추적하여 적시에 진입 및 출구를 실현 할 수 있습니다.
  • 중장기 동향을 추적하고 단기 시장 소음으로 방해받지 마십시오.
  • 스톱 로스 메커니즘으로 좋은 리스크 제어

위험 과 해결책

  • 잘못된 돌파구의 위험. 해결책은 진정한 돌파구를 보장하기 위해 빠르고 느린 RSI의 매개 변수를 합리적으로 설정하는 것입니다.
  • 부적절한 스톱 로스 포인트 설정으로 인한 위험. 해결책은 시장 변동성에 기초한 스톱 로스 거리를 합리적으로 설정하는 것입니다.
  • 회전적 손실의 위험. 해결책은 상승을 쫓고 하락을 이기지 않고 전략 규칙에 따라 입출을 하는 것입니다.

최적화 방향

이 전략은 다음 측면에서도 최적화 될 수 있습니다.

  1. 가장 좋은 매개 변수 조합을 찾기 위해 빠른 RSI와 느린 RSI의 매개 변수를 최적화합니다.
  2. 더 신뢰할 수 있는 거래 신호를 형성하기 위해 다른 지표를 도입합니다.
  3. 동적 스톱 로스를 설정하고 시장 변동성에 따라 실시간으로 스톱 로스 포인트를 조정합니다.

결론

이중 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()

더 많은