볼링거 밴드 스토카스틱 RSI 극심 신호 전략

저자:차오장, 날짜: 2024-04-12 16:36:42
태그:RSI스톡BBBBSR

img

전반적인 설명

이 전략은 볼링거 밴드 (Bollinger Band) 와 스토카스틱 RSI 인디케이터를 사용하여 가격 반전을 나타낼 수 있는 신호를 생성합니다. 기본적으로 하향 신호는 빨간 화살표로 표시되고 올림 신호는 녹색 화살표로 표시됩니다. 신호를 보내기 전에 전략은 다음과 같은 조건을 찾습니다: (올림) 촛불이 상위 볼링거 밴드 (Bollinger Band) 이상으로 닫히고, 그 다음 촛불이 상위 밴드 내에서 닫히고, 스토카스틱 RSI는 미리 설정된 임계치 (디폴트 10) 아래로 닫히고; (하향) 촛불이 하위 볼링거 밴드 (Bollinger Band) 아래로 닫히고, 그 다음 촛불이 하위 밴드 내에서 닫히고, 스토카스틱 RSI는 미리 설정된 임계치 (디폴트 90) 이상으로 닫히고.

전략 원칙

이 전략의 핵심 원칙은 잠재적인 가격 반전 신호를 포착하기 위해 볼링거 밴드 (Bollinger Band) 와 스토카스틱 RSI (Stochastic RSI) 를 사용하는 것입니다. 볼링거 밴드는 중간 밴드 (일반적으로 이동 평균) 와 두 개의 상부 및 하부 밴드 (중부 밴드 플러스 / 마이너스 표준 편차) 로 구성되어 있으며, 가격 변동성을 반영 할 수 있습니다. 가격이 상부 또는 하부 밴드를 넘어서면 일반적으로 시장 정서가 너무 낙관적이거나 비관적이며 가격이 반전 될 수 있음을 나타냅니다. 스토카스틱 RSI는 RSI 지표 위에 적용되는 스토카스틱 지표로 시장의 과소매 및 과소매 상태를 더 민감하게 반영합니다. 스토카스틱 RSI가 극단적 인 영역 (예를 들어 90 또는 10 이하의 지역) 에 도달하면 잠재적인 반전 전략을 나타냅니다. 이것은 Binger Band과 스토카스틱 브레이크아웃의 조건을 결합하여 RSI가 가격의 극단적 인 영역을 시간적으로 포착 할 수 있습니다.

전략적 장점

  1. 이중 확인: 이 전략은 볼링거 밴드와 스토카스틱 RSI 인디케이터를 모두 사용하여 잘못된 신호를 효과적으로 필터링하고 신호 신뢰성을 향상시킬 수있는 이중 확인 메커니즘을 형성합니다.
  2. 적시에 반전 포착: 볼링거 밴드 브레이크오웃 및 스토카스틱 RSI 극도는 시장 정서 반전의 중요한 징후입니다. 전략은 이러한 핵심 순간을 적시에 포착하고 투자자에게 적시에 거래 신호를 제공할 수 있습니다.
  3. 유연한 매개 변수: 전략의 매개 변수 설정은 상대적으로 유연합니다. 예를 들어 볼링거 밴드의 기간과 너비, 스토카스틱 RSI의 기간 및 과잉 구매/ 과잉 판매 문턱 등이 있습니다. 다른 시장과 품종에 따라 최적화 및 조정 할 수 있습니다.
  4. 광범위한 적용 가능성: 전략은 주식, 선물, 외환, 암호화폐 등 다양한 금융 시장 및 거래 제품에 적용될 수 있습니다. 매개 변수를 조정함으로써 다른 시장 특성에 적응할 수 있습니다.

전략 위험

  1. 범위 시장에서 낮은 성과: 범위 시장에서 가격은 종종 볼링거 밴드의 상부 및 하부 대역 근처에서 변동하며 스토카스틱 RSI는 종종 과반 구매 및 과반 판매 구역에 진입하여 더 많은 잘못된 신호를 줄 수 있으며, 빈번한 거래 및 자금 마모로 이어집니다.
  2. 트렌딩 시장의 지연: 강한 트렌딩 시장에서 가격은 상부 또는 하부 볼링거 밴드를 오랫동안 뚫고 갈 수 있으며 스토카스틱 RSI는 또한 과도한 구매 또는 과도한 판매 지역에서 오랫동안 남아있을 수 있습니다. 이 시점에서 전략은 지연 반전 신호를 발급하고 트렌드 거래 기회를 놓칠 수 있습니다.
  3. 매개 변수 설정에 민감: 전략의 성능은 매개 변수 설정에 매우 민감합니다. 다른 매개 변수 조합은 상당히 다른 결과를 가져올 수 있습니다. 매개 변수 설정은 시장 조건에 따라 지속적으로 디버깅 및 최적화되어야하며, 이는 사용의 어려움을 증가시킵니다.

전략 최적화 방향

  1. 트렌드 확인을 추가합니다. 현재 전략의 기초에 따라, 현재 트렌드 방향과 강도를 파악하고, 트렌드가 명확할 때 트렌드 반대 거래를 피하고, 전략의 적응성을 향상시키기 위해 이동 평균, MACD 등과 같은 일부 트렌드 확인 지표를 추가할 수 있습니다.
  2. 동적 매개 변수 조정: 시장 변동성의 변화에 따라 볼링거 밴드의 너비와 스토카스틱 RSI의 과잉 구매/ 과잉 판매 임계치를 동적으로 조정합니다. 거래 빈도를 줄이기 위해 변동성이 높을 때 더 넓은 밴드와 더 높은 임계치를 사용하십시오. 변동성이 낮을 때 거래 감수성을 향상시키기 위해 좁은 밴드와 낮은 임계치를 사용하십시오.
  3. 스톱 로스 및 트레이프 트레이드를 도입합니다. 전략이 거래 신호를 생성 한 후에는 해당 스톱 로스 및 트레이프 트레이프 규칙을 설정하여 단일 거래의 위험 노출과 수익 목표를 제어하여 전략의 위험/이익 비율을 향상시킬 수 있습니다.
  4. 다른 기술 지표와 결합: 전략은 지원 및 저항 수준, 거래량 등과 같은 다른 기술 지표와 결합하여 더 강력한 신호 확인 메커니즘을 형성하고 전략의 신뢰성과 수익성을 향상시킬 수 있습니다.

요약

볼링거 밴드 스토카스틱 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)



관련

더 많은