创建她推出订单
这个例子展示了如何连接到CQG®,定义事件处理程序,订阅安全,定义帐户句柄,并提交执行订单。
创建她推出连接
使用创建CQG连接对象她推出
.
C = cqg;
定义事件处理程序
注册示例事件处理程序cqgconnectioneventhandler
跟踪与连接状态相关的事件。
eventNames = {“CELStarted”,“DataError”,“IsReady”,...“DataConnectionStatusChanged”,...“GWConnectionStatusChanged”,...“GWEnvironmentChanged”};为i = 1:length(eventNames) registerevent(c。, {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:长度(streamEventNames)注册事件(c.), {streamEventNames {},...@(变长度输入宗量)cqgrealtimeeventhandler(变长度输入宗量{:})})结束
注册一个事件处理程序来跟踪与CQG订单和帐户相关的事件。
orderEventNames = {“AccountChanged”,“orderchange”,“AllOrdersCanceled”};为i = 1:length(orderEventNames) registerevent(c。, {orderEventNames {},...@(变长度输入宗量)cqgordereventhandler(变长度输入宗量{:})})结束
订阅她推出仪器
连接建立后,订阅CQG仪器。文书必须先成功认购,方可供交易使用。必须在CQG长符号视图中格式化仪器名称。例如,要订阅与EURIBOR绑定的证券,请输入以下内容。
实时(c,“F.US.IE”)暂停(2)
F.US。IEK13订阅
暂停
MATLAB原因®等待2秒,然后继续给予CQG认购票据的时间。
创建CQG仪器对象。
在…中使用仪器createOrder
,导入仪器名称cqgInstrumentName
进入当前的MATLAB工作空间。然后,创建CQGInstrument
对象cqgInst
.
cqginstrumentation = 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,quantity);oMarket。的地方
ans =已更改
的CQGOrder
对象oMarket
包含订单。CQG API使用CQG API函数执行市场指令的地方
.执行后,订单状态会发生变化。
若要为证券使用字符向量,请订阅证券“EZC”
如上所示。然后,创建一个购买一份证券的市场指令“EZC”
使用定义的帐户凭据accountHandle
.
cqgInstrumentName =“EZC”;数量= 1;oMarket = createOrder(c,cqgInstrumentName,1,accountHandle,quantity);oMarket。的地方
ans =已更改
的CQGOrder
对象oMarket
包含订单。CQG API使用CQG API函数执行市场指令的地方
.执行后,订单状态会发生变化。
要创建限价单,您可以使用买入价。提取CQG投标对象qtBid
从前面定义的CQGInstrument
对象cqgInst
.有关CQGInstrument
对象,看到CQG API参考指南.
qtBid = cqgins .get(“收购”);
创建一个限价单,购买一份先前认购的证券cqgInst
使用以前定义的帐户凭据accountHandle
而且qtBid
这是限价。
数量= 1;limitprice = qtBid.get(“价格”);oLimit = createOrder(c,cqgInst,2,accountHandle,quantity,limitprice);oLimit。的地方
ans =已更改
的CQGOrder
对象oLimit
包含订单。CQG API使用CQG API函数执行限价指令的地方
.执行后,订单状态会发生变化。
要创建止损单,您可以使用交易价格。提取CQG交易对象qtTrade
从前面定义的CQGInstrument
对象cqgInst
.
qtTrade = cqgins .get(“贸易”);
创建一个止损指令,购买先前认购的证券的一份cqgInst
使用以前定义的帐户凭据accountHandle
而且qtTrade
止损价。
数量= 1;stopprice = qtTrade.get(“价格”);oStop = createOrder(c,cqgInst,3,accountHandle,quantity,stopprice);oStop。的地方
ans =已更改
的CQGOrder
对象oStop
包含订单。CQG API使用CQG API函数执行停止指令的地方
.执行后,订单状态会发生变化。
要创建止损限价单,请同时使用上面定义的买入价和交易价。创建一个止损限价单,购买认购证券的一股cqgInst
使用定义的帐户凭据accountHandle
.
数量= 1;oStopLimit = createOrder(c,cqgInst,4,accountHandle,quantity,...limitprice stopprice);oStopLimit。的地方
ans =已更改
的CQGOrder
对象oStopLimit
包含订单。CQG API使用CQG API函数执行止损限制指令的地方
.执行后,订单状态会发生变化。
关闭她推出连接
关闭(c)
另请参阅
她推出
|关闭
|createOrder
|历史
|timeseries
|启动
|关闭
|实时