CCI Strategy


Commodity Channel Index Strategy is build to gain profit on buying and selling shares. CCI Strategy calculates one line of values:

  • CCI line - a function of a last price, mean deviation of past prices and simple moving average (SMA) of past prices.

Moreover it is dependent of user defined parameters a mean deviation impact (Impact factor) and a Number of Periods.

\text{CCI} = (\text{Last price} - \text{SMA of last n prices}) / (\text{impact factor} \times \text{mean deviation of last n prices})

where n is equal to the Number of Periods parameter.

Mean deviation (after receiving (k+n) prices, k \geq 0) is defined as follows:

\frac{\sum_{i = k}^{k+n} |\text{Price(i)} - \text{SMA of last } n \text{ prices}|}{n}

In the moment when the CCI line crosses the Oversold or Overbought Level from the proper side it is a signal for a strategy to make an order.

Market Data

  • Last trade


Parameter name Description Essential
Number of Periods Number of prices which are used to compute a standard deviation and an SMA Yes
Oversold Level Upper boundary of the CCI values area where market is oversold Yes
Overbought Level Lower boundary of the CCI values area where market is overbought Yes
Impact Factor It is a multiplayer by which ‘standard deviation’ is multiplied in a computation of CCI Yes


Open position

Side Buy or Sell
Amount One asset per order
Price Last market price
Type Price limit

Sell order sending - Overbought Level is crossed by the CCI line from the top side.

Buy order sending - Oversold Level is crossed by the CCI line from the bottom side.

Close position

There is no closing position condition.


There is no strategy termination condition.

Time frame

Strategy bases on some initial Number of Periods of data collection without trading and is designed to enable adjusting both: period of data collection and its trading time span from hours to whole weeks.

Further information & source

PLEASE NOTE: Empirica does not provide tax, investment, or financial services. The information available through this website is provided on an "as is" basis at user's sole risk and does not constitute trading advice or a solicitation to buy or sell any stock, option, future, commodity, or forex product. Empirica makes no guarantees as to the accurateness, quality, or completeness of the information and shall not be responsible or liable for any errors, omissions, inaccuracies in the information or for any user's reliance on the information. User is solely responsible for verifying the information as being appropriate for user's personal use, including without limitation, seeking the advice of a qualified professional regarding any specific financial questions a user may have. Past performance is not necessarily an indication of future performance. Trading is inherently risky.