이 전략은 볼링거 밴드 (Bollinger Band) 와 스토카스틱 RSI 인디케이터를 사용하여 가격 반전을 나타낼 수 있는 신호를 생성합니다. 기본적으로 하향 신호는 빨간 화살표로 표시되고 올림 신호는 녹색 화살표로 표시됩니다. 신호를 보내기 전에 전략은 다음과 같은 조건을 찾습니다: (올림) 촛불이 상위 볼링거 밴드 (Bollinger Band) 이상으로 닫히고, 그 다음 촛불이 상위 밴드 내에서 닫히고, 스토카스틱 RSI는 미리 설정된 임계치 (디폴트 10) 아래로 닫히고; (하향) 촛불이 하위 볼링거 밴드 (Bollinger Band) 아래로 닫히고, 그 다음 촛불이 하위 밴드 내에서 닫히고, 스토카스틱 RSI는 미리 설정된 임계치 (디폴트 90) 이상으로 닫히고.
이 전략의 핵심 원칙은 잠재적인 가격 반전 신호를 포착하기 위해 볼링거 밴드 (Bollinger Band) 와 스토카스틱 RSI (Stochastic RSI) 를 사용하는 것입니다. 볼링거 밴드는 중간 밴드 (일반적으로 이동 평균) 와 두 개의 상부 및 하부 밴드 (중부 밴드 플러스 / 마이너스 표준 편차) 로 구성되어 있으며, 가격 변동성을 반영 할 수 있습니다. 가격이 상부 또는 하부 밴드를 넘어서면 일반적으로 시장 정서가 너무 낙관적이거나 비관적이며 가격이 반전 될 수 있음을 나타냅니다. 스토카스틱 RSI는 RSI 지표 위에 적용되는 스토카스틱 지표로 시장의 과소매 및 과소매 상태를 더 민감하게 반영합니다. 스토카스틱 RSI가 극단적 인 영역 (예를 들어 90 또는 10 이하의 지역) 에 도달하면 잠재적인 반전 전략을 나타냅니다. 이것은 Binger Band과 스토카스틱 브레이크아웃의 조건을 결합하여 RSI가 가격의 극단적 인 영역을 시간적으로 포착 할 수 있습니다.
볼링거 밴드 스토카스틱 RSI 극단적 신호 전략은 볼링거 밴드 및 스토카스틱 RSI라는 두 가지 기술적 지표를 결합하여 상부 및 하부 볼링거 밴드 및 스토카스틱 RSI의 가격 브레이크와 과잉 구매 / 과잉 판매 극단적 영역에 도달하는 스토카스틱 RSI를 잠재적 인 반전 신호로 사용하여 간단하고 사용하기 쉬운 거래 전략을 형성합니다. 전략은 신뢰할 수있는 신호 및 광범위한 적용 가능성과 같은 장점이 있지만 범위 시장에서 성능이 좋지 않으며 트렌딩 시장에서 뒤떨어질 수 있으며 매개 변수 설정에 민감합니다. 따라서 실용적인 응용에서는 트렌드 확인, 동적 매개 변수, 스톱 손실 및 취리 이익과 같은 측면에서 전략을 최적화하고 개선하는 것을 고려하고 수익성 향상 및 더 나은 거래 관행 및 양량적 적응성을 위해 다른 지표와 결합 할 수 있습니다.
/*backtest start: 2023-04-06 00:00:00 end: 2024-04-11 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(shorttitle='BBSR Extreme', title='Bollinger Bands Stochastic RSI Extreme Signal', overlay=true) //General Inputs src = input(close, title='Source') offset = input.int(0, 'Offset', minval=-500, maxval=500) //Bollinger Inputs length = input.int(20, title='Bollinger Band Length', minval=1) mult = input.float(2.0, minval=0.001, maxval=50, title='StdDev') //Bollinger Code basis = ta.sma(src, length) dev = mult * ta.stdev(src, length) upper = basis + dev lower = basis - dev plot(basis, 'BB Basis', color=color.new(#872323, 0), offset=offset) p1 = plot(upper, 'BB Upper', color=color.new(color.teal, 0), offset=offset) p2 = plot(lower, 'BB Lower', color=color.new(color.teal, 0), offset=offset) fill(p1, p2, title='BB Background', color=color.new(#198787, 95)) //Stoch Inputs smoothK = input.int(3, 'K', minval=1) smoothD = input.int(3, 'D', minval=1) lengthRSI = input.int(14, 'RSI Length', minval=1) lengthStoch = input.int(14, 'Stochastic Length', minval=1) upperlimit = input.float(90, 'Upper Limit', minval=0.01) lowerlimit = input.float(10, 'Upper Limit', minval=0.01) //Stochastic Code rsi1 = ta.rsi(src, lengthRSI) k = ta.sma(ta.stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK) d = ta.sma(k, smoothD) //Evaluation Bear = close[1] > upper[1] and close < upper and k[1] > upperlimit and d[1] > upperlimit Bull = close[1] < lower[1] and close > lower and k[1] < lowerlimit and d[1] < lowerlimit //Plots plotshape(Bear, style=shape.triangledown, location=location.abovebar, color=color.new(color.red, 0), size=size.tiny) plotshape(Bull, style=shape.triangleup, location=location.belowbar, color=color.new(color.green, 0), size=size.tiny) // Alert Functionality alertcondition(Bear or Bull, title='Any Signal', message='{{exchange}}:{{ticker}}' + ' {{interval}}' + ' BB Stochastic Extreme!') alertcondition(Bear, title='Bearish Signal', message='{{exchange}}:{{ticker}}' + ' {{interval}}' + ' Bearish BB Stochastic Extreme!') alertcondition(Bull, title='Bullish Signal', message='{{exchange}}:{{ticker}}' + ' {{interval}}' + ' Bullish BB Stochastic Extreme!') if Bear strategy.entry('Enter Long', strategy.long) else if Bull strategy.entry('Enter Short', strategy.short)