提交X_TRADER订单

这个例子展示了如何连接到X_TRADER®并提交订单。

连接到X_TRADER

X = xtrdr;

创建一个仪器

createInstrument (X,“交换”芝加哥商品交易所的“产品”“2 f”...“ProdType”“未来”“合同”“Aug13”...“别名”“SubmitOrderInstrument1”

注册事件处理程序

为订单服务器注册事件处理程序。回调ttorderserverstatus是分配到这个事件的吗OnExchangeStateUpdate验证请求的仪器的交换订单服务器正在运行。否则无法提交订单。

sExchange = X.Instrument.Exchange;registerevent (X。门,{“OnExchangeStateUpdate”...@(变长度输入宗量)ttorderserverstatus(变长度输入宗量{:},sExchange)})

创建订单集

OrderSet对象向X_TRADER发送订单。

属性的OrderSet对象,并详细说明订单状态事件的级别。启用订单更新和拒绝(失败)事件,以便可以指定回调来处理这些条件。

createOrderSet (X) X.OrderSet(1)。EnableOrderRejectData = 1;X.OrderSet(1)。EnableOrderUpdateData = 1;X.OrderSet(1)。OrderStatusNotifyMode =“ORD_NOTIFY_NORMAL”

设置位置限制检查

设置在提交订单时,订单集是否检查自我强加的头寸限制。

X.OrderSet(1)这里(“NetLimits”假)

设置回调函数

设置一个回调函数来处理OnOrderFilled事件。每次订单被填满(或部分填满)时,就会调用这个回调函数。

registerevent (X.OrderSet (1) {“OnOrderFilled”...@(变长度输入宗量)ttorderevent(变长度输入宗量{:},X)})

使订单提交

您必须首先启用订单提交,然后才能向X_TRADER提交订单。

.Open X.OrderSet (1) (1)

建立订单配置文件

使用现有工具构建订单配置文件。订单配置文件包含定义已提交订单的设置。有效的参数所示:

orderProfile = createOrderProfile (X);orderProfile。仪器= X.Instrument (1);orderProfile。客户=“默认> <”

示例:创建市场订单

创建一个购买100股的市场指令。

orderProfile。集(“BuySell”“买入”) orderProfile。集(“数量”, 100) orderProfile。集(“订单类型”“米”

示例:创建一个限制订单

属性创建一个限制订单订单类型限制订单价格。

orderProfile。集(“订单类型”“L”) orderProfile。集(“限制美元”“127000”

示例:创建一个停止市场订单

创建一个停止市场订单,并将订单限制设置为一个停止订单和一个停止价格。

orderProfile。集(“订单类型”“米”) orderProfile。集(“OrderRestr”“年代”) orderProfile。集(“停止美元”“129800”

示例:创建一个停止限制订单

创建一个停止限价订单,并设置订单限制、类型、限价和停止价格。

orderProfile。集(“订单类型”“L”) orderProfile。集(“OrderRestr”“年代”) orderProfile。集(“限制美元”“128000”) orderProfile。集(“停止美元”“127500”

检查订单服务器状态

在提交订单之前检查订单服务器状态,并添加一个计数器,这样示例就不会延迟。

nCounter = 1;~ (“bServerUp”“var”) && nCounter < 20 pause(1) nCounter = nCounter + 1;结束

验证订单服务器可用性

在提交订单之前,验证该交易所的订单服务器是否可用。

如果存在(“bServerUp”“var”) && bServerUp submittedQuantity = X.OrderSet(1).SendOrder(orderProfile);disp ([的发送数量:num2str (submittedQuantity)))其他的disp (“订单服务器坏了。”无法提交订单'结束

关闭连接

关闭(X)

另请参阅

||||

相关的例子

更多关于