
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))
이 가운데 up는 최근 30일 종결 가격 상승률을 나타내고, down는 최근 30일 종결 가격 하락률을 나타내고, rsi는 상승률과 하락률의 비율을 기준으로 계산한다.
BB는 다음과 같이 계산됩니다.
basis = sma(close, 50)
dev = 0.2 * stdev(close, 50)
upper = basis + dev
lower = basis - dev
그 중 기초는 50일 평균선, dev는 표준차의 0.2배, upper 및 lower은 각각 중선 상하 궤도이다.
bbi는 브린 대역폭 지수이며, 계산 방법은 다음과 같다.
bbr = close>upper? 1 : close<lower? -1 : 0
bbi = bbr - bbr[1]
bbr은 현재 클로즈가 오르락 내리락 돌파하는지 판단하고, 돌파는 1이고, 하락은 1이다. 그렇지 않으면 0이다. bbr은 현재 bbr을 전주기 bbr을 빼고, 0보다 큰 것은 상향 돌파, 0보다 작은 것은 하향 돌파를 의미한다.
RSI와 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보다 작을 때 마이너스를 할 수 있다.
RSI와 BB 두 지표를 결합하면 더 정확하게 매도점을 판단할 수 있다. RSI는 초매도점을 판단하고, BB는 돌파구를 판단하며, 둘을 결합하면 더 신뢰할 수 있다.
RSI 파라미터는 30 일 줄로 설정되어 있으며 시장의 일부 잡음을 필터링하여 주요 트렌드를 식별 할 수 있습니다.
BB 파라미터를 50일선과 0.2배의 표준차로로 설정하면 필터 흔들림의 효과를 얻을 수 있다.
BBI는 0.11과 0.7의 필터링 조건을 추가하여 가짜 돌파구를 필터링할 수 있다.
RSI의 더 많은 하위 하위 영역은 52-65 및 35-48으로 설정되어 있으며, 매매 지점을 놓치지 않도록 버퍼를 추가합니다.
은 거래 전략은 쉽게 조작될 수 있으며, 위험을 통제하기 위해 손실을 중지해야 합니다.
리포트 데이터에 오버 마칭이 있을 수 있고, 실디 효과에는 차이가 있을 수 있다.
시장의 급격한 변동이 발생할 수 있으며, 이로 인해 정지 손실이 뚫려 큰 손실이 발생할 수 있습니다.
RSI와 BB의 파라미터를 최적화해야 합니다.
주문의 가격 설정도 리스크 효과에 큰 영향을 미칩니다.
다른 RSI와 BB의 변수 조합을 테스트하여 최적의 변수를 찾습니다.
MACD, KD 등과 같은 필터링 신호를 판단하는 다른 지표를 추가하십시오.
거래의 RSI 간격 변수를 최적화하고 조정하고, 간격 범위를 축소하여 더 많은 소음을 필터링하십시오.
BBI의 필터링 파라미터를 최적화하고, 동적 영역 필터링 가짜 돌파구를 설정한다.
트렌드를 판단하는 지표를 추가하고 역동적인 작업을 피하십시오.
다양한 스톱을 테스트하고, 최대 회수 가능한 스톱을 찾습니다.
다양한 주문 방식을 테스트하여 미끄러짐 영향을 최소화 할 수있는 주문 방법을 찾으십시오.
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)