이 전략은 주기의 시작과 끝을 탐지하기 위해 상품 채널 지표 (CCI) 를 기반으로 시장의 순환 및 계절 특성을 식별합니다. 주요 트렌드 변화를 나타내는 정상적인 수준에서 벗어나는 것을 측정하기 위해 가능한 및 실제 거래 범위를 반영하는 이동 평균과 분수를 통합하여 최종 지표를 형성합니다.
상품 채널 지수 (CCI) 값은 상품의 평균 가격에 비해 거래되는 방법을 보여줍니다. CCI 값이 높을 때 가격은 평균 가격보다 높다는 것을 의미합니다. CCI 값이 낮을 때 가격은 평균 가격보다 낮다는 것을 의미합니다. CCI 값은 일반적으로 -300에서 300 범위 밖에 떨어지지 않습니다.
이 전략은 CCI 지표와 길이 10의 간단한 이동 평균과 길이 10과 20를 사용합니다. 느린 이동 평균이 빠른 평균보다 낮을 때 길게 이동하고 느린 이동 평균이 빠른 평균보다 높을 때 짧게 이동합니다. 길고 짧은 입력 설정에서 역전 할 수 있습니다.
최적화는 CCI 매개 변수 또는 이동 평균 기간을 조정하거나 기본 요소를 판단하기 위해 다른 기술적 지표를 추가하여 수행 할 수 있습니다. 더 큰 시간 프레임 트렌드를 사용하여 더 큰 사이클에 갇히지 않도록 할 수도 있습니다.
이 전략은 순환적 특성을 판단하기 위해 CCI와 이중 이동 평균을 사용하여 단기 트렌드를 식별합니다. 이 전략의 장점은 간단하고 명확한 규칙, 유연한 매개 변수 조정 및 제어 가능한 위험입니다. 그러나 여전히 지연 및 잘못된 판단의 가능성이 있습니다. 더 나은 결과를 나타낸 매개 변수를 조정하고 더 많은 기술적 또는 근본 분석을 통합하면 얻을 수 있습니다.
/*backtest start: 2023-01-22 00:00:00 end: 2024-01-28 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version = 2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 30/11/2016 // The Commodity Channel Index (CCI) is best used with markets that display cyclical or // seasonal characteristics, and is formulated to detect the beginning and ending of these // cycles by incorporating a moving average together with a divisor that reflects both possible // and actual trading ranges. The final index measures the deviation from normal, which indicates // major changes in market trend. // To put it simply, the Commodity Channel Index (CCI) value shows how the instrument is trading // relative to its mean (average) price. When the CCI value is high, it means that the prices are // high compared to the average price; when the CCI value is down, it means that the prices are low // compared to the average price. The CCI value usually does not fall outside the -300 to 300 range // and, in fact, is usually in the -100 to 100 range. // You can change long to short in the Input Settings // Please, use it only for learning or paper trading. Do not for real trading. //////////////////////////////////////////////////////////// strategy(title="CCI Strategy Reversed Backtest", shorttitle="CCI Strategy") FastMA = input(10, minval=1) SlowMA = input(20, minval=1) reverse = input(true, title="Trade reverse") hline(0, color=purple) xCCI = cci(close, 10) xSMA = sma(xCCI,SlowMA) xFMA = sma(xCCI,FastMA) pos = iff(xSMA < xFMA , 1, iff(xSMA > xFMA, -1, nz(pos[1], 0))) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) barcolor(pos == -1 ? red: pos == 1 ? green : blue) plot(xSMA, color=red, title="CCI MA Slow") plot(xFMA, color=blue, title="CCI MA FAST")