CMARSI 거래 전략은 RSI 지표와 이동 평균을 결합한 트렌드 추적 전략이다. 트렌드와 이동 평균을 입력 및 출구 신호로 식별하기 위해 향상된 RSI 지표를 사용합니다. 이 전략은 중장기 거래에 적합하며 트렌드를 따라 수익을 창출하는 것을 목표로합니다.
CMARSI 전략은 코너스 RSI라고 불리는 향상된 RSI 지표를 사용합니다. 코너스 RSI는 세 가지 지표를 포함합니다. 클래식 RSI, RSI 상하선, ROC 퍼센틸. 계산 공식은:
코너스 RSI = (RSI + RSI 위/하위 + ROC 퍼센틸) / 3
RSI가 3일 기간을 사용한다면, RSI 상승/하락은 2일, ROC 퍼센틸은 100일을 사용한다.
코너스 RSI의 장점은 여러 지표를 결합하여 트렌드 변화를 더 정확하게 식별 할 수 있다는 것입니다. 40 이상의 교차는 긴 신호이며 70 이하의 교차는 짧은 신호입니다.
CMARSI 전략은 또한 코너스 RSI 위에 이동 평균 인자를 도입합니다. 2 일 이동 평균을 계산하고 코너스 RSI와 MA의 크로스오버를 거래 신호로 사용합니다. 구체적인 규칙은 다음과 같습니다.
코너스 RSI가 40을 넘어서고 2일 MA의 황금색 십자점이 있을 때 장면을 입력합니다.
코너의 RSI가 70 아래로 넘어가고 2일 MA의 죽음의 교차가 있을 때 종료합니다.
MA 필터를 사용하면 Connors RSI의 일부 잘못된 신호를 피할 수 있으며 전략의 안정성을 향상시킬 수 있습니다.
CMARSI 전략의 가장 큰 장점은 단일 RSI 지표의 한계를 피하는 경향을 식별하기 위해 여러 지표의 조합입니다. 구체적으로 전략은 다음과 같은 장점을 가지고 있습니다.
코너의 RSI는 트렌드 전환점을 식별하기 위해 고전적인 RSI보다 더 안정적입니다.
이동 평균의 도입은 소음을 효과적으로 필터링하고 최고를 추구하고 판매 하락을 방지합니다.
여러 지표의 조합은 추세를 따라 승률을 향상시킬 수 있습니다.
거래 규칙은 간단하고 실행하기 쉽습니다.
트렌드를 따르는 전략으로서 중장기 트렌드에서 이익을 완전히 얻을 수 있습니다.
CMARSI 전략의 주요 리스크는 잘못된 트렌드 판단과 스톱 로스 배치에서 비롯됩니다. 구체적인 리스크는 다음과 같습니다.
코너의 RSI는 잘못된 신호를 주고 불필요한 입력으로 이어집니다. 매개 변수를 조정하거나 확인을 위해 다른 지표를 추가할 수 있습니다.
스톱 로스 배치는 비합리적이므로 조기 스톱 아웃 또는 너무 큰 스톱 로스를 유발할 수 있습니다. 스톱 로스는 다른 제품과 시장 환경에 최적화되어야합니다.
이동 평균 필터는 범위 시장에서 잘 작동하지 않을 수 있습니다. 전략 매개 변수는 그에 따라 최적화되어야합니다.
장기 사용은 과도한 montage로 이어질 수 있습니다. 시장 조건에 따라 규칙적인 역 테스트 및 매개 변수 조정이 필요합니다.
CMARSI 전략은 다음과 같은 측면에서 최적화 될 수 있습니다.
다른 기간과 제품에 대한 코너의 RSI 매개 변수를 최적화합니다.
필터링 효과를 더 향상시키기 위해 다른 종류의 이동 평균을 시도하십시오.
거래 확인을 위해 MACD, 볼링거 밴드 같은 다른 지표를 추가하십시오.
트래일링 스톱 로스나 스테이저드 스톱 로스 같은 스톱 로스 전략을 최적화해야 합니다.
스크린을 통해 전략에 더 잘 맞는 제품을 선택합니다.
워크 포워드 분석을 사용하여 매번 매개 변수를 최적화하고 과도한 부착을 방지합니다.
CMARSI 전략은 코너의 RSI와 이동 평균을 결합하여 중장기 거래의 트렌드를 따르고 있습니다. 안정적이고 구현하기 쉽고 트렌드 수익을 효과적으로 확보 할 수 있습니다. 시장 조건에 따라 매개 변수를 지속적으로 최적화하고 위험을 관리하고 좋은 수익성을 창출해야합니다. 전반적으로 CMARSI는 권장되는 트렌드 거래 전략입니다.
/*backtest start: 2022-09-19 00:00:00 end: 2023-09-25 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 src = close, lenrsi = 3, lenupdown = 2, lenroc = 100, malengt = 2, low = 40, high = 70, a = 1 updown(s) => isEqual = s == s[1] isGrowing = s > s[1] ud = 0.0 ud := isEqual ? 0 : isGrowing ? (nz(ud[1]) <= 0 ? 1 : nz(ud[1])+1) : (nz(ud[1]) >= 0 ? -1 : nz(ud[1])-1) ud rsi = rsi(src, lenrsi) updownrsi = rsi(updown(src), lenupdown) percentrank = percentrank(roc(src, 1), lenroc) crsi = avg(rsi, updownrsi, percentrank) MA = sma(crsi, malengt) band1 = 70 band0 = 40 ColorMA = MA>=band0 ? lime : red p1 = plot(MA, title="BuyNiggers", style=line, linewidth=4, color=ColorMA) p2 = plot(low, title="idk", style=line, linewidth=2, color=blue) p3 = plot(high, title="idk2", style=line, linewidth=2, color=orange) //@version=2 strategy("CMARSI") if crossover(MA,band0) strategy.entry("buy", strategy.long, when=strategy.position_size <= 0) if crossunder(MA,band1) strategy.exit("sell", "buy", profit=1000000, stop=10000000) plot(strategy.equity)