trader_stddev

(PECL trader >= 0.2.0)

trader_stddevStandard Deviation

Описание

array trader_stddev ( array $real [, integer $timePeriod [, float $nbDev ]] )

Список параметров

real

Массив, содержащий реальные значения.

timePeriod

Номер периода. Допустимы значения от 2 до 100000.

nbDev

Возвращаемые значения

Returns an array with calculated data or false on failure.

Коментарии

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;

}
2019-01-25 11:40:25
http://php5.kiev.ua/manual/ru/function.trader-stddev.html

    Поддержать сайт на родительском проекте КГБ