볼링거 밴드 및 RSI 조합 거래 전략

저자:차오장, 날짜: 2024-02-04 15:09:35
태그:

img

전반적인 설명

이것은 볼링거 밴드 및 상대적 강도 지수 (RSI) 를 사용하는 조합 거래 전략입니다. 그것의 핵심 아이디어는 RSI가 과소매 또는 과소매 영역에 도달 할 때 볼링거 밴드 상부 및 하부 레일과 결합하여 구매 및 판매 신호를 생성하는 것입니다.

전략 이름

BB-RSI 조합 거래 전략

전략 원칙

이 전략은 먼저 중간 레일, 상부 레일 및 하부 레일을 포함한 규칙적인 볼링거 밴드를 계산합니다. 중간 레일은 특정 기간 동안 폐쇄 가격의 간단한 이동 평균이며, 상부 및 하부 레일은 중간 레일의 한 표준 편차 이상과 아래에 있습니다.

동시에, 전략은 RSI 지표를 계산합니다. RSI는 평균 폐쇄 상승 추세와 평균 종료 하락 추세를 비교하여 현재 시장이 과소매 또는 과소매인지 판단합니다.

RSI가 하위점 (디폴트 30) 보다 작을 때, 시장이 과판되었다는 것을 의미합니다. RSI가 하위점 (디폴트 70) 보다 높을 때, 시장이 과판되었다는 것을 의미합니다.

이 전략은 RSI가 과판 구역에 도달하면, 닫기 가격이 볼링거 밴드 하부 레일보다 낮으면 구매 신호가 생성됩니다. RSI가 과판 구역에 도달하면, 닫기 가격이 볼링거 밴드 상부 레일보다 높으면 판매 신호가 생성됩니다.

이점 분석

이 조합 전략의 가장 큰 장점은 시장의 전환점을 발견 할 수 있다는 것입니다. 주가가 볼링거 밴드 너비의 비교적 큰 지역에있을 때 시장 변동이 크다는 것을 의미합니다. 이 시점에서, 시장이 RSI를 통해 과소 구매 또는 과소 판매 여부를 판단함으로써 반전의 시기를 찾을 수 있습니다.

또 다른 장점은 유연한 매개 변수 설정입니다. 볼링거 밴드와 RSI 지표 모두 거래자가 자신의 필요에 따라 최적화 할 수있는 조정 가능한 매개 변수를 가지고 있습니다.

위험 분석

이 전략의 가장 큰 위험은 생성 된 신호의 적은 수입니다. 특히 장기적 일방적 트렌드 시장에서 과도한 적합성에 취약합니다. 이 시점에서 RSI가 거래 신호를 생성 할 수 없으므로 과반 구매 및 과반 판매 상태에 도달하는 것은 어렵습니다.

또 다른 위험은 매개 변수 설정의 어려움이다. 볼링거 밴드와 RSI는 모두 주기와 다른 매개 변수를 설정해야합니다. 잘못된 선택은 잘못된 전략 결과를 초래할 수 있습니다. 이것은 거래자가 시장에 대한 철저한 이해를 필요로하며 그렇지 않으면 신중하게 전략을 사용해야합니다.

최적화 방향

더 많은 거래 기회를 얻기 위해, RSI의 과잉 구매 및 과잉 판매 라인은 적절하게 조정 할 수 있습니다. 예를 들어, 과잉 판매 라인은 40으로 올리고 과잉 구매 라인은 60으로 낮출 수 있으므로 신호가 더 쉽게 형성 될 수 있습니다.

또 다른 방향은 일방적인 트렌드 시장에서 맹목적 인 반전을 피하기 위해 트렌드 판단 메커니즘을 도입하는 것입니다. 예를 들어, 긴 사이클 이동 평균의 방향은 필터 조건으로 계산 될 수 있습니다. 이동 평균 방향이 일치 할 때만 신호가 생성됩니다.

요약

BB-RSI 조합 전략은 볼링거 밴드를 사용하여 지원 및 저항을 결정하고, RSI를 사용하여 과잉 구매 및 과잉 판매 상태를 결정하여 반전 지점에서 신호를 생성합니다. 시장의 전환점을 효과적으로 식별 할 수 있으며 전형적인 반전 거래 전략입니다. 매개 변수 최적화 및 규칙 정리를 통해이 전략은 양적 거래에 강력한 도구가 될 수 있습니다.


/*backtest
start: 2023-01-28 00:00:00
end: 2024-02-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © samuelarbos


//@version=4
strategy("Estrategia de Bandas de Bollinger y RSI", overlay=true)

// Definimos los parámetros de las bandas de Bollinger
source = input(close, title="Precio base")
length = input(20, minval=1, title="Longitud")
mult = input(2.0, minval=0.001, maxval=50, title="Desviación estándar")

// Calculamos las bandas de Bollinger
basis = sma(source, length)
dev = mult * stdev(source, length)
upper = basis + dev
lower = basis - dev

// Definimos el RSI y sus parámetros
rsi_source = input(close, title="RSI Fuente")
rsi_length = input(14, minval=1, title="RSI Longitud")
rsi_overbought = input(70, minval=0, maxval=100, title="RSI Sobrecompra")
rsi_oversold = input(30, minval=0, maxval=100, title="RSI Sobrevendido")

// Calculamos el RSI
rsi = rsi(rsi_source, rsi_length)

// Definimos las señales de compra y venta
buy_signal = crossover(close, lower) and rsi < rsi_oversold
sell_signal = crossunder(close, upper) and rsi > rsi_overbought

// Compramos cuando se da la señal de compra
if (buy_signal)
    strategy.entry("Buy", strategy.long)
    
// Vendemos cuando se da la señal de venta
if (sell_signal)
    strategy.entry("Sell", strategy.short)

더 많은