public static function calcDdeNum($start, $end) { $resultFile = self::$thisTaskDataPath . $start . '_' . $end . '_DdeNum.Table.txt'; $i = 2; $stockList = Refer::getStock(); $stockData = array(); foreach ($stockList as $stkL) { //if (--$i < 0 ) break; $stkT = array('name' => '', 'code' => '', 'DdxNum' => 0, 'DdxPer' => 0, 'DdzNum' => 0, 'DdzPer' => 0, 'TddzNum' => 0, 'TddzPer' => 0, 'TotalNum' => 0, 'TotalPer' => 0, 'DayNum' => 0); $stkT['name'] = '<a target="_blank" href="' . Url::getPhpUri('Chart') . '?code=' . $stkL['code'] . '">' . '<span class="fore-stock-name">' . $stkL['name'] . '</span>' . '<span class="fore-stock-spell displaynone">' . $stkL['spell'] . '</span></a>'; $stkT['code'] = '<span class="fore-stock-code">' . $stkL['code'] . '</span>'; $dd = new DdeData($stkL['code']); if (!$dd->prepareData()) { continue; } $dde = $dd->getDayPeriod($start, $end, 1); //var_dump($dde); if (!$dde) { continue; } foreach ($dde as $d) { //echo $d['ddx']. '('; //echo ($d['ddx'] > 0). ')'; if ($d['ddx'] > 0) { $stkT['DdxNum']++; } if ($d['ddz'] > 0) { $stkT['DdzNum']++; } if ($d['tddz'] > 0) { $stkT['TddzNum']++; } } $stkT['DayNum'] = sizeof($dde); $stkT['DdxPer'] = ceil($stkT['DdxNum'] / $stkT['DayNum'] * 10000) / 10000; $stkT['DdzPer'] = ceil($stkT['DdzNum'] / $stkT['DayNum'] * 10000) / 10000; $stkT['TddzPer'] = ceil($stkT['TddzNum'] / $stkT['DayNum'] * 10000) / 10000; $stkT['TotalNum'] = $stkT['DdxNum'] + $stkT['TddzNum'] + $stkT['TddzNum']; $stkT['TotalPer'] = ceil($stkT['TotalNum'] / $stkT['DayNum'] / 3 * 10000) / 10000; //var_dump($stkT); $stockData[] = $stkT; } parent::putTable($resultFile, $stockData); }
public static function testDdeData() { $dd = new DdeData('sh600010'); if ($dd->prepareData()) { //var_dump($dd->getStockData()); //var_dump($dd->getDaySolo('2015-11-06')['time']); //var_dump($dd->getLastSolo(0)['time']); var_dump($dd->getDayPeriod('2015-10-01', '2015-11-06', 7)); //var_dump($dd->getDayPeriod('2015-11-01', true, 7)); //var_dump($dd->getLastPeriod(true, true)); //var_dump($dd->getLastPeriod(5, true)); //var_dump($dd->getLastPeriod(7, true, 6)); } }