Home  >  Article  >  php教程  >  一个塑料期货交易程序分析图程序(PHP+JAVA)

一个塑料期货交易程序分析图程序(PHP+JAVA)

WBOY
WBOYOriginal
2016-06-21 09:16:081160browse

程序

PHP+JAVA的程序

.....................

Java Program:

/*
以下程序为余姚塑料城期货交易数据的定时追踪分析程序
是对数据的初步分析,绘图分析则交给进一步的php程序来完成
本程序完成策划于2005-5-17(友谊日)
本程序可以作为K线图原始数据库
*/
import java.net.*;
import java.io.*;
import java.nio.*;
import java.text.*;
import java.util.*;
import java.util.Date;
import java.util.regex.*;
class suliao
  {
    final static int LINE=11;
    public static void main(String args[])
      {
        String url="http://www.ex-cp.com//yy_data/quot.txt";
        String url1="http://www.51kk7.com/Forum/User/CompanyInfo.aspx?companyId=0";
        for(;;)
        {
 try
   {
     Thread.sleep(10000);
            String ori[][]=new String[LINE][14];
            int sta=0;
            //
     for(;;)
     {
     Thread.sleep(1000);
     Date date;
            SimpleDateFormat hua=new SimpleDateFormat("H m s");
     String time=hua.format(date=new Date());
     String[] hua1=time.split("\s");
     int i=Integer.parseInt(hua1[0])*3600+Integer.parseInt(hua1[1])*60+Integer.parseInt(hua1[2]);
     if(i       break;
     if(i>39900)
       break;
            URL hp=new URL(url);
     URLConnection hpCon=hp.openConnection();
     int len=hpCon.getContentLength();
     InputStream input=hpCon.getInputStream();
     int c;
     StringBuffer hu=new StringBuffer("");
     String hu1[]=new String[LINE];
     int k=0;
     while(((c=input.read())!=-1)&&(--len>0))
       {
  if(c==10)
    {
      hu1[k]=hu.toString();
      hu=new StringBuffer("");
      k++;
    }
  else
    {
      char c1=(char)c;
      hu.append(c1);
    }
       }
     hu1[LINE-1]=hu.toString();
     String hu2[][]=new String[LINE][14];
     suliao he=new suliao();
     for(int k1=0;k1       hu2[k1]=he.zz(hu1[k1]);
     /*
     for(int k2=0;k2       {
  for(int k3=0;k3    System.out.print(hu2[k2][k3]+"\t");
  System.out.println("");
       }
     */
     int k2;
     if(sta==0)
       {
  ori=hu2;
  sta=1;
  for(k2=0;k2    he.writeinfo(hu2[k2],i);
       }
     else if(sta==1)
       {
  //he.writeinfo(hu2[0]);
  //let's start the compare program,go go go
  for(k2=0;k2    {
                    //System.out.println(hu2[k2][12]+"-"+ori[k2][12]);
      if(true)//he.zv(hu2[k2][12])!=he.zv(ori[k2][12]))
        {
          he.writeinfo(hu2[k2],i);
        }
    }
  ori=hu2;
       }
     }
     //
   }
 catch(Exception e)
   {
     //System.out.println("wrong wrong wrong!!!");
     e.printStackTrace();
   }
 }
      }
    public String[] zz(String a)
      {
 String[] hello=a.split("\,");
 for(int i=0;i   hello[i]=hello[i].trim();
 return hello;
      }
    public int zv(String a)
      {
 return Integer.parseInt(a);
      }
    public void writeinfo(String[] a,int i)//写入文本数据库中
      {
        Calendar cn=Calendar.getInstance();
        int mon=cn.get(Calendar.MONTH)+1;
        String dir=cn.get(Calendar.YEAR)+"-"+mon+"-"+cn.get(Calendar.DAY_OF_MONTH);
        String file=cn.get(Calendar.YEAR)+"-"+mon+"-"+cn.get(Calendar.DAY_OF_MONTH)+"/"+a[0]+".txt";
        File hu=new File(file);
        File ha=new File(dir);
        try
        {
        if(!ha.exists())
   ha.mkdir();
        if(!hu.exists())
   hu.createNewFile();
 //Date date;
        //SimpleDateFormat hua=new SimpleDateFormat("H m s");
 //String time=hua.format(date=new Date());
 //String[] hua1=time.split("\s");
 //int i=Integer.parseInt(hua1[0])*3600+Integer.parseInt(hua1[1])*60+Integer.parseInt(hua1[2]);
 int k;
 StringBuffer kv=new StringBuffer("");
 for(k=0;k   {
     kv.append(a[k]+"\t");
   }
 kv.append(i+"\n");
 System.out.println(kv.toString());
 FileWriter rar=new FileWriter(hu,true);
 rar.write(kv.toString());
 rar.close();
 }
 catch(Exception e)
   {
     e.printStackTrace();
   }
      }
  }

PHP Program


$GO=$_POST['GO'];
if(!$GO)
  $GO=$_GET['GO'];
if($GO==1)
  {
    $dir=$_POST['time'];
    $file1=$_POST['file'];
    $handle=opendir('./'.$dir);
    print"


         
   时间:
   品种:
";
    closedir($handle);
    if($file1)
      {
 print"
一个塑料期货交易程序分析图程序(PHP+JAVA)";
      }
  }
elseif($GO==2)
  {
    set_time_limit(10);
    $time=$_GET['time'];
    $file=$_GET['file'].".txt";
    $file1=explode(".",$file);
    $str=$file1[0].':'.$time.' 绘制时间('.date("Y-m-d H:i:s").')';
    $afile="./".$time."/".$file;
    $a=file($afile);
    for($i=0;$i      {
 $b=explode("\t",$a[$i]);
 if($i==0)
   {
     $p=0;
     $hu[$p][0]=$b[12];
     $hu[$p][1]=$b[13];
     $hu[$p][2]=$b[14];
     $p++;
   }
 else
   {
     $b1=explode("\t",$a[$i-1]);
     if($b[12]!=$b1[12])
       {
  $dis=$b[12]-$b1[12];
  $hu[$p][0]=$dis;
  $hu[$p][1]=$b[13];
  $hu[$p][2]=$b[14];
  $p++;
       }
   }
      }
    /*
    echo"";
    for($i=0;$i      {
 $h=floor($hu[$i][2]/3600);
 $h1=$hu[$i][2]-$h*3600;
 $m=floor($h1/60);
 $s=$h1-$m*60;
 $TIME=$h.':'.$m.':'.$s;
 echo"";
      }
    echo"
成交量 报价 时间
".$hu[$i][0]." ".$hu[$i][1]." ".$TIME."
";
    */
    //绘图开始
    Header("Content-type: image/gif");
    $im=imagecreate(600,400);
    $backcolor=ImageColorAllocate($im,236,236,236);
    $linecolor1=ImageColorAllocate($im,255,0,0);//涨区间线,红线
    $linecolor2=ImageColorAllocate($im,0,255,0);//跌区间线,绿线
    $linecolor3=ImageColorAllocate($im,0,0,255);//平区间线,蓝线
    $linecolor4=ImageColorAllocate($im,247,198,166);//表格线
    $linecolor5=ImageColorAllocate($im,156,54,143);//报价曲线
    //$linecolor4=ImageColorAllocate($im,,,);
    imagefill($im,0,0,$backcolor);
    //标尺线开始(曲线部分)
    imageline($im,30,10,30,110,$linecolor1);
    imageline($im,30,110,30,210,$linecolor2);
    imageline($im,30,110,570,110,$linecolor3);
    imageline($im,570,110,570,10,$linecolor1);
    imageline($im,570,110,570,210,$linecolor2);
    imagestring($im,2,5,105,0,$linecolor3);
    imagestring($im,2,572,105,0,$linecolor3);
    for($i=0;$i      {
 $up="+".(5-$i)*40;
 $down="-".($i+1)*40;
 imageline($im,30,(10+20*$i),570,(10+20*$i),$linecolor4);
 imagestring($im,2,5,(5+20*$i),$up,$linecolor1);
 imagestring($im,2,572,(5+20*$i),$up,$linecolor1);
 imageline($im,30,(130+20*$i),570,(130+20*$i),$linecolor4);
 imagestring($im,2,5,(125+20*$i),$down,$linecolor2);
 imagestring($im,2,572,(125+20*$i),$down,$linecolor2);
      }
    $t[0]="9:30";
    $t[1]="9:45";
    $t[2]="10:00";
    $t[3]="10:15";
    $t[4]="10:30";
    $t[5]="10:45";
    $t[6]="11:00";
    for($i=0;$i      {
 if(($i!=0)&&($i!=6))
   {
     imageline($im,(30+90*$i),10,(30+90*$i),210,$linecolor4);
   }
 $t1=$t[$i];
 imagestring($im,2,(15+90*$i),212,$t1,$linecolor3);
      }
    //标尺线开始(成交量部分)
    for($i=0;$i      {
 $ii=290+20*$i;
 $iii=(5-$i)*10;
 imageline($im,30,$ii,570,$ii,$linecolor4);
 imagestring($im,2,5,$ii-5,$iii,$linecolor1);
 imagestring($im,2,575,$ii-5,($iii*10),$linecolor3);
      }
    imageline($im,30,290,30,390,$linecolor4);
    imageline($im,570,290,570,390,$linecolor4);
    for($i=1;$i      {
 $ii=30+90*$i;
        imagedashedline($im,$ii,290,$ii,390,$linecolor4);
      }
    //标尺线结束
    //曲线绘制开始
    $a=file($afile);
    for($i=0;$i      {
 $b=explode("\t",$a[$i]);
 $b1=$b[13];
 $b2=$b[14];
 $x=($b2-34100)/10;
 $y=-$b1*0.5+110;
 if($i==0)
   {
     $x1=$x;
     $y1=$y;
   }
 else
   {
     imageline($im,$x,$y,$x1,$y1,$linecolor5);
     $x1=$x;
     $y1=$y;
   }
      }
    //成交量绘制开始
    $sum=0;
    for($i=0;$i      {
 $y=390-2*$hu[$i][0];
 $x=($hu[$i][2]-34100)/10;
 imageline($im,$x,390,$x,$y,$linecolor1);
 $sum+=$hu[$i][0];
 $ysum=390-0.2*$sum;
 if($i==0)
   {
     $x1=$x;
     $y1=$ysum;
   }
 else
   {
     imageline($im,$x1,$y1,$x,$y1,$linecolor3);
     imageline($im,$x,$y1,$x,$ysum,$linecolor3);
     $x1=$x;
     $y1=$ysum;
   }
      }
    imageline($im,$x1,$y1,570,$y1,$linecolor3);
    //结算价格曲线绘制
    $sum=0;
    $allprice=0;
    for($i=0;$i      {
 $sum+=$hu[$i][0];
 $allprice+=$hu[$i][1]*$hu[$i][0];
 if($sum==0)$nowprice=0;
 else
   $nowprice=$allprice/$sum;
        $x=($hu[$i][2]-34100)/10;
 $y=-$nowprice*0.5+110;
 if($i==0)
   {
     $x1=$x;
     $y1=$y;
   }
 else
   {
     imageline($im,$x1,$y1,$x,$y1,$linecolor1);
     imageline($im,$x,$y1,$x,$y,$linecolor1);
     $x1=$x;
     $y1=$y;
   }
      }
    imageline($im,$x1,$y1,570,$y1,$linecolor1);
    //绘制结束
    //************图片解释部分开始*******************//
    $str0=iconv("GB2312","UTF-8",$str);
    $str1=iconv("GB2312","UTF-8","上图红线表示结算价格线,紫线表示价格曲线,下图红线表示当时成交量,蓝线表示总成交量");
    imagettftext($im,10,0,30,240,$linecolor1,"D:/winnt/Fonts/simhei.ttf",$str0);
    imagettftext($im,10,0,30,255,$linecolor1,"D:/winnt/Fonts/simhei.ttf",$str1);
    //************图片解释部分结束*******************//
    ImageGif($im);
    ImageDestroy($im);
  }
else
  {
    //时间从2005-05-24开始
    print"

  
          选择时间:
  
  


  
         

";
  }
?>



Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn