RSI 지표와 CCI 지표를 결합한 양적 거래 전략


생성 날짜: 2024-01-22 10:33:03 마지막으로 수정됨: 2024-01-22 10:33:03
복사: 0 클릭수: 735
1
집중하다
1166
수행원

RSI 지표와 CCI 지표를 결합한 양적 거래 전략

개요

이 전략은 RSI 지표와 CCI 지표가 결합된 수량 거래 전략이라고 한다. 이 전략은 주로 RSI 지표와 CCI 지표의 조합을 사용하여 시장의 과매매 현상을 판단하여 역전 기회를 잡는다. 구체적으로, 전략은 RSI의 다공개선을 계산하여 CCI 지표의 다공개 신호를 결합하여 다공개와 공백을 설정한다.

전략 원칙

이 전략의 핵심 논리는 RSI 지표와 CCI 지표의 통계적 특성을 동시에 사용하여 시장이 현재 과매매 또는 과매매 상태에 있는지 판단하는 것입니다.

첫째, RSI 부분. RSI 지표는 시장의 과매매 과매매 현상을 반영할 수 있다. RSI가 70보다 크면 과매매 지역이며, 30보다 작으면 과매매 지역이다. 이 전략은 긴 선과 짧은 선 두 개의 RSI 지표를 설정하고, 긴 선은 기본 14주기, 짧은 선은 12주기이다. 긴 선은 핵심 추세를 판단하고, 짧은 선은 더 민감한 전환점을 추적한다.

둘째, CCI 부분. CCI 지표는 또한 14주기 파라미터로 과매매를 판단하는 데 사용할 수 있습니다. CCI가 100보다 높으면 과매매, 100보다 낮은 것은 과매매입니다. 이 전략은 CCI 지표의이 특성을 이용하여 포지션 개시 규칙을 설정합니다.

이 전략은 다음과 같은 규칙을 적용합니다.

  1. 다단계 포지션: RSI 지표가 오버 소드 영역을 표시할 때 (이 기간 동안 긴 짧은 RSI가 모두 30보다 작다) CCI 지표가 100보다 작을 때 더 많이 한다.

  2. 공백점 포지션: RSI 지표가 초과 구매 영역을 표시 할 때 (이 기간 동안 긴 짧은 RSI가 모두 70보다 크다) CCI 지표가 100보다 높을 때 공백합니다.

RSI 지표와 CCI 지표의 합동 판단을 통해 실제 오버 바이 오버 소드 구간을 효과적으로 확인하여 전략의 안정성과 수익률을 높일 수 있습니다.

우위 분석

이 전략의 가장 큰 장점은 RSI와 CCI의 두 지표의 통계 법칙을 동시에 활용하여 과매매 과매매 현상을 더 정확하게 식별 할 수 있다는 것입니다. 따라서 반전을 포착하는 데 이상적인 개시점을 제공합니다. 구체적인 장점은 다음과 같습니다.

  1. RSI의 긴 줄과 짧은 줄이 결합되어, 트렌드와 민감한 반전점을 동시에 판단할 수 있으며, 기회를 유연하게 잡을 수 있다.
  2. CCI 지표의 보조 판단, 시장의 거짓 반향에 의해 오해되는 것을 피하기 위해.
  3. RSI와 CCI의 조합을 통해 판단하면, 가짜 신호를 효과적으로 필터링하여, 진입 시점을 더 정확하게 선택할 수 있다.
  4. 오버 바이 오버 셀 영역을 이용해 반전 거래를 하는 것은 그 자체로 확률이 높은 거래 전략이다.
  5. 전략적 방법은 간단하고 이해하기 쉽고 실행이 가능하며, 양적 학습을 시작하는 초보자에게 적합합니다.

위험 분석

이 전략의 주요 위험은 RSI와 CCI가 판단한 과매매 신호가 실제 반전 시점을 완전히 반영할 수 없다는 것입니다. 구체적인 위험은 다음과 같습니다:

  1. 지표가 내리는 신호는 가짜 반전일 수 있다. 가격에 트렌드 반전이 아닌 충격적인 조정이 있을 경우.
  2. 판단이 옳더라도 시간 지연이 있다. 계산 주기의 파라미터 변화는 최신 가격 변화를 완전히 동시적으로 반영할 수 없다.
  3. 역전 과정에서, 스톱로스 포인트가 뚫려 손실이 확대될 수 있다.
  4. 이 전략은 대규모 트렌드의 영향을 고려하지 않고, 구체적인 실행에 트렌드 분석을 결합해야 합니다.

