您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 国内外标准规范 > 综合交易平台API开发
【综合交易平台API开发FAQ】©上海期货信息技术有限公司,2009第1页共14页综合交易平台API开发常见问题列表文件标识:当前版本:V5.1作者:综合交易平台产品组文件状态:[]草稿[√]正式发布[]正在修改完成日期:2009年9月1日星期三PDFcreatedwithpdfFactorytrialversion【综合交易平台API开发FAQ】©上海期货信息技术有限公司,2009第2页共14页文档说明本文档由综合交易平台API技术QQ群(102497247、59216315)中各位终端厂商及程序化交易技术专家的讨论记录整理所得,后续更新将在发布,请及时获取最新版本。模拟环境1.综合交易平台提供商品期货模拟交易系统供大家进行开发、测试及交易试用:交易前置:asp-sim2-front1.financial-trading-platform.com:26205行情前置:asp-sim2-md1.financial-trading-platform.com:26213经纪公司代码:20302.请问怎样申请模拟环境测试账号?答:准备为综合交易平台开发交易终端的软件厂商和个人,可以将公司简介、开发人员简历及终端产品规划发邮件到wang.y@sfit.com.cn申请,获得上期技术领导审批后将发放测试账号。期货投资者可以通过国内任意一家期货公司向上期技术市场人员提出申请。3.请问模拟环境交易时间?答:国内期货市场正常交易时间均可交易,每个交易日晚17:30到凌晨5:00也可进行交易,节假日正常情况下都可进行交易。4.请问模拟环境上期所是非交易状态,可其它交易所没有,为何其它交易所的品种也不动,没有交易了?答:模拟环境只有上期所的交易所系统,其他交易所的合约也是在上期所系统模拟。5.是不是通过上期提供的api接口及模拟账号就可以接入综合平台进行程序化测试了?答:是的,不过只建议在测试系统进行功能测试,不要进行策略测试。PDFcreatedwithpdfFactorytrialversion【综合交易平台API开发FAQ】©上海期货信息技术有限公司,2009第3页共14页6.我9点前就开机了,但不知为何到9点4分左右才开始接收到行情数据答:模拟环境行情转发在状态从“连续交易”切换到“非交易状态”时会停止行情转发5分钟,主要是为了保证在收盘后5分钟内行情静止以方便德邦期货提取模拟大赛的客户权益数据。这种状态切换发生在集合竞价结束时,由于“非交易状态”仅一分钟,所以休息5分钟就到了9:04分,而且模拟环境并不像生产环境每天校时(而是一个月),所以就有可能看到的延时会更长。业务逻辑7.请问国内期货公司有哪些使用了综合交易平台系统?答:截至到2010年3月22日,主交易系统使用综合交易平台的期货公司有10家,分别是:海通期货、上海金鹏、海南星海、中期嘉合、金海岸、永大期货、时代期货、普民期货、金谷期货、天鸿期货。二席交易系统(含程序化交易系统)使用综合交易平台的期货公司有24家,分别是:德邦期货、宏源期货、广发期货、华西期货、海通期货、东证期货、经易期货、中航期货、中信新际、美尔雅期货、上海中期、银河期货、上海金源、中财期货、申银万国、渤海期货、东兴期货、金石期货、中证期货、招金期货、国金期货、中证期货、中银国际期货、光大期货。8.请问综合交易平台支持哪些下单类型?我在文档里面看到可以直接在报单的时候设置限价单,市价单和触发单。这些好像交易所目前官方还只支持限价单吧?其他实现都是CTP实现的吗?答:综合交易平台支持国内三家商品交易所正式对外开放的所有下单类型,大商所和郑商所提供套利交易指令和市价单,大商所提供止盈止损等条件单。综合交易平台在后台提供非交易时段的预埋单,条件单也将在v4.1版本中完成。9.下单交易是否需要经过期货公司的服务器?期货公司服务器坏了是否会影响到CTP的正常交易?答:综合交易平台是一套多期货公司共用的交易、结算系统,全部系统部署在上期技术的机房内。因此,期货公司的服务器状况对其没有任何影响;而且,综合交易平台系统是由上期技术统一运行维护,所以稳定性应该没有问题!PDFcreatedwithpdfFactorytrialversion【综合交易平台API开发FAQ】©上海期货信息技术有限公司,2009第4页共14页10.我们搞接口与其他的软件连接,只要符合ctp的接口。结算的问题我们不需要考虑了吧?答:综合交易平台交易、风控和结算子系统完全独立,现在公开发布的是交易接口。开销户、风控及结算等管理工作由期货公司管理人员通过上期技术提供给期货公司的综合交易平台管理平台和风险控制终端完成。11.综合交易平台能显示买卖价的深度行情吗?比如说10档买卖价?答:综合交易平台行情是从期货公司的远程席位获得,交易所分配给各期货公司的远程席位能够取得数据,综合交易平台都能提供给期货公司的客户。综合交易平台系统使用期货公司的远程席位登录交易所系统,对交易及数据的操作权限完全来源于期货公司。上期所也没有给我们提供任何市场之外的帮助或默许,但由于综合交易平台强大的数据处理能力,为期货投资者提供上期所早已公开提供的无限深度行情数据也有了技术上的可行性。12.请问没有历史行情,实际交易时需要取历史数据做相应计算,比如atr(30)等,如何处理?是否只能终端通过别的接口自己补数据?答:历史数据需要通过行情商解决。对于未及时登录及断线造成的行情数据丢失,综合交易平台也不提供行情回补机制,因为行情的实时性对CTP的系统延时要求非常高,行情数据的回补逻辑增加的系统延时以及网络资源的消耗限制了其在高速系统内部实现的空间。程序化交易终端可以通过多路连接的方式降低断线风险,或是托管策略服务器的方式以提高到CTP连接的保障级别。13.请问投资者结算结果确认是什么意思?有什么用?答:投资者在登录后首先需要确认自己的结算单(即账单),结算单确认后才可以进行交易操作。终端可以使用ReqSettlementInfoConfirm请求确认结算单,请求时只需要填写经纪公司代码和投资者代码。查询结算单使用ReqQrySettlementInfo,不填日期,表示取上一交易日结算单。使用ReqQrySettlementInfoConfirm可以查询当天客户结算单确认情况,无记录返回表示当天未确认结算单,为避免客户当天多次登陆多次重复确认结算单,建议在确认前先查询当天是否已经确认,如果客户已经确认过则不需要再次重复确认。PDFcreatedwithpdfFactorytrialversion【综合交易平台API开发FAQ】©上海期货信息技术有限公司,2009第5页共14页14.可以设置止损否,限价止损、市价止损及gtc止损之类的?答:止盈止损等条件单将在V4.1版本推出。gtc不会支持,现在国内的期货交易所还不支持过夜挂单!综合交易平台目前也只是7:30起动系统,早的话8:00可以挂预埋单了。15.可以在综合交易平台上面设置保证金的算法--结算价/昨结算价/成交均价/开仓价四种算法分别都是什么意思?答:保证金算法:历史仓用昨结算价计算,今仓可以选择(成交均价/开仓价/结算价),这里的结算价是指最新价,该项配置由期货公司管理人员在后台进行配置,终端可以通过API查到该配置的内容(v4.1版本将支持该项查询,所以现在快期是在前端自己做配置)。16.逐笔报单的预冻结资金哪里可以看到?需要自己计算的话如何计算?答:冻结保证金=(成交均价|开仓价|最新价)*未成交手数*合约乘数*保证金率(按金额)+未成交手数*保证金率(按手),参与计算的价格选择参照保证金算法设置。17.可提比例怎么查,基本保证金是什么?答:可提资金等实时性要求不高的数据可以直接从后台查询,终端无需知道“可提比例”。“基本保证金”又叫“保底资金”和“基本准备金”,TThostFtdcMoneyTypeReserve。18.平仓盈亏和持仓盈亏是在计入“可用资金”并应用算法时是汇总后统一计算还是分笔计算?答:汇总计算后再应用相应算法,如“浮盈可开仓”是把所有的持仓浮盈浮亏加总后再计入“可用资金”。19.下午开盘前是否有集合竞价?集合竞价时是否会收到行情更新?集合竞价时是否可以发市价单?答:下午没有集合竞价。集合竞价时不更新买卖价/量。集合竞价时发送的市价单会被交易所认为没有对手方,作为交易不成功来自动撤单。PDFcreatedwithpdfFactorytrialversion【综合交易平台API开发FAQ】©上海期货信息技术有限公司,2009第6页共14页接口综合20.程序使用TradeApi和MdApi,并且把这2个dll放在同一个目录下。程序再次启动后,如果某个api采用Resume模式订阅公有流/私有流,就会去参考相关的本地流文件。可能会导致数据异常?答:相同目录下的2个dll会把数据写入相同本地流文件,导致2个dll不断的覆盖对方写下的流文件。程序再次启动时,TradeApi可能去参考MdApi写下的流文件,所以导致数据流不连续。解决方法:如果一定要把2个dll放在相同的目录下,可以在创建api时指定流文件的路径。使得不同的dll写入不同流文件。staticCThostFtdcUserApi*CreateFtdcUserApi(constchar*pszFlowPath=,constboolbIsUsingUdp=false);21.请问api是否多线程安全的(linux以及windows平台)?答:api,spi是不同的线程、api可以同时被多个线程调用、也就是你说的线程安全性、这些特性和平台无关。22.测试时发现CThostFtdcMdSpi有个比较严重的问题,就是使用Release()退出清理对象时会出现死机,并且频率很高,怎样解决?答:请参考以下代码的释放顺序。templateclassTUserApivoidCUserApiEnvTUserApi::UnInitialUserApi(){//释放UserApiif(m_pUserApi){m_pUserApi-RegisterSpi(NULL);m_pUserApi-Release();m_pUserApi=NULL;}//释放UserSpi实例if(m_pUserSpiImpl)PDFcreatedwithpdfFactorytrialversion【综合交易平台API开发FAQ】©上海期货信息技术有限公司,2009第7页共14页{deletem_pUserSpiImpl;m_pUserSpiImpl=NULL;}}23.UserID和InversterID的区别是什么?答:期货公司交易员为投资者下单时,UserID为操作员代码,InversterID为投资者代码;投资者自己下单时,两者同为投资者代码。24.请问报单状态中的在队列中是什么意思?答:表示报单已经在交易所的撮合队列中。25.真实环境中的OnRtnDepthMarketData()返回的成交金额Turnover及当日均价AveragePrice两个字段是不是不正确?答:是的,交易终端用到该数据时需要自行调整,调整规则如下:交易所当日均价成交金额郑商所正确乘以合约乘数大商所除以合约乘数正确上期所除以合约乘数正确26.综合交易平台的LIB,是几字节对齐的,是一字节,还是八字节,还是其它的?答:是标准的8个字节对齐。27.CTP的客户端怎样实现对代理服务器的支持?答:CTP的API提供了对代理服务器的支持,包括sock4、sock4a及sock5,客户端开发时只需通过传递给API不同的连接字符串就可实现,例如RegisterFront(tcp://asp-sim2-front1.financial-tradi
本文标题:综合交易平台API开发
链接地址:https://www.777doc.com/doc-1085314 .html