示例#1
0
文件: DOT.php 项目: r567tw/Fundin
function RSIDot($stocknum, $var, $period)
{
    $close = getclose($stocknum, $period);
    $close[0] = 0;
    $rsiup = 0;
    $rsidn = 0;
    for ($i = 1; $i < count($close); $i++) {
        $t = $close[$i] - $close[$i - 1];
        if ($t > 0) {
            $rsiup = $t * (1 / $var) + $rsiup * ($var - 1) / $var;
            $rsidn = 0 * (1 / $var) + $rsidn * ($var - 1) / $var;
        } else {
            $rsiup = 0 * (1 / $var) + $rsiup * ($var - 1) / $var;
            $rsidn = $t * -1 * (1 / $var) + $rsidn * ($var - 1) / $var;
        }
        if ($rsidn == 0) {
            $rs = 0;
        } else {
            $rs = $rsiup / $rsidn;
        }
        $close[$i - 1] = 100 - 100 / (1 + $rs);
    }
    unset($close[count($close) - 1]);
    return $close;
}
示例#2
0
function testRSI($stocknum, $var1, $var2, $period)
{
    //var1
    $close = getclose($stocknum, $period);
    $close[0] = 0;
    $rsiup = 0;
    $rsidn = 0;
    for ($i = 1; $i < count($close); $i++) {
        $t = $close[$i] - $close[$i - 1];
        if ($t > 0) {
            $rsiup = $t * (1 / $var1) + $rsiup * ($var1 - 1) / $var1;
            $rsidn = 0 * (1 / $var1) + $rsidn * ($var1 - 1) / $var1;
        } else {
            $rsiup = 0 * (1 / $var1) + $rsiup * ($var1 - 1) / $var1;
            $rsidn = $t * -1 * (1 / $var1) + $rsidn * ($var1 - 1) / $var1;
        }
        if ($rsidn == 0) {
            $rs = 0;
        } else {
            $rs = $rsiup / $rsidn;
        }
        $rsi1 = 100 - 100 / (1 + $rs);
    }
    //var2
    $close = getclose($stocknum, $period);
    $close[0] = 0;
    $rsiup = 0;
    $rsidn = 0;
    for ($i = 1; $i < count($close); $i++) {
        $t = $close[$i] - $close[$i - 1];
        if ($t > 0) {
            $rsiup = $t * (1 / $var2) + $rsiup * ($var2 - 1) / $var2;
            $rsidn = 0 * (1 / $var2) + $rsidn * ($var2 - 1) / $var2;
        } else {
            $rsiup = 0 * (1 / $var2) + $rsiup * ($var2 - 1) / $var2;
            $rsidn = $t * -1 * (1 / $var2) + $rsidn * ($var2 - 1) / $var2;
        }
        if ($rsidn == 0) {
            $rs = 0;
        } else {
            $rs = $rsiup / $rsidn;
        }
        $rsi2 = 100 - 100 / (1 + $rs);
    }
    //判斷
    if ($rsi1 > $rsi2) {
        return 1;
    } else {
        if ($rsi1 < $rsi2) {
            return -1;
        } else {
            return 0;
        }
    }
}