리소스 로딩... 로딩...

향상된 볼링거 밴드 RSI 거래 전략

저자:차오장, 날짜: 2024-04-30 16:54:45
태그:EMARSI

img

####평론 이 전략은 볼링거 밴드 및 상대적 강도 지수 (RSI) 라는 두 가지 기술 지표를 결합합니다. 가격 변동 범위를 캡처하기 위해 볼링거 밴드 및 가격의 과잉 구매 및 과잉 판매 상태를 확인하기 위해 RSI를 사용합니다. 이는 거래 신호를 판단하는 기초로 작용합니다. 가격이 볼링거 밴드의 하위 대역을 통과하고 RSI가 30 미만으로 떨어지면 긴 신호가 생성됩니다. 가격이 상위 대역을 통과하고 RSI가 70 미만으로 떨어지면 짧은 신호가 생성됩니다.

### 전략 원칙

  1. 볼링거 밴드의 상위, 중위 및 하위 대역을 계산합니다. 중위 대역은 폐쇄 가격의 간단한 이동 평균이며 상위 및 하위 대역은 특정 표준 편차를 더하거나 빼는 중위 대역입니다.

  2. RSI 인디케이터를 계산합니다. RSI는 가격의 과반 구매 및 과반 판매 상태를 결정하기 위해 일정 기간 동안 가격 상승과 감소의 크기를 측정하는 데 사용됩니다.

  3. 거래 신호를 생성합니다. 닫기 가격이 볼링거 밴드의 하위 대역을 뚫고 RSI가 30보다 낮을 때 긴 신호가 생성됩니다. 닫기 가격이 상위 대역을 뚫고 RSI가 70보다 높을 때 짧은 신호가 생성됩니다.

  4. 거래를 실행합니다. 거래 신호에 따라 제한 주문을 설정합니다. 볼링거 밴드의 상부 대역을 뚫을 때 짧고, 하부 대역을 뚫을 때 길습니다. 동시에 반대 방향으로 이전 미결 주문을 취소합니다.

###혜택 분석

  1. 볼링거 밴드는 가격의 변동 범위를 정량화 할 수 있으며 RSI 지표는 가격의 과반 구매 및 과반 판매 정도를 정량화 할 수 있습니다. 둘의 조합은 가격 반전의 시기를 비교적 신뢰할 수 있습니다.

  2. 제한 주문을 설정하면 잘못된 오픈 또는 추격 및 살해를 피할 수 있으며, 중지 손실 명령을 설정하면 위험을 제어 할 수 있습니다.

  3. 기존의 대기 주문을 반대 방향으로 취소하는 설정은 전략이 너무 자주 거래되는 것을 막을 수 있습니다.

### 위험 분석

  1. 트렌딩 시장에서 큰 마감 현상이 발생할 수 있습니다. 볼링거 밴드 및 RSI 지표는 오스실레이션 시장의 반전 지점을 판단하는 데 더 적합하며 트렌딩 시장을 파악하는 능력이 약합니다.

  2. 매개 변수 설정은 전략 성능에 더 큰 영향을 미칩니다. 볼링거 밴드의 매개 변수 설정은 가격 돌파 빈도에 영향을 미치며, RSI 지표의 매개 변수 설정은 다른 시장 특성 및 거래 주기에 따라 최적화되어야하는 과잉 구매 및 과잉 판매 신호의 민감성에 영향을 미칩니다.

### 최적화 방향

  1. MACD 등과 같은 트렌드 판단 지표를 추가하고, 장기 및 단위 포지션의 적응적 조정을 위해 볼링거 밴드 및 RSI 지표를 트렌드 지표와 결합하는 것을 고려하십시오.

  2. 동적 매개 변수 최적화 방법을 사용하여 가격 변동성 및 트렌드 강도와 같은 특성에 따라 볼링거 밴드 및 RSI 지표의 매개 변수를 적응적으로 조정하여 전략의 적응력을 향상시키는 것을 고려하십시오.

  3. 자금 관리 및 포지션 관리 모듈을 전략에 추가하여 계좌 자금, 위험 선호도 및 역사적 마감 등 요인에 따라 각 거래에 대한 자금 및 레버리지 금액을 동적으로 조정합니다.

### 요약 볼링거 밴드 및 RSI 지표를 결합함으로써, 이 전략은 가격의 과잉 구매 및 과잉 판매 상태를 효과적으로 파악하고 거래 신호로 사용할 수 있다. 그러나, 전략은 트렌딩 시장에서 성능이 좋지 않을 수 있으며, 전략 성능은 매개 변수 설정에 더 민감하다. 미래에, 우리는 전략의 견고성과 수익성을 더욱 향상시키기 위해 트렌드 판단, 동적 매개 변수 최적화 및 펀드 관리 모듈을 도입하는 것을 고려할 수 있다.


/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Geliştirilmiş Bollinger Bantları Stratejisi", overlay=true)
source = close
length = input.int(20, minval=1, title="Uzunluk")
mult = input.float(2.0, minval=0.001, maxval=50, title="Çarpan")
basis = ta.sma(source, length)
dev = mult * ta.stdev(source, length)
upper = basis + dev
lower = basis - dev
plot(basis, title="Baz Çizgisi", color=color.blue)
plot(upper, title="Üst Bant", color=color.green)
plot(lower, title="Alt Bant", color=color.red)

// RSI göstergesi ekleme
rsiLength = input.int(14, title="RSI Uzunluğu")
rsiSource = close
rsi = ta.rsi(rsiSource, rsiLength)
plot(rsi, title="RSI", color=color.orange)

// RSI ve Bollinger Bantları kombinasyonu ile alım/satım sinyalleri
buyEntry = ta.crossover(source, lower) and rsi < 30
sellEntry = ta.crossunder(source, upper) and rsi > 70
plotshape(series=buyEntry, title="Alım Sinyali", location=location.belowbar, color=color.green, style=shape.labelup, text="AL")
plotshape(series=sellEntry, title="Satım Sinyali", location=location.abovebar, color=color.red, style=shape.labeldown, text="SAT")

// Strateji giriş/çıkış noktaları
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")

// Strateji performansını gösteren grafik
plot(strategy.equity, title="Strateji Performansı", color=color.purple, linewidth=2, style=plot.style_areabr)


관련

더 많은