RSI-BB 모멘텀 브레이크업 전략

저자:차오장, 날짜: 2023-11-03 15:02:19
태그:

img

전반적인 설명

RSI-BB 모멘텀 브레이크아웃 전략은 브레이크아웃 거래를 위해 상대 강도 지수 (RSI) 와 볼링거 밴드 (BB) 지표를 결합합니다. RSI를 사용하여 시장 추세와 과잉 구매/ 과잉 판매 수준을 결정하고 BB를 사용하여 브레이크아웃 지점을 식별합니다. RSI와 BB 신호가 모두 일치하면 전략은 그에 따라 긴 또는 짧은 거래를 수행합니다.

전략 논리

코드는 먼저 RSI와 BB 지표를 계산합니다.

RSI는 다음과 같이 계산됩니다.

up = rma(max(change(close), 0), 30)
down = rma(-min(change(close), 0), 30) 
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))

상향은 30개 기간 동안 상승세를 측정하고, 하향은 하락세를 측정하며, rsi는 상하율의 비율을 기준으로 계산됩니다.

BB는 다음과 같이 계산됩니다.

basis = sma(close, 50)
dev = 0.2 * stdev(close, 50)
upper = basis + dev
lower = basis - dev

기본은 50기 이동평균이고, dev는 표준편차의 0.2배이고, 상단과 하단은 밴드입니다.

bbi는 다음과 같이 계산된 볼링거 대역폭 지수입니다.

bbr = close>upper? 1 : close<lower? -1 : 0 
bbi = bbr - bbr[1]

bbr는 상단 또는 하단 밴드를 닫는 것을 검사합니다. 브레이크아웃은 1, 파업은 -1, 그렇지 않으면 0. bbi는 현재와 이전 bbr 사이의 차이입니다. 양성 bbi는 상향 브레이크아웃을 나타냅니다. 음성은 하향을 나타냅니다.

전략 신호는 다음과 같이 결정됩니다.

long = rsi>52 and rsi<65 and bbi>0.11 and bbi<0.7
short = rsi<48 and rsi>35 and bbi<-0.11 and bbi>-0.7 

RSI가 52-65, BBI가 0.11에서 0.7 사이일 때 장거리, RSI가 35-48, BBI가 -0.11에서 -0.7 사이일 때 단거리.

장점

  1. RSI와 BB를 결합하면 더 신뢰할 수 있는 신호를 제공합니다. RSI는 트렌드와 과잉 구매/ 과잉 판매 수준을 측정하고 BB는 브레이크오웃을 식별합니다.

  2. 30주기 RSI는 시장 소음을 필터링하고 주요 트렌드에 초점을 맞추고 있습니다.

  3. 0.2 표준편차로 50주기 BB는 윙사우를 필터링하는 데 도움이 됩니다.

  4. BBI 문턱은 가짜 탈출을 필터합니다.

  5. 52-65 및 35-48의 RSI 긴/단지 구역은 놓친 거래를 피하기 위해 약간의 버퍼를 제공합니다.

위험성

  1. 브레이크오웃 전략은 휘파람에 걸리기 쉽기 때문에 스톱 로스로 위험을 관리해야 합니다.

  2. 백테스트 결과는 과장될 수 있고 실전 성능은 달라질 수 있습니다.

  3. 극단적인 시장 움직임은 큰 손실로 이어지는 스톱 로드를 발생시킬 수 있습니다.

  4. 기간과 임계 기준을 포함한 RSI와 BB 매개 변수를 최적화해야 합니다.

  5. 주문 가격은 라이브 성능에 상당한 영향을 줄 수 있습니다.

더 나은 기회

  1. 최적의 설정을 찾기 위해 RSI와 BB 매개 변수의 다른 조합을 테스트합니다.

  2. 신호 필터링을 위해 MACD, KD와 같은 다른 지표를 추가합니다.

  3. 더 많은 잡음을 필터링하기 위해 RSI 긴/단한 영역을 최적화합니다.

  4. 역동적인 BBI 문턱을 최적화하여 가짜를 더 잘 필터합니다.

  5. 트렌드 필터를 추가하여 주요 트렌드에 반하는 거래를 피합니다.

  6. 최적의 리스크 통제를 찾기 위해 다른 스톱 로스 기술을 테스트합니다.

  7. 다른 주문 유형을 테스트하여 미끄러진 영향을 최소화합니다.

결론

RSI-BB 전략은 트렌드 및 모멘텀 지표를 사용하는 장점을 결합합니다. 백테스트 결과는 유망하지만 실전 성능은 미끄러짐 및 스톱 손실과 같은 실제 세계 요인에 따라 다를 수 있습니다. 패러미터 및 필터는 백테스트 결과에 따라 최적화되어야합니다. 스톱 손실 및 주문 배치 또한 실제 세계 효과에 대해 평가해야합니다. 전략은 가치가 있지만 일관성있는 결과를 창출하기 위해 지속적인 개선과 견고성 테스트가 필요합니다.


/*backtest
start: 2023-10-03 00:00:00
end: 2023-11-02 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//Based on Larry Connors RSI-2 Strategy - Lower RSI
strategy(title="Spyfrat Strat", shorttitle="SpyfratStrat", overlay=true)
src = close, 
// BB Init
source = close
length = input(50, minval=1)
mult = input(0.2, title="Mult Factor", minval=0.001, maxval=50)
alertLevel=input(0.1)
impulseLevel=input(0.75)
showRange = input(false, type=bool)
//RSI CODE
up = rma(max(change(src), 0), 30)
down = rma(-min(change(src), 0), 30)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
//BB CODE
basis = sma(source, length)
dev = mult * stdev(source, length)
upper = basis + dev
lower = basis - dev
bbr = source>upper?(((source-upper)/(upper-lower))/10): source<lower?(((source-lower)/(upper-lower))/10) : 0.1
bbi = bbr - nz(bbr[1]) 
//Rule
long = rsi>52 and rsi<65 and  bbi>0.11 and bbi<0.7
short = rsi<48 and rsi>35 and  bbi<-0.11 and bbi>-0.7
//Trade Entry
strategy.entry("long", strategy.long, when=long)
strategy.entry("short", strategy.short, when=short)
//Trade Exit
TP = input(250) * 10
SL = input(20) * 10
TS = input(0) * 10
CQ = 100

TPP = (TP > 0) ? TP : na
SLP = (SL > 0) ? SL : na
TSP = (TS > 0) ? TS : na

strategy.exit("Close Long", "long", qty_percent=CQ, profit=TPP, loss=SLP, trail_points=TSP)
strategy.exit("Close Short", "short", qty_percent=CQ, profit=TPP, loss=SLP, trail_points=TSP)

더 많은