此示例显示了如何连接到交易技术®x_trader.®并创建市场订单。
c = xtrdr;
为CAISO NP15 EZ Gen Hub 5 MW峰值日历日实时LMP期货合同创建一个工具,2014年8月在芝加哥商品交易所到期。
CreateInstrument(C,'交换'那'cme'那'产品'那'2f'那......'prodtype'那'未来'那“合同”那'8月14'那......'别名'那'submitOrderInstrument3')
注册事件处理程序以检查订单服务器状态。
sexchange = c.instrument.exchange;c.gate.registevent({'OnexchangestateUpdate'那......@(varargin)ttorderserverstatus(varargin {:},sexchange)})
创建一个空订单集。然后,设置订单集属性。将第一个属性设置为true(1
)启用X_Trader API发送订单拒绝通知。将第二个属性设置为true(1
)启用X_Trader API在此订单集中向订单跟踪器列表添加订单对。将第三属性设置为ORD_NOTIFY_NORMAL.
将订单状态事件设置为正常的X_Trader API通知模式。
creationderset(c)c.orderset(1).EnableOrderRejectData = 1;c.orderset(1).EnableOrderupdateData = 1;c.orderset(1).orderStatusNotifyMode =“ORD_NOTIFY_NORMAL”;
c.OrderSet(1)这里(“NetLimits”假)
注册事件处理程序以跟踪与订单状态关联的事件。
注册经验(C.Orderset(1),{'OnOorderfilled'那......@(varargin)ttorderevent(varargin {:},c)})注射器(c.orderset(1),{'OnOrderRepted'那......@(varargin)ttorderevent(varargin {:},c)})注射器(c.orderset(1),{'ondringsubmited'那......@(varargin)ttorderevent(varargin {:},c)})注射器(c.orderset(1),{'OnOrderDeleted'那......@(varargin)ttorderevent(varargin {:},c)})
打开交易工具,并允许X_TRADER API在打开工具时检索市场深度信息。
C.Orderset(1).open(1)
OrderProfile = CreateOrderProfile(C,'乐器',c.instrument(1));
为交易仪器分配客户默认值。
OrderProfile.Customer =“默认> <”;
建立购买225股股票的市场订单。
OrderProfile.set('买卖'那'买')orderprofile.set('数量'那'225')orderprofile.set('ordertype'那“米”)
ncounter = 1;尽管〜存在('bserverup'那'var')&& ncounter <20%bserverup由ttorderserverstatus创建暂停(1)ncounter = ncounter + 1;结尾
如果存在('bserverup'那'var')&& bserverup.%提交订单submittedquantity = c.orderset(1).sendorder(orderprofile);DISP(['发送的数量:'num2str(chupitedquantity)])别的DISP('订单服务器已关闭。无法提交订单。')结尾
X_Trader API将订单提交到Exchange并返回为基于批次的合同或在输出参数中发送的流量合同发送的流量的合同数提交Quantity.
。
关闭(c)
关闭
|createInstrument
|createOrderProfile.
|createOrderSet
|xtrdr.