CTP接口COM封装使用指南

上传人:汽*** 文档编号:468528430 上传时间:2024-01-13 格式:DOC 页数:23 大小:180.50KB
返回 下载 相关 举报
CTP接口COM封装使用指南_第1页
第1页 / 共23页
CTP接口COM封装使用指南_第2页
第2页 / 共23页
CTP接口COM封装使用指南_第3页
第3页 / 共23页
CTP接口COM封装使用指南_第4页
第4页 / 共23页
CTP接口COM封装使用指南_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《CTP接口COM封装使用指南》由会员分享,可在线阅读,更多相关《CTP接口COM封装使用指南(23页珍藏版)》请在金锄头文库上搜索。

1、CTP 接口 COM 封装使用指南盈佳发布了一个基于 COM 标准的 CTP-API 接口封装,通过这个COM接口,用户可以利用任何支持 COM的语言来接入CTP;该COM 组件在内部进行仓位和资金的自动计算, 并对用户屏蔽了上期所的平 今和平昨的差别(优先平今) ,对用户非常友好。1.1 COM 包构成该 COM 组件在运行时,需要下面几个文件:ctpcom.dllthosttraderapi.dllthostmduserapi.dllconfig.xml (可以有多个,不同的期货公司需要不同的配置文 件,在登录时指定这个配置文件的名称)error.xml,error.dtd ctp 中错误

2、信息定义1.2 COM 注册在使用 COM 组件之间,需要先注册注本 COM 组件,步骤如下: 运行 cmd,cd 到 ctpcom.dll 所在的目录,运行 Regsvr32 ctpcom.dll1.3 COM 接口方法该COM提供的接口(C+语言描述)如下:Login(in BSTR ConfigFile,in BSTR UserID,in BSTR Password,out int *ErrorID);说明:登录到 CTP 系统。必须首先调用该方法成功登录后, 才能调用其他方法。参数:ConfigFile,配置文件的名称,该配置文件必须和CtpCom.dll 放在同一个目录下。通过指定不

3、通的配置文件,可以创建多个ctpcom对象,连接到不同的期货经纪公司。UserID, 投资者账户名Password投资者密码;Erro rID ,返回登录错误代码,为 0 时表示登录成功, 其他值表示登录失败。Buy(in BSTR pszInstrumentID,in int volume,in double price,out long* OrderID);说明:对指定的合约买入开仓;price,开仓价格,0表示以市价开仓(对于上期所,以停板价 +立即撤单来模拟 )OrderlD,返回该报单的唯一编号,可以通过这个编号来跟踪此报单;Sell(in BSTR pszInstrumentID,

4、in int volume,in double price,out long* OrderID);说明:对指定的合约卖出平仓;参数:pszlnstrumentID,合约代码,区分大小写; volume,平仓手数,price,平仓价格,0表示以市价平仓(对于上期所,以停板价 +立即撤单来模拟 )OrderlD,返回该报单的唯一编号,可以通过这个编号来跟踪此报单;Short(in BSTR pszInstrumentID,in int volume,in double price,out long* OrderID);说明:对指定的合约卖出开仓;参数:pszlnstrumentID,合约代码,区分

5、大小写;volume,开仓手数,price,开仓价格,0表示以市价开仓(对于上期所,以停板价 +立即撤单来模拟 )OrderlD,返回该报单的唯一编号,可以通过这个编号来跟踪此报单;Cover(in BSTR pszlnstrumentlD,in int volume,in double price,out long* OrderlD);说明:对指定的合约买入平仓;参数:pszlnstrumentID,合约代码,区分大小写; volume,平仓手数,price,平仓价格,0表示以市价平仓(对于上期所,以停板价 +立即撤单来模拟 )OrderlD,返回该报单的唯一编号,可以通过这个编号来 跟踪此

6、报单;PlaceOrder(in BSTR pszlnstrumentlD, in int buySell, in int openClose, in int volume,in double price,out long* OrderlD);说明:对指定的合约买入平仓;pszlnstrumentID,合约代码,区分大小写;buySell, 买卖,0为买,1为卖;参数:openClose, 开平,0为开,1 为平;volume,平仓手数,price,平仓价格,0表示以市价平仓(对于上期所,以停板价 +立即撤单来模拟 )OrderlD,返回该报单的唯一编号,可以通过这个编号来 跟踪此报单;Can

