提交X_TRADER订单
这个例子展示了如何连接到X_TRADER®并提交订单。
连接到X_TRADER
X = xtrdr;
创建一个仪器
createInstrument (X,“交换”,芝加哥商品交易所的,“产品”,“2 f”,…“ProdType”,“未来”,“合同”,“Aug13”,…“别名”,“SubmitOrderInstrument1”)
注册事件处理程序
为订单服务器注册事件处理程序。回调ttorderserverstatus
被分配到事件吗OnExchangeStateUpdate
验证请求的工具的交换服务器正在运行。否则,不能提交订单。
sExchange = X.Instrument.Exchange;registerevent (X.Gate, {“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.Set (“BuySell”,“买入”)orderProfile.Set (“数量”,100)orderProfile.Set (“订单类型”,“米”)
示例:创建一个限价订单
创建一个限价订单通过设置订单类型
和限价订单的价格。
orderProfile.Set (“订单类型”,“L”)orderProfile.Set (“限制美元”,“127000”)
示例:创建一个阻止市场秩序
创建一个阻止市场秩序和集顺序限制价格停止顺序和停止。
orderProfile.Set (“订单类型”,“米”)orderProfile.Set (“OrderRestr”,“年代”)orderProfile.Set (“停止美元”,“129800”)
示例:创建一个停止限价订单
创建一套停止限价订单,订单限制,类型,限制价格,价格和停止。
orderProfile.Set (“订单类型”,“L”)orderProfile.Set (“OrderRestr”,“年代”)orderProfile.Set (“限制美元”,“128000”)orderProfile.Set (“停止美元”,“127500”)
检查服务器状态
提交订单之前检查服务器状态的顺序和添加一个计数器的例子不延迟。
nCounter = 1;而~ (“bServerUp”,“var”)& & nCounter < 20暂停(1)nCounter = nCounter + 1;结束
验证服务器的可用性
确认交易的订单可在提交订单前服务器问题。
如果存在(“bServerUp”,“var”)& & bServerUp submittedQuantity = X.OrderSet (1) .SendOrder (orderProfile);disp ([的发送数量:num2str (submittedQuantity)))其他的disp (订单服务器。无法提交订单的)结束
关闭连接
关闭(X)
另请参阅
xtrdr
|关闭
|createInstrument
|createOrderProfile
|createOrderSet