가우시안 채널과 확률적 RSI를 기반으로 한 추세 반전 양적 거래 전략

RSI STOCH EMA SD GC
생성 날짜: 2025-02-20 16:41:36 마지막으로 수정됨: 2025-02-20 16:41:36
복사: 3 클릭수: 372
avatar of ianzeng123 ianzeng123
2
집중하다
319
수행원

가우시안 채널과 확률적 RSI를 기반으로 한 추세 반전 양적 거래 전략 가우시안 채널과 확률적 RSI를 기반으로 한 추세 반전 양적 거래 전략

개요

이 전략은 가우스 채널 (Gaussian Channel) 과 무작위적으로 상대적으로 약한 지표 (Stochastic RSI) 를 결합한 정량 거래 시스템이다. 이 전략은 가우스 채널과 가격의 교차와 무작위적인 RSI의 움직임을 통해 시장의 트렌드 반전 기회를 포착한다. 가우스 채널은 이동 평균과 표준 차원에서 구성되어 있으며, 시장의 변동 범위를 동적으로 반영하고, 무작위적인 RSI는 역동성 측면의 확인 신호를 제공합니다.

전략 원칙

전략의 핵심 논리는 다음과 같은 핵심 부분으로 구성됩니다.

  1. 고스 통로의 구성: 20주기의 지수 이동 평균 ((EMA) 을 통로의 중축으로 사용하며, 통로의 상하한계는 중축과 2배의 표준차를 다.
  2. 무작위 RSI의 계산: 먼저 14주기의 RSI를 계산하고, RSI 값에 14주기의 무작위 공식을 적용하고, 최종적으로 결과를 3주기의 부드러운 처리를 하여 K선과 D선을 얻는다.
  3. 거래 신호 생성: 가격이 고스 통로 상도를 돌파하고 임의의 RSI의 K 라인에서 D 라인을 통과하면 다중 신호를 생성합니다. 가격이 고스 통로 상도를 넘어지면 평점으로 출장합니다.

전략적 이점

  1. 신호 신뢰도 높다: 트렌드와 동력의 두 차원의 지표가 결합되어 거짓 신호를 효과적으로 감소시킬 수 있다.
  2. 위험 제어: 고스 통로의 동적 특성을 활용하여 시장의 변동에 따라 거래 구역을 자동으로 조정할 수 있습니다.
  3. 적응성: 변수 설계로 전략은 다른 시장 환경과 거래 유형에 적응할 수 있다.
  4. 실행 효율성: 전략 논리가 명확하고 간단하며, 계산량이 작아 실시간 거래에 적합하다.

전략적 위험

  1. 지연 위험: 이동 평균 및 표준 차이의 계산은 지연성이 있으며, 입시 시기를 지연시킬 수 있다.
  2. 가짜 브레이크 위험: 불안한 시장에서 빈번한 가짜 브레이크 신호가 발생할 수 있습니다.
  3. 매개변수 민감도: 전략의 효과는 매개변수 설정에 따라 달라지며, 시장 환경에 따라 매개변수를 조정해야 할 수도 있습니다.
  4. 시장 환경 의존성: 트렌드가 보이지 않는 수평 시장에서 전략이 좋지 않을 수 있다.

전략 최적화 방향

  1. 신호 필터링 최적화: 거래량, 변동률 등의 보조 지표를 추가하여 거래 신호를 필터링 할 수 있습니다.
  2. 동적 파라미터 조정: 시장 상태에 따라 동적으로 채널 파라미터와 무작위 RSI 파라미터를 조정하는 적응 메커니즘을 도입한다.
  3. 손해 차단 장치의 개량: 추적 손해 또는 변동률 기반의 동적 손해 차단 장치를 추가한다.
  4. 포지션 관리 최적화: 신호 강도 및 시장 변동률에 따라 포지션 비율을 동적으로 조정한다.

요약하다

이 전략은 기술 분석의 트렌드 추적과 동적 지표를 결합하여 논리적으로 완전하고 위험을 제어 할 수있는 정량 거래 시스템을 구축합니다. 일부 고유한 위험이 있지만 지속적인 최적화와 개선으로 전략은 다양한 시장 환경에서 안정적인 성능을 유지할 것으로 예상됩니다. 전략의 모듈 디자인은 또한 후속 최적화 및 확장을위한 좋은 토대를 제공합니다.

전략 소스 코드
/*backtest
start: 2024-02-21 00:00:00
end: 2025-02-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"BNB_USDT"}]
*/

//@version=5
strategy("SAJJAD JAMSHIDI Channel with Stochastic RSI Strategy", overlay=true, commission_type=strategy.commission.percent, commission_value=0.1, slippage=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100, process_orders_on_close=true)

// Gaussian Channel Inputs
lengthGC = input.int(20, "Gaussian Channel Length", minval=1)
multiplier = input.float(2.0, "Standard Deviation Multiplier", minval=0.1)

// Calculate Gaussian Channel
basis = ta.ema(close, lengthGC)
deviation = multiplier * ta.stdev(close, lengthGC)
upperChannel = basis + deviation
lowerChannel = basis - deviation

// Plot Gaussian Channel
plot(basis, "Basis", color=color.blue)
plot(upperChannel, "Upper Channel", color=color.green)
plot(lowerChannel, "Lower Channel", color=color.red)

// Stochastic RSI Inputs
rsiLength = input.int(14, "RSI Length", minval=1)
stochLength = input.int(14, "Stochastic Length", minval=1)
smoothK = input.int(3, "Smooth K", minval=1)
smoothD = input.int(3, "Smooth D", minval=1)

// Calculate RSI
rsi = ta.rsi(close, rsiLength)

// Calculate Stochastic RSI
lowestRSI = ta.lowest(rsi, stochLength)
highestRSI = ta.highest(rsi, stochLength)
stochRSI = (rsi - lowestRSI) / (highestRSI - lowestRSI) * 100
k = ta.sma(stochRSI, smoothK)
d = ta.sma(k, smoothD)

// Trading Conditions
stochUp = k > d
priceAboveUpper = ta.crossover(close, upperChannel)
priceBelowUpper = ta.crossunder(close, upperChannel)




strategy.entry("Long", strategy.long, when=priceAboveUpper and stochUp)
strategy.close("Long", when=priceBelowUpper)