股票实盘交易接口API,配资系统开发实例

2019-03-25 技术知识
股票配资系统实盘交易接口怎么做
 
有没有好用的实盘交易接口
 
股票实盘交易接口
 
 
 
做股票配资系统难免会用到交易接口,好用的能用的接口也少。券商那边也不提供,那索性自己开发股票配资实盘交易接口了。经过多次尝试,总算搞出来了,实时交易接口可以获取用户数据,实时对接,账户信息,委托买入卖出,支持多家券商。
 
附上PHP版的demo
 
<?php
 
class Stock 
{
 
    protected $API = 'http://stock.natapp1.cc/Api/';
 
    /**
     * 查询账户信息
     * @param  string  $IP                 券商交易服务器IP
     * @param  integer $Version         设置客户端的版本号
     * @param  integer $YybID             营业部代码
     * @param  string  $AccountNo          完整的登录账号
     * @param  string  $TradeAccount    交易账号,一般与登录帐号相同.
     * @param  string  $JyPassword      交易密码
     * @param  string  $Port              券商交易服务器端口
     * @param  string  $TxPassword      通讯密码
     * @param  integer $Category          表示查询信息的种类,0资金  1股份   2当日委托  3当日成交  4可撤单  5股东代码 
     */    
 
    //获取账户的数据
    function QueryData($IP,$Version,$YybID,$AccountNo,$TradeAccount,$JyPassword,$Port,$TxPassword,$Category){
 
        $api = $this->API;//接口地址
 
        $data = 'IP='.$IP.'&Version='.$Version.'&YybID='.$YybID.'&AccountNo='.$AccountNo.'&TradeAccount='.$TradeAccount.'&JyPassword='.$JyPassword.'&Port='.$Port.'&TxPassword='.$TxPassword.'&Category='.$Category;
 
        $header = ['Content-Type'=>'application/x-www-form-urlencoded'];//默认方式
 
        $url = $api.'QueryData';
 
        $res = $this->https_request($url,$header,$data);//CURL获取数据
 
        return $res;
 
    }
 
    /**
     * 查询账户信息(多个种类)
     * @param  string  $IP                 券商交易服务器IP
     * @param  integer $Version         设置客户端的版本号
     * @param  integer $YybID             营业部代码
     * @param  string  $AccountNo          完整的登录账号
     * @param  string  $TradeAccount    交易账号,一般与登录帐号相同.
     * @param  string  $JyPassword      交易密码
     * @param  string  $Port              券商交易服务器端口
     * @param  string  $TxPassword      通讯密码
     * @param  integer $Category          表示查询信息的种类,0资金  1股份   2当日委托  3当日成交  4可撤单  5股东代码  如0,1
     * @param  string  $Count              查询的个数
     */    
 
