此示例显示如何连接到CQG®,定义事件处理程序,订阅安全性,定义帐户句柄,并提交执行命令。
使用创建CQG连接对象她推出
.
c=cqg;
注册示例事件处理程序cqgconnectioneventhandler
跟踪与连接状态关联的事件。
事件名称={“CELStarted”,“数据错误”,“我已经准备好了”,...“DataConnectionStatusChanged”,...“GWConnectionStatusChanged”,...“GWEnvironmentChanged”};对于i = 1:length(eventNames), {eventNames {},...@(varargin)cqgconnectioneventhandler(varargin{:})终止
cqgconnectioneventhandler
已分配给中的事件eventNames
.
设置API配置属性。例如,设置时区为东部时间,输入如下信息:
c.APIConfig.TimeZoneCode =“东区”;
c.APIConfig
是CQG配置对象。有关设置API配置属性的详细信息,请参阅CQG API参考指南.
建立与CQG的连接。
启动(c)
CELStarted DataConnectionStatusChanged GWConnectionStatusChanged
连接事件处理程序显示成功CQG连接的事件名称。
注册一个事件处理程序以跟踪与CQG仪器订阅关联的事件。
streamEventNames = {“InstrumentSubscribed”,“已更改”,...“不正确的符号”};对于i=1:length(streamventnames)registerevent(c.Handle,{streamventnames{i},...@(变长度输入宗量)cqgrealtimeeventhandler(变长度输入宗量{:})})终止
注册一个事件处理程序来跟踪与CQG订单和帐户关联的事件。
orderEventNames = {“AccountChanged”,“订单已更改”,“AllordersCancelled”};对于i=1:length(orderEventNames)registerevent(c.Handle,{orderEventNames{i},...@(varargin)cqgordereventhandler(varargin{:})终止
连接建立后,签署CQG仪器。票据必须先成功认购,才能供交易使用。您必须在CQG长符号视图中格式化仪器名称。例如,要订阅与EURIBOR绑定的证券,请输入以下内容。
实时(c,“F.US.IE”)暂停(2)
F.US.IEK13已签署
暂停
原因MATLAB®等待2秒,然后继续给予CQG认购仪器的时间。
创建CQG仪器对象。
使用仪器创造秩序
,输入仪器名称cqgInstrumentName
进入当前的MATLAB工作空间。然后,创建一个CQGInstrument
对象CQKINST
.
cqgInstrumentName=evalin(“基地”,“cqgInstrument”);cqgInst=c.Handle.Instruments.Item(cqgInstrumentName);
设置CQG标志以启用帐户信息检索。
集(c。句柄,“AccountSubscriptionLevel”,“阿斯隆”)设置(c.Handle,“AccountSubscriptionLevel”,“aslAccountUpdatesAndOrders”)暂停(2)
ans = AccountChanged
CQG API显示帐户信息已更改。
设置CQG帐户凭据。
取回CQGAAccount
反对帐户句柄
在中使用您的帐户信息创造秩序
.创建一个CQGAAccount
对象,请参见CQG API参考指南.
accountHandle=c.Handle.Accounts.ItemByIndex(0);
创建购买认购证券一股的市场订单CQKINST
使用帐户凭据帐户句柄
.
数量= 1;oMarket = createOrder (c cqgInst 1 accountHandle数量);oMarket。位置
ans = orderchange
这个CQGOrder
对象市场
包含订单。CQG API使用CQG API函数执行市场订单位置
.执行后,订单状态发生变化。
要为安全性使用字符向量,请订阅安全性“EZC”
如上所示。然后,创建一个购买一股证券的市场指令“EZC”
使用定义的帐户凭据帐户句柄
.
cqgInstrumentName=“EZC”;数量= 1;oMarket = createOrder (c cqgInstrumentName 1 accountHandle数量);oMarket。位置
ans = orderchange
这个CQGOrder
对象市场
包含订单。CQG API使用CQG API函数执行市场订单位置
.执行后,订单状态发生变化。
要创建限价订单,您可以使用出价。提取CQG bid对象qtBid
从前面定义的CQGInstrument
对象CQKINST
。有关CQGInstrument
对象,请参见CQG API参考指南.
qtBid=cqgInst.get(“收购”);
创建购买先前认购证券的一股的限价单CQKINST
使用以前定义的帐户凭据帐户句柄
和qtBid
这是限价。
数量= 1;limitprice = qtBid.get (“价格”);oLimit = createOrder (c, cqgInst 2 accountHandle、数量、limitprice);oLimit。位置
ans = orderchange
这个CQGOrder
对象奥利米特
包含订单。CQG API使用CQG API函数执行限制订单位置
.执行后,订单状态发生变化。
要创建止损单,可以使用交易价格。提取CQG交易对象qtTrade
从前面定义的CQGInstrument
对象CQKINST
.
qtTrade=cqgInst.get(“贸易”);
创建一个止损订单,购买一股之前认购的证券CQKINST
使用以前定义的帐户凭据帐户句柄
和qtTrade
止损价。
数量= 1;stopprice = qtTrade.get (“价格”);oStop = createOrder (c, cqgInst 3 accountHandle、数量、stopprice);oStop。位置
ans = orderchange
这个CQGOrder
对象oStop
包含订单。CQG API使用CQG API函数执行停止顺序位置
.执行后,订单状态发生变化。
要创建止损单,请使用上面定义的买入价和交易价。创建购买认购证券一股的止损单CQKINST
使用定义的帐户凭据帐户句柄
.
数量=1;oStopLimit=createOrder(c,cqgInst,4,accountHandle,数量,...限价、限价、限价)
ans = orderchange
这个CQGOrder
对象造口剂
包含订单。CQG API使用CQG API函数执行停止限制订单位置
.执行后,订单状态发生变化。
关闭(c)