ctp-common 0.9.0

Common types and utilities for CTP (China Financial Futures Exchange) API
Documentation
pub const ERROR_NONE: TThostFtdcErrorIDType = 0;
pub const ERROR_INVALID_DATA_SYNC_STATUS: TThostFtdcErrorIDType = 1;
pub const ERROR_INCONSISTENT_INFORMATION: TThostFtdcErrorIDType = 2;
pub const ERROR_INVALID_LOGIN: TThostFtdcErrorIDType = 3;
pub const ERROR_USER_NOT_ACTIVE: TThostFtdcErrorIDType = 4;
pub const ERROR_DUPLICATE_LOGIN: TThostFtdcErrorIDType = 5;
pub const ERROR_NOT_LOGIN_YET: TThostFtdcErrorIDType = 6;
pub const ERROR_NOT_INITED: TThostFtdcErrorIDType = 7;
pub const ERROR_FRONT_NOT_ACTIVE: TThostFtdcErrorIDType = 8;
pub const ERROR_NO_PRIVILEGE: TThostFtdcErrorIDType = 9;
pub const ERROR_CHANGE_OTHER_PASSWORD: TThostFtdcErrorIDType = 10;
pub const ERROR_USER_NOT_FOUND: TThostFtdcErrorIDType = 11;
pub const ERROR_BROKER_NOT_FOUND: TThostFtdcErrorIDType = 12;
pub const ERROR_INVESTOR_NOT_FOUND: TThostFtdcErrorIDType = 13;
pub const ERROR_OLD_PASSWORD_MISMATCH: TThostFtdcErrorIDType = 14;
pub const ERROR_BAD_FIELD: TThostFtdcErrorIDType = 15;
pub const ERROR_INSTRUMENT_NOT_FOUND: TThostFtdcErrorIDType = 16;
pub const ERROR_INSTRUMENT_NOT_TRADING: TThostFtdcErrorIDType = 17;
pub const ERROR_NOT_EXCHANGE_PARTICIPANT: TThostFtdcErrorIDType = 18;
pub const ERROR_INVESTOR_NOT_ACTIVE: TThostFtdcErrorIDType = 19;
pub const ERROR_NOT_EXCHANGE_CLIENT: TThostFtdcErrorIDType = 20;
pub const ERROR_NO_VALID_TRADER_AVAILABLE: TThostFtdcErrorIDType = 21;
pub const ERROR_DUPLICATE_ORDER_REF: TThostFtdcErrorIDType = 22;
pub const ERROR_BAD_ORDER_ACTION_FIELD: TThostFtdcErrorIDType = 23;
pub const ERROR_DUPLICATE_ORDER_ACTION_REF: TThostFtdcErrorIDType = 24;
pub const ERROR_ORDER_NOT_FOUND: TThostFtdcErrorIDType = 25;
pub const ERROR_INSUITABLE_ORDER_STATUS: TThostFtdcErrorIDType = 26;
pub const ERROR_UNSUPPORTED_FUNCTION: TThostFtdcErrorIDType = 27;
pub const ERROR_NO_TRADING_RIGHT: TThostFtdcErrorIDType = 28;
pub const ERROR_CLOSE_ONLY: TThostFtdcErrorIDType = 29;
pub const ERROR_OVER_CLOSE_POSITION: TThostFtdcErrorIDType = 30;
pub const ERROR_INSUFFICIENT_MONEY: TThostFtdcErrorIDType = 31;
pub const ERROR_DUPLICATE_PK: TThostFtdcErrorIDType = 32;
pub const ERROR_CANNOT_FIND_PK: TThostFtdcErrorIDType = 33;
pub const ERROR_CAN_NOT_INACTIVE_BROKER: TThostFtdcErrorIDType = 34;
pub const ERROR_BROKER_SYNCHRONIZING: TThostFtdcErrorIDType = 35;
pub const ERROR_BROKER_SYNCHRONIZED: TThostFtdcErrorIDType = 36;
pub const ERROR_SHORT_SELL: TThostFtdcErrorIDType = 37;
pub const ERROR_INVALID_SETTLEMENT_REF: TThostFtdcErrorIDType = 38;
pub const ERROR_CFFEX_NETWORK_ERROR: TThostFtdcErrorIDType = 39;
pub const ERROR_CFFEX_OVER_REQUEST: TThostFtdcErrorIDType = 40;
pub const ERROR_CFFEX_OVER_REQUEST_PER_SECOND: TThostFtdcErrorIDType = 41;
pub const ERROR_SETTLEMENT_INFO_NOT_CONFIRMED: TThostFtdcErrorIDType = 42;
pub const ERROR_DEPOSIT_NOT_FOUND: TThostFtdcErrorIDType = 43;
pub const ERROR_EXCHANG_TRADING: TThostFtdcErrorIDType = 44;
pub const ERROR_PARKEDORDER_NOT_FOUND: TThostFtdcErrorIDType = 45;
pub const ERROR_PARKEDORDER_HASSENDED: TThostFtdcErrorIDType = 46;
pub const ERROR_PARKEDORDER_HASDELETE: TThostFtdcErrorIDType = 47;
pub const ERROR_INVALID_INVESTORIDORPASSWORD: TThostFtdcErrorIDType = 48;
pub const ERROR_INVALID_LOGIN_IPADDRESS: TThostFtdcErrorIDType = 49;
pub const ERROR_OVER_CLOSETODAY_POSITION: TThostFtdcErrorIDType = 50;
pub const ERROR_OVER_CLOSEYESTERDAY_POSITION: TThostFtdcErrorIDType = 51;
pub const ERROR_BROKER_NOT_ENOUGH_CONDORDER: TThostFtdcErrorIDType = 52;
pub const ERROR_INVESTOR_NOT_ENOUGH_CONDORDER: TThostFtdcErrorIDType = 53;
pub const ERROR_BROKER_NOT_SUPPORT_CONDORDER: TThostFtdcErrorIDType = 54;
pub const ERROR_RESEND_ORDER_BROKERINVESTOR_NOTMATCH: TThostFtdcErrorIDType = 55;
pub const ERROR_SYC_OTP_FAILED: TThostFtdcErrorIDType = 56;
pub const ERROR_OTP_MISMATCH: TThostFtdcErrorIDType = 57;
pub const ERROR_OTPPARAM_NOT_FOUND: TThostFtdcErrorIDType = 58;
pub const ERROR_UNSUPPORTED_OTPTYPE: TThostFtdcErrorIDType = 59;
pub const ERROR_SINGLEUSERSESSION_EXCEED_LIMIT: TThostFtdcErrorIDType = 60;
pub const ERROR_EXCHANGE_UNSUPPORTED_ARBITRAGE: TThostFtdcErrorIDType = 61;
pub const ERROR_NO_CONDITIONAL_ORDER_RIGHT: TThostFtdcErrorIDType = 62;
pub const ERROR_AUTH_FAILED: TThostFtdcErrorIDType = 63;
pub const ERROR_NOT_AUTHENT: TThostFtdcErrorIDType = 64;
pub const ERROR_SWAPORDER_UNSUPPORTED: TThostFtdcErrorIDType = 65;
pub const ERROR_OPTIONS_ONLY_SUPPORT_SPEC: TThostFtdcErrorIDType = 66;
pub const ERROR_DUPLICATE_EXECORDER_REF: TThostFtdcErrorIDType = 67;
pub const ERROR_RESEND_EXECORDER_BROKERINVESTOR_NOTMATCH: TThostFtdcErrorIDType = 68;
pub const ERROR_EXECORDER_NOTOPTIONS: TThostFtdcErrorIDType = 69;
pub const ERROR_OPTIONS_NOT_SUPPORT_EXEC: TThostFtdcErrorIDType = 70;
pub const ERROR_BAD_EXECORDER_ACTION_FIELD: TThostFtdcErrorIDType = 71;
pub const ERROR_DUPLICATE_EXECORDER_ACTION_REF: TThostFtdcErrorIDType = 72;
pub const ERROR_EXECORDER_NOT_FOUND: TThostFtdcErrorIDType = 73;
pub const ERROR_OVER_EXECUTE_POSITION: TThostFtdcErrorIDType = 74;
pub const ERROR_LOGIN_FORBIDDEN: TThostFtdcErrorIDType = 75;
pub const ERROR_INVALID_TRANSFER_AGENT: TThostFtdcErrorIDType = 76;
pub const ERROR_NO_FOUND_FUNCTION: TThostFtdcErrorIDType = 77;
pub const ERROR_SEND_EXCHANGEORDER_FAILED: TThostFtdcErrorIDType = 78;
pub const ERROR_SEND_EXCHANGEORDERACTION_FAILED: TThostFtdcErrorIDType = 79;
pub const ERROR_PRICETYPE_NOTSUPPORT_BYEXCHANGE: TThostFtdcErrorIDType = 80;
pub const ERROR_BAD_EXECUTE_TYPE: TThostFtdcErrorIDType = 81;
pub const ERROR_BAD_OPTION_INSTR: TThostFtdcErrorIDType = 82;
pub const ERROR_INSTR_NOTSUPPORT_FORQUOTE: TThostFtdcErrorIDType = 83;
pub const ERROR_RESEND_QUOTE_BROKERINVESTOR_NOTMATCH: TThostFtdcErrorIDType = 84;
pub const ERROR_INSTR_NOTSUPPORT_QUOTE: TThostFtdcErrorIDType = 85;
pub const ERROR_QUOTE_NOT_FOUND: TThostFtdcErrorIDType = 86;
pub const ERROR_OPTIONS_NOT_SUPPORT_ABANDON: TThostFtdcErrorIDType = 87;
pub const ERROR_COMBOPTIONS_SUPPORT_IOC_ONLY: TThostFtdcErrorIDType = 88;
pub const ERROR_OPEN_FILE_FAILED: TThostFtdcErrorIDType = 89;
pub const ERROR_NEED_RETRY: TThostFtdcErrorIDType = 90;
pub const ERROR_EXCHANGE_RTNERROR: TThostFtdcErrorIDType = 91;
pub const ERROR_QUOTE_DERIVEDORDER_ACTIONERROR: TThostFtdcErrorIDType = 92;
pub const ERROR_INSTRUMENTMAP_NOT_FOUND: TThostFtdcErrorIDType = 93;
pub const ERROR_CANCELLATION_OF_OTC_DERIVED_ORDER_NOT_ALLOWED: TThostFtdcErrorIDType = 94;
pub const ERROR_NO_TRADING_RIGHT_IN_SEPC_DR: TThostFtdcErrorIDType = 101;
pub const ERROR_NO_DR_NO: TThostFtdcErrorIDType = 102;
pub const ERROR_BATCHACTION_NOSUPPORT: TThostFtdcErrorIDType = 103;
pub const ERROR_POSI_LIMIT: TThostFtdcErrorIDType = 106;
pub const ERROR_OUT_OF_TIMEINTERVAL: TThostFtdcErrorIDType = 113;
pub const ERROR_OUT_OF_PRICEINTERVAL: TThostFtdcErrorIDType = 114;
pub const ERROR_ORDER_FREQ_LIMIT: TThostFtdcErrorIDType = 116;
pub const ERROR_WEAK_PASSWORD: TThostFtdcErrorIDType = 131;
pub const ERROR_EXEC_FORBIDDEN_TIME: TThostFtdcErrorIDType = 139;
pub const ERROR_FIRST_LOGIN: TThostFtdcErrorIDType = 140;
pub const ERROR_PWD_OUT_OF_DATE: TThostFtdcErrorIDType = 141;
pub const ERROR_PWD_MUST_DIFF: TThostFtdcErrorIDType = 142;
pub const ERROR_IP_FORBIDDEN: TThostFtdcErrorIDType = 143;
pub const ERROR_IP_BLACK: TThostFtdcErrorIDType = 144;
pub const ERROR_SEND_INSTITUTION_CODE_ERROR: TThostFtdcErrorIDType = 1000;
pub const ERROR_NO_GET_PLATFORM_SN: TThostFtdcErrorIDType = 1001;
pub const ERROR_ILLEGAL_TRANSFER_BANK: TThostFtdcErrorIDType = 1002;
pub const ERROR_ALREADY_OPEN_ACCOUNT: TThostFtdcErrorIDType = 1003;
pub const ERROR_NOT_OPEN_ACCOUNT: TThostFtdcErrorIDType = 1004;
pub const ERROR_PROCESSING: TThostFtdcErrorIDType = 1005;
pub const ERROR_OVERTIME: TThostFtdcErrorIDType = 1006;
pub const ERROR_RECORD_NOT_FOUND: TThostFtdcErrorIDType = 1007;
pub const ERROR_NO_FOUND_REVERSAL_ORIGINAL_TRANSACTION: TThostFtdcErrorIDType = 1008;
pub const ERROR_CONNECT_HOST_FAILED: TThostFtdcErrorIDType = 1009;
pub const ERROR_SEND_FAILED: TThostFtdcErrorIDType = 1010;
pub const ERROR_LATE_RESPONSE: TThostFtdcErrorIDType = 1011;
pub const ERROR_REVERSAL_BANKID_NOT_MATCH: TThostFtdcErrorIDType = 1012;
pub const ERROR_REVERSAL_BANKACCOUNT_NOT_MATCH: TThostFtdcErrorIDType = 1013;
pub const ERROR_REVERSAL_BROKERID_NOT_MATCH: TThostFtdcErrorIDType = 1014;
pub const ERROR_REVERSAL_ACCOUNTID_NOT_MATCH: TThostFtdcErrorIDType = 1015;
pub const ERROR_REVERSAL_AMOUNT_NOT_MATCH: TThostFtdcErrorIDType = 1016;
pub const ERROR_DB_OPERATION_FAILED: TThostFtdcErrorIDType = 1017;
pub const ERROR_SEND_ASP_FAILURE: TThostFtdcErrorIDType = 1018;
pub const ERROR_NOT_SIGNIN: TThostFtdcErrorIDType = 1019;
pub const ERROR_ALREADY_SIGNIN: TThostFtdcErrorIDType = 1020;
pub const ERROR_AMOUNT_OR_TIMES_OVER: TThostFtdcErrorIDType = 1021;
pub const ERROR_NOT_IN_TRANSFER_TIME: TThostFtdcErrorIDType = 1022;
pub const ERROR_BANK_SERVER_ERROR: TThostFtdcErrorIDType = 1023;
pub const ERROR_BANK_SERIAL_IS_REPEALED: TThostFtdcErrorIDType = 1024;
pub const ERROR_BANK_SERIAL_NOT_EXIST: TThostFtdcErrorIDType = 1025;
pub const ERROR_NOT_ORGAN_MAP: TThostFtdcErrorIDType = 1026;
pub const ERROR_EXIST_TRANSFER: TThostFtdcErrorIDType = 1027;
pub const ERROR_BANK_FORBID_REVERSAL: TThostFtdcErrorIDType = 1028;
pub const ERROR_DUP_BANK_SERIAL: TThostFtdcErrorIDType = 1029;
pub const ERROR_FBT_SYSTEM_BUSY: TThostFtdcErrorIDType = 1030;
pub const ERROR_MACKEY_SYNCING: TThostFtdcErrorIDType = 1031;
pub const ERROR_ACCOUNTID_ALREADY_REGISTER: TThostFtdcErrorIDType = 1032;
pub const ERROR_BANKACCOUNT_ALREADY_REGISTER: TThostFtdcErrorIDType = 1033;
pub const ERROR_DUP_BANK_SERIAL_REDO_OK: TThostFtdcErrorIDType = 1034;
pub const ERROR_CURRENCYID_NOT_SUPPORTED: TThostFtdcErrorIDType = 1035;
pub const ERROR_INVALID_MAC: TThostFtdcErrorIDType = 1036;
pub const ERROR_NOT_SUPPORT_SECAGENT_BY_BANK: TThostFtdcErrorIDType = 1037;
pub const ERROR_PINKEY_SYNCING: TThostFtdcErrorIDType = 1038;
pub const ERROR_SECAGENT_QUERY_BY_CCB: TThostFtdcErrorIDType = 1039;
pub const ERROR_BANKACCOUNT_NOT_EMPTY: TThostFtdcErrorIDType = 1040;
pub const ERROR_INVALID_RESERVE_OPEN_ACCOUNT: TThostFtdcErrorIDType = 1041;
pub const ERROR_OPEN_ACCOUNT_NOT_DEFAULT_ACCOUNT: TThostFtdcErrorIDType = 1042;
pub const ERROR_BANK_SYSTEM_INTERNAL_ERROR: TThostFtdcErrorIDType = 1043;
pub const ERROR_NO_VALID_BANKOFFER_AVAILABLE: TThostFtdcErrorIDType = 2000;
pub const ERROR_PASSWORD_MISMATCH: TThostFtdcErrorIDType = 2001;
pub const ERROR_DUPLATION_BANK_SERIAL: TThostFtdcErrorIDType = 2004;
pub const ERROR_DUPLATION_OFFER_SERIAL: TThostFtdcErrorIDType = 2005;
pub const ERROR_SERIAL_NOT_EXSIT: TThostFtdcErrorIDType = 2006;
pub const ERROR_SERIAL_IS_REPEALED: TThostFtdcErrorIDType = 2007;
pub const ERROR_SERIAL_MISMATCH: TThostFtdcErrorIDType = 2008;
pub const ERROR_IdentifiedCardNo_MISMATCH: TThostFtdcErrorIDType = 2009;
pub const ERROR_ACCOUNT_NOT_FUND: TThostFtdcErrorIDType = 2011;
pub const ERROR_ACCOUNT_NOT_ACTIVE: TThostFtdcErrorIDType = 2012;
pub const ERROR_NOT_ALLOW_REPEAL_BYMANUAL: TThostFtdcErrorIDType = 2013;
pub const ERROR_AMOUNT_OUTOFTHEWAY: TThostFtdcErrorIDType = 2014;
pub const ERROR_EXCHANGERATE_NOT_FOUND: TThostFtdcErrorIDType = 2015;
pub const ERROR_RESERVE_OPEN_ACCOUNT_NOT_FUND: TThostFtdcErrorIDType = 2016;
pub const ERROR_DUPLICATE_RESERVE_OPEN_ACCOUNT_NOT_FUND: TThostFtdcErrorIDType = 2017;
pub const ERROR_WAITING_OFFER_RSP: TThostFtdcErrorIDType = 999999;
pub const ERROR_FBE_NO_GET_PLATFORM_SN: TThostFtdcErrorIDType = 3001;
pub const ERROR_FBE_ILLEGAL_TRANSFER_BANK: TThostFtdcErrorIDType = 3002;
pub const ERROR_FBE_PROCESSING: TThostFtdcErrorIDType = 3005;
pub const ERROR_FBE_OVERTIME: TThostFtdcErrorIDType = 3006;
pub const ERROR_FBE_RECORD_NOT_FOUND: TThostFtdcErrorIDType = 3007;
pub const ERROR_FBE_CONNECT_HOST_FAILED: TThostFtdcErrorIDType = 3009;
pub const ERROR_FBE_SEND_FAILED: TThostFtdcErrorIDType = 3010;
pub const ERROR_FBE_LATE_RESPONSE: TThostFtdcErrorIDType = 3011;
pub const ERROR_FBE_DB_OPERATION_FAILED: TThostFtdcErrorIDType = 3017;
pub const ERROR_FBE_NOT_SIGNIN: TThostFtdcErrorIDType = 3019;
pub const ERROR_FBE_ALREADY_SIGNIN: TThostFtdcErrorIDType = 3020;
pub const ERROR_FBE_AMOUNT_OR_TIMES_OVER: TThostFtdcErrorIDType = 3021;
pub const ERROR_FBE_NOT_IN_TRANSFER_TIME: TThostFtdcErrorIDType = 3022;
pub const ERROR_FBE_BANK_SERVER_ERROR: TThostFtdcErrorIDType = 3023;
pub const ERROR_FBE_NOT_ORGAN_MAP: TThostFtdcErrorIDType = 3026;
pub const ERROR_FBE_SYSTEM_BUSY: TThostFtdcErrorIDType = 3030;
pub const ERROR_FBE_CURRENCYID_NOT_SUPPORTED: TThostFtdcErrorIDType = 3035;
pub const ERROR_FBE_WRONG_BANK_ACCOUNT: TThostFtdcErrorIDType = 3036;
pub const ERROR_FBE_BANK_ACCOUNT_NO_FUNDS: TThostFtdcErrorIDType = 3037;
pub const ERROR_FBE_DUP_CERT_NO: TThostFtdcErrorIDType = 3038;
pub const ERROR_API_UNSUPPORTED_VERSION: TThostFtdcErrorIDType = 3039;
pub const ERROR_API_INVALID_KEY: TThostFtdcErrorIDType = 3040;
pub const ERROR_OPTION_SELF_CLOSE_NOT_OPTION: TThostFtdcErrorIDType = 3041;
pub const ERROR_OPTION_SELF_CLOSE_DUPLICATE_REF: TThostFtdcErrorIDType = 3042;
pub const ERROR_OPTION_SELF_CLOSE_BAD_FIELD: TThostFtdcErrorIDType = 3043;
pub const ERROR_OPTION_SELF_CLOSE_REC_NOT_FOUND: TThostFtdcErrorIDType = 3044;
pub const ERROR_OPTION_SELF_CLOSE_STATUS_ERR: TThostFtdcErrorIDType = 3045;
pub const ERROR_OPTION_SELF_CLOSE_DOUBLE_SET_ERR: TThostFtdcErrorIDType = 3046;
pub const ERROR_QUOTE_WRONG_HEDGE_TYPE: TThostFtdcErrorIDType = 3047;
pub fn error_id_to_chinese_description(error_id: TThostFtdcErrorIDType) -> &'static str {
    match error_id {
        ERROR_NONE => "CTP:正确",
        ERROR_INVALID_DATA_SYNC_STATUS => "CTP:不在已同步状态",
        ERROR_INCONSISTENT_INFORMATION => "CTP:会话信息不一致",
        ERROR_INVALID_LOGIN => "CTP:不合法的登录",
        ERROR_USER_NOT_ACTIVE => "CTP:用户不活跃",
        ERROR_DUPLICATE_LOGIN => "CTP:重复的登录",
        ERROR_NOT_LOGIN_YET => "CTP:还没有登录",
        ERROR_NOT_INITED => "CTP:还没有初始化",
        ERROR_FRONT_NOT_ACTIVE => "CTP:前置不活跃",
        ERROR_NO_PRIVILEGE => "CTP:无此权限",
        ERROR_CHANGE_OTHER_PASSWORD => "CTP:修改别人的口令",
        ERROR_USER_NOT_FOUND => "CTP:找不到该用户",
        ERROR_BROKER_NOT_FOUND => "CTP:找不到该经纪公司",
        ERROR_INVESTOR_NOT_FOUND => "CTP:找不到投资者",
        ERROR_OLD_PASSWORD_MISMATCH => "CTP:原口令不匹配",
        ERROR_BAD_FIELD => "CTP:报单字段有误",
        ERROR_INSTRUMENT_NOT_FOUND => "CTP:找不到合约",
        ERROR_INSTRUMENT_NOT_TRADING => "CTP:合约不能交易",
        ERROR_NOT_EXCHANGE_PARTICIPANT => "CTP:经纪公司不是交易所的会员",
        ERROR_INVESTOR_NOT_ACTIVE => "CTP:投资者不活跃",
        ERROR_NOT_EXCHANGE_CLIENT => "CTP:投资者未在交易所开户",
        ERROR_NO_VALID_TRADER_AVAILABLE => "CTP:该交易席位未连接到交易所",
        ERROR_DUPLICATE_ORDER_REF => "CTP:报单错误:不允许重复报单",
        ERROR_BAD_ORDER_ACTION_FIELD => "CTP:错误的报单操作字段",
        ERROR_DUPLICATE_ORDER_ACTION_REF => "CTP:撤单已报送,不允许重复撤单",
        ERROR_ORDER_NOT_FOUND => "CTP:撤单找不到相应报单",
        ERROR_INSUITABLE_ORDER_STATUS => "CTP:报单已全成交或已撤销,不能再撤",
        ERROR_UNSUPPORTED_FUNCTION => "CTP:不支持的功能",
        ERROR_NO_TRADING_RIGHT => "CTP:没有报单交易权限",
        ERROR_CLOSE_ONLY => "CTP:只能平仓",
        ERROR_OVER_CLOSE_POSITION => "CTP:平仓量超过持仓量",
        ERROR_INSUFFICIENT_MONEY => "CTP:资金不足",
        ERROR_DUPLICATE_PK => "CTP:主键重复",
        ERROR_CANNOT_FIND_PK => "CTP:找不到主键",
        ERROR_CAN_NOT_INACTIVE_BROKER => "CTP:设置经纪公司不活跃状态失败",
        ERROR_BROKER_SYNCHRONIZING => "CTP:经纪公司正在同步",
        ERROR_BROKER_SYNCHRONIZED => "CTP:经纪公司已同步",
        ERROR_SHORT_SELL => "CTP:现货交易不能卖空",
        ERROR_INVALID_SETTLEMENT_REF => "CTP:不合法的结算引用",
        ERROR_CFFEX_NETWORK_ERROR => "CTP:交易所网络连接失败",
        ERROR_CFFEX_OVER_REQUEST => "CTP:交易所未处理请求超过许可数",
        ERROR_CFFEX_OVER_REQUEST_PER_SECOND => "CTP:交易所每秒发送请求数超过许可数",
        ERROR_SETTLEMENT_INFO_NOT_CONFIRMED => "CTP:结算结果未确认",
        ERROR_DEPOSIT_NOT_FOUND => "CTP:没有对应的入金记录",
        ERROR_EXCHANG_TRADING => "CTP:交易所已经进入连续交易状态",
        ERROR_PARKEDORDER_NOT_FOUND => "CTP:找不到预埋(撤单)单",
        ERROR_PARKEDORDER_HASSENDED => "CTP:预埋(撤单)单已经发送",
        ERROR_PARKEDORDER_HASDELETE => "CTP:预埋(撤单)单已经删除",
        ERROR_INVALID_INVESTORIDORPASSWORD => "CTP:无效的投资者或者密码",
        ERROR_INVALID_LOGIN_IPADDRESS => "CTP:不合法的登录IP地址",
        ERROR_OVER_CLOSETODAY_POSITION => "CTP:平今仓位不足",
        ERROR_OVER_CLOSEYESTERDAY_POSITION => "CTP:平昨仓位不足",
        ERROR_BROKER_NOT_ENOUGH_CONDORDER => "CTP:经纪公司没有足够可用的条件单数量",
        ERROR_INVESTOR_NOT_ENOUGH_CONDORDER => "CTP:投资者没有足够可用的条件单数量",
        ERROR_BROKER_NOT_SUPPORT_CONDORDER => "CTP:经纪公司不支持条件单",
        ERROR_RESEND_ORDER_BROKERINVESTOR_NOTMATCH => "CTP:重发未知单经纪公司/投资者不匹配",
        ERROR_SYC_OTP_FAILED => "CTP:同步动态令牌失败",
        ERROR_OTP_MISMATCH => "CTP:动态令牌校验错误",
        ERROR_OTPPARAM_NOT_FOUND => "CTP:找不到动态令牌配置信息",
        ERROR_UNSUPPORTED_OTPTYPE => "CTP:不支持的动态令牌类型",
        ERROR_SINGLEUSERSESSION_EXCEED_LIMIT => "CTP:用户在线会话超出上限",
        ERROR_EXCHANGE_UNSUPPORTED_ARBITRAGE => "CTP:该交易所不支持套利/做市商类型报单",
        ERROR_NO_CONDITIONAL_ORDER_RIGHT => "CTP:没有条件单交易权限",
        ERROR_AUTH_FAILED => "CTP:客户端认证失败",
        ERROR_NOT_AUTHENT => "CTP:客户端未认证",
        ERROR_SWAPORDER_UNSUPPORTED => "CTP:该合约不支持互换类型报单",
        ERROR_OPTIONS_ONLY_SUPPORT_SPEC => "CTP:该期权合约只支持投机类型报单",
        ERROR_DUPLICATE_EXECORDER_REF => "CTP:执行宣告错误,不允许重复执行",
        ERROR_RESEND_EXECORDER_BROKERINVESTOR_NOTMATCH => "CTP:重发未知执行宣告经纪公司/投资者不匹配",
        ERROR_EXECORDER_NOTOPTIONS => "CTP:只有期权合约可执行",
        ERROR_OPTIONS_NOT_SUPPORT_EXEC => "CTP:该期权合约不支持执行",
        ERROR_BAD_EXECORDER_ACTION_FIELD => "CTP:执行宣告字段有误",
        ERROR_DUPLICATE_EXECORDER_ACTION_REF => "CTP:执行宣告撤单已报送,不允许重复撤单",
        ERROR_EXECORDER_NOT_FOUND => "CTP:执行宣告撤单找不到相应执行宣告",
        ERROR_OVER_EXECUTE_POSITION => "CTP:执行仓位不足",
        ERROR_LOGIN_FORBIDDEN => "CTP:连续登录失败次数超限,登录被禁止",
        ERROR_INVALID_TRANSFER_AGENT => "CTP:非法银期代理关系",
        ERROR_NO_FOUND_FUNCTION => "CTP:无此功能",
        ERROR_SEND_EXCHANGEORDER_FAILED => "CTP:发送报单失败",
        ERROR_SEND_EXCHANGEORDERACTION_FAILED => "CTP:发送报单操作失败",
        ERROR_PRICETYPE_NOTSUPPORT_BYEXCHANGE => "CTP:交易所不支持的价格类型",
        ERROR_BAD_EXECUTE_TYPE => "CTP:错误的执行类型",
        ERROR_BAD_OPTION_INSTR => "CTP:无效的组合合约",
        ERROR_INSTR_NOTSUPPORT_FORQUOTE => "CTP:该合约不支持询价",
        ERROR_RESEND_QUOTE_BROKERINVESTOR_NOTMATCH => "CTP:重发未知报价经纪公司/投资者不匹配",
        ERROR_INSTR_NOTSUPPORT_QUOTE => "CTP:该合约不支持报价",
        ERROR_QUOTE_NOT_FOUND => "CTP:报价撤单找不到相应报价",
        ERROR_OPTIONS_NOT_SUPPORT_ABANDON => "CTP:该期权合约不支持放弃执行",
        ERROR_COMBOPTIONS_SUPPORT_IOC_ONLY => "CTP:该组合期权合约只支持IOC",
        ERROR_OPEN_FILE_FAILED => "CTP:打开文件失败",
        ERROR_NEED_RETRY => "CTP:查询未就绪,请稍后重试",
        ERROR_EXCHANGE_RTNERROR => "CTP:交易所返回的错误",
        ERROR_QUOTE_DERIVEDORDER_ACTIONERROR => "CTP:报价衍生单要等待交易所返回才能撤单",
        ERROR_INSTRUMENTMAP_NOT_FOUND => "CTP:找不到组合合约映射",
        ERROR_CANCELLATION_OF_OTC_DERIVED_ORDER_NOT_ALLOWED => "CTP:不允许撤销OTC衍生报单",
        ERROR_NO_TRADING_RIGHT_IN_SEPC_DR => "CTP:用户在本系统没有报单权限",
        ERROR_NO_DR_NO => "CTP:系统缺少灾备标示号",
        ERROR_BATCHACTION_NOSUPPORT => "CTP:该交易所不支持批量撤单",
        ERROR_POSI_LIMIT => "CTP:投资者限仓",
        ERROR_OUT_OF_TIMEINTERVAL => "CTP:当前时间禁止询价",
        ERROR_OUT_OF_PRICEINTERVAL => "CTP:当前价差禁止询价",
        ERROR_ORDER_FREQ_LIMIT => "CTP:下单频率限制",
        ERROR_WEAK_PASSWORD => "CTP:您当前密码为弱密码,请修改成强密码后重新登录",
        ERROR_EXEC_FORBIDDEN_TIME => "CTP:当前时间禁止行权",
        ERROR_FIRST_LOGIN => "CTP:首次登录必须修改密码,请修改密码后重新登录",
        ERROR_PWD_OUT_OF_DATE => "CTP:您当前密码已过期,请修改后登录",
        ERROR_PWD_MUST_DIFF => "CTP:修改密码失败。新密码不允许与旧密码相同",
        ERROR_IP_FORBIDDEN => "CTP:您登录失败次数过多,IP被禁止登入CTP",
        ERROR_IP_BLACK => "CTP:您当前IP在黑名单中,被禁止登入CTP",
        ERROR_SEND_INSTITUTION_CODE_ERROR => "CTP:银期转账:发送机构代码错误",
        ERROR_NO_GET_PLATFORM_SN => "CTP:银期转账:取平台流水号错误",
        ERROR_ILLEGAL_TRANSFER_BANK => "CTP:银期转账:不合法的转账银行",
        ERROR_ALREADY_OPEN_ACCOUNT => "CTP:银期转账:已经开户",
        ERROR_NOT_OPEN_ACCOUNT => "CTP:银期转账:未开户",
        ERROR_PROCESSING => "CTP:银期转账:处理中",
        ERROR_OVERTIME => "CTP:银期转账:交易超时",
        ERROR_RECORD_NOT_FOUND => "CTP:银期转账:找不到记录",
        ERROR_NO_FOUND_REVERSAL_ORIGINAL_TRANSACTION => "CTP:银期转账:找不到被冲正的原始交易",
        ERROR_CONNECT_HOST_FAILED => "CTP:银期转账:连接主机失败",
        ERROR_SEND_FAILED => "CTP:银期转账:发送失败",
        ERROR_LATE_RESPONSE => "CTP:银期转账:迟到应答",
        ERROR_REVERSAL_BANKID_NOT_MATCH => "CTP:银期转账:冲正交易银行代码错误",
        ERROR_REVERSAL_BANKACCOUNT_NOT_MATCH => "CTP:银期转账:冲正交易银行账户错误",
        ERROR_REVERSAL_BROKERID_NOT_MATCH => "CTP:银期转账:冲正交易经纪公司代码错误",
        ERROR_REVERSAL_ACCOUNTID_NOT_MATCH => "CTP:银期转账:冲正交易资金账户错误",
        ERROR_REVERSAL_AMOUNT_NOT_MATCH => "CTP:银期转账:冲正交易交易金额错误",
        ERROR_DB_OPERATION_FAILED => "CTP:银期转账:数据库操作错误",
        ERROR_SEND_ASP_FAILURE => "CTP:银期转账:发送到交易系统失败",
        ERROR_NOT_SIGNIN => "CTP:银期转账:没有签到",
        ERROR_ALREADY_SIGNIN => "CTP:银期转账:已经签到",
        ERROR_AMOUNT_OR_TIMES_OVER => "CTP:银期转账:金额或次数超限",
        ERROR_NOT_IN_TRANSFER_TIME => "CTP:银期转账:这一时间段不能转账",
        ERROR_BANK_SERVER_ERROR => "银行主机错",
        ERROR_BANK_SERIAL_IS_REPEALED => "CTP:银期转账:银行已经冲正",
        ERROR_BANK_SERIAL_NOT_EXIST => "CTP:银期转账:银行流水不存在",
        ERROR_NOT_ORGAN_MAP => "CTP:银期转账:机构没有签约",
        ERROR_EXIST_TRANSFER => "CTP:银期转账:存在转账,不能销户",
        ERROR_BANK_FORBID_REVERSAL => "CTP:银期转账:银行不支持冲正",
        ERROR_DUP_BANK_SERIAL => "CTP:银期转账:重复的银行流水",
        ERROR_FBT_SYSTEM_BUSY => "CTP:银期转账:转账系统忙,稍后再试",
        ERROR_MACKEY_SYNCING => "CTP:银期转账:MAC密钥正在同步",
        ERROR_ACCOUNTID_ALREADY_REGISTER => "CTP:银期转账:资金账户已经登记",
        ERROR_BANKACCOUNT_ALREADY_REGISTER => "CTP:银期转账:银行账户已经登记",
        ERROR_DUP_BANK_SERIAL_REDO_OK => "CTP:银期转账:重复的银行流水,重发成功",
        ERROR_CURRENCYID_NOT_SUPPORTED => "CTP:银期转账:该币种代码不支持",
        ERROR_INVALID_MAC => "CTP:银期转账:MAC值验证失败",
        ERROR_NOT_SUPPORT_SECAGENT_BY_BANK => "CTP:银期转账:不支持银行端发起的二级代理商转账和查询",
        ERROR_PINKEY_SYNCING => "CTP:银期转账:PIN密钥正在同步",
        ERROR_SECAGENT_QUERY_BY_CCB => "CTP:银期转账:建行发起的二级代理商查询",
        ERROR_BANKACCOUNT_NOT_EMPTY => "CTP:银期转账:银行账户不能为空",
        ERROR_INVALID_RESERVE_OPEN_ACCOUNT => "CTP:银期转账:资金账户存在,预约开户失败",
        ERROR_OPEN_ACCOUNT_NOT_DEFAULT_ACCOUNT => "CTP:银期转账:开户请求的银行卡号和预留的账号不同",
        ERROR_BANK_SYSTEM_INTERNAL_ERROR => "银行系统内部错误",
        ERROR_NO_VALID_BANKOFFER_AVAILABLE => "CTP:该报盘未连接到银行",
        ERROR_PASSWORD_MISMATCH => "CTP:资金密码错误",
        ERROR_DUPLATION_BANK_SERIAL => "CTP:银行流水号重复",
        ERROR_DUPLATION_OFFER_SERIAL => "CTP:报盘流水号重复",
        ERROR_SERIAL_NOT_EXSIT => "CTP:被冲正流水不存在(冲正交易)",
        ERROR_SERIAL_IS_REPEALED => "CTP:原流水已冲正(冲正交易)",
        ERROR_SERIAL_MISMATCH => "CTP:与原流水信息不符(冲正交易)",
        ERROR_IdentifiedCardNo_MISMATCH => "CTP:证件号码或类型错误",
        ERROR_ACCOUNT_NOT_FUND => "CTP:资金账户不存在",
        ERROR_ACCOUNT_NOT_ACTIVE => "CTP:资金账户已经销户",
        ERROR_NOT_ALLOW_REPEAL_BYMANUAL => "CTP:该交易不能执行手工冲正",
        ERROR_AMOUNT_OUTOFTHEWAY => "CTP:转帐金额错误",
        ERROR_EXCHANGERATE_NOT_FOUND => "CTP:找不到汇率",
        ERROR_RESERVE_OPEN_ACCOUNT_NOT_FUND => "CTP:找不到预约开户请求",
        ERROR_DUPLICATE_RESERVE_OPEN_ACCOUNT_NOT_FUND => "CTP:重复的预约开户请求",
        ERROR_WAITING_OFFER_RSP => "CTP:等待银期报盘处理结果",
        ERROR_FBE_NO_GET_PLATFORM_SN => "CTP:银期换汇:取平台流水号错误",
        ERROR_FBE_ILLEGAL_TRANSFER_BANK => "CTP:银期换汇:不合法的转账银行",
        ERROR_FBE_PROCESSING => "CTP:银期换汇:处理中",
        ERROR_FBE_OVERTIME => "CTP:银期换汇:交易超时",
        ERROR_FBE_RECORD_NOT_FOUND => "CTP:银期换汇:找不到记录",
        ERROR_FBE_CONNECT_HOST_FAILED => "CTP:银期换汇:连接主机失败",
        ERROR_FBE_SEND_FAILED => "CTP:银期换汇:发送失败",
        ERROR_FBE_LATE_RESPONSE => "CTP:银期换汇:迟到应答",
        ERROR_FBE_DB_OPERATION_FAILED => "CTP:银期换汇:数据库操作错误",
        ERROR_FBE_NOT_SIGNIN => "CTP:银期换汇:没有签到",
        ERROR_FBE_ALREADY_SIGNIN => "CTP:银期换汇:已经签到",
        ERROR_FBE_AMOUNT_OR_TIMES_OVER => "CTP:银期换汇:金额或次数超限",
        ERROR_FBE_NOT_IN_TRANSFER_TIME => "CTP:银期换汇:这一时间段不能换汇",
        ERROR_FBE_BANK_SERVER_ERROR => "CTP:银期换汇:银行主机错",
        ERROR_FBE_NOT_ORGAN_MAP => "CTP:银期换汇:机构没有签约",
        ERROR_FBE_SYSTEM_BUSY => "CTP:银期换汇:换汇系统忙,稍后再试",
        ERROR_FBE_CURRENCYID_NOT_SUPPORTED => "CTP:银期换汇:该币种代码不支持",
        ERROR_FBE_WRONG_BANK_ACCOUNT => "CTP:银期换汇:银行帐号不正确",
        ERROR_FBE_BANK_ACCOUNT_NO_FUNDS => "CTP:银期换汇:银行帐户余额不足",
        ERROR_FBE_DUP_CERT_NO => "CTP:银期换汇:凭证号重复",
        ERROR_API_UNSUPPORTED_VERSION => "CTP: 不支持该API版本",
        ERROR_API_INVALID_KEY => "CTP: 无效的API KEY",
        ERROR_OPTION_SELF_CLOSE_NOT_OPTION => "CTP:期权对冲,履约对冲:非期权合约",
        ERROR_OPTION_SELF_CLOSE_DUPLICATE_REF => "CTP:期权对冲,履约对冲:请求引用不合法",
        ERROR_OPTION_SELF_CLOSE_BAD_FIELD => "CTP:期权对冲,履约对冲:非法字段 ",
        ERROR_OPTION_SELF_CLOSE_REC_NOT_FOUND => "CTP:期权对冲,履约对冲:撤销未找到记录",
        ERROR_OPTION_SELF_CLOSE_STATUS_ERR => "CTP:期权对冲,履约对冲:对冲状态不对,不能撤销",
        ERROR_OPTION_SELF_CLOSE_DOUBLE_SET_ERR => "CTP:期权对冲,履约对冲:不能重复设置,只能先撤销再设置",
        ERROR_QUOTE_WRONG_HEDGE_TYPE => "CTP:报价不支持改投机套保类型",
        _ => "unknown error",
    }
}