交易


首次登录,需要强制修改密码,该怎么操作?

方案1:

极星客户端修改

极星客户端登录,首次登录会提示修改密码,直接在登录窗口修改即可。

方案2:

当用户环境不方便使用客户端时,可以用API进行修改。

具体流程:

1.先按正常流程登陆(因为你不知道是否需要强制修改)

2.OnRspLogin会返回一个错误码:10006 TAPIERROR_LOGIN_FORCE 需要强制修改密码

3.这时候,再次调用Login。填写老密码、新密码,并将是否修改密码填为'Y'

注意事项:

1.第二次Login不能在OnRspLogin函数(即回调线程)中调用

2.如果已经知道首次登录需要修改密码,直接执行第3步也行。


交易接口,为什么会频繁调用OnRtnFund,OnRtnPositionProfit这两个函数?

有持仓的时候,在会发生资金变化和持仓盈亏变化,这两个接口是变化通知接口。

如果不需要推送,可以在登录时的TapAPITradeLoginAuth中填写相应的NoticeIgnoreFlag。


为什么OnRtnFill 返回的数据结构里不包含RefString和RefInt?

成交的推送,启明星系统后台主要是考虑到想尽快将成交信息推送给客户,所以没有从委托信息里查找RefString、RefInt。

需要将成交信息与委托信息对应的话,建议在App里处理,OnRtnFill和OnRtnOrder里的信息可以相互映射。

索引字段是: OrderNo


为什么OnRtnOrder中返回的数据结构里撤单量不准确?

由于撤单量取的是交易所返回的撤单量字段,而国内四家交易所并不统一,这个字段有时可能不准确。

建议客户处理的时候判断如果订单状态为已撤单或部分撤单时,按以下方法计算已撤数量:

已撤单数量 = 订单总量 - 已成交数量


升级TapAPI20150320(9.0.1.0)版本API注意事项

从该版本起对下单结构体里的OrderSource字段进行了限制,只能填写TAPI_ORDER_SOURCE_ESUNNY_API,否则会报错-12006(输入错误的TAPIOrderSource),之前的版本没有对此字段限制,升级的时候注意下这个问题。


关于OnRtnOrder接口的错误码

OnRtnOrder接口返回的错误码分两类:

  • 第一类是易盛自己的错误代码,只返回了错误代码,具体错误信息可以参考API文档或头文件
  • 第二类是交易所的代码和错误信息

建议的处理逻辑: 错误码处理


关于OnRtnPosition接口说明

OnRtnPosition接口推送的持仓信息是持仓明细,关键字的持仓号PositionNo。

  • 当有一笔新的开仓时,OnRtnPosition接口会推送一笔拥有新持仓号的消息。
  • 当有新的平仓时,OnRtnPosition接口会推送平仓完成后客户最新的持仓信息(根据持仓号发送该持仓号上最新的持仓量,如果该持仓号持仓被平完,则持仓量为0)

举个例子:(PS:当前交易日2016.12.01)

  • (1). 客户1006有ZCE SR 705 两笔买历史持仓,持仓号分别为YF1611300000000001和YF1611300000000002,持仓量分别为1手和3手。
  • (2). 客户新成交了一笔买开,持仓号TF201612010000000010,持仓量为2手。这时OnRtnPosition接口会推送持仓号为TF201612010000000010的信息
  • (3). 客户新成交了一笔卖平,平仓量为2.根据交易所先开先平的规则,此次平仓平掉的是YF1611300000000001,和YF1611300000000002的一手。这时OnRtnPosition接口会推送YF1611300000000001持仓量为0的持仓信息,以及YF1611300000000002持仓量为2的持仓信息。

API用户可以根据OnRtnPosition接口推送的持仓号,更新本地持仓信息。 如果想汇总持仓量,先根据OnRtnPosition接口推送的信息,更新本地持仓信息,然后就可以按照自己的规则进行统计汇总。

© Esunny API Team all right reserved,powered by Gitbook修订时间: 2018-03-02 02:39:32