用php写一个macd指标

用php 写一个macd指标
$data 由收盘价 EMA12 EMA26 DIF DEA BAR 组成

1;上市第一天所有指标都是0
$data[“0”][“EMA12”] = 0;
$data[“0”][“EMA26”] = 0;
$data[“0”][“DIF”] = 0;
$data[“0”][“DEA”] = 0;
$data[“0”][“BAR”] = 0;

自己写一个macd指标

 public function index($i,$data)
    {
   //  dump($data);
    for($i; $i < count($data); $i++){
      //第1行
      if($i == 0 ){
        $data["0"]["EMA12"] = 0;
        $data["0"]["EMA26"] = 0;
        $data["0"]["DIF"] = 0;
        $data["0"]["DEA"] = 0;
        $data["0"]["BAR"] = 0;
      }
      //上面结束第1行
     //下面 第二行
     if($i == 1 ){
      $data["1"]["EMA12"] = $data["1"]["xrClose"]*11/13+$data["2"]["xrClose"]*2/13;
      $data["1"]["EMA26"] = $data["1"]["xrClose"]*25/27+$data["2"]["xrClose"]*2/27;
      $data["1"]["DIF"] = $data["2"]["EMA12"]-$data["2"]["EMA26"];
      $data["1"]["DEA"] = $data["1"]["DEA"]*8/10+$data["2"]["DIF"]*2/10;
      $data["1"]["BAR"] = ($data["2"]["DIF"]-$data["2"]["DEA"])*2;
     }
      // 上面 结束第二行
      //下面开始 第3行
      if($i>1){
      $data[$i]["EMA12"] = $data[$i-1]["EMA12"]*11/13+$data[$i]["xrClose"]*2/13;
      $data[$i]["EMA26"] = $data[$i-1]["EMA26"]*25/27+$data[$i]["xrClose"]*2/27;
      $data[$i]["DIF"] = $data[$i]["EMA12"]-$data[$i]["EMA26"];
      $data[$i]["DEA"] = $data[$i-1]["DEA"]*8/10+$data[$i]["DIF"]*2/10;
      $data[$i]["BAR"] = ($data[$i]["DIF"]-$data[$i]["DEA"])*2;
      if( $data[$i]["DIF"]>$data[$i-1]["DIF"]){$data[$i]["DIFup"] = "1";}else{$data[$i]["DIFup"] = "-1";}
     if( $data[$i]["DEA"]>$data[$i-1]["DEA"]){$data[$i]["DEAup"] = "1";}else{$data[$i]["DEAup"] = "-1";}
     if( $data[$i]["BAR"]>$data[$i-1]["BAR"]){$data[$i]["BARup"] = "1";}else{$data[$i]["BARup"] = "-1";}
     if($data[$i]["BAR"]>0){$data[$i]["BARnub"] = $data[$i-1]["BARnub"]+1;}else{$data[$i]["BARnub"] = 0;}
      }
      //上面从第三行到最后一行 结束

    }
    //上面结束for
 return $data;
}

    

你可能感兴趣的:(投资,php)