-
Notifications
You must be signed in to change notification settings - Fork 14
/
Bugs
68 lines (48 loc) · 3.63 KB
/
Bugs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
1) 当报单提交未成交时,对应的冻结保证金和冻结手续费均未0.
原因:因为没有根据合约的byMoney和byVolume去计算。
状态:Fixed
2) 上一次tradespi登陆后,对同一个合约存在仓位和未成交订单,再次登录以后,初始化得到的仓位信息不正确。
原因:对于同一个合约的仓位查询,如果已有仓位和未成交报单,会有多次回调,operator +=(const CThostFtdcInvestorPositionField& other) 并没有对forzenMagin & forzenCommission信息进行累计。
状态:Fixed
3) 当前交易日有多笔交易,且全部平仓,再次登陆以后,显示的 Available & Balance 的数值 == 真实 Available & Balance 的数值 - 多笔交易产生的手续费。
原因:在初始化过程中,对account进行查询后,此时的Available & Balance为更新值。对仓位进行查询后,又得到当前交易日多笔交易的手续费。
此时显示的Available & Balance 的数值 为真实值扣除了手续费后的值。
状态:已发现
4) 空仓状态下,发生一手rb1610交易后,balance与simnow上的参考值不吻合。
原因:在发生交易的瞬间 [balance = available + margin] or [balance = old_balance - commission]
但在后面持续的时间里,随着行情的波动,positionprofit持续变化,balance也持续变化,其delta值为positionprofit
状态:部分fixed,只能保证balance交易发生一瞬间正确。
5) 客户端成交回报收到重复的两次。
分析:这可能是由于重复连接tradespi,多次产生多次回报引发的。
状态:Fixed. Clear trade queue in Client when logout
6) 客户端登陆,最初显示一个浮动dialog提示账户正在初始化,没等初始化完成,这个dialog就消失了。期间account activity的不少控件被置为0.
状态:fixed
7) 报单提醒,在客户端上显示的时间与实际时间不符。居然是1970/01/01。
状态: fixed
8) PositionProfit 在程序第一次启动后不对。
分析: 由于是非交易时间,所以ppmgr里面保持的LastTick的值不对。
状态: 已发现
9) 持有昨仓,平仓后,客户端冻结保证金和冻结手续费金额不对,为无效值。
分析:可能是由于仓位管理PPMgr 没有对这两个字段进行初始化
状态: 已发现 -> fixed
10) 开多仓两手,然后平仓,发现客户端的仓位为long:-2
分析:regression bug, 少删一行代码引起
状态:已发现 -> fixed
11) 当server调试断点停太久后,ctp会触发重连,会导致客户端仓位不正确
分析:这个时候PPMgr的仓位信息应该重置
状态:已发现
措施:标注todo, 但是目前出现几率小,暂时不修
12) 开多仓两手,然后平仓,发现客户端的保证金不为0
分析:regression bug
状态:已发现 -> fixed
13) 有未成交单的情况下,再次报单前没有撤销之前的报单
状态: 已发现
14) 启动行情一段时间内,3分钟线和5分钟线一直是重合的,再第一次出现交叉时没有发生报单
状态: 已发现
15) 撤单在客户端没有被通知,冻结手续费没有被更新
状态:已发现 -> Fixed
重现步骤: 1.simnow 报单一个难以成交的价格
2.打开android客户端,检查冻结保证金
3.simnow 撤单
4.切换会android客户端,冻结保证金没有更新,tradespi.cpp 撤单的回报是否有调用到
分析:通过查看文档,当交易所接受了撤单指令后,OnRspOrderAction不会被回调到。而会回调OnRtnOrder,用于更新委托状态。