使用创建订单X_TRADER
这个例子展示了如何连接到Trading Technologies®X_TRADER®创造市场秩序。
连接到交易技术X_TRADER
C = xtrdr;
创建合同文书
创建芝加哥商品交易所CAISO NP15 EZ Gen Hub 5 MW峰值日历日实时LMP期货合约工具,到期日为2014年8月。
createInstrument (c,“交换”,芝加哥商品交易所的,“产品”,“2 f”,...“ProdType”,“未来”,“合同”,“Aug14”,...“别名”,“SubmitOrderInstrument3”)
为订单服务器注册事件处理程序
注册一个事件处理程序以检查订单服务器状态。
sExchange = c.Instrument.Exchange;c.Gate.registerevent ({“OnExchangeStateUpdate”,...@(变长度输入宗量)ttorderserverstatus(变长度输入宗量{:},sExchange)})
创建订单集和设置订单属性
创建一个空订单集。然后,设置顺序设置属性。将第一个属性设置为true (1
)允许X_TRADER API发送订单拒绝通知。将第二个属性设置为true (1
)允许X_TRADER API为这个订单集中的订单跟踪器列表中的所有订单更新添加订单对。将第三个属性设置为ORD_NOTIFY_NORMAL
将订单状态事件的X_TRADER API通知模式设置为正常。
c.OrderSet createOrderSet (c)(1)。EnableOrderRejectData = 1;c.OrderSet(1)。EnableOrderUpdateData = 1;c.OrderSet(1)。OrderStatusNotifyMode =“ORD_NOTIFY_NORMAL”;
设置位置限制检查
c.OrderSet(1)这里(“NetLimits”假)
为订单状态注册事件处理程序
注册事件处理程序以跟踪与订单状态相关的事件。
registerevent (c.OrderSet (1) {“OnOrderFilled”,...@(变长度输入宗量)ttorderevent(变长度输入宗量{:},c)}) registerevent (c.OrderSet (1) {“OnOrderRejected”,...@(变长度输入宗量)ttorderevent(变长度输入宗量{:},c)}) registerevent (c.OrderSet (1) {“OnOrderSubmitted”,...@(变长度输入宗量)ttorderevent(变长度输入宗量{:},c)}) registerevent (c.OrderSet (1) {“OnOrderDeleted”,...@(变长度输入宗量)ttorderevent(变长度输入宗量{:},c)})
启用订单提交
打开工具进行交易,并启用X_TRADER API在打开工具时检索市场深度信息。
.Open c.OrderSet (1) (1)
用现有仪器构建订单剖面
createOrderProfile(c,“工具”, c.Instrument (1));
设置客户默认属性
为客户分配交易工具的默认值。
orderProfile。客户=“默认> <”;
建立订单档案为市场订单
将订单配置文件设置为购买225股的市场订单。
orderProfile。集(“BuySell”,“买入”) orderProfile。集(“数量”,“225”) orderProfile。集(“订单类型”,“米”)
检查订单服务器状态
nCounter = 1;而~ (“bServerUp”,“var”) && nCounter < 20% bServerUp由ttorderserverstatus创建暂停(1)nCounter = nCounter + 1;结束
验证订单服务器的可用性并提交订单
如果存在(“bServerUp”,“var”) && bServerUp%提交订单submittedQuantity = c.OrderSet(1).SendOrder(orderProfile);disp ([发送数量:num2str (submittedQuantity)))其他的disp (“订单服务器宕机了。无法提交订单。”)结束
X_TRADER API将订单提交给交易所,并在输出参数中返回基于批量的合约发送的合约数量或基于流的合约发送的流量数量submittedQuantity
.
关闭交易技术X_TRADER连接
关闭(c)
另请参阅
xtrdr
|createInstrument
|createOrderSet
|createOrderProfile
|关闭