【综合交易平台API技术开发指南】
行情前置:
asp-sim2-md1.financial-trading-platform.com:26213
经纪公司代码:2030
31. 怎样申请期货模拟交易系统测试账号?
【答:
货公司向上期技术服务台提出申请。
32. 请问模拟交易系统交易时间?
【答:
00也可进行交易,节假日正常情况下都可进行交易。
33. 请问期货模拟环境上期所是非交易状态,
不动,没有交易了?
【答: 模拟环境只有上期所的交易所系统,
34. 我9点前就开机了,但不知为何到9点4分左右期货模拟环境才开始接收到行情数据
【答:
转发5分钟,
的客户权益数据。这种状态切换发生在集合竞价结束时,由于“非交易状态”仅一分钟, 所以休息5分钟就到了9:分, 所以就有可能看到的延时会更长。
期货交易业务
行情接口函数
交易接口函数
35. 下单交易是否需要经过期货公司的服务器?期货公司服务器坏了是否会影响到CTP的
??上海期货信息技术有限公司,2012
第 11 页 共 18 页
【综合交易平台API技术开发指南】
正常交易?
【答: CTP是一套多期货公司共用的交易、结算系统,全部系统部署在上期技术的机 房内。因此,期货公司的服务器状况对其没有任何影响;而且,CTP系统是由上期技术 统一运行维护,所以稳定性应该没有问题!
36. 我们搞接口与其他的软件连接,
【答: CTP交易、风控和结算子系统完全独立,现在公开发布的是交易接口。开销户、
风控及结算等管理工作由期货公司管理人员通过上期技术提供给期货公司的CTP管理 平台和风险控制客户端完成。
37. 请问投资者结算结果确认是什么意思?有什么用?
【答:
行交易操作。客户端可以使用ReqSettlementInfoConfirm请求确认结算单,请求时只需 要填写经纪公司代码和投资者代码。 表示取上一交易日结算单。 确认情况, 结算单, 复确认。
38. 可以设置止损否,限价止损、市价止损及gtc止损之类的?
【答:
还不支持过夜挂单!CTP目前也只是7:30起动系统,早的话8:00可以挂预埋单了。
39. 可以在CTP上面设置保证金的算法--结算价/昨结算价/成交均价/开仓价
四种算法分别都是什么意思?
【答: 价)
端可以通过API查到该配置的内容 v4.1版本将支持该项查询, 端自己做配置)
40. 逐笔报单的预冻结资金哪里可以看到?需要自己计算的话如何计算?
??上海期货信息技术有限公司,2012
第 12 页 共 18 页
【综合交易平台API技术开发指南】
【答:
(按金额)+ 未成交手数* 保证金率(按手),参与计算的价格选择参照保证金算法设置。
41. 可提比例怎么查,基本保证金是什么?
【答:
提比例” 基本保证金” “保底资金” “基本准备金” TThostFtdcMoneyType Reserve。
42. 平仓盈亏和持仓盈亏是在计入
算?
【答:
后再计入“可用资金”
43. 下午开盘前是否有集合竞价?集合竞价时是否会收到行情更新?集合竞价时是否可以
发市价单?
【答:
被交易所认为没有对手方,作为交易不成功来自动撤单。 44. 请问报单状态中的在队列中是什么意思?
【答:
45. 真 实 环 境 中 的OnRtnDepthMarketData()返 回 的 成 交 金 额Turnover及 当 日 均 价
AveragePrice两个字段是不是不正确?
【答:
交易所 郑商所 大商所 上期所 当日均价 正确 除以合约乘数 除以合约乘数 成交金额 乘以合约乘数 正确 正确 46. 查询历史平仓明细是哪个函数?
【答:
??上海期货信息技术有限公司,2012
第 13 页 共 18 页
客户端需要历史交易记录可以通过查询历史结算单的方式获取。
【综合交易平台API技术开发指南】
47. 通过ReqQryInstrumentMarginRate获取保证金率时,在返回的数据中,是不是全部都是
绝对值?如果是相对交易所的费率的话,那么交易所保证金率通过什么方法获取?
【答: ReqQryInstrumentMarginRate返回的保证金率已经包含了交易所保证金率及保证 金率调整,也就是说返回最终的比率,即绝对值。
48. 持仓查询记录中的昨持仓是今天开盘前的一个初始值,不会因为平昨或者平仓而减少。
当前时侯的昨持仓=总持仓-今持仓。YdPosition := Position - TodayPosition。
49. OnHeartBeatWarning 在什么情况下发生?我试了自己断线,路由器断线,狂开bt下载
都没发生过这个事件。
【答:
50. 委托单的状态中怎么没有“部成部撤”这个状态呢?“未成交不在队列中”与“撤单”的区别
是什么?
【答: “部成部撤”即“部分成交不在队列中” CTP有一个自动挂起标志,如果设置 了该标志,那么断线客户的未成交报单将被自动挂起,这时该报单的状态就是“未成交 不在队列中”。自动挂起标志是从上期所系统沿用过来的东西,原来设计的“自动挂起” 报单,可以撤单也可以通过“激活”指令让报单重新进入队列。目前请客户端将“自动挂 起标志”设置为0,永远不挂起。
51. 为什么每次连接服务器时,最大报单引用(MaxOrderRef)都是1开始的?
【答: FrontID + SessionID + OrderRef,作为主键,当FrontID + SessionID变更后
MaxOrderRef将重置。
52. 报单引用是每发一次单就要递增,还是该SESSION内一直使用LONGIN时取得的最大报
单引用?
【答:
53. OnRtnOrder 每次在登陆时都会把上一次的下单结果再重新返回一次,这样是不是有些
不妥啊?
【答: CTP的公有流和私有流提供三种订阅方式,
??上海期货信息技术有限公司,2012
第 14 页 共 18 页
【综合交易平台API技术开发指南】
TERT_RESUME:从上次收到的续传,TERT_QUICK:只传送登录后的内容。每次都重传是因
为在订阅时(SubscribePrivateTopic/SubscribePublicTopic)选择了TERT_RESTART方式。
54. 我查某个合约的手续费,
个别合约是按合约设置的?
【答:
置,后台没有对该合约进行特殊的设置。
55. 如果发送一个报单委托价格在停板之外。按道理如果CTP校验失败,那么应该从
OnRspOrderInsert返回错误;如果是交易所校验失败,那么应该从OnErrRtnOrder来返
回错误。现在情况是这两个地方都不返回错误,而是从OnRtnOrder返回。然而 OnRtnOrder却没有错误代码,仅是状态改变,没法捕捉异常。其实用户报单后,如果 正确根本不会 【答:
然后收到交易所的OnErrRtnOrder后,修改委托表里的记录,触发OnRtnOrder。 OnErrRtnOrder的作用是:CTP在检查委托发现错误时,会给发出委托的投资者发出 OnRspInsertOrder,同时发出OnErrRtnOrder给相关的交易员,所以,作为投资者可以不 关心OnErrRtnOrder。
56. 还有就是OnRtnOrder有重复推送的问题。
状态回来。然后我开始撤单,撤单一报入,OnRtnOrder首先又推一个“已报”的状态
回来,然后才是“撤消”的状态。重复推送当然不会出错,不过会影响效率。 【答:
发出“已提交”状态回报,3,CTP转发交易所的“未成交”状态回报。
下一个动作:1,用户发出撤单;2,CTP修改active User,再发出“未成交”状态回报; 3,CTP转发交易所的“已撤单”状态回报。就是CTP应答一下,然后交易所又应答一 下。都是把对应的委托状态从OnRtnOrder推回来。
57. 从OnRtnOrder中有没有办法区分这是从CTP返回的包还是从交易所返回的包?
【答:
58. 我想请教,
??上海期货信息技术有限公司,2012
第 15 页 共 18 页