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