    //获取账户的多项信息数据
    function QueryDatas($IP,$Version,$YybID,$AccountNo,$TradeAccount,$JyPassword,$Port,$TxPassword,$Category,$Count){
        
        $api = $this->API;//接口地址
 
        $data = 'IP='.$IP.'&Version='.$Version.'&YybID='.$YybID.'&AccountNo='.$AccountNo.'&TradeAccount='.$TradeAccount.'&JyPassword='.$JyPassword.'&Port='.$Port.'&TxPassword='.$TxPassword.'&Category='.$Category.'&Count='.$Count;
 
        $url = $api.'QueryDatas';
 
        $header = ['Content-Type'=>'application/x-www-form-urlencoded'];//默认方式
 
        $res = $this->https_request($url,$header,$data);//CURL获取数据
        
        return $res;
    }
 
 
    /**
     * 下委托交易证券(买入或卖出)(单个)
     * @param  string  $IP                 券商交易服务器IP
     * @param  integer $Version         设置客户端的版本号
     * @param  integer $YybID             营业部代码
     * @param  string  $AccountNo          完整的登录账号
     * @param  string  $TradeAccount    交易账号,一般与登录帐号相同.
     * @param  string  $JyPassword      交易密码
     * @param  string  $Port              券商交易服务器端口
     * @param  string  $TxPassword      通讯密码
     * @param  integer $Category          表示委托的种类,0买入 1卖出 
     * @param  integer $PriceType          表示报价方式,0上海限价委托 深圳限价委托 1(市价委托)深圳对方最优价格  2(市价委托)深圳本方最优价格  3(市价委托)            深圳即时成交剩余撤销  4(市价委托)上海五档即成剩撤 深圳五档即成剩撤 5(市价委托)深圳全额成交或撤销 6(市价委托)上海五档即成转限价
     * @param  string  $Gddm              股东代码  交易上海股票填上海的股东代码;交易深圳的股票填入深圳的股东代码
     * @param  string  $Zqdm              证券代码
     * @param  string  $Price              委托价格 
     * @param  string  $Quantity          委托数量 
     */    
    function SendOrder($IP,$Version,$YybID,$AccountNo,$TradeAccount,$JyPassword,$Port,$TxPassword,$Category,$PriceType,$Gddm,$Zqdm,$Price,$Quantity){
        
        $api = $this->API;//接口地址
 
        $data = 'IP='.$IP.'&Version='.$Version.'&YybID='.$YybID.'&AccountNo='.$AccountNo.'&TradeAccount='.$TradeAccount.'&JyPassword='.$JyPassword.'&Port='.$Port.'&TxPassword='.$TxPassword.'&Category='.$Category.'&PriceType='.$PriceType.'&Gddm='.$Gddm.'&Zqdm='.$Zqdm.'&Price='.$Price.'&Quantity='.$Quantity;
 
        $url = $api.'SendOrder';
 
        $header = ['Content-Type'=>'application/x-www-form-urlencoded'];//默认方式
 
        $res = $this->https_request($url,$header,$data);//CURL获取数据
 
        return $res;
 
    }
 
    /**
     * 下委托交易证券(买入或卖出)(单个)
     * @param  string  $IP                 券商交易服务器IP
     * @param  integer $Version         设置客户端的版本号
     * @param  integer $YybID             营业部代码
     * @param  string  $AccountNo          完整的登录账号
     * @param  string  $TradeAccount    交易账号,一般与登录帐号相同.
     * @param  string  $JyPassword      交易密码
     * @param  string  $Port              券商交易服务器端口
     * @param  string  $TxPassword      通讯密码
     * @param  integer $ExchangeID      交易所ID, 上海1,深圳0(招商证券普通账户深圳是2)
     * @param  integer $hth              表示要撤的目标委托的编号        
     */    
    function CancelOrder($IP,$Version,$YybID,$AccountNo,$TradeAccount,$JyPassword,$Port,$TxPassword,$ExchangeID,$hth){
        
        $api = $this->API;//接口地址
 
        $data = 'IP='.$IP.'&Version='.$Version.'&YybID='.$YybID.'&AccountNo='.$AccountNo.'&TradeAccount='.$TradeAccount.'&JyPassword='.$JyPassword.'&Port='.$Port.'&TxPassword='.$TxPassword.'&ExchangeID='.$ExchangeID.'&hth='.$hth;
 
        $url = $api.'CancelOrder';
 
        $header = ['Content-Type'=>'application/x-www-form-urlencoded'];//默认方式
 
        $res = $this->https_request($url,$header,$data);//CURL获取数据
 
        return $res;
 
    }
 
 
    //CURL
    function https_request($url,$header=NULL,$data=null){
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL,$url);
        if(!empty($header)){
            curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
        }
        if (!empty($data)){
            curl_setopt($curl,CURLOPT_POST,1);
            curl_setopt($curl,CURLOPT_POSTFIELDS,$data);
        }
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        $output = curl_exec($curl);
        curl_close($curl);
        return $output;
    }
 
}
 
 
 
 
微信与项目经理沟通

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流

阅读