-
Notifications
You must be signed in to change notification settings - Fork 7
/
mappings.h
executable file
·276 lines (266 loc) · 12.9 KB
/
mappings.h
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
#pragma once
#include <map>
#include <string>
#include "include/ThostFtdcUserApiDataType.h"
std::map<TThostFtdcOrderPriceTypeType, std::string> ORDER_PRICE_TYPE_MAP = {
///TFtdcOrderPriceTypeType是一个报单价格条件类型
// typedef char TThostFtdcOrderPriceTypeType;
{ '1', "_AnyPrice" },
{ '2', "_LimitPrice" },
// etc.
};
std::map<TThostFtdcPosiDirectionType, std::string> POS_DIRECTION_MAP = {
///TFtdcPosiDirectionType是一个持仓多空方向类型
// typedef char TThostFtdcPosiDirectionType;
{'1', "_Net" },
{'2', "_Long" },
{'3', "_Short" },
};
std::map<TThostFtdcOffsetFlagType, std::string> OFFSET_FLAG_MAP = {
///TFtdcOffsetFlagType是一个开平标志类型
// typedef char TThostFtdcOffsetFlagType;
{'0', "_Open" }, // 开仓
{'1', "_Close" }, // 平仓
{'2', "_ForceClose" }, // 强平
{'3', "_CloseToday" }, // 平今
{'4', "_CloseYesterday" }, // 平昨
{'5', "_ForceOff" }, // 强减
{'6', "_LocalForceClose" }, // 本地强平
};
std::map<TThostFtdcDirectionType, std::string> DIRECTION_MAP = {
///TFtdcDirectionType是一个买卖方向类型
// typedef char TThostFtdcDirectionType;
{ '0', "_Buy" },
{ '1', "_Sell" },
};
std::map<TThostFtdcOrderStatusType, std::string> ORDER_STATUS_MAP = {
///TFtdcOrderStatusType是一个报单状态类型
// typedef TThostFtdcOrderStatusType char
{ '0', "_AllTraded" }, // 全部成交
{ '1', "_PartTradedQueueing" }, // 部分成交还在队列中
{ '2', "_PartTradedNotQueueing" }, // 部分成交不在队列中
{ '3', "_NoTradeQueueing" }, // 未成交还在队列中
{ '4', "_NoTradeNotQueueing" }, // 未成交不在队列中
{ '5', "_Canceled" }, // 撤单
{ 'a', "_Unknown" }, // 未知
{ 'b', "_NotTouched" }, // 尚未触发
{ 'c', "_Touched" }, // 已触发
};
std::map<TThostFtdcOrderSubmitStatusType, std::string> ORDER_SUBMIT_STATUS_MAP = {
///TFtdcOrderSubmitStatusType是一个报单提交状态类型
// typedef char TThostFtdcOrderSubmitStatusType;
{ '0', "_InsertSubmitted" }, // 已经提交
{ '1', "_CancelSubmitted" }, // 撤单已经提交
{ '2', "_ModifySubmitted" }, // 修改已经提交
{ '3', "_Accepted" }, // 已经接受
{ '4', "_InsertRejected" }, // 报单已经被拒绝
{ '5', "_CancelRejected" }, // 撤单已经被拒绝
{ '6', "_ModifyRejected" }, // 改单已经被拒绝
};
std::map<int, std::string> REQ_ERROR_MAP = {
{ 0, "成功" },
{ -1, "网络连接失败" },
{ -2, "未处理请求超过许可数" },
{ -3, "每秒发送请求数超过许可数" },
};
std::map<int, std::string> RSP_ERROR_MAP = {
// error.xml
{ 0, "CTP:正确" },
{ 1, "CTP:不在已同步状态" },
{ 2, "CTP:会话信息不一致" },
{ 3, "CTP:不合法的登录" },
{ 4, "CTP:用户不活跃" },
{ 5, "CTP:重复的登录" },
{ 6, "CTP:还没有登录" },
{ 7, "CTP:还没有初始化" },
{ 8, "CTP:前置不活跃" },
{ 9, "CTP:无此权限" },
{ 10, "CTP:修改别人的口令" },
{ 11, "CTP:找不到该用户" },
{ 12, "CTP:找不到该经纪公司" },
{ 13, "CTP:找不到投资者" },
{ 14, "CTP:原口令不匹配" },
{ 15, "CTP:报单字段有误" },
{ 16, "CTP:找不到合约" },
{ 17, "CTP:合约不能交易" },
{ 18, "CTP:经纪公司不是交易所的会员" },
{ 19, "CTP:投资者不活跃" },
{ 20, "CTP:投资者未在交易所开户" },
{ 21, "CTP:该交易席位未连接到交易所" },
{ 22, "CTP:报单错误:不允许重复报单" },
{ 23, "CTP:错误的报单操作字段" },
{ 24, "CTP:撤单已报送,不允许重复撤单" },
{ 25, "CTP:撤单找不到相应报单" },
{ 26, "CTP:报单已全成交或已撤销,不能再撤" },
{ 27, "CTP:不支持的功能" },
{ 28, "CTP:没有报单交易权限" },
{ 29, "CTP:只能平仓" },
{ 30, "CTP:平仓量超过持仓量" },
{ 31, "CTP:资金不足" },
{ 32, "CTP:主键重复" },
{ 33, "CTP:找不到主键" },
{ 34, "CTP:设置经纪公司不活跃状态失败" },
{ 35, "CTP:经纪公司正在同步" },
{ 36, "CTP:经纪公司已同步" },
{ 37, "CTP:现货交易不能卖空" },
{ 38, "CTP:不合法的结算引用" },
{ 39, "CTP:交易所网络连接失败" },
{ 40, "CTP:交易所未处理请求超过许可数" },
{ 41, "CTP:交易所每秒发送请求数超过许可数" },
{ 42, "CTP:结算结果未确认" },
{ 43, "CTP:没有对应的入金记录" },
{ 44, "CTP:交易所已经进入连续交易状态" },
{ 45, "CTP:找不到预埋(撤单)单" },
{ 46, "CTP:预埋(撤单)单已经发送" },
{ 47, "CTP:预埋(撤单)单已经删除" },
{ 48, "CTP:无效的投资者或者密码" },
{ 49, "CTP:不合法的登录IP地址" },
{ 50, "CTP:平今仓位不足" },
{ 51, "CTP:平昨仓位不足" },
{ 52, "CTP:经纪公司没有足够可用的条件单数量" },
{ 53, "CTP:投资者没有足够可用的条件单数量" },
{ 54, "CTP:经纪公司不支持条件单" },
{ 55, "CTP:重发未知单经纪公司/投资者不匹配" },
{ 56, "CTP:同步动态令牌失败" },
{ 57, "CTP:动态令牌校验错误" },
{ 58, "CTP:找不到动态令牌配置信息" },
{ 59, "CTP:不支持的动态令牌类型" },
{ 60, "CTP:用户在线会话超出上限" },
{ 61, "CTP:该交易所不支持套利/做市商类型报单" },
{ 62, "CTP:没有条件单交易权限" },
{ 63, "CTP:客户端认证失败" },
{ 65, "CTP:该合约不支持互换类型报单" },
{ 64, "CTP:客户端未认证" },
{ 66, "CTP:该期权合约只支持投机类型报单" },
{ 67, "CTP:执行宣告错误,不允许重复执行" },
{ 68, "CTP:重发未知执行宣告经纪公司/投资者不匹配" },
{ 69, "CTP:只有期权合约可执行" },
{ 70, "CTP:该期权合约不支持执行" },
{ 71, "CTP:执行宣告字段有误" },
{ 72, "CTP:执行宣告撤单已报送,不允许重复撤单" },
{ 73, "CTP:执行宣告撤单找不到相应执行宣告" },
{ 74, "CTP:执行仓位不足" },
{ 75, "CTP:连续登录失败次数超限,登录被禁止" },
{ 76, "CTP:非法银期代理关系" },
{ 77, "CTP:无此功能" },
{ 78, "CTP:发送报单失败" },
{ 79, "CTP:发送报单操作失败" },
{ 80, "CTP:交易所不支持的价格类型" },
{ 81, "CTP:错误的执行类型" },
{ 82, "CTP:无效的组合合约" },
{ 83, "CTP:该合约不支持询价" },
{ 84, "CTP:重发未知报价经纪公司/投资者不匹配" },
{ 85, "CTP:该合约不支持报价" },
{ 86, "CTP:报价撤单找不到相应报价" },
{ 87, "CTP:该期权合约不支持放弃执行" },
{ 88, "CTP:该组合期权合约只支持IOC" },
{ 89, "CTP:打开文件失败" },
{ 90, "CTP:查询未就绪,请稍后重试" },
{ 91, "CTP:交易所返回的错误" },
{ 92, "CTP:报价衍生单要等待交易所返回才能撤单" },
{ 93, "CTP:找不到组合合约映射" },
{ 94, "CTP:不允许撤销OTC衍生报单" },
{ 101, "CTP:用户在本系统没有报单权限" },
{ 102, "CTP:系统缺少灾备标示号" },
{ 103, "CTP:该交易所不支持批量撤单" },
{ 106, "CTP:投资者限仓" },
{ 113, "CTP:当前时间禁止询价" },
{ 114, "CTP:当前价差禁止询价" },
{ 116, "CTP:下单频率限制" },
{ 131, "CTP:您当前密码为弱密码,请修改成强密码后重新登录" },
{ 139, "CTP:当前时间禁止行权" },
{ 140, "CTP:首次登录必须修改密码,请修改密码后重新登录" },
{ 141, "CTP:您当前密码已过期,请修改后登录" },
{ 142, "CTP:修改密码失败。新密码不允许与旧密码相同" },
{ 143, "CTP:您登录失败次数过多,IP被禁止登入CTP" },
{ 144, "CTP:您当前IP在黑名单中,被禁止登入CTP" },
{ 1000, "CTP:银期转账:发送机构代码错误" },
{ 1001, "CTP:银期转账:取平台流水号错误" },
{ 1002, "CTP:银期转账:不合法的转账银行" },
{ 1003, "CTP:银期转账:已经开户" },
{ 1004, "CTP:银期转账:未开户" },
{ 1005, "CTP:银期转账:处理中" },
{ 1006, "CTP:银期转账:交易超时" },
{ 1007, "CTP:银期转账:找不到记录" },
{ 1008, "CTP:银期转账:找不到被冲正的原始交易" },
{ 1009, "CTP:银期转账:连接主机失败" },
{ 1010, "CTP:银期转账:发送失败" },
{ 1011, "CTP:银期转账:迟到应答" },
{ 1012, "CTP:银期转账:冲正交易银行代码错误" },
{ 1013, "CTP:银期转账:冲正交易银行账户错误" },
{ 1014, "CTP:银期转账:冲正交易经纪公司代码错误" },
{ 1015, "CTP:银期转账:冲正交易资金账户错误" },
{ 1016, "CTP:银期转账:冲正交易交易金额错误" },
{ 1017, "CTP:银期转账:数据库操作错误" },
{ 1018, "CTP:银期转账:发送到交易系统失败" },
{ 1019, "CTP:银期转账:没有签到" },
{ 1020, "CTP:银期转账:已经签到" },
{ 1021, "CTP:银期转账:金额或次数超限" },
{ 1022, "CTP:银期转账:这一时间段不能转账" },
{ 1023, "银行主机错" },
{ 1024, "CTP:银期转账:银行已经冲正" },
{ 1025, "CTP:银期转账:银行流水不存在" },
{ 1026, "CTP:银期转账:机构没有签约" },
{ 1027, "CTP:银期转账:存在转账,不能销户" },
{ 1028, "CTP:银期转账:银行不支持冲正" },
{ 1029, "CTP:银期转账:重复的银行流水" },
{ 1030, "CTP:银期转账:转账系统忙,稍后再试" },
{ 1031, "CTP:银期转账:MAC密钥正在同步" },
{ 1032, "CTP:银期转账:资金账户已经登记" },
{ 1033, "CTP:银期转账:银行账户已经登记" },
{ 1034, "CTP:银期转账:重复的银行流水,重发成功" },
{ 1035, "CTP:银期转账:该币种代码不支持" },
{ 1036, "CTP:银期转账:MAC值验证失败" },
{ 1037, "CTP:银期转账:不支持银行端发起的二级代理商转账和查询" },
{ 1038, "CTP:银期转账:PIN密钥正在同步" },
{ 1039, "CTP:银期转账:建行发起的二级代理商查询" },
{ 1040, "CTP:银期转账:银行账户不能为空" },
{ 1041, "CTP:银期转账:资金账户存在,预约开户失败" },
{ 1042, "CTP:银期转账:开户请求的银行卡号和预留的账号不同" },
{ 1043, "银行系统内部错误" },
{ 2000, "CTP:该报盘未连接到银行" },
{ 2001, "CTP:资金密码错误" },
{ 2004, "CTP:银行流水号重复" },
{ 2005, "CTP:报盘流水号重复" },
{ 2006, "CTP:被冲正流水不存在(冲正交易)" },
{ 2007, "CTP:原流水已冲正(冲正交易)" },
{ 2008, "CTP:与原流水信息不符(冲正交易)" },
{ 2009, "CTP:证件号码或类型错误" },
{ 2011, "CTP:资金账户不存在" },
{ 2012, "CTP:资金账户已经销户" },
{ 2013, "CTP:该交易不能执行手工冲正" },
{ 2014, "CTP:转帐金额错误" },
{ 2015, "CTP:找不到汇率" },
{ 2016, "CTP:找不到预约开户请求" },
{ 2017, "CTP:重复的预约开户请求" },
{ 999999, "CTP:等待银期报盘处理结果" },
{ 3001, "CTP:银期换汇:取平台流水号错误" },
{ 3002, "CTP:银期换汇:不合法的转账银行" },
{ 3005, "CTP:银期换汇:处理中" },
{ 3006, "CTP:银期换汇:交易超时" },
{ 3007, "CTP:银期换汇:找不到记录" },
{ 3009, "CTP:银期换汇:连接主机失败" },
{ 3010, "CTP:银期换汇:发送失败" },
{ 3011, "CTP:银期换汇:迟到应答" },
{ 3017, "CTP:银期换汇:数据库操作错误" },
{ 3019, "CTP:银期换汇:没有签到" },
{ 3020, "CTP:银期换汇:已经签到" },
{ 3021, "CTP:银期换汇:金额或次数超限" },
{ 3022, "CTP:银期换汇:这一时间段不能换汇" },
{ 3023, "CTP:银期换汇:银行主机错" },
{ 3026, "CTP:银期换汇:机构没有签约" },
{ 3030, "CTP:银期换汇:换汇系统忙,稍后再试" },
{ 3035, "CTP:银期换汇:该币种代码不支持" },
{ 3036, "CTP:银期换汇:银行帐号不正确" },
{ 3037, "CTP:银期换汇:银行帐户余额不足" },
{ 3038, "CTP:银期换汇:凭证号重复" },
{ 3039, "CTP: 不支持该API版本" },
{ 3040, "CTP: 无效的API KEY" },
{ 3041, "CTP:期权对冲,履约对冲:非期权合约" },
{ 3042, "CTP:期权对冲,履约对冲:请求引用不合法" },
{ 3043, "CTP:期权对冲,履约对冲:非法字段 " },
{ 3044, "CTP:期权对冲,履约对冲:撤销未找到记录" },
{ 3045, "CTP:期权对冲,履约对冲:对冲状态不对,不能撤销" },
{ 3046, "CTP:期权对冲,履约对冲:不能重复设置,只能先撤销再设置" },
{ 3047, "CTP:报价不支持改投机套保类型"},
};