Example #1
0
function KDDot($stocknum, $var1, $var2, $var3, $kd, $period)
{
    $close = getclose($stocknum, $period);
    $low = getlow($stocknum, $period);
    $hig = gethigh($stocknum, $period);
    $close[0] = 0;
    $low[0] = 0;
    $hig[0] = 0;
    $k = array(50);
    $d = array(50);
    for ($num = $var3; $num < count($close); $num++) {
        $min = $low[$num];
        for ($i = $num - $var3 + 1; $i <= $num; $i++) {
            if ($min > $low[$i]) {
                $min = $low[$i];
            }
        }
        $max = $hig[$num];
        for ($i = $num - $var3 + 1; $i <= $num; $i++) {
            if ($max < $hig[$i]) {
                $max = $hig[$i];
            }
        }
        $close[1 + $num - $var3] = ($close[$num] - $min) / ($max - $min) * 100;
        array_push($k, $close[1 + $num - $var3] * (1 / $var1) + $k[$num - $var3] * (1 - 1 / $var1));
        array_push($d, $k[1 + $num - $var3] * (1 / $var2) + $d[$num - $var3] * (1 - 1 / $var2));
    }
    if ($kd == 'K') {
        return $k;
    } else {
        return $d;
    }
}
Example #2
0
function testKD($stocknum, $var1, $var2, $var3, $period)
{
    $close = getclose($stocknum, $period);
    $low = getlow($stocknum, $period);
    $hig = gethigh($stocknum, $period);
    $close[0] = 0;
    $low[0] = 0;
    $hig[0] = 0;
    $k = array(50);
    $d = array(50);
    for ($num = $var3; $num < count($close); $num++) {
        $min = $close[$num];
        for ($i = $num - $var3 + 1; $i <= $num; $i++) {
            if ($min > $low[$i]) {
                $min = $low[$i];
            }
        }
        $max = $close[$num];
        for ($i = $num - $var3 + 1; $i <= $num; $i++) {
            if ($max < $hig[$i]) {
                $max = $hig[$i];
            }
        }
        $close[1 + $num - $var3] = ($close[$num] - $min) / ($max - $min + 1.0E-9) * 100;
        array_push($k, $close[1 + $num - $var3] * (1 / $var1) + $k[$num - $var3] * (1 - 1 / $var1));
        array_push($d, $k[1 + $num - $var3] * (1 / $var2) + $d[$num - $var3] * (1 - 1 / $var2));
    }
    if ($k[count($k) - 1] > $d[count($d) - 1]) {
        return 1;
    } else {
        if ($k[count($k) - 1] < $d[count($d) - 1]) {
            return -1;
        } else {
            return 0;
        }
    }
}