볼린저 밴드-RSI 이중 확인 평균 회귀 전략 및 트레일링 손절매 보호

BB RSI SMA SD TS
생성 날짜: 2025-08-11 09:39:46 마지막으로 수정됨: 2025-08-11 09:39:46
복사: 3 클릭수: 257
avatar of ianzeng123 ianzeng123
2
집중하다
319
수행원

볼린저 밴드-RSI 이중 확인 평균 회귀 전략 및 트레일링 손절매 보호 볼린저 밴드-RSI 이중 확인 평균 회귀 전략 및 트레일링 손절매 보호

개요

이 전략은 부린 반지와 RSI 지표를 결합하여 쌍방향 확인 방법을 통해 잠재적인 시장 전환점을 식별합니다. 가격이 부린 반도를 넘어서 RSI가 초과 조건을 확인했을 때 다단계 입장에 들어가며, 가격이 부린 반도를 넘어서 RSI가 초과 조건을 확인했을 때 공백 입장에 들어갑니다. 이 전략은 동시에 고정된 스톱을 시행하고 손실을 추적하는 스톱 메커니즘을 수행합니다.

전략 원칙

이 전략은 평균 회귀 원리와 동력 확인 메커니즘을 기반으로 작동한다. 브린 밴드는 최근 변동성에 비해 가격 극한을 식별하는 데 도움이 되며, RSI는 시장이 실제로 과매매 또는 과매매 상태에 있는지 확인한다. 핵심 원리는 다음과 같다:

  1. 부린 대역 (standard deviation-based SMA 주위의 변동 대역) 을 사용하여 가격이 평균에서 크게 벗어난 경우를 식별합니다.
  2. RSI 판독을 통해 잠재적인 반전을 확인하고 거짓 신호를 필터링합니다.
  3. 고정된 손실과 추적된 손실을 위한 통합적 위험 관리 장치를 구현
  4. 동일한 기술 원칙에 기초하여 거래하는 다중 헤드 및 공백 기회

코드 구현에서, 전략은 30 일 주기 SMA를 사용하여 브린 띠의 중축을 계산하고, 표준 차이는 2.0이며, 14 일 주기 RSI를 동력으로 확인한다. 가격이 상회할 때 RSI가 70보다 높으면 공중 신호를 유발하고, 가격이 하회할 때 RSI가 30보다 낮으면 다중 신호를 유발한다. 동시에, 매 거래마다 고정된 40 점 스톱 손실과 40 점 추적 스톱 손실을 적용하여 위험을 통제 할 수 있도록한다.

전략적 이점

  1. 이중 확인 메커니즘은 가짜 신호를 줄여서 가격 행동 (Brin Belt) 과 동력 (RSI) 이 동시에 충족되도록 요구합니다.
  2. 평균 회귀 방법은 시장의 극단적 변동 이후 평균 회귀의 추세 특성을 활용합니다.
  3. 유연한 변수 설정은 전략이 다른 시장 조건과 거래 품종에 적응할 수 있게 해줍니다.
  4. 종합적 중단 전략은 고정된 중단과 추적된 중단을 동시에 사용하여 자본을 보존하고 수익을 잠금하는 데 도움이됩니다.
  5. 비교적 간단한 구현으로 전략을 이해하기 쉽고 동시에 시장 소음을 필터링 할 수 있습니다.
  6. 전략 대칭성은 다중 헤드 및 빈 헤드 기회를 동일한 원칙으로 처리 할 수있게합니다.
  7. 명확한 코드 구조, 변수 설계로 전략은 시장 특성에 따라 최적화 조정할 수 있습니다.

전략적 위험

  1. 강력한 추세 시장에서 평균 회귀 전략은 연속적인 손실을 겪을 수 있습니다.
  2. 고정된 스톱 손실 값은 시장의 다양한 변동성에 따라 항상 최적화되지 않을 수 있습니다.
  3. RSI와 브린은 지속되는 추세에서 극한 지역에서 오래 머물 수 있으며, 이는 조기 진입을 초래할 수 있습니다.
  4. 40 포인트 고정 스톱 로즈는 다른 거래 품종과 그 전형적인 가격 범위에 따라 적응하지 않습니다.
  5. 포지션 관리 논리가 부족하여 거래 간의 위험 격차가 불균형해질 수 있습니다.
  6. 시간 기반의 출장 메커니즘이 없는 것은 불안정한 시장에서 과도한 기간 동안 지분을 유지하게 할 수 있습니다.
  7. 고정된 스톱포인트는 높은 변동성 환경에서 자본을 보호하기에 충분하지 않을 수 있습니다.

