RSI 볼링거 밴드 단기 거래 전략

저자:차오장, 날짜: 2023-12-19 11:31:09
태그:

img

전반적인 설명

이 전략은 상대 강도 지수 (RSI) 와 볼링거 밴드를 결합하여 단기 거래 전략을 구성합니다. RSI가 상부 또는 하부 볼링거 밴드를 뚫을 때 주로 구매 및 판매 신호를 활용합니다. 한편, 위험을 효과적으로 제어하기 위해 스톱 로스 메커니즘이 포함되어 있습니다.

전략 논리

  1. RSI 지표를 14주기 매개 변수로 계산합니다.
  2. RSI의 가중 이동 평균을 사용하여 Bollinger Midband를 계산합니다. 25로 설정된 기간으로
  3. 볼링거 대역의 상단 및 하단 대역을 계산한다. 상단 대역은 미드밴드 더하기 진폭이고, 하단 대역은 미드밴드 빼기 진폭이다. 진폭은 RSI 표준편차의 20배로 설정된다.
  4. RSI가 하위 띠를 통과할 때 장거리, 그리고 RSI가 상위 띠를 통과할 때 단거리입니다.
  5. 스톱 로스 메커니즘을 설정하면 가격이 긴 입상 가격의 6% 이하로 떨어지면 긴 포지션을 닫습니다.

이점 분석

이 전략은 단기 거래에 대한 RSI와 볼링거 밴드의 장점을 결합합니다. 주요 장점은 다음과 같습니다.

  1. RSI는 과잉 구매 및 과잉 판매 시나리오를 효과적으로 결정할 수 있습니다. 볼링거 밴드를 결합하면 거래 신호에 정확성을 추가합니다.
  2. 볼링거 대역은 동적으로 시장 변동성에 따라 범위를 자동으로 조정합니다.
  3. 스톱 로스 설정은 적자를 제어하는 동안 정상적인 변동에 6%의 허용으로 합리적입니다.

위험 분석

이 전략의 잠재적 위험은 다음을 포함합니다.

  1. RSI는 후진적인 특성을 가지고 있고 빠른 반전 기회를 놓칠 수 있습니다.
  2. 잘못된 볼링거 밴드 매개 변수 또는 급격한 시장 변동은 나쁜 신호를 일으킬 수 있습니다.
  3. 스톱 로스 매개 변수를 잘못 설정하면 불필요한 손실이 발생할 수 있습니다.

해결책:

  1. 전체적인 판단을 위해 KDJ와 같은 다른 지표와 결합하는 것을 고려하십시오.
  2. 다른 시장에 대한 매개 변수를 동적으로 최적화합니다.
  3. 역 테스트 및 최적화 중지 손실 파라미터 최고의 설정.

최적화 방향

더 많은 최적화를 할 수 있습니다.

  1. 가격 변동에 따라 고정 스톱 로스로 동적 트레일 스톱 로스로 변경합니다.
  2. Bollinger Band Width Index 규칙을 추가하여 Bands가 너무 커지거나 수축할 때 거래를 일시 중지합니다.
  3. 더 나은 확인을 위해 Chaikin 현금 흐름과 같은 부피 지표를 결합하십시오.

요약

요약하자면, 이것은 비교적 안정적이고 신뢰할 수있는 단기 거래 전략입니다. RSI의 과잉 구매- 과잉 판매 판단과 볼링거 밴드의 적응 범위의 장점을 결합하여 유리한 단기 시스템을 형성합니다. 매개 변수 조정 및 논리 정밀화로이 전략은 일관된 이익을 얻을 수 있습니다.


/*backtest
start: 2022-12-12 00:00:00
end: 2023-10-13 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("rsi+bb st", shorttitle="rsibb st 0.3")

len_rsi=input(14)
len_bb = input(25)
mul10 = input(20.0)
mul=mul10/10
sl100 = input(94.0, title='stop loss rate')
sl=sl100/100

lw = 3

vwma_e(src, len) =>
    ema(src*volume, len)/ema(volume,len)

rsi = rsi(close, len_rsi)
plot(rsi, color=blue, title= 'rsi blue', linewidth=lw)
plot(70, color=gray, title='line 70', linewidth=lw)
plot(30, color=gray, title='line 30', linewidth=lw)

bbg = stdev(rsi, len_bb)*mul
bbc = vwma_e(rsi, len_bb)
//bbc=ema(rsi,len_bb)
ratio = 0.6
bbc := bbc*ratio + 50*(1-ratio)

bbu = bbc+bbg
bbl = bbc-bbg
plot(bbu, color=green, title='bb_up green', linewidth=lw)
plot(bbl, color=red, title='bb_low red', linewidth=lw)
plot(bbc, color=#808000ff, title='bb center', linewidth=lw)

plot(50, color=black)

lc = crossover(rsi, bbl) //or crossover(rsi, bbc)
sc = crossunder(rsi, bbu)

last_pos = 0*close
if lc
    last_pos := 1
else
    last_pos := last_pos[1]
if sc
    last_pos := 2

last_price = 0*close
if last_pos[1] !=1 and last_pos == 1
    last_price := close
else
    last_price := last_price[1]
    
if last_pos==1 and close < last_price*sl
    lc:=false
    sc:=true
    last_pos:=2

if (lc)
    strategy.entry("long", strategy.long)

if (sc)
    strategy.entry("short", strategy.short)

더 많은