gitee.com/haifengat/gotap_dipper@v0.0.4-0.20231212021028-041a6fa876e5/trade/datatype.go (about) 1 package trade 2 3 import ( 4 "encoding/binary" 5 "fmt" 6 "math" 7 "strings" 8 ) 9 import "C" 10 11 // 长度为10的字符串 12 type TAPISTR_10 [11]byte 13 14 func (e TAPISTR_10) String() string { 15 return toGBK(e[:]) 16 } 17 18 // 长度为20的字符串 19 type TAPISTR_20 [21]byte 20 21 func (e TAPISTR_20) String() string { 22 return toGBK(e[:]) 23 } 24 25 // 长度为30的字符串 26 type TAPISTR_30 [31]byte 27 28 func (e TAPISTR_30) String() string { 29 return toGBK(e[:]) 30 } 31 32 // 长度为40的字符串 33 type TAPISTR_40 [41]byte 34 35 func (e TAPISTR_40) String() string { 36 return toGBK(e[:]) 37 } 38 39 // 长度为50的字符串 40 type TAPISTR_50 [51]byte 41 42 func (e TAPISTR_50) String() string { 43 return toGBK(e[:]) 44 } 45 46 // 长度为70的字符串 47 type TAPISTR_70 [71]byte 48 49 func (e TAPISTR_70) String() string { 50 return toGBK(e[:]) 51 } 52 53 // 长度为100的字符串 54 type TAPISTR_100 [101]byte 55 56 func (e TAPISTR_100) String() string { 57 return toGBK(e[:]) 58 } 59 60 type TapAPIContactContentType [201]byte 61 62 func (e TapAPIContactContentType) String() string { 63 return toGBK(e[:]) 64 } 65 66 // 长度为300的字符串 67 type TAPISTR_300 [301]byte 68 69 func (e TAPISTR_300) String() string { 70 return toGBK(e[:]) 71 } 72 73 // 长度为500的字符串 74 type TAPISTR_500 [501]byte 75 76 func (e TAPISTR_500) String() string { 77 return toGBK(e[:]) 78 } 79 80 // 长度为2000的字符串 81 type TAPISTR_2000 [2001]byte 82 83 func (e TAPISTR_2000) String() string { 84 return toGBK(e[:]) 85 } 86 87 // Authorization Code 88 type TAPIAUTHCODE [513]byte 89 90 func (e TAPIAUTHCODE) String() string { 91 return toGBK(e[:]) 92 } 93 94 // MAC地址类型. 95 type TAPIMACTYPE [13]byte 96 97 func (e TAPIMACTYPE) String() string { 98 return toGBK(e[:]) 99 } 100 101 // 二次认证序号 102 type TAPISecondSerialIDType [5]byte 103 104 func (e TAPISecondSerialIDType) String() string { 105 return toGBK(e[:]) 106 } 107 108 // 单字符定义,可用于定义其他类型 109 type TAPICHAR byte 110 111 // 子账户类型 112 type TAPIClientIDType [16]byte 113 114 func (e TAPIClientIDType) String() string { 115 return toGBK(e[:]) 116 } 117 118 // 下单人地址 119 type TAPIClientLocationIDType [6]byte 120 121 func (e TAPIClientLocationIDType) String() string { 122 return toGBK(e[:]) 123 } 124 125 // int 32 126 type TAPIINT32 [4]byte // int32 127 128 func (u TAPIINT32) String() string { 129 return fmt.Sprintf("%d", u.Int32()) 130 } 131 func (u TAPIINT32) Int32() int32 { 132 return int32(binary.LittleEndian.Uint32(u[:])) 133 } 134 func FromCint32(value C.int) TAPIINT32 { 135 var u TAPIINT32 136 binary.LittleEndian.PutUint32(u[:], uint32(value)) 137 return u 138 } 139 func FromInt32(value int32) TAPIINT32 { 140 var u TAPIINT32 141 binary.LittleEndian.PutUint32(u[:], uint32(value)) 142 return u 143 } 144 145 // unsigned 32 146 type TAPIUINT32 [4]byte // uint32 147 148 func (u TAPIUINT32) String() string { 149 return fmt.Sprintf("%d", u.Uint32()) 150 } 151 func (u TAPIUINT32) Uint32() uint32 { 152 return binary.LittleEndian.Uint32(u[:]) 153 } 154 155 // 会生成新的 u, 原来的 u 仍是 \x00 156 // 157 // func (u TAPIUINT32) FromUint32(value uint32) { 158 // bs := make([]byte, 4) 159 // binary.LittleEndian.PutUint32(bs, value) 160 // copy(u[:], bs) 161 // } 162 func FromCuint32(value C.uint) TAPIUINT32 { 163 var u TAPIUINT32 164 binary.LittleEndian.PutUint32(u[:], uint32(value)) 165 return u 166 } 167 func FromUint32(value uint32) TAPIUINT32 { 168 var u TAPIUINT32 169 binary.LittleEndian.PutUint32(u[:], value) 170 return u 171 } 172 173 // int 64 174 type TAPIINT64 int64 175 176 // unsigned 64 177 type long uint64 178 179 // unsigned 16 180 type TAPIUINT16 uint16 181 182 // unsigned 8 183 type TAPIUINT8 uint8 184 185 // real 64 186 type TAPIREAL64 [8]byte //float64 187 188 func (f TAPIREAL64) String() string { 189 return fmt.Sprintf("%f", f.Float64()) 190 } 191 func (f TAPIREAL64) Float64() float64 { 192 bits := binary.LittleEndian.Uint64(f[:]) 193 return math.Float64frombits(bits) 194 } 195 func FromFloat64(value float64) TAPIREAL64 { 196 var bs TAPIREAL64 197 binary.LittleEndian.PutUint64(bs[:], math.Float64bits(value)) 198 return bs 199 } 200 201 // 是否标示 202 type TAPIYNFLAG TAPICHAR 203 204 const APIYNFLAG_YES TAPIYNFLAG = 'Y' // 是 205 const APIYNFLAG_NO TAPIYNFLAG = 'N' // 否 206 var mpTAPIYNFLAG = map[TAPIYNFLAG]string{APIYNFLAG_YES: "Y", APIYNFLAG_NO: "N"} 207 208 func (e TAPIYNFLAG) String() string { 209 if s, ok := mpTAPIYNFLAG[e]; ok { 210 return s[strings.LastIndex(s, "_")+1:] 211 } 212 return string(e) + "值未定义" 213 } 214 215 // 密码类型 216 type TAPIPasswordType TAPICHAR 217 218 const APIPASSWORD_TRADE TAPIPasswordType = 'T' // 交易密码 219 const APIPASSWORD_PHONE TAPIPasswordType = 'P' // 电话密码 220 221 // 时间戳类型(格式 yyyy-MM-dd hh:nn:ss.xxx) 222 type TAPIDTSTAMP [24]byte 223 224 func (e TAPIDTSTAMP) String() string { 225 return toGBK(e[:]) 226 } 227 228 // 日期和时间类型(格式 yyyy-MM-dd hh:nn:ss) 229 type TAPIDATETIME [20]byte 230 231 func (e TAPIDATETIME) String() string { 232 return toGBK(e[:]) 233 } 234 235 // 日期类型(格式 yyyy-MM-dd) 236 type TAPIDATE [11]byte 237 238 func (e TAPIDATE) String() string { 239 return toGBK(e[:]) 240 } 241 242 // 时间类型(格式 hh:nn:ss) 243 type TAPITIME [9]byte 244 245 func (e TAPITIME) String() string { 246 return toGBK(e[:]) 247 } 248 249 // 日志级别 250 type TAPILOGLEVEL TAPICHAR 251 252 const APILOGLEVEL_NONE TAPILOGLEVEL = 'N' // Normal 253 const APILOGLEVEL_ERROR TAPILOGLEVEL = 'E' // Error 254 const APILOGLEVEL_WARNING TAPILOGLEVEL = 'W' // Warning 255 const APILOGLEVEL_DEBUG TAPILOGLEVEL = 'D' // Debug 256 257 // ============================================================================= 258 type TAPIOptionType TAPICHAR 259 260 // 品种类型 261 type TAPICommodityType TAPICHAR 262 263 const TAPI_COMMODITY_TYPE_NONE TAPICommodityType = 'N' // 无 264 const TAPI_COMMODITY_TYPE_FUTURES TAPICommodityType = 'F' // 期货 265 const TAPI_COMMODITY_TYPE_OPTION TAPICommodityType = 'O' // 期权 266 const TAPI_COMMODITY_TYPE_SPREAD_MONTH TAPICommodityType = 'S' // 跨期套利 267 const TAPI_COMMODITY_TYPE_SPREAD_COMMODITY TAPICommodityType = 'M' // 跨品种套利 268 const TAPI_COMMODITY_TYPE_BUL TAPICommodityType = 'U' // 看涨垂直套利 269 const TAPI_COMMODITY_TYPE_BER TAPICommodityType = 'E' // 看跌垂直套利 270 const TAPI_COMMODITY_TYPE_STD TAPICommodityType = 'D' // 跨式套利 271 const TAPI_COMMODITY_TYPE_STG TAPICommodityType = 'G' // 宽跨式套利 272 const TAPI_COMMODITY_TYPE_PRT TAPICommodityType = 'R' // 备兑组合 273 const TAPI_COMMODITY_TYPE_DIRECTFOREX TAPICommodityType = 'X' // 外汇——直接汇率 274 const TAPI_COMMODITY_TYPE_INDIRECTFOREX TAPICommodityType = 'I' // 外汇——间接汇率 275 const TAPI_COMMODITY_TYPE_CROSSFOREX TAPICommodityType = 'C' // 外汇——交叉汇率 276 const TAPI_COMMODITY_TYPE_INDEX TAPICommodityType = 'Z' // 指数 277 const TAPI_COMMODITY_TYPE_STOCK TAPICommodityType = 'T' // 股票/基金 278 const TAPI_COMMODITY_TYPE_TAS TAPICommodityType = 'B' // TAS 279 const TAPI_COMMODITY_TYPE_DERIVATIVE TAPICommodityType = '0' // 港股--窝轮 280 const TAPI_COMMODITY_TYPE_BULLBEAR TAPICommodityType = '1' // 港股--牛熊证 281 const TAPI_COMMODITY_TYPE_INLINE TAPICommodityType = '2' // 港股--界内证 282 const TAPI_COMMODITY_TYPE_DBET TAPICommodityType = '3' // 港股--债券 283 const TAPI_COMMODITY_TYPE_FUND TAPICommodityType = '4' // 港股--基金 284 285 // 看涨看跌标示 286 type TAPICallOrPutFlagType TAPICHAR 287 288 const TAPI_CALLPUT_FLAG_CALL TAPICallOrPutFlagType = 'C' // 买权 289 const TAPI_CALLPUT_FLAG_PUT TAPICallOrPutFlagType = 'P' // 卖权 290 const TAPI_CALLPUT_FLAG_NONE TAPICallOrPutFlagType = 'N' // 无 291 292 // 账号类型 293 type TAPIAccountType TAPICHAR 294 295 const TAPI_ACCOUNT_TYPE_PERSON TAPIAccountType = 'P' // 个人客户 296 const TAPI_ACCOUNT_TYPE_ORGANIZATION TAPIAccountType = 'O' // 机构客户 297 const TAPI_ACCOUNT_TYPE_AGENT TAPIAccountType = 'A' // 代理人 298 const TAPI_ACCOUNT_TYPE_HOUSE TAPIAccountType = 'H' // Internal 299 const TAPI_ACCOUNT_TYPE_STOCK TAPIAccountType = 'S' // 股票账户 300 301 // 权限编码类型 302 type TAPIRightIDType TAPIINT32 303 304 func (u TAPIRightIDType) String() string { 305 return fmt.Sprintf("%d", u.Int32()) 306 } 307 func (u TAPIRightIDType) Int32() int32 { 308 return int32(binary.LittleEndian.Uint32(u[:])) 309 } 310 311 // 登录用户身份类型 312 type TAPIUserTypeType TAPIINT32 313 314 func (u TAPIUserTypeType) String() string { 315 return fmt.Sprintf("%d", u.Int32()) 316 } 317 func (u TAPIUserTypeType) Int32() int32 { 318 return int32(binary.LittleEndian.Uint32(u[:])) 319 } 320 321 // 账号状态 322 type TAPIAccountState TAPICHAR 323 324 const TAPI_ACCOUNT_STATE_NORMAL TAPIAccountState = 'N' // 正常 325 const TAPI_ACCOUNT_STATE_CANCEL TAPIAccountState = 'C' // 销户 326 const TAPI_ACCOUNT_STATE_SLEEP TAPIAccountState = 'S' // 休眠 327 328 // 客户交易状态类型 329 type TAPIAccountRightType TAPICHAR 330 331 const TAPI_ACCOUNT_TRADING_RIGHT_NORMAL TAPIAccountRightType = '0' // 正常交易 332 const TAPI_ACCOUNT_TRADING_RIGHT_NOTRADE TAPIAccountRightType = '1' // 禁止交易 333 const TAPI_ACCOUNT_TRADING_RIGHT_CLOSE TAPIAccountRightType = '2' // 只可平仓 334 335 // 委托类型 336 type TAPIOrderTypeType TAPICHAR 337 338 const TAPI_ORDER_TYPE_MARKET TAPIOrderTypeType = '1' // 市价 339 const TAPI_ORDER_TYPE_LIMIT TAPIOrderTypeType = '2' // 限价 340 const TAPI_ORDER_TYPE_STOP_MARKET TAPIOrderTypeType = '3' // 市价止损 341 const TAPI_ORDER_TYPE_STOP_LIMIT TAPIOrderTypeType = '4' // 限价止损 342 const TAPI_ORDER_TYPE_OPT_EXEC TAPIOrderTypeType = '5' // 期权行权 343 const TAPI_ORDER_TYPE_OPT_ABANDON TAPIOrderTypeType = '6' // 期权弃权 344 const TAPI_ORDER_TYPE_REQQUOT TAPIOrderTypeType = '7' // 询价 345 const TAPI_ORDER_TYPE_RSPQUOT TAPIOrderTypeType = '8' // 应价 346 const TAPI_ORDER_TYPE_ICEBERG TAPIOrderTypeType = '9' // 冰山单 347 const TAPI_ORDER_TYPE_GHOST TAPIOrderTypeType = 'A' // 影子单 348 const TAPI_ORDER_TYPE_HKEX_AUCTION TAPIOrderTypeType = 'B' // 港交所竞价单 349 const TAPI_ORDER_TYPE_SWAP TAPIOrderTypeType = 'C' // 互换 350 const TAPI_ORDER_TYPE_LOCK TAPIOrderTypeType = 'D' // 证券锁定 351 const TAPI_ORDER_TYPE_UNLOCK TAPIOrderTypeType = 'E' // 证券解锁 352 const TAPI_ORDER_TYPE_ENHANCE TAPIOrderTypeType = 'F' // 增强限价单 353 const TAPI_ORDER_TYPE_SPECIAL TAPIOrderTypeType = 'G' // 特别限价单 354 const TAPI_ORDER_TYPE_LIMITAUCTION TAPIOrderTypeType = 'H' // 竞价限价单 355 356 // 委托来源 357 type TAPIOrderSourceType TAPICHAR 358 359 const TAPI_ORDER_SOURCE_SELF_ETRADER TAPIOrderSourceType = '1' // 自助电子单 360 const TAPI_ORDER_SOURCE_PROXY_ETRADER TAPIOrderSourceType = '2' // 代理电子单 361 const TAPI_ORDER_SOURCE_JTRADER TAPIOrderSourceType = '3' // 外部电子单(外部电子系统下单,本系统录入) 362 const TAPI_ORDER_SOURCE_MANUAL TAPIOrderSourceType = '4' // 人工录入单(外部其他方式下单,本系统录入) 363 const TAPI_ORDER_SOURCE_CARRY TAPIOrderSourceType = '5' // carry单 364 const TAPI_ORDER_SOURCE_PROGRAM TAPIOrderSourceType = '6' // 程式化报单 365 const TAPI_ORDER_SOURCE_DELIVERY TAPIOrderSourceType = '7' // 交割行权 366 const TAPI_ORDER_SOURCE_ABANDON TAPIOrderSourceType = '8' // 期权放弃 367 const TAPI_ORDER_SOURCE_CHANNEL TAPIOrderSourceType = '9' // 通道费 368 const TAPI_ORDER_SOURCE_TEMPORARY TAPIOrderSourceType = 'J' // 临时成交 369 const TAPI_ORDER_SOURCE_PROGRAMMANUAL TAPIOrderSourceType = 'K' // 程序化手工单 370 371 // 委托有效类型 372 type TAPITimeInForceType TAPICHAR 373 374 const TAPI_ORDER_TIMEINFORCE_GFD TAPITimeInForceType = '0' // 当日有效 375 const TAPI_ORDER_TIMEINFORCE_GTC TAPITimeInForceType = '1' // 取消前有效 376 const TAPI_ORDER_TIMEINFORCE_GTD TAPITimeInForceType = '2' // 指定日期前有效 377 const TAPI_ORDER_TIMEINFORCE_FAK TAPITimeInForceType = '3' // FAK或IOC 378 const TAPI_ORDER_TIMEINFORCE_FOK TAPITimeInForceType = '4' // FOK 379 380 // 买卖类型 381 type TAPISideType TAPICHAR 382 383 const TAPI_SIDE_NONE TAPISideType = 'N' // 无 384 const TAPI_SIDE_BUY TAPISideType = 'B' // 买入 385 const TAPI_SIDE_SELL TAPISideType = 'S' // 卖出 386 387 // 开平类型 388 type TAPIPositionEffectType TAPICHAR 389 390 const TAPI_PositionEffect_NONE TAPIPositionEffectType = 'N' // 不分开平 391 const TAPI_PositionEffect_OPEN TAPIPositionEffectType = 'O' // 开仓 392 const TAPI_PositionEffect_COVER TAPIPositionEffectType = 'C' // 平仓 393 const TAPI_PositionEffect_COVER_TODAY TAPIPositionEffectType = 'T' // 平当日 394 395 // 投机保值类型 396 type TAPIHedgeFlagType TAPICHAR 397 398 const TAPI_HEDGEFLAG_NONE TAPIHedgeFlagType = 'N' // 无 399 const TAPI_HEDGEFLAG_T TAPIHedgeFlagType = 'T' // 投机 400 const TAPI_HEDGEFLAG_B TAPIHedgeFlagType = 'B' // 保值 401 const TAPI_HEDGEFLAG_R TAPIHedgeFlagType = 'R' // 备兑 402 403 // !未结束的委托类型:01234578D 404 type TAPIOrderStateType TAPICHAR 405 406 const TAPI_ORDER_STATE_SUBMIT TAPIOrderStateType = '0' // 终端提交 407 const TAPI_ORDER_STATE_ACCEPT TAPIOrderStateType = '1' // 已受理 408 const TAPI_ORDER_STATE_TRIGGERING TAPIOrderStateType = '2' // 策略待触发 409 const TAPI_ORDER_STATE_EXCTRIGGERING TAPIOrderStateType = '3' // 交易所待触发 410 const TAPI_ORDER_STATE_QUEUED TAPIOrderStateType = '4' // 已排队 411 const TAPI_ORDER_STATE_PARTFINISHED TAPIOrderStateType = '5' // 部分成交 412 const TAPI_ORDER_STATE_FINISHED TAPIOrderStateType = '6' // 完全成交 413 const TAPI_ORDER_STATE_CANCELING TAPIOrderStateType = '7' // 待撤消(排队临时状态) 414 const TAPI_ORDER_STATE_MODIFYING TAPIOrderStateType = '8' // 待修改(排队临时状态) 415 const TAPI_ORDER_STATE_CANCELED TAPIOrderStateType = '9' // 完全撤单 416 const TAPI_ORDER_STATE_LEFTDELETED TAPIOrderStateType = 'A' // 已撤余单 417 const TAPI_ORDER_STATE_FAIL TAPIOrderStateType = 'B' // 指令失败 418 const TAPI_ORDER_STATE_DELETED TAPIOrderStateType = 'C' // 策略删除 419 const TAPI_ORDER_STATE_SUPPENDED TAPIOrderStateType = 'D' // 已挂起 420 const TAPI_ORDER_STATE_DELETEDFOREXPIRE TAPIOrderStateType = 'E' // 到期删除 421 const TAPI_ORDER_STATE_EFFECT TAPIOrderStateType = 'F' // 已生效——询价成功 422 const TAPI_ORDER_STATE_APPLY TAPIOrderStateType = 'G' // 已申请——行权、弃权、套利等申请成功 423 424 // 计算方式 425 type TAPICalculateModeType TAPICHAR 426 427 const TAPI_CALCULATE_MODE_PERCENTAGE TAPICalculateModeType = '1' // 比例 428 const TAPI_CALCULATE_MODE_QUOTA TAPICalculateModeType = '2' // 定额 429 const TAPI_CALCULATE_MODE_CHAPERCENTAGE TAPICalculateModeType = '3' // 差值比例 430 const TAPI_CALCULATE_MODE_CHAQUOTA TAPICalculateModeType = '4' // 差值定额 431 const TAPI_CALCULATE_MODE_DISCOUNT TAPICalculateModeType = '5' // 折扣 432 433 // 成交来源 434 type TAPIMatchSourceType TAPICHAR 435 436 const TAPI_MATCH_SOURCE_ALL TAPIMatchSourceType = '0' // 全部 437 const TAPI_MATCH_SOURCE_SELF_ETRADER TAPIMatchSourceType = '1' // 自助电子单 438 const TAPI_MATCH_SOURCE_PROXY_ETRADER TAPIMatchSourceType = '2' // 代理电子单 439 const TAPI_MATCH_SOURCE_JTRADER TAPIMatchSourceType = '3' // 外部电子单 440 const TAPI_MATCH_SOURCE_MANUAL TAPIMatchSourceType = '4' // 人工录入单 441 const TAPI_MATCH_SOURCE_CARRY TAPIMatchSourceType = '5' // carry单 442 const TAPI_MATCH_SOURCE_PROGRAM TAPIMatchSourceType = '6' // 程式化单 443 const TAPI_MATCH_SOURCE_DELIVERY TAPIMatchSourceType = '7' // 交割行权 444 const TAPI_MATCH_SOURCE_ABANDON TAPIMatchSourceType = '8' // 期权放弃 445 const TAPI_MATCH_SOURCE_CHANNEL TAPIMatchSourceType = '9' // 通道费 446 const TAPI_MATCH_SOURCE_TEMPORARY TAPIMatchSourceType = 'J' // 临时成交 447 const TAPI_MATCH_SOURCE_PROGRAMMANUAL TAPIMatchSourceType = 'K' // 程序化手工单 448 449 // 开平方式 450 type TAPIOpenCloseModeType TAPICHAR 451 452 const TAPI_CLOSE_MODE_NONE TAPIOpenCloseModeType = 'N' // 不区分开平 453 const TAPI_CLOSE_MODE_UNFINISHED TAPIOpenCloseModeType = 'U' // 平仓未了结 454 const TAPI_CLOSE_MODE_OPENCOVER TAPIOpenCloseModeType = 'C' // 区分开仓和平仓 455 const TAPI_CLOSE_MODE_CLOSETODAY TAPIOpenCloseModeType = 'T' // 区分开仓、平仓和平今 456 457 // 币种组资金是否共享 458 type TAPIFutureAlgType TAPICHAR 459 460 const TAPI_FUTURES_ALG_ZHUBI TAPIFutureAlgType = 'Y' // 独立 461 const TAPI_FUTURES_ALG_DINGSHI TAPIFutureAlgType = 'N' // 不独立 462 463 // 是否是基币 464 type TAPIOptionAlgType TAPICHAR 465 466 const TAPI_OPTION_ALG_FUTURES TAPIOptionAlgType = '1' // 是基币 467 const TAPI_OPTION_ALG_OPTION TAPIOptionAlgType = '2' // 不是基币 468 469 // 本外币标识 470 type TAPIBankAccountLWFlagType TAPICHAR 471 472 const TAPI_LWFlag_L TAPIBankAccountLWFlagType = 'L' // 境内人民币账户 473 const TAPI_LWFlag_W TAPIBankAccountLWFlagType = 'W' // 客户境内外币账户 474 475 // 资金调整类型 476 type TAPICashAdjustTypeType TAPICHAR 477 478 const TAPI_CASHINOUT_MODE_FEEADJUST TAPICashAdjustTypeType = '0' // 手续费调整 479 const TAPI_CASHINOUT_MODE_YKADJUST TAPICashAdjustTypeType = '1' // 盈亏调整 480 const TAPI_CASHINOUT_MODE_PLEDGE TAPICashAdjustTypeType = '2' // 质押资金 481 const TAPI_CASHINOUT_MODE_INTERESTREVENUE TAPICashAdjustTypeType = '3' // 利息收入 482 const TAPI_CASHINOUT_MODE_COLLECTIONCOST TAPICashAdjustTypeType = '4' // 代扣费用 483 const TAPI_CASHINOUT_MODE_OTHER TAPICashAdjustTypeType = '5' // 其它 484 const TAPI_CASHINOUT_MODE_COMPANY TAPICashAdjustTypeType = '6' // 公司间拨账 485 486 // 期货保证金方式 487 type TAPIMarginCalculateModeType TAPICHAR 488 489 const TAPI_DEPOSITCALCULATE_MODE_FEN TAPIMarginCalculateModeType = '1' // 分笔 490 const TAPI_DEPOSITCALCULATE_MODE_SUO TAPIMarginCalculateModeType = '2' // 锁仓 491 492 // 期权保证金公式,据此判断该品种期权采用何种内置计算公式计算保证金 493 type TAPIOptionMarginCalculateModeType TAPICHAR 494 495 // 组合方向,品种两腿组合合约的买卖方向和第几腿相同 496 type TAPICmbDirectType TAPICHAR 497 498 const TAPI_CMB_DIRECT_FIRST TAPICmbDirectType = '1' // 和第一腿一致 499 const TAPI_CMB_DIRECT_SECOND TAPICmbDirectType = '2' // 和第二腿一致 500 501 // 交割行权方式,期货和期权了结的方式 502 type TAPIDeliveryModeType TAPICHAR 503 504 const TAPI_DELIVERY_MODE_GOODS TAPIDeliveryModeType = 'G' // 实物交割 505 const TAPI_DELIVERY_MODE_CASH TAPIDeliveryModeType = 'C' // 现金交割 506 const TAPI_DELIVERY_MODE_EXECUTE TAPIDeliveryModeType = 'E' // 期权行权 507 const TAPI_DELIVERY_MODE_ABANDON TAPIDeliveryModeType = 'A' // 期权放弃 508 const TAPI_DELIVERY_MODE_HKF TAPIDeliveryModeType = 'H' // 港交所行权 509 510 // 合约类型 511 type TAPIContractTypeType TAPICHAR 512 513 const TAPI_CONTRACT_TYPE_TRADEQUOTE TAPIContractTypeType = '1' // 交易行情合约 514 const TAPI_CONTRACT_TYPE_QUOTE TAPIContractTypeType = '2' // 行情合约 515 516 // 策略单类型 517 type TAPITacticsTypeType TAPICHAR 518 519 const TAPI_TACTICS_TYPE_NONE TAPITacticsTypeType = 'N' // 无 520 const TAPI_TACTICS_TYPE_READY TAPITacticsTypeType = 'M' // 预备单(埋单) 521 const TAPI_TACTICS_TYPE_ATUO TAPITacticsTypeType = 'A' // 自动单 522 const TAPI_TACTICS_TYPE_CONDITION TAPITacticsTypeType = 'C' // 条件单 523 524 // 订单操作类型 525 type TAPIORDERACT TAPICHAR 526 527 const APIORDER_INSERT TAPIORDERACT = '1' // 报单 528 const APIORDER_MODIFY TAPIORDERACT = '2' // 改单 529 const APIORDER_DELETE TAPIORDERACT = '3' // 撤单 530 const APIORDER_SUSPEND TAPIORDERACT = '4' // 挂起 531 const APIORDER_ACTIVATE TAPIORDERACT = '5' // 激活 532 const APIORDER_SYSTEM_DELETE TAPIORDERACT = '6' // 删除 533 534 // 触发条件类型 535 type TAPITriggerConditionType TAPICHAR 536 537 const TAPI_TRIGGER_CONDITION_NONE TAPITriggerConditionType = 'N' // 无 538 const TAPI_TRIGGER_CONDITION_GREAT TAPITriggerConditionType = 'G' // 大于等于 539 const TAPI_TRIGGER_CONDITION_LITTLE TAPITriggerConditionType = 'L' // 小于等于 540 541 // 触发价格类型 542 type TAPITriggerPriceTypeType TAPICHAR 543 544 const TAPI_TRIGGER_PRICE_NONE TAPITriggerPriceTypeType = 'N' // 无 545 const TAPI_TRIGGER_PRICE_BUY TAPITriggerPriceTypeType = 'B' // 买价 546 const TAPI_TRIGGER_PRICE_SELL TAPITriggerPriceTypeType = 'S' // 卖价 547 const TAPI_TRIGGER_PRICE_LAST TAPITriggerPriceTypeType = 'L' // 最新价 548 549 // 交易状态 550 type TAPITradingStateType TAPICHAR 551 552 const TAPI_TRADE_STATE_BID TAPITradingStateType = '1' // 集合竞价 553 const TAPI_TRADE_STATE_MATCH TAPITradingStateType = '2' // 集合竞价撮合 554 const TAPI_TRADE_STATE_CONTINUOUS TAPITradingStateType = '3' // 连续交易 555 const TAPI_TRADE_STATE_PAUSED TAPITradingStateType = '4' // 交易暂停 556 const TAPI_TRADE_STATE_CLOSE TAPITradingStateType = '5' // 闭市 557 const TAPI_TRADE_STATE_DEALLAST TAPITradingStateType = '6' // 闭市处理时间 558 const TAPI_TRADE_STATE_GWDISCONNECT TAPITradingStateType = '0' // 网关未连 559 const TAPI_TRADE_STATE_UNKNOWN TAPITradingStateType = 'N' // 未知状态 560 const TAPI_TRADE_STATE_INITIALIZE TAPITradingStateType = 'I' // 正初始化 561 const TAPI_TRADE_STATE_READY TAPITradingStateType = 'R' // 准备就绪 562 563 // 忽略后台推送通知标记 564 type TAPINoticeIgnoreFlagType TAPIUINT32 565 566 // 委托查询类型 567 type TAPIOrderQryTypeType TAPICHAR 568 569 const TAPI_ORDER_QRY_TYPE_ALL TAPIOrderQryTypeType = 'A' // 返回所有委托 570 const TAPI_ORDER_QRY_TYPE_UNENDED TAPIOrderQryTypeType = 'U' // 只返回未结束的委托 571 572 // 二次认证登录类型 573 type TAPILoginTypeType TAPICHAR 574 575 const TAPI_LOGINTYPE_NORMAL TAPILoginTypeType = 'N' // 正常登录(信任该设备) 576 const TAPI_LOGINTYPE_TEMPORARY TAPILoginTypeType = 'T' // 临时登录 577 578 // 挂起委托请求结构 579 type TapAPIOrderDeactivateReq TapAPIOrderCancelReq 580 581 // 激活委托请求结构 582 type TapAPIOrderActivateReq TapAPIOrderCancelReq 583 584 // 删除委托请求结构 585 type TapAPIOrderDeleteReq TapAPIOrderCancelReq 586 587 // 消息接收者类型 588 type TAPIMsgReceiverType TAPICHAR 589 590 const TAPI_MSG_RECEIVER_ACCOUNTNO TAPIMsgReceiverType = '1' // 单资金账号客户 591 const TAPI_MSG_RECEIVER_ACCOUNTGROUPNO TAPIMsgReceiverType = '2' // 资金账号分组 592 const TAPI_MSG_RECEIVER_ATTRIBUTE TAPIMsgReceiverType = '3' // 符合属性的资金账号 593 const TAPI_MSG_RECEIVER_USERNO TAPIMsgReceiverType = '4' // 指定登录用户 594 595 // 消息级别 596 type TAPIMsgLevelType TAPICHAR 597 598 const TAPI_MSG_LEVEL_NORMAL TAPIMsgLevelType = '1' // 普通 599 const TAPI_MSG_LEVEL_IMPORTANT TAPIMsgLevelType = '2' // 重要 600 const TAPI_MSG_LEVEL_IMERGENCY TAPIMsgLevelType = '3' // 紧急 601 602 // 消息类型 603 type TAPIMsgTypeType TAPICHAR 604 605 const TAPI_Msg_TYPE_MANAGER TAPIMsgTypeType = '1' // 管理 606 const TAPI_Msg_TYPE_RISKCONTROL TAPIMsgTypeType = '2' // 风险 607 608 // 账单类型 609 type TAPIBillTypeType TAPICHAR 610 611 const TAPI_BILL_DATE TAPIBillTypeType = 'D' // 日账单 612 const TAPI_BILL_MONTH TAPIBillTypeType = 'M' // 月账单 613 614 // 帐单文件类型 615 type TAPIBillFileTypeType TAPICHAR 616 617 const TAPI_BILL_FILE_TXT TAPIBillFileTypeType = 'T' // txt格式文件 618 const TAPI_BILL_FILE_PDF TAPIBillFileTypeType = 'F' // pdf格式文件 619 620 // 历史委托流程查询应答数据结构 621 type TapAPIHisOrderProcessQryRsp TapAPIHisOrderQryRsp 622 623 // 结算类型 624 type TAPISettleFlagType TAPICHAR 625 626 const SettleFlag_AutoSettle TAPISettleFlagType = '0' // 自动结算 627 628 // 客户录单成交删除应答结构 629 type TapAPIFillLocalRemoveRsp TapAPIFillLocalRemoveReq 630 631 // 客户现货锁定量查询应答结构 632 type TapAPISpotLockQryRsp TapAPISpotLockQryReq 633 634 // 客户现货锁定量变更通知 635 type TapAPISpotLockDataNotice TapAPISpotLockDataRsp 636 637 // ============================================================================= 638 type TapAPIAbnormalFalgType TAPICHAR 639 640 // ============================================================================= 641 type TapAPICombineStrategyType [10]byte 642 643 // ============================================================================= 644 type TapAPISpecialOrderTypeType TAPICHAR 645 646 // 申购方式 647 type TapAPIApplyTypeType TAPICHAR 648 649 // 申购状态 650 type TapAPIApplyStatusType TAPICHAR 651 652 // 客户IPO增加应答 653 type TapAPIAccountIPOAddRsp TapAPIAccountIPOQryRsp 654 655 // 客户IPO撤销应答 656 type TapAPIAccountIPOCancelRsp TapAPIAccountIPOQryRsp 657 658 // 客户IPO增加通知 659 type TapAPIAccountIPOAddNotice TapAPIAccountIPOQryRsp 660 661 // 客户IPO撤销通知 662 type TapAPIAccountIPOCancelNotice TapAPIAccountIPOQryRsp 663 664 // 证件类型 665 type TapAPICertificateTypeType string