Example #1
0
 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));
     }
 }