- The CCI is a market indicator used to track market movements that may indicate buying or selling
- The CCI Compares current price to average price over a specific time period
- Different strategies can use the CCI in different ways, including using it across multiple timeframes to establish dominant trends, pullbacks, or entry points into that trend
- Some trading strategies based on CCI can produce multiple false signals or losing trades when conditions turn choppy.
- What is the Commodity Channel Index (CCI)?
- Key points about the CCI
- How to add the CCI to my script?
- How to use the CCI to generate buy and sell signals?
What Is the Commodity Channel Index(CCI)?
The CCI is a momentum-based oscillator used to help determine when an asset is reaching a condition of being overbought or oversold. The CCI was originally developed to spot long-term trend changes but has been adapted by traders for use on all markets or time-frames. Trading with multiple time frames provides more buy or sell signals for active traders. Traders often use the CCI on the longer-term chart to establish the dominant trend and on the shorter-term chart to isolate pull-backs and generate trade signals.
Key points about the CCI
How to add the CCI to my script?
Below you will find a short example of using the CCI in your script.
//Inputs length = intInput("Length of the CCI", 20) //Indicator cci = cci(length) //Plot plot(cci, "cci", "#996A15", 2, PlotStyle.LINE, 0, false) band1 = plot(seriesOf(100.0), "Upper Band", "#c0c0c0", 1, PlotStyle.LINE, 0, false) band2 = plot(seriesOf(-100.0), "Lower Band", "#c0c0c0", 1, PlotStyle.LINE, 0, false) fill(band1, band2, "#9C6E1B", 80, "Background", false) //Signal Push out(NEVER_ORDER)
The above image is how the plot should look on the chart.
How to use the CCI to generate buy and sell signals?
For the example I will use the default settings, Length = 20, And use this on the daily chart
To generate signals we will use the most basic method of setting a crossover and crossunder of the zero line to generate either an long, or a short.
crossover the zero line = Long trade
crossunder the zero line = Short trade
//Inputs length = intInput("Length of the CCI", 20) //Indicator cci = cci(length) //Conditions buy = crossover(cci, seriesOf(0.0)) sell = crossunder(cci, seriesOf(0.0)) //Plot plot(cci, "cci", "#996A15", 2, PlotStyle.LINE, 0, false) band1 = plot(seriesOf(100.0), "Upper Band", "#c0c0c0", 1, PlotStyle.LINE, 0, false) band2 = plot(seriesOf(-100.0), "Lower Band", "#c0c0c0", 1, PlotStyle.LINE, 0, false) fill(band1, band2, "#9C6E1B", 80, "Background", false) //Signal Push out(signalIf(buy, sell))
Below is a screenshot of how your chart should look
So now you have learnt what CCI is, how to use it and how to put it in a script and generate signals from it.
Have fun scripting!
Creating Better Trading Strategies — The Future
And here we have it: the last installment of the data science article series! In…
Creating Better Trading Strategies — The Process
In our last blog post, I introduced my project to combine buy signals from different…
QFL (Quick Fingers Luc’s) Base Cracker Strategy
This article marks the beginning of a new series on our blog. We’ll dig into…