위험을 대응하는 해결책은 다음과 같습니다.

  1. 확인 역전 신호의 양량 돌파 효과는 더 좋다. 지표 역전 신호가 나타난 때 가격이 큰 양량 상승이 있다면 판단의 신뢰성을 높일 수 있다.
  2. RSI와 CCI의 파라미터를 적절히 조정하여 지연 현상의 가능성을 줄여줍니다.
  3. 단독 손실을 통제하기 위해 스톱 로즈와 오프 시트 사고를 준비하십시오.
  4. 전략의 구체적 실행은 트렌드 및 형태 분석을 통해 이루어져야 하며, 역동적인 동작을 피해야 한다.

최적화 방향

이 전략은 실제 운영에서 더 개선될 수 있습니다. 주요 최적화 아이디어는 다음과 같습니다:

  1. RSI와 CCI의 파라미터 설정을 테스트하여 최적의 파라미터 조합을 찾습니다. 예를 들어 RSI의 긴 짧은 주기 파라미터, 그리고 CCI 주기 파라미터 테스트합니다.
  2. KD, MACD 등과 같은 다른 지표를 추가하여 풍부한 공백 판단 근거를 제공합니다.
  3. 이동식 스톱 또는 단어 스톱을 설정하는 것
  4. 고도의 승리 전략과 함께, 지표의 차이를 사용하여 더 높은 승률의 진출 방향을 결정합니다.
  5. 기계 학습 알고리즘을 사용하여 매개 변수 및 신호 무게를 자동으로 최적화합니다.
  6. 이 전략과 트렌드 시스템의 조합 전략을 테스트하십시오.
  7. 큰 차원의 추세와 중요한 가격대를 판단하는 규칙을 추가하십시오. 역동작전을 피하십시오.

테스트와 최적화를 통해 이 전략의 수익성과 안정성이 더욱 향상될 것으로 기대할 수 있다.

요약하다

이 전략은 보다 전형적인 반전 캡처 전략에 속한다. RSI와 CCI 두 가지 일반적인 지표의 결합을 통해 과매매 범위를 판단하고, 그에 따른 포지션 개설 규칙을 설계하여, 간단한 실용적인 단선 거래 전략을 형성한다. 이 전략의 주요 장점은 지표 조합을 사용하여 판단을 더 정확하게하고, 가짜 반전의 오해를 피하여 반전의 최적의 시간을 잡는 것이다. 물론 위험도 존재하며, 지표 최적화, 손실 중지 전략, 트렌드 판단과 함께 사용해야합니다.

전략 소스 코드
/*backtest
start: 2023-12-22 00:00:00
end: 2024-01-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//Author: RvZ14
//Based on Joseph Nemeth MACD+CCI strategy
//Reference reading: https://sites.google.com/site/forexjosephnemeth/home/macd-cci

strategy(title="MACD+CCI Strategy", shorttitle="macd/cci")
length = input(14, minval=1)
fastLength = input(12, minval=1), slowLength=input(26,minval=1)
signalLength=input(2,minval=1)
src = input(close, title="CCI Source")

//cci
ma = sma(src, length)
cci = (src - ma) / (0.015 * dev(src, length))
plot(cci, title = "cci", color=#5DADE2,linewidth = 1,transp = 0)
band1 = hline(100, color=gray, linewidth = 1)
band0 = hline(-100, color=gray, linewidth = 1)
fill(band1, band0, color= #F9E79F)

//macd
source = close
fastMA = ema(source, fastLength)
slowMA = ema(source, slowLength)
macd = fastMA - slowMA
signal = ema(macd, signalLength)
hist = macd - signal
plot(hist, color=#EC7063, style=histogram)
plot(macd, title = "macd", color=#5DADE2, linewidth = 1,transp = 0)
plot(signal, title = "signal", color=#F5B041,linewidth = 1,transp = 0)

longCond = cci > 100 and macd > 0 or cci > -100 and macd < 0
shortCond = cci < -100 and macd < 0 or cci < 100 and macd > 0
strategy.entry("long",strategy.long,when = longCond == true)
strategy.entry("short",strategy.short,when=shortCond == true)