(PECL trader >= 0.2.0)
trader_cci — Commodity Channel Index
highHigh price, array of real values.
lowLow price, array of real values.
closeClosing price, array of real values.
timePeriodNumber of period. Valid range from 2 to 100000.
Returns an array with calculated data or false on failure.
<?php
// The CCI (Commodity Channel Index) is an oscillator that
// relies on historical price momentum to determine if it is "overbought" or "oversold".
// When greater than zero the price is "above" the historic average.
// When less than zero the price is "below" the historic average.
// Investopedia claims:
// "The CCI is an unbounded oscillator, meaning it can go higher or lower indefinitely. For this reason, overbought and oversold levels are typically determined for each individual asset by looking at historical extreme CCI levels where the price reversed from."
$highs = array(118.99, 119.14, 120.5, 115.23, 115.93, 118.829, 116, 112.2, 110.88, 110.19, 112.86, 112.11, 110.25, 112.44);
$lows = array(112.68, 115.26, 112.5, 110, 112.8, 113.61, 112.04, 108.71, 106.09, 103.1, 109.16, 106.77, 105, 107.67);
$closes = array(112.82, 117.32, 113.49, 112, 115.355, 115.54, 112.13, 110.34, 106.84, 110.08, 111.81, 107.12, 108.22, 112.28);
$time_period = 7;
var_dump(trader_cci ($highs, $lows, $closes, $time_period));
/*
array(8) {
[6]=>
float(-83.234)
[7]=>
float(-137.329)
[8]=>
float(-145.78)
[9]=>
float(-101.047)
[10]=>
float(-9.331)
[11]=>
float(-59.339)
[12]=>
float(-66.964)
[13]=>
float(76.143)
}
*/