전략 최적화 방향

  1. ATR (Average True Range) 또는 역사적인 변동률에 기반한 적응적 스톱로스를 구현하고 스톱로스를 추적합니다.
  2. 트렌드 필터를 추가하여 강세를 보이는 시장에서 역전 거래를 피하십시오.
  3. 통합 거래량 확인을 통해 신호 품질을 향상시킵니다.
  4. 변동성 또는 위험 지표에 기반한 동적 포지션 관리를 개발
  5. 시간 기반 출전 규칙을 추가하여 너무 오랜 기간을 보유하지 않도록하십시오.
  6. 대안적인 브린 밴드 계산 방법을 테스트하기 (예를 들어 SMA 대신 EMA를 사용하거나 다른 표준 차의 곱셈)
  7. 보조 확인 지표를 추가하여 입학 시간을 최적화합니다.
  8. 전체적인 리스크/이익 비율을 개선하기 위해 일부 수익을 취득하는 규칙을 추가하는 것을 고려하십시오.
  9. 다양한 변동성 환경에서 전략이 안정적으로 작동할 수 있도록 변동성 조정 메커니즘을 추가하는 것을 탐구합니다.

요약하다

브린 띠-RSI 이중 확인 평균 회귀 전략과 추적 스톱 보호는 신중한 시장 역전 거래 방법을 나타냅니다. 브린 띠의 변동성 신호와 RSI의 동력을 결합하여 확인하는 전략은 높은 확률의 역전점을 포착하고 가짜 신호를 필터링합니다. 내장 된 위험 관리 메커니즘은 고정 및 추적 스톱을 통해 중요한 보호 계층을 제공합니다. 이 전략은 다른 잠재적인 역전점을 두 번 확인하는 데 두 가지 장점이 있지만, 특히 다른 시장 조건에 적응하고 더 복잡한 포지션 관리 및 출구 메커니즘을 구현하는 데 있어 더 많은 최적화에서 이익을 얻을 수 있습니다.

전략 소스 코드
/*backtest
start: 2024-08-11 00:00:00
end: 2025-08-09 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy("BB & RSI Trailing Stop Strategy", overlay=true, initial_capital=10000)

// --- Inputs for Bollinger Bands, RSI, and Trade Management ---
bb_length = input.int(30, title="BB Length", minval=1)
bb_mult = input.float(2.0, title="BB StdDev", minval=0.001, maxval=50)
rsi_length = input.int(14, title="RSI Length", minval=1)
rsi_overbought = input.int(70, title="RSI Overbought Level", minval=1)
rsi_oversold = input.int(30, title="RSI Oversold Level", minval=1)
// We only need an input for the fixed stop loss now.
fixed_stop_points = input.int(40, title="Fixed Stop Loss Points", minval=1)

// --- Define Trailing Stop Value ---
// The trailing stop is hardcoded to 40 points as requested.
trailing_stop_points = 40

// --- Calculate Indicators ---
// Bollinger Bands
basis = ta.sma(close, bb_length)
dev = bb_mult * ta.stdev(close, bb_length)
upper = basis + dev
lower = basis - dev
// RSI
rsi_value = ta.rsi(close, rsi_length)

// --- Plot the Indicators on the chart ---
plot(basis, "Basis", color=color.new(color.gray, 0))
plot(upper, "Upper", color=color.new(color.red, 0))
plot(lower, "Lower", color=color.new(color.green, 0))

// --- Define Entry Conditions ---
// Short entry when price crosses upper band AND RSI is overbought
short_condition = ta.crossover(close, upper) and (rsi_value > rsi_overbought)
// Long entry when price crosses under lower band AND RSI is oversold
long_condition = ta.crossunder(close, lower) and (rsi_value < rsi_oversold)

// --- Execute Trades and Manage Exits ---
if (strategy.position_size == 0)
    // Logic for SHORT trades
    if (short_condition)
        strategy.entry("BB/RSI Short", strategy.short)
    // Logic for LONG trades
    if (long_condition)
        strategy.entry("BB/RSI Long", strategy.long)

// Apply the fixed stop loss and trailing stop to any open position
strategy.exit(id="Exit Order",
             loss=fixed_stop_points,
             trail_points=trailing_stop_points,
             trail_offset=0)