trader_stddev

(PECL trader >= 0.2.0)

trader_stddevDesviación estándar

Descripción

trader_stddev(array $real, int $timePeriod = ?, float $nbDev = ?): array

Parámetros

real

Array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

nbDev

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

add a note

User Contributed Notes 1 note

up
0
nijatasadov at gmail dot com
6 years ago
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;}
To Top