RSI 필터와 함께 볼링거 밴드 전략

저자:차오장, 날짜: 2023-11-28 12:12:41
태그:

img

전반적인 설명

이 전략의 이름은 RSI 필터와 함께 볼링거 밴드 전략이다. 이 전략은 입시 신호를 위한 필터로 RSI 지표와 결합한 볼링거 밴드의 원리를 활용한다. 이 전략은 적당한 이익을 얻기 위해 낮은 가격에 구매하고 높은 가격에 판매하는 시장 트렌드를 효과적으로 결정할 수 있다.

전략 원칙

이 전략의 핵심 지표는 중간 밴드, 상위 밴드 및 하위 밴드로 구성된 볼링거 밴드입니다. 중간 밴드는 n 기간 이동 평균, 상위 밴드는 중간 밴드 더하기 k 시간 n 기간 표준 편차, 하위 밴드는 중간 밴드 마이너스 k 시간 n 기간 표준 편차입니다. 가격이 상위 밴드에 접근하면 시장이 과평가되어 짧은 포지션을 고려해야합니다. 가격이 하위 밴드에 접근하면 시장이 과평가되어 긴 포지션을 고려해야합니다.

이 전략은 볼링거 밴드 외에도 RSI 지표를 엔트리 신호의 필터로 통합합니다. RSI는 시장이 과소매 또는 과소매인지 판단합니다. 70 이상의 값은 과소매 조건을 나타냅니다. 30 이하의 값은 과소매 조건을 나타냅니다. 이 전략은 볼링거 밴드가 RSI가 과소매 또는 과소매 수준에 도달하는 동시에 신호를 표시 할 때만 트레이드에 입력됩니다.

구체적으로, 가격이 RSI가 30보다 낮을 때 아래에서 낮은 볼링거 밴드를 넘을 때 구매 신호가 생성됩니다. 가격이 RSI가 70보다 높을 때 위에서 상위 볼링거 밴드를 넘을 때 판매 신호가 생성됩니다.

이점 분석

이 전략은 볼링거 밴드를 RSI 지표와 결합하여 과잉 구매 및 과잉 판매 시장 조건을 효과적으로 식별하여 가짜 브레이크로 인한 불필요한 손실을 피합니다. RSI는 시장 소음을 제거하는 필터로 작용하여 입시 시기를 더 정확하게합니다.

이 전략은 몇 가지 매개 변수를 가지고 있으며 실행이 간단하며 모든 기술 수준의 양적 거래자에게 적합합니다. 중장기 보유 전략은 단기 시장 변동의 간섭을 피합니다.

요약하면 다음과 같은 장점이 있습니다.

  1. 볼링거 밴드와 RSI를 통합하는 더 강력한 판단
  2. 가짜 탈출으로 인한 손실을 줄여줍니다.
  3. 간단한 매개 변수, 쉽게 구현
  4. 중~장기 지분에서 소액을 채용하는 경우

위험 분석

이 전략에서 주의해야 할 몇 가지 위험은 다음과 같습니다.

  1. 부적절한 볼링거 밴드 매개 변수 설정은 신호 품질을 악화시킵니다.
  2. 볼링거 밴드는 트렌딩 시장에서 가격 움직임을 따라가는 경향이 있습니다.
  3. RSI 오차는 신호 정확성에 영향을 미칩니다.
  4. 희귀한 거래 신호는 장기 손실 위험이 있습니다.

이러한 위험을 통제하기 위해:

  1. 가장 좋은 조합을 찾기 위해 매개 변수를 최적화
  2. 시장의 범위를 피하기 위해 더 높은 시간 프레임 구조를 고려하십시오.
  3. 거짓 신호를 피하기 위해 다른 지표와 RSI 신호를 확인
  4. 심각한 손실을 방지하기 위해 보유 기간을 조정합니다.

최적화 방향

추가 개선:

  1. 다른 RSI 매개 변수를 테스트
  2. 스톱 손실을 더 잘 제어하기 위해 포함
  3. 확인을 조합하기 위해 다른 지표를 추가합니다.
  4. 자동 매개 변수 최적화를 위해 기계 학습을 활용

이러한 개선은 안정성을 향상시키고 매개 변수를 최적화하며 위험 관리를 강화 할 수 있습니다.

결론

RSI 필터와 함께 볼링거 밴드 전략은 강력한 양적 전략을 형성하기 위해 RSI의 모멘텀 가이드와 볼링거 밴드 과잉 구매 / 과잉 판매 식별을 통합합니다. 전략은 상당한 알파를 생성 할 수있는 시간 프레임에 걸쳐 시장 기회를 결정하는 데 독특한 장점을 가지고 있습니다.

그럼에도 불구하고, 다양한 시장 조건에 따라 성능을 조정하기 위해 매개 변수 최적화와 위험 통제를 통해 개선할 여지가 있습니다. 추가 연구가 필요한 영역입니다.


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

//@version=5
strategy("Bollinger Bands Strategy with RSI Filter", overlay=true)
source = close
length = input.int(20, minval=1)
mult = input.float(2.0, minval=0.001, maxval=50)
basis = ta.sma(source, length)
dev = mult * ta.stdev(source, length)
upper = basis + dev
lower = basis - dev

// RSI Filter
rsiLength = input(14, title="RSI Length")
rsiOverbought = input(70, title="RSI Overbought Level")
rsiOversold = input(30, title="RSI Oversold Level")
rsiValue = ta.rsi(source, rsiLength)

// Buy and Sell Conditions with RSI Filter
buyEntry = ta.crossover(source, lower) and rsiValue < rsiOversold
sellEntry = ta.crossunder(source, upper) and rsiValue > rsiOverbought

// Entry and Exit Logic
if (buyEntry)
    strategy.entry("BBandLE", strategy.long, stop=lower, oca_name="BollingerBands", comment="BBandLE")
else
    strategy.cancel(id="BBandLE")

if (sellEntry)
    strategy.entry("BBandSE", strategy.short, stop=upper, oca_name="BollingerBands", comment="BBandSE")
else
    strategy.cancel(id="BBandSE")

// Plot Bollinger Bands on the chart
plot(upper, color=color.red, title="Upper Band")
plot(lower, color=color.green, title="Lower Band")

// Plot RSI on the chart
hline(rsiOverbought, "Overbought", color=color.red)
hline(rsiOversold, "Oversold", color=color.green)
plot(rsiValue, color=color.blue, title="RSI")

// Plot buy and sell signals on the chart
plotshape(series=buyEntry, title="Buy Signal", color=color.green, style=shape.triangleup, location=location.belowbar)
plotshape(series=sellEntry, title="Sell Signal", color=color.red, style=shape.triangledown, location=location.abovebar)


더 많은