이 전략은 CCI 지표의 제로 교차를 입점 및 출구 신호로 사용하여 트렌드 방향을 파악합니다. CCI가 마이너스 구역에서 제로 이상으로 넘어갈 때 길게 이동하고 CCI가 긍정적 구역에서 제로 이하로 넘어갈 때 짧게 이동하여 트렌드를 따라갑니다.
핵심 논리는 CCI의 제로 교차점을 트렌드 변화의 신호로 포착하는 것입니다. CCI가 부정적인 영역에서 긍정적 영역으로 이동하면 가격이 과판된 영역에서 벗어나 상승 추세를 시작할 수 있음을 나타냅니다. CCI가 긍정적 영역에서 부정적인 영역으로 이동하면 가격이 과판된 영역에서 벗어나 하락 추세를 시작할 수 있음을 나타냅니다. 전략은 교차점에 들어가 위험을 제어하기 위해 합리적인 스톱 손실을 설정합니다.
해결책:
이 전략은 다음 측면에서 더 이상 최적화 될 수 있습니다.
최적화 CCI 매개 변수 길이 최고의 설정을 찾기 위해. 다른 길이를 테스트하고 수익성과 승률을 평가.
확인을 위해 KDJ, MACD와 같은 다른 지표를 추가하십시오. 잘못된 CCI 신호를 피하십시오. 가격 수준 또는 동시 신호의 지속적인 파업이 필요합니다.
시장 변동성에 따라 스톱 로스 거리를 동적으로 조정합니다. 더 긴 스톱은 적시에 스톱을 의미하지만 너무 민감할 수 있습니다. 더 넓은 스톱은 트렌드를 유지할 수 있지만 중단되면 손실을 증가시킵니다.
입력 규칙을 완화해 놓은 항목을 줄이고, 정확한 교차를 기다리는 대신, CCI가 제로 교차로에 접근할 때 스케일링을 시작합니다.
수익을 극대화하기 위해 트렌드 출구 규칙을 추가합니다. 트렌드가 역전되면 새로운 출구, 예를 들어 가격이 특정 비율로 물러납니다.
이 전략은 트렌드 방향을 결정하고 합리적인 스톱 로스로 트렌드를 효과적으로 따라 트렌드에 입문하기 위해 CCI 제로 크로싱을 사용합니다. 확인, 매개 변수 조정, 엔트리 규칙 및 출구에 대한 추가 최적화는 이 전략을 사용하여 안정적인 트렌드 다음 전략으로 향상시킬 수 있습니다. 트레이더는 적절한 스톱 거리와 위험 선호도에 기반한 보유 기간 및 이익을 채택 할 수 있습니다.
/*backtest start: 2022-09-21 00:00:00 end: 2023-09-27 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("CCI Level Zero Strategy (by Marcoweb) v1.0", shorttitle="CCI_L_Z_Strat_v1.0", overlay=true) ///////////// CCI CCIlength = input(20, minval=1, title="CCI Period Length") CCIoverSold = -100 CCIoverBought = 100 CCIzeroLine = 0 CCI = cci(hlc3, CCIlength) price = hlc3 vcci = cci(price, CCIlength) source = close buyEntry = crossover(source, CCIzeroLine) sellEntry = crossunder(source, CCIzeroLine) plot(CCI, color=black,title="CCI") p1 = plot(CCIoverSold, color=blue,title="-100") p2 = plot(CCIoverBought, color=red,title="100") p3 = plot(CCIzeroLine, color=orange,title="0") ///////////// CCI 0Trend v1.0 Strategy if (not na(vcci)) if (crossover(CCI, CCIzeroLine)) strategy.entry("CCI_L", strategy.long, stop=CCIoverSold, comment="CCI_L") else strategy.cancel(id="CCI_L") if (crossunder(CCI, CCIzeroLine)) strategy.entry("CCI_S", strategy.short, stop=CCIoverBought, comment="CCI_S") else strategy.cancel(id="CCI_S") //plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)