管理彭博EMSX订单和路线
此示例显示了如何连接到彭博社®EMSX,设置订单和路由订阅,创建和路由订单,并与路线交互。
有关彭博社EMSX的详细信息,请参阅EMSX API程序员指南使用wapi
连接至彭博EMSX
连接到彭博社EMSX测试服务。使用当前事件队列内容使用ProcessEvent
。
c = emsx('// blp/emapisvc_beta');processEvent(c)
C =具有属性的EMSX:会话:[1x1 com.bloomberglp.blpapi.session]服务:[1x1 com.bloomberglp.blpapi.impl.aq] ipaddress:'local -host'端口:8194 SessigonConnectionUp = {server = localHost = localHost/127.0.0.0.0.0.0.0.0.0.0.0.0.0..0.c.0.0.0..0.bost = {:8194} sessionstarted = {} serviceOpened = {serviceName = // blp/emapisvc_beta}
MATLAB®返回C
作为与彭博社EMSX测试服务的连接,以下内容:
彭博社EMSX会话对象
彭博社EMSX服务对象
运行彭博社EMSX测试服务的机器的IP地址
运行彭博EMSX测试服务的机器的端口号
ProcessEvent
显示与连接到彭博EMSX相关的事件。
设置订单和路线订阅
使用彭博社EMSX连接订阅订单事件C
与这些彭博EMSX字段相关联。
字段= {'emsx_ticker',,,,'emsx_amount',,,,'emsx_fill'};[事件,osubs] =订单(C,字段)
events = msg_type:{'e'} msg_sub_type:{'o'} event_status:4 ... osubs = com.bloomberglp.blpapi.subscriptionlist@4bc3dc788
事件
包含与现有彭博EMSX订单相关的事件的字段。Osubs
包含彭博社EMSX订阅列表对象。
订阅彭博社EMSX字段的路线事件EMSX_BRORK
和emsx_working
使用彭博EMSX连接C
。返回现有路线的状态。
字段= {'emsx_broker',,,,'emsx_working'};[事件,rsubs] =路由(C,字段)
事件= msg_type:{5x1 cell} msg_sub_type:{5x1 cell} event_status:[5x1 int32] ... rsubs = com.bloomberglp.blpapi.subscriptionlistlist@463b9287
事件
包含事件队列中当前事件的字段。rsubs
包含彭博社EMSX订阅列表对象。
创建和路线顺序
创建订单请求结构命令
定义顺序参数。该代码为IBM的100股创建了买入订单®。此代码使用经纪人BB
有效的时间天
和任何手指令。使用使用的股份数量转换为32位签名的整数INT32
。
order.emsx_ticker ='IBM';order.emsx_amount = int32(100);order.emsx_order_type ='Mkt';order.emsx_broker ='bb';order.emsx_tif ='天';order.emsx_hand_instruction ='任何';order.emsx_side ='买';
使用彭博社EMSX连接创建和路由订单C
和订单请求结构命令
。
事件= createorderAndRoute(c,order)
事件= emsx_sequence:335877 emsx_route_id:1消息:'创建和路由'
默认事件处理程序处理与创建和路由订单相关的事件。CreateOrderAndRoute
返回事件
作为包含这些字段的结构:
彭博社EMSX订单编号
彭博社EMSX路线标识符
彭博社EMSX消息
修改路线
定义莫德鲁特
包含这些字段的结构:
彭博社EMSX订单序列编号
EMSX_Sequence
彭博社EMSX股票符号
emsx_ticker
彭博社EMSX股票数量
emsx_amount
彭博社EMSX路线标识符
EMSX_ROUTE_ID
此代码将订单序列号的IBM 50股路由修改为335877
和路线标识符1
。使用数字转换为32位签名的整数INT32
。
modroute.emsx_sequence = int32(335877)modroute.emsx_ticker ='IBM';modroute.emsx_amount = int32(50);modroute.emsx_route_id = int32(1);
使用彭博EMSX连接修改路线C
并修改路线请求莫德鲁特
。
事件= modifyRoute(c,modroute)
事件= emsx_sequence:0 emsx_route_id:0消息:'路由修改'
默认事件处理程序处理与修改路由相关的事件。modifyRoute
返回事件
作为包含这些字段的结构:
彭博社EMSX订单编号
彭博社EMSX路线标识符
彭博社EMSX消息
删除路线
定义结构路线
其中包含顺序序列编号EMSX_Sequence
对于路由订单和路线编号EMSX_ROUTE_ID
。
Routenum.EMSX_Sequence = 0;Routenum.EMSX_ROUTE_ID = 0;
使用彭博EMSX连接删除路线C
和删除路线编号结构路线
。
事件= deleteroute(C,Routenum)
事件=状态:'1'消息:'发送给经纪人的路由取消请求'
默认事件处理程序处理与删除路由相关的事件。DELETEROUTE
返回事件
作为包含这些字段的结构:
彭博社EMSX状态
彭博社EMSX消息
停止订单和路线订阅
使用彭博社EMSX订阅列表对象取消订阅订单和路线事件Osubs
和rsubs
。该代码假设订单
创建Osubs
和路线
创建rsubs
。
c.session.unsubscribe(OSUBS)c.session.unsubscribe(rsubs)
关彭博EMSX连接
关闭(c)
也可以看看
EMSX
|关
|CreateOrderAndRoute
|订单
|modifyRoute
|DELETEROUTE
|路线