7、celOrder(in long OrderlD,outint* status);说明: 对指定的报单进行撤单操作; 参数:OrderlD,指定的报单号;Status,返回代码,0表示已经对该报单发出撤单指令,=0 表示该报单不存在,或者已经不可撤;SubscribeMD(in BSTR lnstrumentlD);说明: 订阅某个合约的 行情数据。在订阅了后, 会通 过OnM arketData事件将该合约的行情发出。参数:InstrumentID -合约代码,区分大小写。GetLongPos(in BSTR lnstrumentlD,out long * LongPos, out doub

8、le *PositionPrice);说明:返回某个合约的多头(买持)仓位参数:InstrumentID -合约代码,区分大小写。Lon gPos -返回的多头(买持)仓位大小;PositionPrice-多头仓位的持仓均价;GetLongClosable(in BSTR InstrumentID,out long *LongClosable);说明:返回某个合约的多头(买持)可平仓位。参数:InstrumentID -合约代码,区分大小写。Lon gClosable -返回的多头(买持)仓位可平量;GetShortPos(in BSTR InstrumentID,out long * Sho

9、rtPos, out double *PositionPrice);说明:返回某个合约的空头(卖持)仓位。参数:InstrumentID -合约代码,区分大小写。Lon gPos -返回的空头(卖持)仓位大小;PositionPrice-多头仓位的持仓均价;GetShortClosable(in BSTR InstrumentID,out long *ShortClosable);说明:返回某个合约的空头(卖持)可平仓位。参数:InstrumentID -合约代码,区分大小写。ShortClosable -返回的空头(卖持)仓位的可平量;IsOrderOpen(in long OrderID,

10、out BOOL *IsOpen);说明: 判断某个报单是否处于可撤状态。参数:OrderlD -报单编号。IsOpen-不为0表示处于可撤状态,0表示不可撤;GetMarketData(in BSTR InstrumentID,out double *YdClose, out double *YdSettlement, out double *Open,out double *Last,out double *Bid1,out double *Ask1,out int *Bid1Volume, out int * Ask1Volume,out double * Highest,out dou

11、ble * Lowest,out int * TradedVolume,out double *TradedAmmount);说明:获取一个合约当前最新行情数据。参数:InstrumentID- 指定合约编号。YdClose 乍日收盘价;YdSettleme nt-昨日结算价Ope n-今日开盘价Last-今日最新价Bid1-买一价Ask1-卖一价BidiVolume-买一量AskIVolume-卖一量Highest-今日最高价Lowest -今日最低价TradedWIume-今日成交量TradedAmm ount-今日成交额GetAccount(out double * Balance,ou

12、t double *Available); 说明:获取当前帐户的用户权益和可用资金。 参数:Bala nee-当前帐户的用户权益可用资金Available -当前帐户的可用资金GetInstruments(out SAFEARRAY(InstrumentField) ppIns,out int *Count)说明:获取所有合约列表;参数:pplns -InstrumentField 扌旨针数组;Cou nt-合约数目,GetInstrumentInfo(in BSTR InstrumentID,out int * Multiply, out double * PriceUnit);说明:获得一

13、个合约的乘数和最小价格变动单位;该方法需要在OnInitFinished 事件之后调用。参数:InstrumentID -合约编号Multiply -合约乘数;PriceUnit -合约最小价格变动单位;GetMarginRate(in BSTR InstrumentID,out double*MarginRate,out BSTR *ExpireDate);说明:获得一个合约的保证金率乘数和到期日,该方法需要在 OnInitFinished 事件之后调用, MarginRate 在第一次调用时可 能不能返回,此时可以在 OnM argi nRate事件中接受。参数:InstrumentID

14、-合约编号MarginRate -合约乘数;ExpireDate -合约最小价格变动单位;CreateKBars(BSTR InstrumentID, int Period, int Interval);说明:创建一个 Bar 序列,之后, COM 会通过 OnBar 事件将生成的 Bar 推送出来。参数:InstrumentID -合约代码;Period -周期类型,0 H中线1-小时线;Interval- 周期大小;大于 11.4 COM 触发事件 客户端通过事件来接受行情、资金和仓位等信息。该 COM 组件发出 的事件如下:OnAccount -当投资者账户信息发生变化时,此事件被触 发;参数:PreBala nee期初用户权益Balance 当前用户权益Available 当前可用资金Commission 今日以发生手续费FrozenCommission 今日冻结手续费Margin 占用保证金FrozenMargin 今日冻结保证金CloseProfit 今日平仓盈亏PositionProfit 持仓盈亏此事件被触OnMarketData - 当某个合约有新行情到达时, 发;参数:InstrumentID 合约编号BidPrice1 买一价BidVolume1 买一量AskPrice1 卖一价AskVolume1 卖一量OpenPrice 开盘价Highest

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号