trader_stddev doesn't work. This is why trader_bbands doesn't work as well. function standard_deviation(array $a, $sample = false) { $n = count($a); if ($n === 0) { trigger_error("The array has zero elements", E_USER_WARNING); return false; } if ($sample && $n === 1) { trigger_error("The array has only 1 element", E_USER_WARNING); return false; } $mean = array_sum($a) / $n; $carry = 0.0; foreach ($a as $val) { $d = ((double) $val) - $mean; $carry += $d * $d; }; if ($sample) { --$n; } return sqrt($carry / $n); }trader_stddev($data, $period) { $stds = []; $current = []; foreach ($data as $i => $close) { $current[] = $close; if ($i < $period) { $stds[$i] = false; } else { $stds[$i] = standard_deviation($current); array_shift($current); } } return $stds;}