
이 전략은 RSI 필터 기반의 부린 밴드 전략이라고 한다. 부린 밴드 원칙을 사용하여 RSI 지표와 결합하여 필터로 입주를 판단하는 양적 전략이다. 이 전략은 시장 추세를 효과적으로 판단하여 낮은 매매를 달성하고 더 나은 수익을 얻을 수 있다.
이 전략의 핵심 지표는 브린 띠이다. 브린 띠는 중간선, 상선, 하선으로 구성된다. 중간선은 n일 이동 평균이며, 상선은 중간선에 k배의 n일 표준 차이를 더하고, 하선은 중간선에서 k배의 n일 표준 차이를 빼는다. 가격이 상선에 가까워지면, 시장이 과대평가되고, 공백을 고려해야 한다. 가격이 하선에 가까워지면, 시장이 과소평가되고, 더 많은 것을 고려해야 한다.
이 전략은 브린 밴드를 기반으로, RSI 지표를 입문 필터로 추가한다. RSI는 시장이 과매매 상태인지 여부를 판단할 수 있다. RSI가 70보다 높으면 과매매를 의미하고, 30보다 낮으면 과매를 의미한다. 이 전략은 브린이 거래 신호를 보내는 동시에 RSI가 과매 과매 조건에 부합하는 경우에만 입장을 고려한다.
구체적으로, 가격이 아래에서 위쪽으로 브린을 넘어서면 구매 신호가 발생하며, RSI가 30의 초과 판매 라인을 넘어서면 구매 신호가 발생하고, 가격이 위쪽으로 브린을 넘어서면 판매 신호가 발생하며, RSI가 70의 초과 구매 라인을 넘어서면 판매 신호가 발생한다.
이 전략은 브린 밴드와 RSI 지표를 결합하여 시장의 과매매 현상을 효과적으로 판단하여 가짜 돌파구가 불필요한 손실을 초래하는 것을 방지 할 수 있습니다. 또한 RSI 지표는 필터로 작용하여 일부 잡음 거래 신호를 필터링하여 진입 시기를 더 정확하게 할 수 있습니다.
이 전략은 단지 적은 파라미터를 필요로 하며, 프로세스가 간단하고 명확하게 구현되어, 다양한 수준의 양자 거래자의 사용에 적합하다. 중장기선은 효과적으로 유지되고, 시장의 단기 변동에 방해받지 않는다.
전체적으로 보면, 이 전략은 다음과 같은 장점을 가지고 있습니다.
이 전략에는 몇 가지 위험도 있습니다.
이러한 위험들을 통제하기 위해 다음과 같은 것이 권장됩니다.
이 전략에는 더 많은 최적화 가능성은 있습니다:
이러한 최적화는 보다 안정적인 전략, 보다 최적화된 변수, 그리고 보다 나은 위험 관리를 가능하게 합니다.
이 전략은 RSI 필터 기반의 부린띠 전략이라고 불린다. 부린띠가 과매매를 판단하는 능력과 RSI가 시장의 Momentum을 판단하는 능력을 통합하여 강력한 양적 전략을 형성한다. 이 전략은 시장의 장단기 기회를 판단하는 데 독특한 이점이 있으며, 더 나은 초과 수익을 가져올 수 있다.
그럼에도 불구하고, 이 전략에는 개선할 여지가 있으며, 매개 변수 최적화, 위험 제어 등의 방법을 통해 전략 효과를 더 우수하게 만들고, 더 다양한 시장 상황에 적응할 수 있습니다. 이것은 또한 미래의 연구 방향입니다.
/*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)