l2逐笔接口进出行查询逐笔委托明细目前只支持电脑端,需要在登录进页面后在个股分时页面的右边需要双击或回车操作,找到行情资讯单元,再选择Level2单元。并且l2逐笔接口对A股的数据调用就是利用api结构来验证和存储数据,相当于一个又一个的环。 每个环可以看作一个区块,许多环节扣在一起形成一个股票程序化自动交易,然后在下一个区块会包含上一个区块的所有数据,自然就方便查询委托明细了。那么,具体是怎么查询的呢?
首先, 我们先理解l2逐笔接口的数据模块,其实跟股票量化市面上的一些股票数据接口是差不多的,也就是先通过理解它的开发机制来促进对接口系统的应用,具体如下这些模块:
- 消息类型:
消息 | 说明 |
TickRecord | 逐笔成交 |
OrderRecord | 逐笔委托 |
OrderQueueRecord | 委托队列 |
StockQuoteRecord | 股票十档行情 |
- 2TickRecord (逐笔成交)
字段名 | 类型 | 备注 |
stock_exchange | uint32 | 证券市场,1-SH,2-SZ |
stock_code | string | 证券代码 |
created_at | int64 | 成交日期时间戳(毫秒) |
code | string | 成交编号 |
price | uint32 | 成交单价 |
volume | uint64 | 成交数量 |
amount | uint64 | 成交金额 |
tx_dir | uint32 | 交易方向:0-未知,1-买方成交,2-卖方成交 |
tx_kind | uint32 | 交易类型:0-成交,1-撤单 |
buy_order_seq | string | 买方委托序号 |
sell_order_seq | string | 卖方委托序号 |
- 3OrderQueueRecord (逐笔委托)
字段名 | 类型 | 备注 |
stock_exchange | uint32 | 证券市场,1-SH,2-SZ |
stock_code | string | 证券代码 |
created_at | int64 | 委托日期时间戳(毫秒) |
code | string | 委托编号 |
price | uint32 | 委托单价 |
volume | uint64 | 委托数量 |
amount | uint64 | 成交金额 |
tx_dir | uint32 | 交易方向:0-未知,1-买入,2-卖出 |
tx_kind | uint32 | 交易类型:1-市价,2-限价,3-本方优先,10-撤单, 11-暂不清楚( 基金/ 债券有此值) |
- 4OrderQueueRecord(委托队列)
字段名 | 类型 | 备注 |
stock_exchange | uint32 | 证券市场,1-SH,2-SZ |
stock_code | string | 证券代码 |
created_at | int64 | 委托日期时间戳(毫秒) |
bid1_price | uint32 | 买 1 价 |
bid1_quantity | uint32 | 买 1 笔数 |
ask1_price | uint32 | 卖 1 价 |
ask1_quantity | uint32 | 卖 1 笔数 |
bid_volume_detail | repeated uint32 | 委托买入数量明细 |
ask_volume_detail | repeated uint32 | 委托卖出数量明细 |
执行实例程序:
@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;
}
/** * 下委托交易证券(买入或卖出)
也就是说,l2逐笔接口查询数据时,当一个新的区块产生,也就是数据更新的时候,需要通过算法得到全网半数以上的节点的认可,才能形成新的区块,也就是投票机制,等等超过一半的人同意生成它,这使得股票程序化自动交易接口上的数据不可变。即使当l2逐笔接口会产生大量流量,如果是量化程序化自动交易接口的话,对这些数据的安全也有一定的保密性 。