创建CQG.订单

这个例子展示了如何连接到CQG®,定义事件处理程序、订阅安全性、定义帐户句柄并提交执行订单。

创建CQG.连接

使用CQG.

c =她推出;

定义事件处理程序

注册样本事件处理程序cqgconnectioneventhandler跟踪与连接状态相关的事件。

eventNames = {'celstarted'“DataError”“IsReady”...“DataConnectionStatusChanged”...“GWConnectionStatusChanged”...“GWEnvironmentChanged”};i = 1:长度(eventnames)注册经验(c.handle,{eventnames {i},...@(变长度输入宗量)cqgconnectioneventhandler(变长度输入宗量{:})})结束

cqgconnectioneventhandler分配给赛事

设置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 {},...@(varargin)cqgrealtimeeventhandler(varargin {:})})结束

注册事件处理程序以跟踪与CQG订单和帐户关联的事件。

ORDEREVENTNAMES = {'accountchanged'“orderchange”“AllOrdersCanceled”};i = 1:length(orderEventNames), {orderEventNames {},...@(变长度输入宗量)cqgordereventhandler(变长度输入宗量{:})})结束

订阅CQG.仪器

通过建立连接,订阅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.Handle,'compunionubscriptionLevel'“aslNone”)组(c。句柄,'compunionubscriptionLevel'“aslAccountUpdatesAndOrders”)暂停(2)
ans = cospectchanged.

CQG API显示帐户信息发生了变化。

设置CQG帐户凭据。

检索CQGAccount对象进accountHandle使用您的帐户信息createOrder.有关创建一个的详细信息CQGAccount对象,看到CQG API参考指南

accountHandle = c.Handle.Accounts.ItemByIndex (0);

创建CQG.市场、限价、止损和止损限价单

创建一个市场订单,购买认购证券的一股cqgInst使用帐户凭据accountHandle

数量= 1;Omarket = CreateOrder(C,Cqginst,1,Accountthandle,数量);Omarket.Place
ANS = ORDERCHANGED.

CQGOrder对象oMarket包含订单。CQG API使用CQG API函数执行市场订单的地方.执行后,订单状态发生变化。

若要为安全性使用字符向量,请订阅安全性“EZC”如上所示。然后,创建一个购买安全性的市场订单“EZC”使用已定义的帐户凭据accountHandle

cqgInstrumentName =“EZC”;数量= 1;Omarket = CreateOrder(C,CQGinStrumentName,1,Accounthandle,数量);Omarket.Place
ANS = ORDERCHANGED.

CQGOrder对象oMarket包含订单。CQG API使用CQG API函数执行市场订单的地方.执行后,订单状态发生变化。

要创建限制订单,您可以使用出价价格。提取CQG BID对象qtbid.从先前定义的CQGInstrument对象cqgInst.有关CQGInstrument对象,看到CQG API参考指南

qtBid = cqgInst.get ('出价');

创建一个限价订单,购买之前认购的证券的一股cqgInst使用前面定义的帐户凭据accountHandleqtbid.为了限价。

数量= 1;LimitPrice = Qtbid.get(“价格”);olimit = createOrder(c,cqginst,2,accountthandle,数量,limitPrice);olimit.place
ANS = ORDERCHANGED.

CQGOrder对象oLimit包含订单。CQG API使用CQG API函数执行限制顺序的地方.执行后,订单状态发生变化。

要创建止损订单,可以使用交易价格。提取CQG交易对象Qttrade.从先前定义的CQGInstrument对象cqgInst

qtTrade = cqgInst.get (“贸易”);

创建一个停止顺序,可以购买先前订阅安全的一份cqgInst使用前面定义的帐户凭据accountHandleQttrade.停止价格。

数量= 1;stopprice = qttrade.get(“价格”);OSTOP = CreateOrder(C,Cqginst,3,Accountthandle,数量,StopPrice);ostop.place
ANS = ORDERCHANGED.

CQGOrder对象oStop包含订单。CQG API使用CQG API函数执行停止顺序的地方.执行后,订单状态发生变化。

要创建一个止损限价订单,请同时使用上面定义的买入价和交易价格。创建一个购买一股认购证券的止损限价单cqgInst使用已定义的帐户凭据accountHandle

数量= 1;oStopLimit = createOrder (c, cqgInst 4 accountHandle、数量、...limitprice stopprice);oStopLimit。的地方
ANS = ORDERCHANGED.

CQGOrder对象oStopLimit包含订单。CQG API使用CQG API函数执行停止限位命令的地方.执行后,订单状态发生变化。

关闭CQG.连接

关闭(c)

另请参阅

|||||||

相关的例子

更多关于

外部网站