From 76cbeba72a2bf9ba9fe9dadf97b9f50c5e9ee0ba Mon Sep 17 00:00:00 2001 From: chenxy123 Date: Sun, 20 Nov 2016 18:58:39 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0vn.trader=E7=9A=84sgitGateway?= =?UTF-8?q?=E5=88=B04.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../settings/Windows Azure Subscriptions.xml | 2 +- .../settings/Windows Azure Subscriptions.xml | 2 +- vn.trader/ctpGateway/ctpGateway.py | 52 +- vn.trader/sgitGateway/SGIT_connect.json | 10 +- vn.trader/sgitGateway/sgitDataType.py | 4435 ++++++++++----- vn.trader/sgitGateway/sgitGateway.py | 1118 ++-- .../sgitGateway_4.1/SGIT_connect.json | 7 + .../sgitGateway/sgitGateway_4.1/__init__.py | 0 .../sgitGateway_4.1/sgitDataType.py | 4812 +++++++++++++++++ .../sgitGateway_4.1/sgitGateway.py | 936 ++++ .../sgitGateway_4.1/sgitquotapi.dll | Bin 0 -> 295011 bytes .../sgitGateway_4.1/sgittradeapi.dll | Bin 0 -> 208896 bytes .../sgitGateway/sgitGateway_4.1/vnsgitmd.pyd | Bin 0 -> 251392 bytes .../sgitGateway/sgitGateway_4.1/vnsgittd.pyd | Bin 0 -> 327680 bytes vn.trader/sgitGateway/sgitquotapi.dll | Bin 295011 -> 445440 bytes vn.trader/sgitGateway/sgittradeapi.dll | Bin 208896 -> 296960 bytes vn.trader/sgitGateway/vnsgitmd.pyd | Bin 251392 -> 268800 bytes vn.trader/sgitGateway/vnsgittd.pyd | Bin 327680 -> 823296 bytes 18 files changed, 9549 insertions(+), 1825 deletions(-) create mode 100644 vn.trader/sgitGateway/sgitGateway_4.1/SGIT_connect.json create mode 100644 vn.trader/sgitGateway/sgitGateway_4.1/__init__.py create mode 100644 vn.trader/sgitGateway/sgitGateway_4.1/sgitDataType.py create mode 100644 vn.trader/sgitGateway/sgitGateway_4.1/sgitGateway.py create mode 100644 vn.trader/sgitGateway/sgitGateway_4.1/sgitquotapi.dll create mode 100644 vn.trader/sgitGateway/sgitGateway_4.1/sgittradeapi.dll create mode 100644 vn.trader/sgitGateway/sgitGateway_4.1/vnsgitmd.pyd create mode 100644 vn.trader/sgitGateway/sgitGateway_4.1/vnsgittd.pyd diff --git a/vn.sgit/vnsgitmd/Visual Studio 2013/settings/Windows Azure Subscriptions.xml b/vn.sgit/vnsgitmd/Visual Studio 2013/settings/Windows Azure Subscriptions.xml index 7dbf354d..0202c7b6 100644 --- a/vn.sgit/vnsgitmd/Visual Studio 2013/settings/Windows Azure Subscriptions.xml +++ b/vn.sgit/vnsgitmd/Visual Studio 2013/settings/Windows Azure Subscriptions.xml @@ -1,5 +1,5 @@ - AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAyRIhRmRN8UK7w5RuPHePCQAAAAACAAAAAAAQZgAAAAEAACAAAABFO31YXsl8WF8pKTWr5xBDKD0AZb+tPSx33O4FZl8hZQAAAAAOgAAAAAIAACAAAABt/+k5eJ9O9v/YxziNgRFdHc+/L9n2kcV3asrYOuZNERAAAAB5G3vScnxx5Ec2YGSdSe2FQAAAADXYvHo0Ax/45HaG4TeEwCh2AkfBjXfb1wavNGJj6w1vk5IWO+9HBNQlZjaywxQhWWgj/dcZNbcRqAtcxuQ797w= + AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAyRIhRmRN8UK7w5RuPHePCQAAAAACAAAAAAAQZgAAAAEAACAAAAA4BSxVDbH++UX3oThosNMT9yqFPcmotQ8ff79/mW7J3wAAAAAOgAAAAAIAACAAAAATGyEmER6rC9FMAm6aNGZSGgioEhEiMnqKhfDYCJt/FBAAAAAC/PuVYn12KtocN5oar+s7QAAAABP1BfhQWso4PMIJ/oVXcJ7+/vYSbxXdLs+scw7bC0DVt2dJj1hb37eUaWma4A0gA3PC5j8jOZmDBmLFVIjTuHc= \ No newline at end of file diff --git a/vn.sgit/vnsgittd/Visual Studio 2013/settings/Windows Azure Subscriptions.xml b/vn.sgit/vnsgittd/Visual Studio 2013/settings/Windows Azure Subscriptions.xml index 3f93cf23..0d1c823d 100644 --- a/vn.sgit/vnsgittd/Visual Studio 2013/settings/Windows Azure Subscriptions.xml +++ b/vn.sgit/vnsgittd/Visual Studio 2013/settings/Windows Azure Subscriptions.xml @@ -1,5 +1,5 @@ - AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAyRIhRmRN8UK7w5RuPHePCQAAAAACAAAAAAAQZgAAAAEAACAAAACi9LGH0YLpPwJNmH+FKrR3DSUZTQ1NweW6EvxztVGBeQAAAAAOgAAAAAIAACAAAAAI4Wa/3s0nKSnzhjFD9Sbut7wMNFG75JaNp3DIbdID3BAAAADLMR9q2kIT7ExPj7/M6gXAQAAAAIjuMzUOlck2ayVs/fPECO0POw61Fb9cD/M19aJOyU3kiYaNn6NA5fvopGypoPCaw53oNs3qtDFcqSJWncdjyxo= + AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAyRIhRmRN8UK7w5RuPHePCQAAAAACAAAAAAAQZgAAAAEAACAAAACBGRHYDE/IpSZctTwsV21zKG8xoT8kIl8DQ/Wj46SYVQAAAAAOgAAAAAIAACAAAAD6jJn06gG4MaqNHh13iCXJ7zvYJ0JX7YRn4uOLg4h+FhAAAAAdDGfK9dZ+LxZcoxiEf2c+QAAAAJR1JCrFXxIO19zv06+EKmeChap3+XEkMALe0JTeC2L5JdHIf3avCN4mn6Rg8orJg2Z1h6NS4YUYcv0aKyXawBg= \ No newline at end of file diff --git a/vn.trader/ctpGateway/ctpGateway.py b/vn.trader/ctpGateway/ctpGateway.py index 19b0dcc0..83ea2c21 100644 --- a/vn.trader/ctpGateway/ctpGateway.py +++ b/vn.trader/ctpGateway/ctpGateway.py @@ -64,6 +64,13 @@ productClassMap[PRODUCT_OPTION] = defineDict["THOST_FTDC_PC_Options"] productClassMap[PRODUCT_COMBINATION] = defineDict["THOST_FTDC_PC_Combination"] productClassMapReverse = {v:k for k,v in productClassMap.items()} +# 委托状态映射 +statusMap = {} +statusMap[STATUS_ALLTRADED] = defineDict["THOST_FTDC_OST_AllTraded"] +statusMap[STATUS_PARTTRADED] = defineDict["THOST_FTDC_OST_PartTradedQueueing"] +statusMap[STATUS_NOTTRADED] = defineDict["THOST_FTDC_OST_NoTradeQueueing"] +statusMap[STATUS_CANCELLED] = defineDict["THOST_FTDC_OST_Canceled"] +statusMapReverse = {v:k for k,v in statusMap.items()} ######################################################################## @@ -88,7 +95,8 @@ class CtpGateway(VtGateway): """连接""" # 载入json文件 fileName = self.gatewayName + '_connect.json' - fileName = os.getcwd() + '/ctpGateway/' + fileName + path = os.path.abspath(os.path.dirname(__file__)) + fileName = os.path.join(path, fileName) try: f = file(fileName) @@ -938,34 +946,15 @@ class CtpTdApi(TdApi): order.vtSymbol = order.symbol #'.'.join([order.symbol, order.exchange]) order.orderID = data['OrderRef'] + # CTP的报单号一致性维护需要基于frontID, sessionID, orderID三个字段 + # 但在本接口设计中,已经考虑了CTP的OrderRef的自增性,避免重复 + # 唯一可能出现OrderRef重复的情况是多处登录并在非常接近的时间内(几乎同时发单) + # 考虑到VtTrader的应用场景,认为以上情况不会构成问题 + order.vtOrderID = '.'.join([self.gatewayName, order.orderID]) - # 方向 - if data['Direction'] == '0': - order.direction = DIRECTION_LONG - elif data['Direction'] == '1': - order.direction = DIRECTION_SHORT - else: - order.direction = DIRECTION_UNKNOWN - - # 开平 - if data['CombOffsetFlag'] == '0': - order.offset = OFFSET_OPEN - elif data['CombOffsetFlag'] == '1': - order.offset = OFFSET_CLOSE - else: - order.offset = OFFSET_UNKNOWN - - # 状态 - if data['OrderStatus'] == '0': - order.status = STATUS_ALLTRADED - elif data['OrderStatus'] == '1': - order.status = STATUS_PARTTRADED - elif data['OrderStatus'] == '3': - order.status = STATUS_NOTTRADED - elif data['OrderStatus'] == '5': - order.status = STATUS_CANCELLED - else: - order.status = STATUS_UNKNOWN + order.direction = directionMapReverse.get(data['Direction'], DIRECTION_UNKNOWN) + order.offset = offsetMapReverse.get(data['CombOffsetFlag'], OFFSET_UNKNOWN) + order.status = statusMapReverse.get(data['OrderStatus'], STATUS_UNKNOWN) # 价格、报单量等数值 order.price = data['LimitPrice'] @@ -976,12 +965,6 @@ class CtpTdApi(TdApi): order.frontID = data['FrontID'] order.sessionID = data['SessionID'] - # CTP的报单号一致性维护需要基于frontID, sessionID, orderID三个字段 - # 但在本接口设计中,已经考虑了CTP的OrderRef的自增性,避免重复 - # 唯一可能出现OrderRef重复的情况是多处登录并在非常接近的时间内(几乎同时发单) - # 考虑到VtTrader的应用场景,认为以上情况不会构成问题 - order.vtOrderID = '.'.join([self.gatewayName, order.orderID]) - # 推送 self.gateway.onOrder(order) @@ -1260,7 +1243,6 @@ class CtpTdApi(TdApi): """""" pass - #---------------------------------------------------------------------- def connect(self, userID, password, brokerID, address): """初始化连接""" diff --git a/vn.trader/sgitGateway/SGIT_connect.json b/vn.trader/sgitGateway/SGIT_connect.json index 75007d3c..fe1ffded 100644 --- a/vn.trader/sgitGateway/SGIT_connect.json +++ b/vn.trader/sgitGateway/SGIT_connect.json @@ -1,7 +1,7 @@ { - "brokerID": "0017", - "tdAddress": "tcp://140.206.81.6:17776", - "password": "请联系招金投资申请", - "mdAddress": "tcp://140.206.81.6:17777", - "userID": "请联系招金投资申请" + "brokerID": "9999", + "tdAddress": "tcp://180.168.146.187:10000", + "password": "simnow申请", + "mdAddress": "tcp://180.168.212.228:41213", + "userID": "simnow申请" } \ No newline at end of file diff --git a/vn.trader/sgitGateway/sgitDataType.py b/vn.trader/sgitGateway/sgitDataType.py index c88a26b0..91b35e34 100644 --- a/vn.trader/sgitGateway/sgitDataType.py +++ b/vn.trader/sgitGateway/sgitDataType.py @@ -4,4809 +4,6298 @@ defineDict = {} typedefDict = {} #////////////////////////////////////////////////////////////////////// - +#@system +#@company +#@file SgitFtdcUserApiDataType.h +#@brief 定义了客户端接口使用的业务数据类型 +#@history +#20150810 #////////////////////////////////////////////////////////////////////// - #////////////////////////////////////////////////////////////////////// #TFtdcTraderIDType是一个交易所交易员代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcTraderIDType"] = "string" +typedefDict["TThostFtdcTraderIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcInvestorIDType是一个投资者代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcInvestorIDType"] = "string" +typedefDict["TThostFtdcInvestorIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcBrokerIDType是一个经纪公司代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcBrokerIDType"] = "string" +typedefDict["TThostFtdcBrokerIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcBrokerAbbrType是一个经纪公司简称类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcBrokerAbbrType"] = "string" +typedefDict["TThostFtdcBrokerAbbrType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcBrokerNameType是一个经纪公司名称类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcBrokerNameType"] = "string" +typedefDict["TThostFtdcBrokerNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcExchangeInstIDType是一个合约在交易所的代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcExchangeInstIDType"] = "string" +typedefDict["TThostFtdcExchangeInstIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcOrderRefType是一个报单引用类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcOrderRefType"] = "string" +typedefDict["TThostFtdcOrderRefType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcParticipantIDType是一个会员代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcParticipantIDType"] = "string" +typedefDict["TThostFtdcParticipantIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcUserIDType是一个用户代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcUserIDType"] = "string" +typedefDict["TThostFtdcUserIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcPasswordType是一个密码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcPasswordType"] = "string" +typedefDict["TThostFtdcPasswordType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcClientIDType是一个交易编码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcClientIDType"] = "string" +typedefDict["TThostFtdcClientIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcInstrumentIDType是一个合约代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcInstrumentIDType"] = "string" +typedefDict["TThostFtdcInstrumentIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcMarketIDType是一个市场代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcMarketIDType"] = "string" +typedefDict["TThostFtdcMarketIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcProductNameType是一个产品名称类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcProductNameType"] = "string" +typedefDict["TThostFtdcProductNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcExchangeIDType是一个交易所代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcExchangeIDType"] = "string" +typedefDict["TThostFtdcExchangeIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcExchangeNameType是一个交易所名称类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcExchangeNameType"] = "string" +typedefDict["TThostFtdcExchangeNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcExchangeAbbrType是一个交易所简称类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcExchangeAbbrType"] = "string" +typedefDict["TThostFtdcExchangeAbbrType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcExchangeFlagType是一个交易所标志类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcExchangeFlagType"] = "string" +typedefDict["TThostFtdcExchangeFlagType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcMacAddressType是一个Mac地址类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcMacAddressType"] = "string" +typedefDict["TThostFtdcMacAddressType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSystemIDType是一个系统编号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcSystemIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcExchangePropertyType是一个交易所属性类型 #////////////////////////////////////////////////////////////////////// #正常 -defineDict["Sgit_FTDC_EXP_Normal"] = '0' +defineDict["THOST_FTDC_EXP_Normal"] = '0' #根据成交生成报单 -defineDict["Sgit_FTDC_EXP_GenOrderByTrade"] = '1' +defineDict["THOST_FTDC_EXP_GenOrderByTrade"] = '1' -typedefDict["TSgitFtdcExchangePropertyType"] = "char" +typedefDict["TThostFtdcExchangePropertyType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcDateType是一个日期类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcDateType"] = "string" +typedefDict["TThostFtdcDateType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcTimeType是一个时间类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcTimeType"] = "string" +typedefDict["TThostFtdcTimeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcLongTimeType是一个长时间类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcLongTimeType"] = "string" +typedefDict["TThostFtdcLongTimeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcInstrumentNameType是一个合约名称类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcInstrumentNameType"] = "string" +typedefDict["TThostFtdcInstrumentNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcSettlementGroupIDType是一个结算组代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcSettlementGroupIDType"] = "string" +typedefDict["TThostFtdcSettlementGroupIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcOrderSysIDType是一个报单编号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcOrderSysIDType"] = "string" +typedefDict["TThostFtdcOrderSysIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcTradeIDType是一个成交编号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcTradeIDType"] = "string" +typedefDict["TThostFtdcTradeIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcCommandTypeType是一个DB命令类型类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCommandTypeType"] = "string" +typedefDict["TThostFtdcCommandTypeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcIPAddressType是一个IP地址类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcIPAddressType"] = "string" +typedefDict["TThostFtdcIPAddressType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcIPPortType是一个IP端口类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcIPPortType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcProductInfoType是一个产品信息类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcProductInfoType"] = "string" +typedefDict["TThostFtdcProductInfoType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcProtocolInfoType是一个协议信息类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcProtocolInfoType"] = "string" +typedefDict["TThostFtdcProtocolInfoType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcBusinessUnitType是一个业务单元类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcBusinessUnitType"] = "string" +typedefDict["TThostFtdcBusinessUnitType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcDepositSeqNoType是一个出入金流水号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcDepositSeqNoType"] = "string" +typedefDict["TThostFtdcDepositSeqNoType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcIdentifiedCardNoType是一个证件号码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcIdentifiedCardNoType"] = "string" +typedefDict["TThostFtdcIdentifiedCardNoType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcIdCardTypeType是一个证件类型类型 #////////////////////////////////////////////////////////////////////// #组织机构代码 -defineDict["Sgit_FTDC_ICT_EID"] = '0' -#身份证 -defineDict["Sgit_FTDC_ICT_IDCard"] = '1' +defineDict["THOST_FTDC_ICT_EID"] = '0' +#中国公民身份证 +defineDict["THOST_FTDC_ICT_IDCard"] = '1' #军官证 -defineDict["Sgit_FTDC_ICT_OfficerIDCard"] = '2' +defineDict["THOST_FTDC_ICT_OfficerIDCard"] = '2' #警官证 -defineDict["Sgit_FTDC_ICT_PoliceIDCard"] = '3' +defineDict["THOST_FTDC_ICT_PoliceIDCard"] = '3' #士兵证 -defineDict["Sgit_FTDC_ICT_SoldierIDCard"] = '4' +defineDict["THOST_FTDC_ICT_SoldierIDCard"] = '4' #户口簿 -defineDict["Sgit_FTDC_ICT_HouseholdRegister"] = '5' +defineDict["THOST_FTDC_ICT_HouseholdRegister"] = '5' #护照 -defineDict["Sgit_FTDC_ICT_Passport"] = '6' +defineDict["THOST_FTDC_ICT_Passport"] = '6' #台胞证 -defineDict["Sgit_FTDC_ICT_TaiwanCompatriotIDCard"] = '7' +defineDict["THOST_FTDC_ICT_TaiwanCompatriotIDCard"] = '7' #回乡证 -defineDict["Sgit_FTDC_ICT_HomeComingCard"] = '8' +defineDict["THOST_FTDC_ICT_HomeComingCard"] = '8' #营业执照号 -defineDict["Sgit_FTDC_ICT_LicenseNo"] = '9' -#税务登记号 -defineDict["Sgit_FTDC_ICT_TaxNo"] = 'A' +defineDict["THOST_FTDC_ICT_LicenseNo"] = '9' +#税务登记号/当地纳税ID +defineDict["THOST_FTDC_ICT_TaxNo"] = 'A' +#港澳居民来往内地通行证 +defineDict["THOST_FTDC_ICT_HMMainlandTravelPermit"] = 'B' +#台湾居民来往大陆通行证 +defineDict["THOST_FTDC_ICT_TwMainlandTravelPermit"] = 'C' +#驾照 +defineDict["THOST_FTDC_ICT_DrivingLicense"] = 'D' +#当地社保ID +defineDict["THOST_FTDC_ICT_SocialID"] = 'F' +#当地身份证 +defineDict["THOST_FTDC_ICT_LocalID"] = 'G' +#商业登记证 +defineDict["THOST_FTDC_ICT_BusinessRegistration"] = 'H' +#港澳永久性居民身份证 +defineDict["THOST_FTDC_ICT_HKMCIDCard"] = 'I' +#人行开户许可证 +defineDict["THOST_FTDC_ICT_AccountsPermits"] = 'J' #其他证件 -defineDict["Sgit_FTDC_ICT_OtherCard"] = 'x' +defineDict["THOST_FTDC_ICT_OtherCard"] = 'x' -typedefDict["TSgitFtdcIdCardTypeType"] = "char" +typedefDict["TThostFtdcIdCardTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcOrderLocalIDType是一个本地报单编号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcOrderLocalIDType"] = "string" +typedefDict["TThostFtdcOrderLocalIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcUserNameType是一个用户名称类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcUserNameType"] = "string" +typedefDict["TThostFtdcUserNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcPartyNameType是一个参与人名称类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcPartyNameType"] = "string" +typedefDict["TThostFtdcPartyNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcErrorMsgType是一个错误信息类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcErrorMsgType"] = "string" +typedefDict["TThostFtdcErrorMsgType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcFieldNameType是一个字段名类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcFieldNameType"] = "string" +typedefDict["TThostFtdcFieldNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcFieldContentType是一个字段内容类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcFieldContentType"] = "string" +typedefDict["TThostFtdcFieldContentType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcSystemNameType是一个系统名称类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcSystemNameType"] = "string" +typedefDict["TThostFtdcSystemNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcContentType是一个消息正文类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcContentType"] = "string" +typedefDict["TThostFtdcContentType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcInvestorRangeType是一个投资者范围类型 #////////////////////////////////////////////////////////////////////// #所有 -defineDict["Sgit_FTDC_IR_All"] = '1' +defineDict["THOST_FTDC_IR_All"] = '1' #投资者组 -defineDict["Sgit_FTDC_IR_Group"] = '2' +defineDict["THOST_FTDC_IR_Group"] = '2' #单一投资者 -defineDict["Sgit_FTDC_IR_Single"] = '3' +defineDict["THOST_FTDC_IR_Single"] = '3' -typedefDict["TSgitFtdcInvestorRangeType"] = "char" +typedefDict["TThostFtdcInvestorRangeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcDepartmentRangeType是一个投资者范围类型 #////////////////////////////////////////////////////////////////////// #所有 -defineDict["Sgit_FTDC_DR_All"] = '1' +defineDict["THOST_FTDC_DR_All"] = '1' #组织架构 -defineDict["Sgit_FTDC_DR_Group"] = '2' +defineDict["THOST_FTDC_DR_Group"] = '2' #单一投资者 -defineDict["Sgit_FTDC_DR_Single"] = '3' +defineDict["THOST_FTDC_DR_Single"] = '3' -typedefDict["TSgitFtdcDepartmentRangeType"] = "char" +typedefDict["TThostFtdcDepartmentRangeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcDataSyncStatusType是一个数据同步状态类型 #////////////////////////////////////////////////////////////////////// #未同步 -defineDict["Sgit_FTDC_DS_Asynchronous"] = '1' +defineDict["THOST_FTDC_DS_Asynchronous"] = '1' #同步中 -defineDict["Sgit_FTDC_DS_Synchronizing"] = '2' +defineDict["THOST_FTDC_DS_Synchronizing"] = '2' #已同步 -defineDict["Sgit_FTDC_DS_Synchronized"] = '3' +defineDict["THOST_FTDC_DS_Synchronized"] = '3' -typedefDict["TSgitFtdcDataSyncStatusType"] = "char" +typedefDict["TThostFtdcDataSyncStatusType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcBrokerDataSyncStatusType是一个经纪公司数据同步状态类型 #////////////////////////////////////////////////////////////////////// #已同步 -defineDict["Sgit_FTDC_BDS_Synchronized"] = '1' +defineDict["THOST_FTDC_BDS_Synchronized"] = '1' #同步中 -defineDict["Sgit_FTDC_BDS_Synchronizing"] = '2' +defineDict["THOST_FTDC_BDS_Synchronizing"] = '2' -typedefDict["TSgitFtdcBrokerDataSyncStatusType"] = "char" +typedefDict["TThostFtdcBrokerDataSyncStatusType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcExchangeConnectStatusType是一个交易所连接状态类型 #////////////////////////////////////////////////////////////////////// #没有任何连接 -defineDict["Sgit_FTDC_ECS_NoConnection"] = '1' +defineDict["THOST_FTDC_ECS_NoConnection"] = '1' #已经发出合约查询请求 -defineDict["Sgit_FTDC_ECS_QryInstrumentSent"] = '2' +defineDict["THOST_FTDC_ECS_QryInstrumentSent"] = '2' #已经获取信息 -defineDict["Sgit_FTDC_ECS_GotInformation"] = '9' +defineDict["THOST_FTDC_ECS_GotInformation"] = '9' -typedefDict["TSgitFtdcExchangeConnectStatusType"] = "char" +typedefDict["TThostFtdcExchangeConnectStatusType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcTraderConnectStatusType是一个交易所交易员连接状态类型 #////////////////////////////////////////////////////////////////////// #没有任何连接 -defineDict["Sgit_FTDC_TCS_NotConnected"] = '1' +defineDict["THOST_FTDC_TCS_NotConnected"] = '1' #已经连接 -defineDict["Sgit_FTDC_TCS_Connected"] = '2' +defineDict["THOST_FTDC_TCS_Connected"] = '2' #已经发出合约查询请求 -defineDict["Sgit_FTDC_TCS_QryInstrumentSent"] = '3' +defineDict["THOST_FTDC_TCS_QryInstrumentSent"] = '3' #订阅私有流 -defineDict["Sgit_FTDC_TCS_SubPrivateFlow"] = '4' +defineDict["THOST_FTDC_TCS_SubPrivateFlow"] = '4' -typedefDict["TSgitFtdcTraderConnectStatusType"] = "char" +typedefDict["TThostFtdcTraderConnectStatusType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcFunctionCodeType是一个功能代码类型 #////////////////////////////////////////////////////////////////////// #数据异步化 -defineDict["Sgit_FTDC_FC_DataAsync"] = '1' +defineDict["THOST_FTDC_FC_DataAsync"] = '1' #强制用户登出 -defineDict["Sgit_FTDC_FC_ForceUserLogout"] = '2' +defineDict["THOST_FTDC_FC_ForceUserLogout"] = '2' #变更管理用户口令 -defineDict["Sgit_FTDC_FC_UserPasswordUpdate"] = '3' +defineDict["THOST_FTDC_FC_UserPasswordUpdate"] = '3' #变更经纪公司口令 -defineDict["Sgit_FTDC_FC_BrokerPasswordUpdate"] = '4' +defineDict["THOST_FTDC_FC_BrokerPasswordUpdate"] = '4' #变更投资者口令 -defineDict["Sgit_FTDC_FC_InvestorPasswordUpdate"] = '5' +defineDict["THOST_FTDC_FC_InvestorPasswordUpdate"] = '5' #报单插入 -defineDict["Sgit_FTDC_FC_OrderInsert"] = '6' +defineDict["THOST_FTDC_FC_OrderInsert"] = '6' #报单操作 -defineDict["Sgit_FTDC_FC_OrderAction"] = '7' +defineDict["THOST_FTDC_FC_OrderAction"] = '7' #同步系统数据 -defineDict["Sgit_FTDC_FC_SyncSystemData"] = '8' +defineDict["THOST_FTDC_FC_SyncSystemData"] = '8' #同步经纪公司数据 -defineDict["Sgit_FTDC_FC_SyncBrokerData"] = '9' +defineDict["THOST_FTDC_FC_SyncBrokerData"] = '9' #批量同步经纪公司数据 -defineDict["Sgit_FTDC_FC_BachSyncBrokerData"] = 'A' +defineDict["THOST_FTDC_FC_BachSyncBrokerData"] = 'A' #超级查询 -defineDict["Sgit_FTDC_FC_SuperQuery"] = 'B' -#报单插入 -defineDict["Sgit_FTDC_FC_ParkedOrderInsert"] = 'C' -#报单操作 -defineDict["Sgit_FTDC_FC_ParkedOrderAction"] = 'D' +defineDict["THOST_FTDC_FC_SuperQuery"] = 'B' +#预埋报单插入 +defineDict["THOST_FTDC_FC_ParkedOrderInsert"] = 'C' +#预埋报单操作 +defineDict["THOST_FTDC_FC_ParkedOrderAction"] = 'D' #同步动态令牌 -defineDict["Sgit_FTDC_FC_SyncOTP"] = 'E' +defineDict["THOST_FTDC_FC_SyncOTP"] = 'E' +#删除未知单 +defineDict["THOST_FTDC_FC_DeleteOrder"] = 'F' -typedefDict["TSgitFtdcFunctionCodeType"] = "char" +typedefDict["TThostFtdcFunctionCodeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcBrokerFunctionCodeType是一个经纪公司功能代码类型 #////////////////////////////////////////////////////////////////////// #强制用户登出 -defineDict["Sgit_FTDC_BFC_ForceUserLogout"] = '1' +defineDict["THOST_FTDC_BFC_ForceUserLogout"] = '1' #变更用户口令 -defineDict["Sgit_FTDC_BFC_UserPasswordUpdate"] = '2' +defineDict["THOST_FTDC_BFC_UserPasswordUpdate"] = '2' #同步经纪公司数据 -defineDict["Sgit_FTDC_BFC_SyncBrokerData"] = '3' +defineDict["THOST_FTDC_BFC_SyncBrokerData"] = '3' #批量同步经纪公司数据 -defineDict["Sgit_FTDC_BFC_BachSyncBrokerData"] = '4' +defineDict["THOST_FTDC_BFC_BachSyncBrokerData"] = '4' #报单插入 -defineDict["Sgit_FTDC_BFC_OrderInsert"] = '5' +defineDict["THOST_FTDC_BFC_OrderInsert"] = '5' #报单操作 -defineDict["Sgit_FTDC_BFC_OrderAction"] = '6' +defineDict["THOST_FTDC_BFC_OrderAction"] = '6' #全部查询 -defineDict["Sgit_FTDC_BFC_AllQuery"] = '7' +defineDict["THOST_FTDC_BFC_AllQuery"] = '7' #系统功能:登入/登出/修改密码等 -defineDict["Sgit_FTDC_BFC_log"] = 'a' +defineDict["THOST_FTDC_BFC_log"] = 'a' #基本查询:查询基础数据,如合约,交易所等常量 -defineDict["Sgit_FTDC_BFC_BaseQry"] = 'b' +defineDict["THOST_FTDC_BFC_BaseQry"] = 'b' #交易查询:如查成交,委托 -defineDict["Sgit_FTDC_BFC_TradeQry"] = 'c' +defineDict["THOST_FTDC_BFC_TradeQry"] = 'c' #交易功能:报单,撤单 -defineDict["Sgit_FTDC_BFC_Trade"] = 'd' +defineDict["THOST_FTDC_BFC_Trade"] = 'd' #银期转账 -defineDict["Sgit_FTDC_BFC_Virement"] = 'e' +defineDict["THOST_FTDC_BFC_Virement"] = 'e' #风险监控 -defineDict["Sgit_FTDC_BFC_Risk"] = 'f' +defineDict["THOST_FTDC_BFC_Risk"] = 'f' #查询/管理:查询会话,踢人等 -defineDict["Sgit_FTDC_BFC_Session"] = 'g' +defineDict["THOST_FTDC_BFC_Session"] = 'g' #风控通知控制 -defineDict["Sgit_FTDC_BFC_RiskNoticeCtl"] = 'h' +defineDict["THOST_FTDC_BFC_RiskNoticeCtl"] = 'h' #风控通知发送 -defineDict["Sgit_FTDC_BFC_RiskNotice"] = 'i' +defineDict["THOST_FTDC_BFC_RiskNotice"] = 'i' #察看经纪公司资金权限 -defineDict["Sgit_FTDC_BFC_BrokerDeposit"] = 'j' +defineDict["THOST_FTDC_BFC_BrokerDeposit"] = 'j' #资金查询 -defineDict["Sgit_FTDC_BFC_QueryFund"] = 'k' +defineDict["THOST_FTDC_BFC_QueryFund"] = 'k' #报单查询 -defineDict["Sgit_FTDC_BFC_QueryOrder"] = 'l' +defineDict["THOST_FTDC_BFC_QueryOrder"] = 'l' #成交查询 -defineDict["Sgit_FTDC_BFC_QueryTrade"] = 'm' +defineDict["THOST_FTDC_BFC_QueryTrade"] = 'm' #持仓查询 -defineDict["Sgit_FTDC_BFC_QueryPosition"] = 'n' +defineDict["THOST_FTDC_BFC_QueryPosition"] = 'n' #行情查询 -defineDict["Sgit_FTDC_BFC_QueryMarketData"] = 'o' +defineDict["THOST_FTDC_BFC_QueryMarketData"] = 'o' #用户事件查询 -defineDict["Sgit_FTDC_BFC_QueryUserEvent"] = 'p' +defineDict["THOST_FTDC_BFC_QueryUserEvent"] = 'p' #风险通知查询 -defineDict["Sgit_FTDC_BFC_QueryRiskNotify"] = 'q' +defineDict["THOST_FTDC_BFC_QueryRiskNotify"] = 'q' #出入金查询 -defineDict["Sgit_FTDC_BFC_QueryFundChange"] = 'r' +defineDict["THOST_FTDC_BFC_QueryFundChange"] = 'r' #投资者信息查询 -defineDict["Sgit_FTDC_BFC_QueryInvestor"] = 's' +defineDict["THOST_FTDC_BFC_QueryInvestor"] = 's' #交易编码查询 -defineDict["Sgit_FTDC_BFC_QueryTradingCode"] = 't' +defineDict["THOST_FTDC_BFC_QueryTradingCode"] = 't' #强平 -defineDict["Sgit_FTDC_BFC_ForceClose"] = 'u' +defineDict["THOST_FTDC_BFC_ForceClose"] = 'u' #压力测试 -defineDict["Sgit_FTDC_BFC_PressTest"] = 'v' +defineDict["THOST_FTDC_BFC_PressTest"] = 'v' #权益反算 -defineDict["Sgit_FTDC_BFC_RemainCalc"] = 'w' +defineDict["THOST_FTDC_BFC_RemainCalc"] = 'w' #净持仓保证金指标 -defineDict["Sgit_FTDC_BFC_NetPositionInd"] = 'x' +defineDict["THOST_FTDC_BFC_NetPositionInd"] = 'x' #风险预算 -defineDict["Sgit_FTDC_BFC_RiskPredict"] = 'y' +defineDict["THOST_FTDC_BFC_RiskPredict"] = 'y' #数据导出 -defineDict["Sgit_FTDC_BFC_DataExport"] = 'z' +defineDict["THOST_FTDC_BFC_DataExport"] = 'z' #风控指标设置 -defineDict["Sgit_FTDC_BFC_RiskTargetSetup"] = 'A' +defineDict["THOST_FTDC_BFC_RiskTargetSetup"] = 'A' #行情预警 -defineDict["Sgit_FTDC_BFC_MarketDataWarn"] = 'B' +defineDict["THOST_FTDC_BFC_MarketDataWarn"] = 'B' #业务通知查询 -defineDict["Sgit_FTDC_BFC_QryBizNotice"] = 'C' +defineDict["THOST_FTDC_BFC_QryBizNotice"] = 'C' #业务通知模板设置 -defineDict["Sgit_FTDC_BFC_CfgBizNotice"] = 'D' +defineDict["THOST_FTDC_BFC_CfgBizNotice"] = 'D' #同步动态令牌 -defineDict["Sgit_FTDC_BFC_SyncOTP"] = 'E' +defineDict["THOST_FTDC_BFC_SyncOTP"] = 'E' #发送业务通知 -defineDict["Sgit_FTDC_BFC_SendBizNotice"] = 'F' +defineDict["THOST_FTDC_BFC_SendBizNotice"] = 'F' #风险级别标准设置 -defineDict["Sgit_FTDC_BFC_CfgRiskLevelStd"] = 'G' +defineDict["THOST_FTDC_BFC_CfgRiskLevelStd"] = 'G' +#交易终端应急功能 +defineDict["THOST_FTDC_BFC_TbCommand"] = 'H' +#删除未知单 +defineDict["THOST_FTDC_BFC_DeleteOrder"] = 'J' +#预埋报单插入 +defineDict["THOST_FTDC_BFC_ParkedOrderInsert"] = 'K' +#预埋报单操作 +defineDict["THOST_FTDC_BFC_ParkedOrderAction"] = 'L' -typedefDict["TSgitFtdcBrokerFunctionCodeType"] = "char" +typedefDict["TThostFtdcBrokerFunctionCodeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcOrderActionStatusType是一个报单操作状态类型 #////////////////////////////////////////////////////////////////////// #已经提交 -defineDict["Sgit_FTDC_OAS_Submitted"] = 'a' +defineDict["THOST_FTDC_OAS_Submitted"] = 'a' #已经接受 -defineDict["Sgit_FTDC_OAS_Accepted"] = 'b' +defineDict["THOST_FTDC_OAS_Accepted"] = 'b' #已经被拒绝 -defineDict["Sgit_FTDC_OAS_Rejected"] = 'c' +defineDict["THOST_FTDC_OAS_Rejected"] = 'c' -typedefDict["TSgitFtdcOrderActionStatusType"] = "char" +typedefDict["TThostFtdcOrderActionStatusType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcOrderStatusType是一个报单状态类型 #////////////////////////////////////////////////////////////////////// #全部成交 -defineDict["Sgit_FTDC_OST_AllTraded"] = '0' +defineDict["THOST_FTDC_OST_AllTraded"] = '0' #部分成交还在队列中 -defineDict["Sgit_FTDC_OST_PartTradedQueueing"] = '1' +defineDict["THOST_FTDC_OST_PartTradedQueueing"] = '1' #部分成交不在队列中 -defineDict["Sgit_FTDC_OST_PartTradedNotQueueing"] = '2' +defineDict["THOST_FTDC_OST_PartTradedNotQueueing"] = '2' #未成交还在队列中 -defineDict["Sgit_FTDC_OST_NoTradeQueueing"] = '3' +defineDict["THOST_FTDC_OST_NoTradeQueueing"] = '3' #未成交不在队列中 -defineDict["Sgit_FTDC_OST_NoTradeNotQueueing"] = '4' +defineDict["THOST_FTDC_OST_NoTradeNotQueueing"] = '4' #撤单 -defineDict["Sgit_FTDC_OST_Canceled"] = '5' +defineDict["THOST_FTDC_OST_Canceled"] = '5' #未知 -defineDict["Sgit_FTDC_OST_Unknown"] = 'a' +defineDict["THOST_FTDC_OST_Unknown"] = 'a' #尚未触发 -defineDict["Sgit_FTDC_OST_NotTouched"] = 'b' +defineDict["THOST_FTDC_OST_NotTouched"] = 'b' #已触发 -defineDict["Sgit_FTDC_OST_Touched"] = 'c' +defineDict["THOST_FTDC_OST_Touched"] = 'c' -typedefDict["TSgitFtdcOrderStatusType"] = "char" +typedefDict["TThostFtdcOrderStatusType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcOrderSubmitStatusType是一个报单提交状态类型 #////////////////////////////////////////////////////////////////////// #已经提交 -defineDict["Sgit_FTDC_OSS_InsertSubmitted"] = '0' +defineDict["THOST_FTDC_OSS_InsertSubmitted"] = '0' #撤单已经提交 -defineDict["Sgit_FTDC_OSS_CancelSubmitted"] = '1' +defineDict["THOST_FTDC_OSS_CancelSubmitted"] = '1' #修改已经提交 -defineDict["Sgit_FTDC_OSS_ModifySubmitted"] = '2' +defineDict["THOST_FTDC_OSS_ModifySubmitted"] = '2' #已经接受 -defineDict["Sgit_FTDC_OSS_Accepted"] = '3' +defineDict["THOST_FTDC_OSS_Accepted"] = '3' #报单已经被拒绝 -defineDict["Sgit_FTDC_OSS_InsertRejected"] = '4' +defineDict["THOST_FTDC_OSS_InsertRejected"] = '4' #撤单已经被拒绝 -defineDict["Sgit_FTDC_OSS_CancelRejected"] = '5' +defineDict["THOST_FTDC_OSS_CancelRejected"] = '5' #改单已经被拒绝 -defineDict["Sgit_FTDC_OSS_ModifyRejected"] = '6' +defineDict["THOST_FTDC_OSS_ModifyRejected"] = '6' -typedefDict["TSgitFtdcOrderSubmitStatusType"] = "char" +typedefDict["TThostFtdcOrderSubmitStatusType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcPositionDateType是一个持仓日期类型 #////////////////////////////////////////////////////////////////////// #今日持仓 -defineDict["Sgit_FTDC_PSD_Today"] = '1' +defineDict["THOST_FTDC_PSD_Today"] = '1' #历史持仓 -defineDict["Sgit_FTDC_PSD_History"] = '2' +defineDict["THOST_FTDC_PSD_History"] = '2' -typedefDict["TSgitFtdcPositionDateType"] = "char" +typedefDict["TThostFtdcPositionDateType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcPositionDateTypeType是一个持仓日期类型类型 #////////////////////////////////////////////////////////////////////// #使用历史持仓 -defineDict["Sgit_FTDC_PDT_UseHistory"] = '1' +defineDict["THOST_FTDC_PDT_UseHistory"] = '1' #不使用历史持仓 -defineDict["Sgit_FTDC_PDT_NoUseHistory"] = '2' +defineDict["THOST_FTDC_PDT_NoUseHistory"] = '2' -typedefDict["TSgitFtdcPositionDateTypeType"] = "char" +typedefDict["TThostFtdcPositionDateTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcTradingRoleType是一个交易角色类型 #////////////////////////////////////////////////////////////////////// #代理 -defineDict["Sgit_FTDC_ER_Broker"] = '1' +defineDict["THOST_FTDC_ER_Broker"] = '1' #自营 -defineDict["Sgit_FTDC_ER_Host"] = '2' +defineDict["THOST_FTDC_ER_Host"] = '2' #做市商 -defineDict["Sgit_FTDC_ER_Maker"] = '3' +defineDict["THOST_FTDC_ER_Maker"] = '3' -typedefDict["TSgitFtdcTradingRoleType"] = "char" +typedefDict["TThostFtdcTradingRoleType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcProductClassType是一个产品类型类型 #////////////////////////////////////////////////////////////////////// #期货 -defineDict["Sgit_FTDC_PC_Futures"] = '1' -#期权 -defineDict["Sgit_FTDC_PC_Options"] = '2' +defineDict["THOST_FTDC_PC_Futures"] = '1' +#期货期权 +defineDict["THOST_FTDC_PC_Options"] = '2' #组合 -defineDict["Sgit_FTDC_PC_Combination"] = '3' +defineDict["THOST_FTDC_PC_Combination"] = '3' #即期 -defineDict["Sgit_FTDC_PC_Spot"] = '4' +defineDict["THOST_FTDC_PC_Spot"] = '4' #期转现 -defineDict["Sgit_FTDC_PC_EFP"] = '5' - -typedefDict["TSgitFtdcProductClassType"] = "char" +defineDict["THOST_FTDC_PC_EFP"] = '5' +#现货期权 +defineDict["THOST_FTDC_PC_SpotOption"] = '6' +defineDict["THOST_FTDC_PC_Defer"] = '7' +typedefDict["TThostFtdcProductClassType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcInstLifePhaseType是一个合约生命周期状态类型 #////////////////////////////////////////////////////////////////////// #未上市 -defineDict["Sgit_FTDC_IP_NotStart"] = '0' +defineDict["THOST_FTDC_IP_NotStart"] = '0' #上市 -defineDict["Sgit_FTDC_IP_Started"] = '1' +defineDict["THOST_FTDC_IP_Started"] = '1' #停牌 -defineDict["Sgit_FTDC_IP_Pause"] = '2' +defineDict["THOST_FTDC_IP_Pause"] = '2' #到期 -defineDict["Sgit_FTDC_IP_Expired"] = '3' +defineDict["THOST_FTDC_IP_Expired"] = '3' -typedefDict["TSgitFtdcInstLifePhaseType"] = "char" +typedefDict["TThostFtdcInstLifePhaseType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcDirectionType是一个买卖方向类型 #////////////////////////////////////////////////////////////////////// #买 -defineDict["Sgit_FTDC_D_Buy"] = '0' +defineDict["THOST_FTDC_D_Buy"] = '0' #卖 -defineDict["Sgit_FTDC_D_Sell"] = '1' +defineDict["THOST_FTDC_D_Sell"] = '1' -typedefDict["TSgitFtdcDirectionType"] = "char" +typedefDict["TThostFtdcDirectionType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcPositionTypeType是一个持仓类型类型 #////////////////////////////////////////////////////////////////////// #净持仓 -defineDict["Sgit_FTDC_PT_Net"] = '1' +defineDict["THOST_FTDC_PT_Net"] = '1' #综合持仓 -defineDict["Sgit_FTDC_PT_Gross"] = '2' +defineDict["THOST_FTDC_PT_Gross"] = '2' -typedefDict["TSgitFtdcPositionTypeType"] = "char" +typedefDict["TThostFtdcPositionTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcPosiDirectionType是一个持仓多空方向类型 #////////////////////////////////////////////////////////////////////// #净 -defineDict["Sgit_FTDC_PD_Net"] = '1' +defineDict["THOST_FTDC_PD_Net"] = '1' #多头 -defineDict["Sgit_FTDC_PD_Long"] = '2' +defineDict["THOST_FTDC_PD_Long"] = '2' #空头 -defineDict["Sgit_FTDC_PD_Short"] = '3' +defineDict["THOST_FTDC_PD_Short"] = '3' -typedefDict["TSgitFtdcPosiDirectionType"] = "char" +typedefDict["TThostFtdcPosiDirectionType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcSysSettlementStatusType是一个系统结算状态类型 #////////////////////////////////////////////////////////////////////// #不活跃 -defineDict["Sgit_FTDC_SS_NonActive"] = '1' +defineDict["THOST_FTDC_SS_NonActive"] = '1' #启动 -defineDict["Sgit_FTDC_SS_Startup"] = '2' +defineDict["THOST_FTDC_SS_Startup"] = '2' #操作 -defineDict["Sgit_FTDC_SS_Operating"] = '3' +defineDict["THOST_FTDC_SS_Operating"] = '3' #结算 -defineDict["Sgit_FTDC_SS_Settlement"] = '4' +defineDict["THOST_FTDC_SS_Settlement"] = '4' #结算完成 -defineDict["Sgit_FTDC_SS_SettlementFinished"] = '5' +defineDict["THOST_FTDC_SS_SettlementFinished"] = '5' -typedefDict["TSgitFtdcSysSettlementStatusType"] = "char" +typedefDict["TThostFtdcSysSettlementStatusType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcRatioAttrType是一个费率属性类型 #////////////////////////////////////////////////////////////////////// #交易费率 -defineDict["Sgit_FTDC_RA_Trade"] = '0' +defineDict["THOST_FTDC_RA_Trade"] = '0' #结算费率 -defineDict["Sgit_FTDC_RA_Settlement"] = '1' +defineDict["THOST_FTDC_RA_Settlement"] = '1' -typedefDict["TSgitFtdcRatioAttrType"] = "char" +typedefDict["TThostFtdcRatioAttrType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcHedgeFlagType是一个投机套保标志类型 #////////////////////////////////////////////////////////////////////// #投机 -defineDict["Sgit_FTDC_HF_Speculation"] = '1' +defineDict["THOST_FTDC_HF_Speculation"] = '1' #套利 -defineDict["Sgit_FTDC_HF_Arbitrage"] = '2' +defineDict["THOST_FTDC_HF_Arbitrage"] = '2' #套保 -defineDict["Sgit_FTDC_HF_Hedge"] = '3' +defineDict["THOST_FTDC_HF_Hedge"] = '3' +defineDict["THOST_FTDC_HF_DEFER"] = '4' +defineDict["THOST_FTDC_HF_MID"] = '5' -typedefDict["TSgitFtdcHedgeFlagType"] = "char" +typedefDict["TThostFtdcHedgeFlagType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcBillHedgeFlagType是一个投机套保标志类型 #////////////////////////////////////////////////////////////////////// #投机 -defineDict["Sgit_FTDC_BHF_Speculation"] = '1' +defineDict["THOST_FTDC_BHF_Speculation"] = '1' #套利 -defineDict["Sgit_FTDC_BHF_Arbitrage"] = '2' +defineDict["THOST_FTDC_BHF_Arbitrage"] = '2' #套保 -defineDict["Sgit_FTDC_BHF_Hedge"] = '3' +defineDict["THOST_FTDC_BHF_Hedge"] = '3' -typedefDict["TSgitFtdcBillHedgeFlagType"] = "char" +typedefDict["TThostFtdcBillHedgeFlagType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcClientIDTypeType是一个交易编码类型类型 #////////////////////////////////////////////////////////////////////// #投机 -defineDict["Sgit_FTDC_CIDT_Speculation"] = '1' +defineDict["THOST_FTDC_CIDT_Speculation"] = '1' #套利 -defineDict["Sgit_FTDC_CIDT_Arbitrage"] = '2' +defineDict["THOST_FTDC_CIDT_Arbitrage"] = '2' #套保 -defineDict["Sgit_FTDC_CIDT_Hedge"] = '3' +defineDict["THOST_FTDC_CIDT_Hedge"] = '3' -typedefDict["TSgitFtdcClientIDTypeType"] = "char" +typedefDict["TThostFtdcClientIDTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcOrderPriceTypeType是一个报单价格条件类型 #////////////////////////////////////////////////////////////////////// #任意价 -defineDict["Sgit_FTDC_OPT_AnyPrice"] = '1' +defineDict["THOST_FTDC_OPT_AnyPrice"] = '1' #限价 -defineDict["Sgit_FTDC_OPT_LimitPrice"] = '2' +defineDict["THOST_FTDC_OPT_LimitPrice"] = '2' #最优价 -defineDict["Sgit_FTDC_OPT_BestPrice"] = '3' +defineDict["THOST_FTDC_OPT_BestPrice"] = '3' #最新价 -defineDict["Sgit_FTDC_OPT_LastPrice"] = '4' +defineDict["THOST_FTDC_OPT_LastPrice"] = '4' #最新价浮动上浮1个ticks -defineDict["Sgit_FTDC_OPT_LastPricePlusOneTicks"] = '5' +defineDict["THOST_FTDC_OPT_LastPricePlusOneTicks"] = '5' #最新价浮动上浮2个ticks -defineDict["Sgit_FTDC_OPT_LastPricePlusTwoTicks"] = '6' +defineDict["THOST_FTDC_OPT_LastPricePlusTwoTicks"] = '6' #最新价浮动上浮3个ticks -defineDict["Sgit_FTDC_OPT_LastPricePlusThreeTicks"] = '7' +defineDict["THOST_FTDC_OPT_LastPricePlusThreeTicks"] = '7' #卖一价 -defineDict["Sgit_FTDC_OPT_AskPrice1"] = '8' +defineDict["THOST_FTDC_OPT_AskPrice1"] = '8' #卖一价浮动上浮1个ticks -defineDict["Sgit_FTDC_OPT_AskPrice1PlusOneTicks"] = '9' +defineDict["THOST_FTDC_OPT_AskPrice1PlusOneTicks"] = '9' #卖一价浮动上浮2个ticks -defineDict["Sgit_FTDC_OPT_AskPrice1PlusTwoTicks"] = 'A' +defineDict["THOST_FTDC_OPT_AskPrice1PlusTwoTicks"] = 'A' #卖一价浮动上浮3个ticks -defineDict["Sgit_FTDC_OPT_AskPrice1PlusThreeTicks"] = 'B' +defineDict["THOST_FTDC_OPT_AskPrice1PlusThreeTicks"] = 'B' #买一价 -defineDict["Sgit_FTDC_OPT_BidPrice1"] = 'C' +defineDict["THOST_FTDC_OPT_BidPrice1"] = 'C' #买一价浮动上浮1个ticks -defineDict["Sgit_FTDC_OPT_BidPrice1PlusOneTicks"] = 'D' +defineDict["THOST_FTDC_OPT_BidPrice1PlusOneTicks"] = 'D' #买一价浮动上浮2个ticks -defineDict["Sgit_FTDC_OPT_BidPrice1PlusTwoTicks"] = 'E' +defineDict["THOST_FTDC_OPT_BidPrice1PlusTwoTicks"] = 'E' #买一价浮动上浮3个ticks -defineDict["Sgit_FTDC_OPT_BidPrice1PlusThreeTicks"] = 'F' +defineDict["THOST_FTDC_OPT_BidPrice1PlusThreeTicks"] = 'F' +#五档价 +defineDict["THOST_FTDC_OPT_FiveLevelPrice"] = 'G' -typedefDict["TSgitFtdcOrderPriceTypeType"] = "char" +typedefDict["TThostFtdcOrderPriceTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcOffsetFlagType是一个开平标志类型 #////////////////////////////////////////////////////////////////////// #开仓 -defineDict["Sgit_FTDC_OF_Open"] = '0' +defineDict["THOST_FTDC_OF_Open"] = '0' #平仓 -defineDict["Sgit_FTDC_OF_Close"] = '1' +defineDict["THOST_FTDC_OF_Close"] = '1' #强平 -defineDict["Sgit_FTDC_OF_ForceClose"] = '2' +defineDict["THOST_FTDC_OF_ForceClose"] = '2' #平今 -defineDict["Sgit_FTDC_OF_CloseToday"] = '3' +defineDict["THOST_FTDC_OF_CloseToday"] = '3' #平昨 -defineDict["Sgit_FTDC_OF_CloseYesterday"] = '4' +defineDict["THOST_FTDC_OF_CloseYesterday"] = '4' #强减 -defineDict["Sgit_FTDC_OF_ForceOff"] = '5' +defineDict["THOST_FTDC_OF_ForceOff"] = '5' #本地强平 -defineDict["Sgit_FTDC_OF_LocalForceClose"] = '6' +defineDict["THOST_FTDC_OF_LocalForceClose"] = '6' -typedefDict["TSgitFtdcOffsetFlagType"] = "char" +typedefDict["TThostFtdcOffsetFlagType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcForceCloseReasonType是一个强平原因类型 #////////////////////////////////////////////////////////////////////// #非强平 -defineDict["Sgit_FTDC_FCC_NotForceClose"] = '0' +defineDict["THOST_FTDC_FCC_NotForceClose"] = '0' #资金不足 -defineDict["Sgit_FTDC_FCC_LackDeposit"] = '1' +defineDict["THOST_FTDC_FCC_LackDeposit"] = '1' #客户超仓 -defineDict["Sgit_FTDC_FCC_ClientOverPositionLimit"] = '2' +defineDict["THOST_FTDC_FCC_ClientOverPositionLimit"] = '2' #会员超仓 -defineDict["Sgit_FTDC_FCC_MemberOverPositionLimit"] = '3' +defineDict["THOST_FTDC_FCC_MemberOverPositionLimit"] = '3' #持仓非整数倍 -defineDict["Sgit_FTDC_FCC_NotMultiple"] = '4' +defineDict["THOST_FTDC_FCC_NotMultiple"] = '4' #违规 -defineDict["Sgit_FTDC_FCC_Violation"] = '5' +defineDict["THOST_FTDC_FCC_Violation"] = '5' #其它 -defineDict["Sgit_FTDC_FCC_Other"] = '6' +defineDict["THOST_FTDC_FCC_Other"] = '6' #自然人临近交割 -defineDict["Sgit_FTDC_FCC_PersonDeliv"] = '7' +defineDict["THOST_FTDC_FCC_PersonDeliv"] = '7' -typedefDict["TSgitFtdcForceCloseReasonType"] = "char" +typedefDict["TThostFtdcForceCloseReasonType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcOrderTypeType是一个报单类型类型 #////////////////////////////////////////////////////////////////////// #正常 -defineDict["Sgit_FTDC_ORDT_Normal"] = '0' +defineDict["THOST_FTDC_ORDT_Normal"] = '0' #报价衍生 -defineDict["Sgit_FTDC_ORDT_DeriveFromQuote"] = '1' +defineDict["THOST_FTDC_ORDT_DeriveFromQuote"] = '1' #组合衍生 -defineDict["Sgit_FTDC_ORDT_DeriveFromCombination"] = '2' +defineDict["THOST_FTDC_ORDT_DeriveFromCombination"] = '2' #组合报单 -defineDict["Sgit_FTDC_ORDT_Combination"] = '3' +defineDict["THOST_FTDC_ORDT_Combination"] = '3' #条件单 -defineDict["Sgit_FTDC_ORDT_ConditionalOrder"] = '4' +defineDict["THOST_FTDC_ORDT_ConditionalOrder"] = '4' #互换单 -defineDict["Sgit_FTDC_ORDT_Swap"] = '5' +defineDict["THOST_FTDC_ORDT_Swap"] = '5' -typedefDict["TSgitFtdcOrderTypeType"] = "char" +typedefDict["TThostFtdcOrderTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcTimeConditionType是一个有效期类型类型 #////////////////////////////////////////////////////////////////////// #立即完成,否则撤销 -defineDict["Sgit_FTDC_TC_IOC"] = '1' +defineDict["THOST_FTDC_TC_IOC"] = '1' #本节有效 -defineDict["Sgit_FTDC_TC_GFS"] = '2' +defineDict["THOST_FTDC_TC_GFS"] = '2' #当日有效 -defineDict["Sgit_FTDC_TC_GFD"] = '3' +defineDict["THOST_FTDC_TC_GFD"] = '3' #指定日期前有效 -defineDict["Sgit_FTDC_TC_GTD"] = '4' +defineDict["THOST_FTDC_TC_GTD"] = '4' #撤销前有效 -defineDict["Sgit_FTDC_TC_GTC"] = '5' +defineDict["THOST_FTDC_TC_GTC"] = '5' #集合竞价有效 -defineDict["Sgit_FTDC_TC_GFA"] = '6' +defineDict["THOST_FTDC_TC_GFA"] = '6' -typedefDict["TSgitFtdcTimeConditionType"] = "char" +typedefDict["TThostFtdcTimeConditionType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcVolumeConditionType是一个成交量类型类型 #////////////////////////////////////////////////////////////////////// #任何数量 -defineDict["Sgit_FTDC_VC_AV"] = '1' +defineDict["THOST_FTDC_VC_AV"] = '1' #最小数量 -defineDict["Sgit_FTDC_VC_MV"] = '2' +defineDict["THOST_FTDC_VC_MV"] = '2' #全部数量 -defineDict["Sgit_FTDC_VC_CV"] = '3' +defineDict["THOST_FTDC_VC_CV"] = '3' -typedefDict["TSgitFtdcVolumeConditionType"] = "char" +typedefDict["TThostFtdcVolumeConditionType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcContingentConditionType是一个触发条件类型 #////////////////////////////////////////////////////////////////////// #立即 -defineDict["Sgit_FTDC_CC_Immediately"] = '1' +defineDict["THOST_FTDC_CC_Immediately"] = '1' #止损 -defineDict["Sgit_FTDC_CC_Touch"] = '2' +defineDict["THOST_FTDC_CC_Touch"] = '2' #止赢 -defineDict["Sgit_FTDC_CC_TouchProfit"] = '3' +defineDict["THOST_FTDC_CC_TouchProfit"] = '3' #预埋单 -defineDict["Sgit_FTDC_CC_ParkedOrder"] = '4' +defineDict["THOST_FTDC_CC_ParkedOrder"] = '4' #最新价大于条件价 -defineDict["Sgit_FTDC_CC_LastPriceGreaterThanStopPrice"] = '5' +defineDict["THOST_FTDC_CC_LastPriceGreaterThanStopPrice"] = '5' #最新价大于等于条件价 -defineDict["Sgit_FTDC_CC_LastPriceGreaterEqualStopPrice"] = '6' +defineDict["THOST_FTDC_CC_LastPriceGreaterEqualStopPrice"] = '6' #最新价小于条件价 -defineDict["Sgit_FTDC_CC_LastPriceLesserThanStopPrice"] = '7' +defineDict["THOST_FTDC_CC_LastPriceLesserThanStopPrice"] = '7' #最新价小于等于条件价 -defineDict["Sgit_FTDC_CC_LastPriceLesserEqualStopPrice"] = '8' +defineDict["THOST_FTDC_CC_LastPriceLesserEqualStopPrice"] = '8' #卖一价大于条件价 -defineDict["Sgit_FTDC_CC_AskPriceGreaterThanStopPrice"] = '9' +defineDict["THOST_FTDC_CC_AskPriceGreaterThanStopPrice"] = '9' #卖一价大于等于条件价 -defineDict["Sgit_FTDC_CC_AskPriceGreaterEqualStopPrice"] = 'A' +defineDict["THOST_FTDC_CC_AskPriceGreaterEqualStopPrice"] = 'A' #卖一价小于条件价 -defineDict["Sgit_FTDC_CC_AskPriceLesserThanStopPrice"] = 'B' +defineDict["THOST_FTDC_CC_AskPriceLesserThanStopPrice"] = 'B' #卖一价小于等于条件价 -defineDict["Sgit_FTDC_CC_AskPriceLesserEqualStopPrice"] = 'C' +defineDict["THOST_FTDC_CC_AskPriceLesserEqualStopPrice"] = 'C' #买一价大于条件价 -defineDict["Sgit_FTDC_CC_BidPriceGreaterThanStopPrice"] = 'D' +defineDict["THOST_FTDC_CC_BidPriceGreaterThanStopPrice"] = 'D' #买一价大于等于条件价 -defineDict["Sgit_FTDC_CC_BidPriceGreaterEqualStopPrice"] = 'E' +defineDict["THOST_FTDC_CC_BidPriceGreaterEqualStopPrice"] = 'E' #买一价小于条件价 -defineDict["Sgit_FTDC_CC_BidPriceLesserThanStopPrice"] = 'F' +defineDict["THOST_FTDC_CC_BidPriceLesserThanStopPrice"] = 'F' #买一价小于等于条件价 -defineDict["Sgit_FTDC_CC_BidPriceLesserEqualStopPrice"] = 'H' +defineDict["THOST_FTDC_CC_BidPriceLesserEqualStopPrice"] = 'H' -typedefDict["TSgitFtdcContingentConditionType"] = "char" +typedefDict["TThostFtdcContingentConditionType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcActionFlagType是一个操作标志类型 #////////////////////////////////////////////////////////////////////// #删除 -defineDict["Sgit_FTDC_AF_Delete"] = '0' +defineDict["THOST_FTDC_AF_Delete"] = '0' #修改 -defineDict["Sgit_FTDC_AF_Modify"] = '3' +defineDict["THOST_FTDC_AF_Modify"] = '3' -typedefDict["TSgitFtdcActionFlagType"] = "char" +typedefDict["TThostFtdcActionFlagType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcTradingRightType是一个交易权限类型 #////////////////////////////////////////////////////////////////////// #可以交易 -defineDict["Sgit_FTDC_TR_Allow"] = '0' +defineDict["THOST_FTDC_TR_Allow"] = '0' #只能平仓 -defineDict["Sgit_FTDC_TR_CloseOnly"] = '1' +defineDict["THOST_FTDC_TR_CloseOnly"] = '1' #不能交易 -defineDict["Sgit_FTDC_TR_Forbidden"] = '2' +defineDict["THOST_FTDC_TR_Forbidden"] = '2' -typedefDict["TSgitFtdcTradingRightType"] = "char" +typedefDict["TThostFtdcTradingRightType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcOrderSourceType是一个报单来源类型 #////////////////////////////////////////////////////////////////////// #来自参与者 -defineDict["Sgit_FTDC_OSRC_Participant"] = '0' +defineDict["THOST_FTDC_OSRC_Participant"] = '0' #来自管理员 -defineDict["Sgit_FTDC_OSRC_Administrator"] = '1' +defineDict["THOST_FTDC_OSRC_Administrator"] = '1' -typedefDict["TSgitFtdcOrderSourceType"] = "char" +typedefDict["TThostFtdcOrderSourceType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcTradeTypeType是一个成交类型类型 #////////////////////////////////////////////////////////////////////// +#组合持仓拆分为单一持仓,初始化不应包含该类型的持仓 +defineDict["THOST_FTDC_TRDT_SplitCombination"] = '#' #普通成交 -defineDict["Sgit_FTDC_TRDT_Common"] = '0' +defineDict["THOST_FTDC_TRDT_Common"] = '0' #期权执行 -defineDict["Sgit_FTDC_TRDT_OptionsExecution"] = '1' +defineDict["THOST_FTDC_TRDT_OptionsExecution"] = '1' #OTC成交 -defineDict["Sgit_FTDC_TRDT_OTC"] = '2' +defineDict["THOST_FTDC_TRDT_OTC"] = '2' #期转现衍生成交 -defineDict["Sgit_FTDC_TRDT_EFPDerived"] = '3' +defineDict["THOST_FTDC_TRDT_EFPDerived"] = '3' #组合衍生成交 -defineDict["Sgit_FTDC_TRDT_CombinationDerived"] = '4' +defineDict["THOST_FTDC_TRDT_CombinationDerived"] = '4' -typedefDict["TSgitFtdcTradeTypeType"] = "char" +typedefDict["TThostFtdcTradeTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcPriceSourceType是一个成交价来源类型 #////////////////////////////////////////////////////////////////////// #前成交价 -defineDict["Sgit_FTDC_PSRC_LastPrice"] = '0' +defineDict["THOST_FTDC_PSRC_LastPrice"] = '0' #买委托价 -defineDict["Sgit_FTDC_PSRC_Buy"] = '1' +defineDict["THOST_FTDC_PSRC_Buy"] = '1' #卖委托价 -defineDict["Sgit_FTDC_PSRC_Sell"] = '2' +defineDict["THOST_FTDC_PSRC_Sell"] = '2' -typedefDict["TSgitFtdcPriceSourceType"] = "char" +typedefDict["TThostFtdcPriceSourceType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcInstrumentStatusType是一个合约交易状态类型 #////////////////////////////////////////////////////////////////////// #开盘前 -defineDict["Sgit_FTDC_IS_BeforeTrading"] = '0' +defineDict["THOST_FTDC_IS_BeforeTrading"] = '0' #非交易 -defineDict["Sgit_FTDC_IS_NoTrading"] = '1' +defineDict["THOST_FTDC_IS_NoTrading"] = '1' #连续交易 -defineDict["Sgit_FTDC_IS_Continous"] = '2' +defineDict["THOST_FTDC_IS_Continous"] = '2' #集合竞价报单 -defineDict["Sgit_FTDC_IS_AuctionOrdering"] = '3' +defineDict["THOST_FTDC_IS_AuctionOrdering"] = '3' #集合竞价价格平衡 -defineDict["Sgit_FTDC_IS_AuctionBalance"] = '4' +defineDict["THOST_FTDC_IS_AuctionBalance"] = '4' #集合竞价撮合 -defineDict["Sgit_FTDC_IS_AuctionMatch"] = '5' +defineDict["THOST_FTDC_IS_AuctionMatch"] = '5' #收盘 -defineDict["Sgit_FTDC_IS_Closed"] = '6' +defineDict["THOST_FTDC_IS_Closed"] = '6' -typedefDict["TSgitFtdcInstrumentStatusType"] = "char" +typedefDict["TThostFtdcInstrumentStatusType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcInstStatusEnterReasonType是一个品种进入交易状态原因类型 #////////////////////////////////////////////////////////////////////// #自动切换 -defineDict["Sgit_FTDC_IER_Automatic"] = '1' +defineDict["THOST_FTDC_IER_Automatic"] = '1' #手动切换 -defineDict["Sgit_FTDC_IER_Manual"] = '2' +defineDict["THOST_FTDC_IER_Manual"] = '2' #熔断 -defineDict["Sgit_FTDC_IER_Fuse"] = '3' +defineDict["THOST_FTDC_IER_Fuse"] = '3' -typedefDict["TSgitFtdcInstStatusEnterReasonType"] = "char" +typedefDict["TThostFtdcInstStatusEnterReasonType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcOrderActionRefType是一个报单操作引用类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcOrderActionRefType"] = "int" +typedefDict["TThostFtdcOrderActionRefType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcInstallCountType是一个安装数量类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcInstallCountType"] = "int" +typedefDict["TThostFtdcInstallCountType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcInstallIDType是一个安装编号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcInstallIDType"] = "int" +typedefDict["TThostFtdcInstallIDType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcErrorIDType是一个错误代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcErrorIDType"] = "int" +typedefDict["TThostFtdcErrorIDType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcSettlementIDType是一个结算编号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcSettlementIDType"] = "int" +typedefDict["TThostFtdcSettlementIDType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcVolumeType是一个数量类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcVolumeType"] = "int" +typedefDict["TThostFtdcVolumeType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcFrontIDType是一个前置编号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcFrontIDType"] = "int" +typedefDict["TThostFtdcFrontIDType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcSessionIDType是一个会话编号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcSessionIDType"] = "int" +typedefDict["TThostFtdcSessionIDType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcSequenceNoType是一个序号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcSequenceNoType"] = "int" +typedefDict["TThostFtdcSequenceNoType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcCommandNoType是一个DB命令序号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCommandNoType"] = "int" +typedefDict["TThostFtdcCommandNoType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcMillisecType是一个时间(毫秒)类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcMillisecType"] = "int" +typedefDict["TThostFtdcMillisecType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcVolumeMultipleType是一个合约数量乘数类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcVolumeMultipleType"] = "int" +typedefDict["TThostFtdcVolumeMultipleType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcTradingSegmentSNType是一个交易阶段编号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcTradingSegmentSNType"] = "int" +typedefDict["TThostFtdcTradingSegmentSNType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcRequestIDType是一个请求编号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcRequestIDType"] = "int" +typedefDict["TThostFtdcRequestIDType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcYearType是一个年份类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcYearType"] = "int" +typedefDict["TThostFtdcYearType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcMonthType是一个月份类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcMonthType"] = "int" +typedefDict["TThostFtdcMonthType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcBoolType是一个布尔型类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcBoolType"] = "int" +typedefDict["TThostFtdcBoolType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcPriceType是一个价格类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcPriceType"] = "float" +typedefDict["TThostFtdcPriceType"] = "float" #////////////////////////////////////////////////////////////////////// #TFtdcCombOffsetFlagType是一个组合开平标志类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCombOffsetFlagType"] = "string" +typedefDict["TThostFtdcCombOffsetFlagType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcCombHedgeFlagType是一个组合投机套保标志类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCombHedgeFlagType"] = "string" +typedefDict["TThostFtdcCombHedgeFlagType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcRatioType是一个比率类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcRatioType"] = "float" +typedefDict["TThostFtdcRatioType"] = "float" #////////////////////////////////////////////////////////////////////// #TFtdcMoneyType是一个资金类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcMoneyType"] = "float" +typedefDict["TThostFtdcMoneyType"] = "float" #////////////////////////////////////////////////////////////////////// #TFtdcLargeVolumeType是一个大额数量类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcLargeVolumeType"] = "float" +typedefDict["TThostFtdcLargeVolumeType"] = "float" #////////////////////////////////////////////////////////////////////// #TFtdcSequenceSeriesType是一个序列系列号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcSequenceSeriesType"] = "short" +typedefDict["TThostFtdcSequenceSeriesType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcCommPhaseNoType是一个通讯时段编号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCommPhaseNoType"] = "short" +typedefDict["TThostFtdcCommPhaseNoType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcSequenceLabelType是一个序列编号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcSequenceLabelType"] = "string" +typedefDict["TThostFtdcSequenceLabelType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUnderlyingMultipleType是一个基础商品乘数类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcUnderlyingMultipleType"] = "float" #////////////////////////////////////////////////////////////////////// #TFtdcPriorityType是一个优先级类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcPriorityType"] = "int" +typedefDict["TThostFtdcPriorityType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcContractCodeType是一个合同编号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcContractCodeType"] = "string" +typedefDict["TThostFtdcContractCodeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcCityType是一个市类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCityType"] = "string" +typedefDict["TThostFtdcCityType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcIsStockType是一个是否股民类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcIsStockType"] = "string" +typedefDict["TThostFtdcIsStockType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcChannelType是一个渠道类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcChannelType"] = "string" +typedefDict["TThostFtdcChannelType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcAddressType是一个通讯地址类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcAddressType"] = "string" +typedefDict["TThostFtdcAddressType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcZipCodeType是一个邮政编码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcZipCodeType"] = "string" +typedefDict["TThostFtdcZipCodeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcTelephoneType是一个联系电话类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcTelephoneType"] = "string" +typedefDict["TThostFtdcTelephoneType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcFaxType是一个传真类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcFaxType"] = "string" +typedefDict["TThostFtdcFaxType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcMobileType是一个手机类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcMobileType"] = "string" +typedefDict["TThostFtdcMobileType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcEMailType是一个电子邮件类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcEMailType"] = "string" +typedefDict["TThostFtdcEMailType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcMemoType是一个备注类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcMemoType"] = "string" +typedefDict["TThostFtdcMemoType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcCompanyCodeType是一个企业代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCompanyCodeType"] = "string" +typedefDict["TThostFtdcCompanyCodeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcWebsiteType是一个网站地址类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcWebsiteType"] = "string" +typedefDict["TThostFtdcWebsiteType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcTaxNoType是一个税务登记号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcTaxNoType"] = "string" +typedefDict["TThostFtdcTaxNoType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcBatchStatusType是一个处理状态类型 #////////////////////////////////////////////////////////////////////// #未上传 -defineDict["Sgit_FTDC_BS_NoUpload"] = '1' +defineDict["THOST_FTDC_BS_NoUpload"] = '1' #已上传 -defineDict["Sgit_FTDC_BS_Uploaded"] = '2' +defineDict["THOST_FTDC_BS_Uploaded"] = '2' #审核失败 -defineDict["Sgit_FTDC_BS_Failed"] = '3' +defineDict["THOST_FTDC_BS_Failed"] = '3' -typedefDict["TSgitFtdcBatchStatusType"] = "char" +typedefDict["TThostFtdcBatchStatusType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcPropertyIDType是一个属性代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcPropertyIDType"] = "string" +typedefDict["TThostFtdcPropertyIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcPropertyNameType是一个属性名称类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcPropertyNameType"] = "string" +typedefDict["TThostFtdcPropertyNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcLicenseNoType是一个营业执照号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcLicenseNoType"] = "string" +typedefDict["TThostFtdcLicenseNoType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcAgentIDType是一个经纪人代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcAgentIDType"] = "string" +typedefDict["TThostFtdcAgentIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcAgentNameType是一个经纪人名称类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcAgentNameType"] = "string" +typedefDict["TThostFtdcAgentNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcAgentGroupIDType是一个经纪人组代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcAgentGroupIDType"] = "string" +typedefDict["TThostFtdcAgentGroupIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcAgentGroupNameType是一个经纪人组名称类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcAgentGroupNameType"] = "string" +typedefDict["TThostFtdcAgentGroupNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcReturnStyleType是一个按品种返还方式类型 #////////////////////////////////////////////////////////////////////// #按所有品种 -defineDict["Sgit_FTDC_RS_All"] = '1' +defineDict["THOST_FTDC_RS_All"] = '1' #按品种 -defineDict["Sgit_FTDC_RS_ByProduct"] = '2' +defineDict["THOST_FTDC_RS_ByProduct"] = '2' -typedefDict["TSgitFtdcReturnStyleType"] = "char" +typedefDict["TThostFtdcReturnStyleType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcReturnPatternType是一个返还模式类型 #////////////////////////////////////////////////////////////////////// #按成交手数 -defineDict["Sgit_FTDC_RP_ByVolume"] = '1' +defineDict["THOST_FTDC_RP_ByVolume"] = '1' #按留存手续费 -defineDict["Sgit_FTDC_RP_ByFeeOnHand"] = '2' +defineDict["THOST_FTDC_RP_ByFeeOnHand"] = '2' -typedefDict["TSgitFtdcReturnPatternType"] = "char" +typedefDict["TThostFtdcReturnPatternType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcReturnLevelType是一个返还级别类型 #////////////////////////////////////////////////////////////////////// #级别1 -defineDict["Sgit_FTDC_RL_Level1"] = '1' +defineDict["THOST_FTDC_RL_Level1"] = '1' #级别2 -defineDict["Sgit_FTDC_RL_Level2"] = '2' +defineDict["THOST_FTDC_RL_Level2"] = '2' #级别3 -defineDict["Sgit_FTDC_RL_Level3"] = '3' +defineDict["THOST_FTDC_RL_Level3"] = '3' #级别4 -defineDict["Sgit_FTDC_RL_Level4"] = '4' +defineDict["THOST_FTDC_RL_Level4"] = '4' #级别5 -defineDict["Sgit_FTDC_RL_Level5"] = '5' +defineDict["THOST_FTDC_RL_Level5"] = '5' #级别6 -defineDict["Sgit_FTDC_RL_Level6"] = '6' +defineDict["THOST_FTDC_RL_Level6"] = '6' #级别7 -defineDict["Sgit_FTDC_RL_Level7"] = '7' +defineDict["THOST_FTDC_RL_Level7"] = '7' #级别8 -defineDict["Sgit_FTDC_RL_Level8"] = '8' +defineDict["THOST_FTDC_RL_Level8"] = '8' #级别9 -defineDict["Sgit_FTDC_RL_Level9"] = '9' +defineDict["THOST_FTDC_RL_Level9"] = '9' -typedefDict["TSgitFtdcReturnLevelType"] = "char" +typedefDict["TThostFtdcReturnLevelType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcReturnStandardType是一个返还标准类型 #////////////////////////////////////////////////////////////////////// #分阶段返还 -defineDict["Sgit_FTDC_RSD_ByPeriod"] = '1' +defineDict["THOST_FTDC_RSD_ByPeriod"] = '1' #按某一标准 -defineDict["Sgit_FTDC_RSD_ByStandard"] = '2' +defineDict["THOST_FTDC_RSD_ByStandard"] = '2' -typedefDict["TSgitFtdcReturnStandardType"] = "char" +typedefDict["TThostFtdcReturnStandardType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcMortgageTypeType是一个质押类型类型 #////////////////////////////////////////////////////////////////////// #质出 -defineDict["Sgit_FTDC_MT_Out"] = '0' +defineDict["THOST_FTDC_MT_Out"] = '0' #质入 -defineDict["Sgit_FTDC_MT_In"] = '1' +defineDict["THOST_FTDC_MT_In"] = '1' -typedefDict["TSgitFtdcMortgageTypeType"] = "char" +typedefDict["TThostFtdcMortgageTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcInvestorSettlementParamIDType是一个投资者结算参数代码类型 #////////////////////////////////////////////////////////////////////// #基础保证金 -defineDict["Sgit_FTDC_ISPI_BaseMargin"] = '1' +defineDict["THOST_FTDC_ISPI_BaseMargin"] = '1' #最低权益标准 -defineDict["Sgit_FTDC_ISPI_LowestInterest"] = '2' +defineDict["THOST_FTDC_ISPI_LowestInterest"] = '2' #质押比例 -defineDict["Sgit_FTDC_ISPI_MortgageRatio"] = '4' +defineDict["THOST_FTDC_ISPI_MortgageRatio"] = '4' #保证金算法 -defineDict["Sgit_FTDC_ISPI_MarginWay"] = '5' -#结算单(盯市)权益等于结存 -defineDict["Sgit_FTDC_ISPI_BillDeposit"] = '9' +defineDict["THOST_FTDC_ISPI_MarginWay"] = '5' +#ctp :结算单结存是否包含质押 +#sgit:结算单(盯市)权益等于结存 +defineDict["THOST_FTDC_ISPI_BillDeposit"] = '9' -typedefDict["TSgitFtdcInvestorSettlementParamIDType"] = "char" +typedefDict["TThostFtdcInvestorSettlementParamIDType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcExchangeSettlementParamIDType是一个交易所结算参数代码类型 #////////////////////////////////////////////////////////////////////// #质押比例 -defineDict["Sgit_FTDC_ESPI_MortgageRatio"] = '1' +defineDict["THOST_FTDC_ESPI_MortgageRatio"] = '1' #分项资金导入项 -defineDict["Sgit_FTDC_ESPI_OtherFundItem"] = '2' +defineDict["THOST_FTDC_ESPI_OtherFundItem"] = '2' #分项资金入交易所出入金 -defineDict["Sgit_FTDC_ESPI_OtherFundImport"] = '3' +defineDict["THOST_FTDC_ESPI_OtherFundImport"] = '3' #上期所交割手续费收取方式 -defineDict["Sgit_FTDC_ESPI_SHFEDelivFee"] = '4' +defineDict["THOST_FTDC_ESPI_SHFEDelivFee"] = '4' #大商所交割手续费收取方式 -defineDict["Sgit_FTDC_ESPI_DCEDelivFee"] = '5' +defineDict["THOST_FTDC_ESPI_DCEDelivFee"] = '5' #中金所开户最低可用金额 -defineDict["Sgit_FTDC_ESPI_CFFEXMinPrepa"] = '6' +defineDict["THOST_FTDC_ESPI_CFFEXMinPrepa"] = '6' +#郑商所结算方式 +defineDict["THOST_FTDC_ESPI_CZCESettlementType"] = '7' +#交易所交割手续费收取方式 +defineDict["THOST_FTDC_ESPI_ExchDelivFeeMode"] = '9' +#投资者交割手续费收取方式 +defineDict["THOST_FTDC_ESPI_DelivFeeMode"] = '0' +#郑商所组合持仓保证金收取方式 +defineDict["THOST_FTDC_ESPI_CZCEComMarginType"] = 'A' +#大商所套利保证金是否优惠 +defineDict["THOST_FTDC_ESPI_DceComMarginType"] = 'B' +#虚值期权保证金优惠比率 +defineDict["THOST_FTDC_ESPI_OptOutDisCountRate"] = 'a' +#最低保障系数 +defineDict["THOST_FTDC_ESPI_OptMiniGuarantee"] = 'b' -typedefDict["TSgitFtdcExchangeSettlementParamIDType"] = "char" +typedefDict["TThostFtdcExchangeSettlementParamIDType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcSystemParamIDType是一个系统参数代码类型 #////////////////////////////////////////////////////////////////////// #投资者代码最小长度 -defineDict["Sgit_FTDC_SPI_InvestorIDMinLength"] = '1' +defineDict["THOST_FTDC_SPI_InvestorIDMinLength"] = '1' #投资者帐号代码最小长度 -defineDict["Sgit_FTDC_SPI_AccountIDMinLength"] = '2' +defineDict["THOST_FTDC_SPI_AccountIDMinLength"] = '2' #投资者开户默认登录权限 -defineDict["Sgit_FTDC_SPI_UserRightLogon"] = '3' +defineDict["THOST_FTDC_SPI_UserRightLogon"] = '3' #投资者交易结算单成交汇总方式 -defineDict["Sgit_FTDC_SPI_SettlementBillTrade"] = '4' +defineDict["THOST_FTDC_SPI_SettlementBillTrade"] = '4' #统一开户更新交易编码方式 -defineDict["Sgit_FTDC_SPI_TradingCode"] = '5' +defineDict["THOST_FTDC_SPI_TradingCode"] = '5' #结算是否判断存在未复核的出入金和分项资金 -defineDict["Sgit_FTDC_SPI_CheckFund"] = '6' +defineDict["THOST_FTDC_SPI_CheckFund"] = '6' #是否启用手续费模板数据权限 -defineDict["Sgit_FTDC_SPI_CommModelRight"] = '7' +defineDict["THOST_FTDC_SPI_CommModelRight"] = '7' +#是否启用保证金率模板数据权限 +defineDict["THOST_FTDC_SPI_MarginModelRight"] = '9' #是否规范用户才能激活 -defineDict["Sgit_FTDC_SPI_IsStandardActive"] = '8' +defineDict["THOST_FTDC_SPI_IsStandardActive"] = '8' #上传的交易所结算文件路径 -defineDict["Sgit_FTDC_SPI_UploadSettlementFile"] = 'U' +defineDict["THOST_FTDC_SPI_UploadSettlementFile"] = 'U' #上报保证金监控中心文件路径 -defineDict["Sgit_FTDC_SPI_DownloadCSRCFile"] = 'D' +defineDict["THOST_FTDC_SPI_DownloadCSRCFile"] = 'D' #生成的结算单文件路径 -defineDict["Sgit_FTDC_SPI_SettlementBillFile"] = 'S' +defineDict["THOST_FTDC_SPI_SettlementBillFile"] = 'S' #证监会文件标识 -defineDict["Sgit_FTDC_SPI_CSRCOthersFile"] = 'C' +defineDict["THOST_FTDC_SPI_CSRCOthersFile"] = 'C' #投资者照片路径 -defineDict["Sgit_FTDC_SPI_InvestorPhoto"] = 'P' +defineDict["THOST_FTDC_SPI_InvestorPhoto"] = 'P' #全结经纪公司上传文件路径 -defineDict["Sgit_FTDC_SPI_CSRCData"] = 'R' +defineDict["THOST_FTDC_SPI_CSRCData"] = 'R' #开户密码录入方式 -defineDict["Sgit_FTDC_SPI_InvestorPwdModel"] = 'I' +defineDict["THOST_FTDC_SPI_InvestorPwdModel"] = 'I' #投资者中金所结算文件下载路径 -defineDict["Sgit_FTDC_SPI_CFFEXInvestorSettleFile"] = 'F' +defineDict["THOST_FTDC_SPI_CFFEXInvestorSettleFile"] = 'F' #投资者代码编码方式 -defineDict["Sgit_FTDC_SPI_InvestorIDType"] = 'a' +defineDict["THOST_FTDC_SPI_InvestorIDType"] = 'a' +#休眠户最高权益 +defineDict["THOST_FTDC_SPI_FreezeMaxReMain"] = 'r' +#手续费相关操作实时上场开关 +defineDict["THOST_FTDC_SPI_IsSync"] = 'A' +#解除开仓权限限制 +defineDict["THOST_FTDC_SPI_RelieveOpenLimit"] = 'O' +#是否规范用户才能休眠 +defineDict["THOST_FTDC_SPI_IsStandardFreeze"] = 'X' +#郑商所是否开放所有品种套保交易 +defineDict["THOST_FTDC_SPI_CZCENormalProductHedge"] = 'B' -typedefDict["TSgitFtdcSystemParamIDType"] = "char" +typedefDict["TThostFtdcSystemParamIDType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcTradeParamIDType是一个交易系统参数代码类型 #////////////////////////////////////////////////////////////////////// #系统加密算法 -defineDict["Sgit_FTDC_TPID_EncryptionStandard"] = 'E' +defineDict["THOST_FTDC_TPID_EncryptionStandard"] = 'E' #系统风险算法 -defineDict["Sgit_FTDC_TPID_RiskMode"] = 'R' +defineDict["THOST_FTDC_TPID_RiskMode"] = 'R' #系统风险算法是否全局 0-否 1-是 -defineDict["Sgit_FTDC_TPID_RiskModeGlobal"] = 'G' +defineDict["THOST_FTDC_TPID_RiskModeGlobal"] = 'G' +#密码加密算法 +defineDict["THOST_FTDC_TPID_modeEncode"] = 'P' +#价格小数位数参数 +defineDict["THOST_FTDC_TPID_tickMode"] = 'T' +#用户最大会话数 +defineDict["THOST_FTDC_TPID_SingleUserSessionMaxNum"] = 'S' +#最大连续登录失败数 +defineDict["THOST_FTDC_TPID_LoginFailMaxNum"] = 'L' +#是否强制认证 +defineDict["THOST_FTDC_TPID_IsAuthForce"] = 'A' +#是否冻结证券持仓 +defineDict["THOST_FTDC_TPID_IsPosiFreeze"] = 'F' +#是否限仓 +defineDict["THOST_FTDC_TPID_IsPosiLimit"] = 'M' +#郑商所询价时间间隔 +defineDict["THOST_FTDC_TPID_ForQuoteTimeInterval"] = 'Q' -typedefDict["TSgitFtdcTradeParamIDType"] = "char" +typedefDict["TThostFtdcTradeParamIDType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcSettlementParamValueType是一个参数代码值类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcSettlementParamValueType"] = "string" +typedefDict["TThostFtdcSettlementParamValueType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcCounterIDType是一个计数器代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCounterIDType"] = "string" +typedefDict["TThostFtdcCounterIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcInvestorGroupNameType是一个投资者分组名称类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcInvestorGroupNameType"] = "string" +typedefDict["TThostFtdcInvestorGroupNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcBrandCodeType是一个牌号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcBrandCodeType"] = "string" +typedefDict["TThostFtdcBrandCodeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcWarehouseType是一个仓库类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcWarehouseType"] = "string" +typedefDict["TThostFtdcWarehouseType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcProductDateType是一个产期类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcProductDateType"] = "string" +typedefDict["TThostFtdcProductDateType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcGradeType是一个等级类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcGradeType"] = "string" +typedefDict["TThostFtdcGradeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcClassifyType是一个类别类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcClassifyType"] = "string" +typedefDict["TThostFtdcClassifyType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcPositionType是一个货位类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcPositionType"] = "string" +typedefDict["TThostFtdcPositionType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcYieldlyType是一个产地类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcYieldlyType"] = "string" +typedefDict["TThostFtdcYieldlyType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcWeightType是一个公定重量类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcWeightType"] = "string" +typedefDict["TThostFtdcWeightType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcSubEntryFundNoType是一个分项资金流水号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcSubEntryFundNoType"] = "int" +typedefDict["TThostFtdcSubEntryFundNoType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcFileIDType是一个文件标识类型 #////////////////////////////////////////////////////////////////////// #资金数据 -defineDict["Sgit_FTDC_FI_SettlementFund"] = 'F' +defineDict["THOST_FTDC_FI_SettlementFund"] = 'F' #成交数据 -defineDict["Sgit_FTDC_FI_Trade"] = 'T' +defineDict["THOST_FTDC_FI_Trade"] = 'T' #投资者持仓数据 -defineDict["Sgit_FTDC_FI_InvestorPosition"] = 'P' +defineDict["THOST_FTDC_FI_InvestorPosition"] = 'P' #投资者分项资金数据 -defineDict["Sgit_FTDC_FI_SubEntryFund"] = 'O' -#郑商所组合持仓数据 -defineDict["Sgit_FTDC_FI_CZCECombinationPos"] = 'C' +defineDict["THOST_FTDC_FI_SubEntryFund"] = 'O' +#ctp :组合持仓数据 +#sgit:郑商所组合持仓数据 +defineDict["THOST_FTDC_FI_CZCECombinationPos"] = 'C' #上报保证金监控中心数据 -defineDict["Sgit_FTDC_FI_CSRCData"] = 'R' +defineDict["THOST_FTDC_FI_CSRCData"] = 'R' +#郑商所平仓了结数据 +defineDict["THOST_FTDC_FI_CZCEClose"] = 'L' +#郑商所非平仓了结数据 +defineDict["THOST_FTDC_FI_CZCENoClose"] = 'N' +#持仓明细数据 +defineDict["THOST_FTDC_FI_PositionDtl"] = 'D' +#期权执行文件 +defineDict["THOST_FTDC_FI_OptionStrike"] = 'S' +#结算价比对文件 +defineDict["THOST_FTDC_FI_SettlementPriceComparison"] = 'M' +#上期所非持仓变动明细 +defineDict["THOST_FTDC_FI_NonTradePosChange"] = 'B' -typedefDict["TSgitFtdcFileIDType"] = "char" +typedefDict["TThostFtdcFileIDType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcFileNameType是一个文件名称类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcFileNameType"] = "string" +typedefDict["TThostFtdcFileNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcFileTypeType是一个文件上传类型类型 #////////////////////////////////////////////////////////////////////// #结算 -defineDict["Sgit_FTDC_FUT_Settlement"] = '0' +defineDict["THOST_FTDC_FUT_Settlement"] = '0' #核对 -defineDict["Sgit_FTDC_FUT_Check"] = '1' +defineDict["THOST_FTDC_FUT_Check"] = '1' -typedefDict["TSgitFtdcFileTypeType"] = "char" +typedefDict["TThostFtdcFileTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcFileFormatType是一个文件格式类型 #////////////////////////////////////////////////////////////////////// #文本文件(.txt) -defineDict["Sgit_FTDC_FFT_Txt"] = '0' +defineDict["THOST_FTDC_FFT_Txt"] = '0' #压缩文件(.zip) -defineDict["Sgit_FTDC_FFT_Zip"] = '1' +defineDict["THOST_FTDC_FFT_Zip"] = '1' #DBF文件(.dbf) -defineDict["Sgit_FTDC_FFT_DBF"] = '2' +defineDict["THOST_FTDC_FFT_DBF"] = '2' -typedefDict["TSgitFtdcFileFormatType"] = "char" +typedefDict["TThostFtdcFileFormatType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcFileUploadStatusType是一个文件状态类型 #////////////////////////////////////////////////////////////////////// #上传成功 -defineDict["Sgit_FTDC_FUS_SucceedUpload"] = '1' +defineDict["THOST_FTDC_FUS_SucceedUpload"] = '1' #上传失败 -defineDict["Sgit_FTDC_FUS_FailedUpload"] = '2' +defineDict["THOST_FTDC_FUS_FailedUpload"] = '2' #导入成功 -defineDict["Sgit_FTDC_FUS_SucceedLoad"] = '3' +defineDict["THOST_FTDC_FUS_SucceedLoad"] = '3' #导入部分成功 -defineDict["Sgit_FTDC_FUS_PartSucceedLoad"] = '4' +defineDict["THOST_FTDC_FUS_PartSucceedLoad"] = '4' #导入失败 -defineDict["Sgit_FTDC_FUS_FailedLoad"] = '5' +defineDict["THOST_FTDC_FUS_FailedLoad"] = '5' -typedefDict["TSgitFtdcFileUploadStatusType"] = "char" +typedefDict["TThostFtdcFileUploadStatusType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcTransferDirectionType是一个移仓方向类型 #////////////////////////////////////////////////////////////////////// #移出 -defineDict["Sgit_FTDC_TD_Out"] = '0' +defineDict["THOST_FTDC_TD_Out"] = '0' #移入 -defineDict["Sgit_FTDC_TD_In"] = '1' +defineDict["THOST_FTDC_TD_In"] = '1' -typedefDict["TSgitFtdcTransferDirectionType"] = "char" +typedefDict["TThostFtdcTransferDirectionType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcUploadModeType是一个上传文件类型类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcUploadModeType"] = "string" +typedefDict["TThostFtdcUploadModeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcAccountIDType是一个投资者帐号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcAccountIDType"] = "string" +typedefDict["TThostFtdcAccountIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcBankFlagType是一个银行统一标识类型类型 #////////////////////////////////////////////////////////////////////// -#工商银行 -defineDict["Sgit_FTDC_BF_ICBC"] = '1' -#农业银行 -defineDict["Sgit_FTDC_BF_ABC"] = '2' -#中国银行 -defineDict["Sgit_FTDC_BF_BC"] = '3' -#建设银行 -defineDict["Sgit_FTDC_BF_CBC"] = '4' -#交通银行 -defineDict["Sgit_FTDC_BF_BOC"] = '5' -#其他银行 -defineDict["Sgit_FTDC_BF_Other"] = 'Z' - -typedefDict["TSgitFtdcBankFlagType"] = "char" +typedefDict["TThostFtdcBankFlagType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcBankAccountType是一个银行账户类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcBankAccountType"] = "string" +typedefDict["TThostFtdcBankAccountType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcOpenNameType是一个银行账户的开户人名称类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcOpenNameType"] = "string" +typedefDict["TThostFtdcOpenNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcOpenBankType是一个银行账户的开户行类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcOpenBankType"] = "string" +typedefDict["TThostFtdcOpenBankType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcBankNameType是一个银行名称类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcBankNameType"] = "string" +typedefDict["TThostFtdcBankNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcPublishPathType是一个发布路径类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcPublishPathType"] = "string" +typedefDict["TThostFtdcPublishPathType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcOperatorIDType是一个操作员代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcOperatorIDType"] = "string" +typedefDict["TThostFtdcOperatorIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcMonthCountType是一个月份数量类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcMonthCountType"] = "int" +typedefDict["TThostFtdcMonthCountType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcAdvanceMonthArrayType是一个月份提前数组类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcAdvanceMonthArrayType"] = "string" +typedefDict["TThostFtdcAdvanceMonthArrayType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcDateExprType是一个日期表达式类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcDateExprType"] = "string" +typedefDict["TThostFtdcDateExprType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcInstrumentIDExprType是一个合约代码表达式类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcInstrumentIDExprType"] = "string" +typedefDict["TThostFtdcInstrumentIDExprType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcInstrumentNameExprType是一个合约名称表达式类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcInstrumentNameExprType"] = "string" +typedefDict["TThostFtdcInstrumentNameExprType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcSpecialCreateRuleType是一个特殊的创建规则类型 #////////////////////////////////////////////////////////////////////// #没有特殊创建规则 -defineDict["Sgit_FTDC_SC_NoSpecialRule"] = '0' +defineDict["THOST_FTDC_SC_NoSpecialRule"] = '0' #不包含春节 -defineDict["Sgit_FTDC_SC_NoSpringFestival"] = '1' +defineDict["THOST_FTDC_SC_NoSpringFestival"] = '1' -typedefDict["TSgitFtdcSpecialCreateRuleType"] = "char" +typedefDict["TThostFtdcSpecialCreateRuleType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcBasisPriceTypeType是一个挂牌基准价类型类型 #////////////////////////////////////////////////////////////////////// #上一合约结算价 -defineDict["Sgit_FTDC_IPT_LastSettlement"] = '1' +defineDict["THOST_FTDC_IPT_LastSettlement"] = '1' #上一合约收盘价 -defineDict["Sgit_FTDC_IPT_LaseClose"] = '2' +defineDict["THOST_FTDC_IPT_LaseClose"] = '2' -typedefDict["TSgitFtdcBasisPriceTypeType"] = "char" +typedefDict["TThostFtdcBasisPriceTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcProductLifePhaseType是一个产品生命周期状态类型 #////////////////////////////////////////////////////////////////////// #活跃 -defineDict["Sgit_FTDC_PLP_Active"] = '1' +defineDict["THOST_FTDC_PLP_Active"] = '1' #不活跃 -defineDict["Sgit_FTDC_PLP_NonActive"] = '2' +defineDict["THOST_FTDC_PLP_NonActive"] = '2' #注销 -defineDict["Sgit_FTDC_PLP_Canceled"] = '3' +defineDict["THOST_FTDC_PLP_Canceled"] = '3' -typedefDict["TSgitFtdcProductLifePhaseType"] = "char" +typedefDict["TThostFtdcProductLifePhaseType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcDeliveryModeType是一个交割方式类型 #////////////////////////////////////////////////////////////////////// #现金交割 -defineDict["Sgit_FTDC_DM_CashDeliv"] = '1' +defineDict["THOST_FTDC_DM_CashDeliv"] = '1' #实物交割 -defineDict["Sgit_FTDC_DM_CommodityDeliv"] = '2' +defineDict["THOST_FTDC_DM_CommodityDeliv"] = '2' -typedefDict["TSgitFtdcDeliveryModeType"] = "char" +typedefDict["TThostFtdcDeliveryModeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcLogLevelType是一个日志级别类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcLogLevelType"] = "string" +typedefDict["TThostFtdcLogLevelType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcProcessNameType是一个存储过程名称类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcProcessNameType"] = "string" +typedefDict["TThostFtdcProcessNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcOperationMemoType是一个操作摘要类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcOperationMemoType"] = "string" +typedefDict["TThostFtdcOperationMemoType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcFundIOTypeType是一个出入金类型类型 #////////////////////////////////////////////////////////////////////// #出入金 -defineDict["Sgit_FTDC_FIOT_FundIO"] = '1' +defineDict["THOST_FTDC_FIOT_FundIO"] = '1' #银期转帐 -defineDict["Sgit_FTDC_FIOT_Transfer"] = '2' +defineDict["THOST_FTDC_FIOT_Transfer"] = '2' +#银期换汇 +defineDict["THOST_FTDC_FIOT_SwapCurrency"] = '3' -typedefDict["TSgitFtdcFundIOTypeType"] = "char" +typedefDict["TThostFtdcFundIOTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcFundTypeType是一个资金类型类型 #////////////////////////////////////////////////////////////////////// #银行存款 -defineDict["Sgit_FTDC_FT_Deposite"] = '1' +defineDict["THOST_FTDC_FT_Deposite"] = '1' #分项资金 -defineDict["Sgit_FTDC_FT_ItemFund"] = '2' +defineDict["THOST_FTDC_FT_ItemFund"] = '2' #公司调整 -defineDict["Sgit_FTDC_FT_Company"] = '3' +defineDict["THOST_FTDC_FT_Company"] = '3' +#资金内转 +defineDict["THOST_FTDC_FT_InnerTransfer"] = '4' -typedefDict["TSgitFtdcFundTypeType"] = "char" +typedefDict["TThostFtdcFundTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcFundDirectionType是一个出入金方向类型 #////////////////////////////////////////////////////////////////////// #入金 -defineDict["Sgit_FTDC_FD_In"] = '1' +defineDict["THOST_FTDC_FD_In"] = '1' #出金 -defineDict["Sgit_FTDC_FD_Out"] = '2' +defineDict["THOST_FTDC_FD_Out"] = '2' -typedefDict["TSgitFtdcFundDirectionType"] = "char" +typedefDict["TThostFtdcFundDirectionType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcFundStatusType是一个资金状态类型 #////////////////////////////////////////////////////////////////////// #已录入 -defineDict["Sgit_FTDC_FS_Record"] = '1' +defineDict["THOST_FTDC_FS_Record"] = '1' #已复核 -defineDict["Sgit_FTDC_FS_Check"] = '2' +defineDict["THOST_FTDC_FS_Check"] = '2' #已冲销 -defineDict["Sgit_FTDC_FS_Charge"] = '3' +defineDict["THOST_FTDC_FS_Charge"] = '3' -typedefDict["TSgitFtdcFundStatusType"] = "char" +typedefDict["TThostFtdcFundStatusType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcBillNoType是一个票据号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcBillNoType"] = "string" +typedefDict["TThostFtdcBillNoType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcBillNameType是一个票据名称类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcBillNameType"] = "string" +typedefDict["TThostFtdcBillNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcPublishStatusType是一个发布状态类型 #////////////////////////////////////////////////////////////////////// #未发布 -defineDict["Sgit_FTDC_PS_None"] = '1' +defineDict["THOST_FTDC_PS_None"] = '1' #正在发布 -defineDict["Sgit_FTDC_PS_Publishing"] = '2' +defineDict["THOST_FTDC_PS_Publishing"] = '2' #已发布 -defineDict["Sgit_FTDC_PS_Published"] = '3' +defineDict["THOST_FTDC_PS_Published"] = '3' -typedefDict["TSgitFtdcPublishStatusType"] = "char" +typedefDict["TThostFtdcPublishStatusType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcEnumValueIDType是一个枚举值代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcEnumValueIDType"] = "string" +typedefDict["TThostFtdcEnumValueIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcEnumValueTypeType是一个枚举值类型类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcEnumValueTypeType"] = "string" +typedefDict["TThostFtdcEnumValueTypeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcEnumValueLabelType是一个枚举值名称类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcEnumValueLabelType"] = "string" +typedefDict["TThostFtdcEnumValueLabelType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcEnumValueResultType是一个枚举值结果类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcEnumValueResultType"] = "string" +typedefDict["TThostFtdcEnumValueResultType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcSystemStatusType是一个系统状态类型 #////////////////////////////////////////////////////////////////////// #不活跃 -defineDict["Sgit_FTDC_ES_NonActive"] = '1' +defineDict["THOST_FTDC_ES_NonActive"] = '1' #启动 -defineDict["Sgit_FTDC_ES_Startup"] = '2' +defineDict["THOST_FTDC_ES_Startup"] = '2' #交易开始初始化 -defineDict["Sgit_FTDC_ES_Initialize"] = '3' +defineDict["THOST_FTDC_ES_Initialize"] = '3' #交易完成初始化 -defineDict["Sgit_FTDC_ES_Initialized"] = '4' +defineDict["THOST_FTDC_ES_Initialized"] = '4' #收市开始 -defineDict["Sgit_FTDC_ES_Close"] = '5' +defineDict["THOST_FTDC_ES_Close"] = '5' #收市完成 -defineDict["Sgit_FTDC_ES_Closed"] = '6' +defineDict["THOST_FTDC_ES_Closed"] = '6' #结算 -defineDict["Sgit_FTDC_ES_Settlement"] = '7' +defineDict["THOST_FTDC_ES_Settlement"] = '7' -typedefDict["TSgitFtdcSystemStatusType"] = "char" +typedefDict["TThostFtdcSystemStatusType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcSettlementStatusType是一个结算状态类型 #////////////////////////////////////////////////////////////////////// #初始 -defineDict["Sgit_FTDC_STS_Initialize"] = '0' +defineDict["THOST_FTDC_STS_Initialize"] = '0' #结算中 -defineDict["Sgit_FTDC_STS_Settlementing"] = '1' +defineDict["THOST_FTDC_STS_Settlementing"] = '1' #已结算 -defineDict["Sgit_FTDC_STS_Settlemented"] = '2' +defineDict["THOST_FTDC_STS_Settlemented"] = '2' #结算完成 -defineDict["Sgit_FTDC_STS_Finished"] = '3' +defineDict["THOST_FTDC_STS_Finished"] = '3' -typedefDict["TSgitFtdcSettlementStatusType"] = "char" +typedefDict["TThostFtdcSettlementStatusType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcRangeIntTypeType是一个限定值类型类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcRangeIntTypeType"] = "string" +typedefDict["TThostFtdcRangeIntTypeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcRangeIntFromType是一个限定值下限类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcRangeIntFromType"] = "string" +typedefDict["TThostFtdcRangeIntFromType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcRangeIntToType是一个限定值上限类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcRangeIntToType"] = "string" +typedefDict["TThostFtdcRangeIntToType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcFunctionIDType是一个功能代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcFunctionIDType"] = "string" +typedefDict["TThostFtdcFunctionIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcFunctionValueCodeType是一个功能编码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcFunctionValueCodeType"] = "string" +typedefDict["TThostFtdcFunctionValueCodeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcFunctionNameType是一个功能名称类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcFunctionNameType"] = "string" +typedefDict["TThostFtdcFunctionNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcRoleIDType是一个角色编号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcRoleIDType"] = "string" +typedefDict["TThostFtdcRoleIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcRoleNameType是一个角色名称类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcRoleNameType"] = "string" +typedefDict["TThostFtdcRoleNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcDescriptionType是一个描述类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcDescriptionType"] = "string" +typedefDict["TThostFtdcDescriptionType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcCombineIDType是一个组合编号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCombineIDType"] = "string" +typedefDict["TThostFtdcCombineIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcCombineTypeType是一个组合类型类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCombineTypeType"] = "string" +typedefDict["TThostFtdcCombineTypeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcInvestorTypeType是一个投资者类型类型 #////////////////////////////////////////////////////////////////////// #自然人 -defineDict["Sgit_FTDC_CT_Person"] = '0' +defineDict["THOST_FTDC_CT_Person"] = '0' #法人 -defineDict["Sgit_FTDC_CT_Company"] = '1' +defineDict["THOST_FTDC_CT_Company"] = '1' #投资基金 -defineDict["Sgit_FTDC_CT_Fund"] = '2' +defineDict["THOST_FTDC_CT_Fund"] = '2' +#特殊法人 +defineDict["THOST_FTDC_CT_SpecialOrgan"] = '3' +#资管户 +defineDict["THOST_FTDC_CT_Asset"] = '4' -typedefDict["TSgitFtdcInvestorTypeType"] = "char" +typedefDict["TThostFtdcInvestorTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcBrokerTypeType是一个经纪公司类型类型 #////////////////////////////////////////////////////////////////////// #交易会员 -defineDict["Sgit_FTDC_BT_Trade"] = '0' +defineDict["THOST_FTDC_BT_Trade"] = '0' #交易结算会员 -defineDict["Sgit_FTDC_BT_TradeSettle"] = '1' +defineDict["THOST_FTDC_BT_TradeSettle"] = '1' -typedefDict["TSgitFtdcBrokerTypeType"] = "char" +typedefDict["TThostFtdcBrokerTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcRiskLevelType是一个风险等级类型 #////////////////////////////////////////////////////////////////////// #低风险客户 -defineDict["Sgit_FTDC_FAS_Low"] = '1' +defineDict["THOST_FTDC_FAS_Low"] = '1' #普通客户 -defineDict["Sgit_FTDC_FAS_Normal"] = '2' +defineDict["THOST_FTDC_FAS_Normal"] = '2' #关注客户 -defineDict["Sgit_FTDC_FAS_Focus"] = '3' +defineDict["THOST_FTDC_FAS_Focus"] = '3' #风险客户 -defineDict["Sgit_FTDC_FAS_Risk"] = '4' +defineDict["THOST_FTDC_FAS_Risk"] = '4' -typedefDict["TSgitFtdcRiskLevelType"] = "char" +typedefDict["TThostFtdcRiskLevelType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcFeeAcceptStyleType是一个手续费收取方式类型 #////////////////////////////////////////////////////////////////////// #按交易收取 -defineDict["Sgit_FTDC_FAS_ByTrade"] = '1' +defineDict["THOST_FTDC_FAS_ByTrade"] = '1' #按交割收取 -defineDict["Sgit_FTDC_FAS_ByDeliv"] = '2' +defineDict["THOST_FTDC_FAS_ByDeliv"] = '2' #不收 -defineDict["Sgit_FTDC_FAS_None"] = '3' +defineDict["THOST_FTDC_FAS_None"] = '3' #按指定手续费收取 -defineDict["Sgit_FTDC_FAS_FixFee"] = '4' +defineDict["THOST_FTDC_FAS_FixFee"] = '4' -typedefDict["TSgitFtdcFeeAcceptStyleType"] = "char" +typedefDict["TThostFtdcFeeAcceptStyleType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcPasswordTypeType是一个密码类型类型 #////////////////////////////////////////////////////////////////////// #交易密码 -defineDict["Sgit_FTDC_PWDT_Trade"] = '1' +defineDict["THOST_FTDC_PWDT_Trade"] = '1' #资金密码 -defineDict["Sgit_FTDC_PWDT_Account"] = '2' +defineDict["THOST_FTDC_PWDT_Account"] = '2' -typedefDict["TSgitFtdcPasswordTypeType"] = "char" +typedefDict["TThostFtdcPasswordTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcAlgorithmType是一个盈亏算法类型 #////////////////////////////////////////////////////////////////////// #浮盈浮亏都计算 -defineDict["Sgit_FTDC_AG_All"] = '1' +defineDict["THOST_FTDC_AG_All"] = '1' #浮盈不计,浮亏计 -defineDict["Sgit_FTDC_AG_OnlyLost"] = '2' +defineDict["THOST_FTDC_AG_OnlyLost"] = '2' #浮盈计,浮亏不计 -defineDict["Sgit_FTDC_AG_OnlyGain"] = '3' +defineDict["THOST_FTDC_AG_OnlyGain"] = '3' #浮盈浮亏都不计算 -defineDict["Sgit_FTDC_AG_None"] = '4' +defineDict["THOST_FTDC_AG_None"] = '4' -typedefDict["TSgitFtdcAlgorithmType"] = "char" +typedefDict["TThostFtdcAlgorithmType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcIncludeCloseProfitType是一个是否包含平仓盈利类型 #////////////////////////////////////////////////////////////////////// #包含平仓盈利 -defineDict["Sgit_FTDC_ICP_Include"] = '0' +defineDict["THOST_FTDC_ICP_Include"] = '0' #不包含平仓盈利 -defineDict["Sgit_FTDC_ICP_NotInclude"] = '2' +defineDict["THOST_FTDC_ICP_NotInclude"] = '2' -typedefDict["TSgitFtdcIncludeCloseProfitType"] = "char" +typedefDict["TThostFtdcIncludeCloseProfitType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcAllWithoutTradeType是一个是否受可提比例限制类型 #////////////////////////////////////////////////////////////////////// -#不受可提比例限制 -defineDict["Sgit_FTDC_AWT_Enable"] = '0' +#无仓无成交不受可提比例限制 +defineDict["THOST_FTDC_AWT_Enable"] = '0' #受可提比例限制 -defineDict["Sgit_FTDC_AWT_Disable"] = '2' +defineDict["THOST_FTDC_AWT_Disable"] = '2' +#无仓不受可提比例限制 +defineDict["THOST_FTDC_AWT_NoHoldEnable"] = '3' -typedefDict["TSgitFtdcAllWithoutTradeType"] = "char" +typedefDict["TThostFtdcAllWithoutTradeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcCommentType是一个盈亏算法说明类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCommentType"] = "string" +typedefDict["TThostFtdcCommentType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcVersionType是一个版本号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcVersionType"] = "string" +typedefDict["TThostFtdcVersionType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcTradeCodeType是一个交易代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcTradeCodeType"] = "string" +typedefDict["TThostFtdcTradeCodeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcTradeDateType是一个交易日期类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcTradeDateType"] = "string" +typedefDict["TThostFtdcTradeDateType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcTradeTimeType是一个交易时间类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcTradeTimeType"] = "string" +typedefDict["TThostFtdcTradeTimeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcTradeSerialType是一个发起方流水号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcTradeSerialType"] = "string" +typedefDict["TThostFtdcTradeSerialType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcTradeSerialNoType是一个发起方流水号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcTradeSerialNoType"] = "int" +typedefDict["TThostFtdcTradeSerialNoType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcFutureIDType是一个期货公司代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcFutureIDType"] = "string" +typedefDict["TThostFtdcFutureIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcBankIDType是一个银行代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcBankIDType"] = "string" +typedefDict["TThostFtdcBankIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcBankBrchIDType是一个银行分中心代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcBankBrchIDType"] = "string" +typedefDict["TThostFtdcBankBrchIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcBankBranchIDType是一个分中心代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcBankBranchIDType"] = "string" +typedefDict["TThostFtdcBankBranchIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcOperNoType是一个交易柜员类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcOperNoType"] = "string" +typedefDict["TThostFtdcOperNoType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcDeviceIDType是一个渠道标志类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcDeviceIDType"] = "string" +typedefDict["TThostFtdcDeviceIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcRecordNumType是一个记录数类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcRecordNumType"] = "string" +typedefDict["TThostFtdcRecordNumType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcFutureAccountType是一个期货资金账号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcFutureAccountType"] = "string" +typedefDict["TThostFtdcFutureAccountType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcFuturePwdFlagType是一个资金密码核对标志类型 #////////////////////////////////////////////////////////////////////// #不核对 -defineDict["Sgit_FTDC_FPWD_UnCheck"] = '0' +defineDict["THOST_FTDC_FPWD_UnCheck"] = '0' #核对 -defineDict["Sgit_FTDC_FPWD_Check"] = '1' +defineDict["THOST_FTDC_FPWD_Check"] = '1' -typedefDict["TSgitFtdcFuturePwdFlagType"] = "char" +typedefDict["TThostFtdcFuturePwdFlagType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcTransferTypeType是一个银期转账类型类型 #////////////////////////////////////////////////////////////////////// #银行转期货 -defineDict["Sgit_FTDC_TT_BankToFuture"] = '0' +defineDict["THOST_FTDC_TT_BankToFuture"] = '0' #期货转银行 -defineDict["Sgit_FTDC_TT_FutureToBank"] = '1' +defineDict["THOST_FTDC_TT_FutureToBank"] = '1' -typedefDict["TSgitFtdcTransferTypeType"] = "char" +typedefDict["TThostFtdcTransferTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcFutureAccPwdType是一个期货资金密码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcFutureAccPwdType"] = "string" +typedefDict["TThostFtdcFutureAccPwdType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcCurrencyCodeType是一个币种类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCurrencyCodeType"] = "string" +typedefDict["TThostFtdcCurrencyCodeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcRetCodeType是一个响应代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcRetCodeType"] = "string" +typedefDict["TThostFtdcRetCodeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcRetInfoType是一个响应信息类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcRetInfoType"] = "string" +typedefDict["TThostFtdcRetInfoType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcTradeAmtType是一个银行总余额类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcTradeAmtType"] = "string" +typedefDict["TThostFtdcTradeAmtType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcUseAmtType是一个银行可用余额类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcUseAmtType"] = "string" +typedefDict["TThostFtdcUseAmtType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcFetchAmtType是一个银行可取余额类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcFetchAmtType"] = "string" +typedefDict["TThostFtdcFetchAmtType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcTransferValidFlagType是一个转账有效标志类型 #////////////////////////////////////////////////////////////////////// #无效或失败 -defineDict["Sgit_FTDC_TVF_Invalid"] = '0' +defineDict["THOST_FTDC_TVF_Invalid"] = '0' #有效 -defineDict["Sgit_FTDC_TVF_Valid"] = '1' +defineDict["THOST_FTDC_TVF_Valid"] = '1' #冲正 -defineDict["Sgit_FTDC_TVF_Reverse"] = '2' +defineDict["THOST_FTDC_TVF_Reverse"] = '2' -typedefDict["TSgitFtdcTransferValidFlagType"] = "char" +typedefDict["TThostFtdcTransferValidFlagType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcCertCodeType是一个证件号码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCertCodeType"] = "string" +typedefDict["TThostFtdcCertCodeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcReasonType是一个事由类型 #////////////////////////////////////////////////////////////////////// #错单 -defineDict["Sgit_FTDC_RN_CD"] = '0' +defineDict["THOST_FTDC_RN_CD"] = '0' #资金在途 -defineDict["Sgit_FTDC_RN_ZT"] = '1' +defineDict["THOST_FTDC_RN_ZT"] = '1' #其它 -defineDict["Sgit_FTDC_RN_QT"] = '2' +defineDict["THOST_FTDC_RN_QT"] = '2' -typedefDict["TSgitFtdcReasonType"] = "char" +typedefDict["TThostFtdcReasonType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcFundProjectIDType是一个资金项目编号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcFundProjectIDType"] = "string" +typedefDict["TThostFtdcFundProjectIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcSexType是一个性别类型 #////////////////////////////////////////////////////////////////////// #未知 -defineDict["Sgit_FTDC_SEX_None"] = '0' +defineDict["THOST_FTDC_SEX_None"] = '0' #男 -defineDict["Sgit_FTDC_SEX_Man"] = '1' +defineDict["THOST_FTDC_SEX_Man"] = '1' #女 -defineDict["Sgit_FTDC_SEX_Woman"] = '2' +defineDict["THOST_FTDC_SEX_Woman"] = '2' -typedefDict["TSgitFtdcSexType"] = "char" +typedefDict["TThostFtdcSexType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcProfessionType是一个职业类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcProfessionType"] = "string" +typedefDict["TThostFtdcProfessionType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcNationalType是一个国籍类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcNationalType"] = "string" +typedefDict["TThostFtdcNationalType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcProvinceType是一个省类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcProvinceType"] = "string" +typedefDict["TThostFtdcProvinceType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcRegionType是一个区类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcRegionType"] = "string" +typedefDict["TThostFtdcRegionType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcCountryType是一个国家类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCountryType"] = "string" +typedefDict["TThostFtdcCountryType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcLicenseNOType是一个营业执照类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcLicenseNOType"] = "string" +typedefDict["TThostFtdcLicenseNOType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcCompanyTypeType是一个企业性质类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCompanyTypeType"] = "string" +typedefDict["TThostFtdcCompanyTypeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcBusinessScopeType是一个经营范围类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcBusinessScopeType"] = "string" +typedefDict["TThostFtdcBusinessScopeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcCapitalCurrencyType是一个注册资本币种类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCapitalCurrencyType"] = "string" +typedefDict["TThostFtdcCapitalCurrencyType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcUserTypeType是一个用户类型类型 #////////////////////////////////////////////////////////////////////// #投资者 -defineDict["Sgit_FTDC_UT_Investor"] = '0' +defineDict["THOST_FTDC_UT_Investor"] = '0' #操作员 -defineDict["Sgit_FTDC_UT_Operator"] = '1' +defineDict["THOST_FTDC_UT_Operator"] = '1' #管理员 -defineDict["Sgit_FTDC_UT_SuperUser"] = '2' +defineDict["THOST_FTDC_UT_SuperUser"] = '2' -typedefDict["TSgitFtdcUserTypeType"] = "char" +typedefDict["TThostFtdcUserTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcRateTypeType是一个费率类型类型 #////////////////////////////////////////////////////////////////////// #保证金率 -defineDict["Sgit_FTDC_RATETYPE_MarginRate"] = '2' +defineDict["THOST_FTDC_RATETYPE_MarginRate"] = '2' -typedefDict["TSgitFtdcRateTypeType"] = "char" +typedefDict["TThostFtdcRateTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcNoteTypeType是一个通知类型类型 #////////////////////////////////////////////////////////////////////// #交易结算单 -defineDict["Sgit_FTDC_NOTETYPE_TradeSettleBill"] = '1' +defineDict["THOST_FTDC_NOTETYPE_TradeSettleBill"] = '1' #交易结算月报 -defineDict["Sgit_FTDC_NOTETYPE_TradeSettleMonth"] = '2' +defineDict["THOST_FTDC_NOTETYPE_TradeSettleMonth"] = '2' #追加保证金通知书 -defineDict["Sgit_FTDC_NOTETYPE_CallMarginNotes"] = '3' +defineDict["THOST_FTDC_NOTETYPE_CallMarginNotes"] = '3' #强行平仓通知书 -defineDict["Sgit_FTDC_NOTETYPE_ForceCloseNotes"] = '4' +defineDict["THOST_FTDC_NOTETYPE_ForceCloseNotes"] = '4' #成交通知书 -defineDict["Sgit_FTDC_NOTETYPE_TradeNotes"] = '5' +defineDict["THOST_FTDC_NOTETYPE_TradeNotes"] = '5' #交割通知书 -defineDict["Sgit_FTDC_NOTETYPE_DelivNotes"] = '6' +defineDict["THOST_FTDC_NOTETYPE_DelivNotes"] = '6' -typedefDict["TSgitFtdcNoteTypeType"] = "char" +typedefDict["TThostFtdcNoteTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcSettlementStyleType是一个结算单方式类型 #////////////////////////////////////////////////////////////////////// #逐日盯市 -defineDict["Sgit_FTDC_SBS_Day"] = '1' +defineDict["THOST_FTDC_SBS_Day"] = '1' #逐笔对冲 -defineDict["Sgit_FTDC_SBS_Volume"] = '2' +defineDict["THOST_FTDC_SBS_Volume"] = '2' -typedefDict["TSgitFtdcSettlementStyleType"] = "char" +typedefDict["TThostFtdcSettlementStyleType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcBrokerDNSType是一个域名类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcBrokerDNSType"] = "string" +typedefDict["TThostFtdcBrokerDNSType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcSentenceType是一个语句类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcSentenceType"] = "string" +typedefDict["TThostFtdcSentenceType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcSettlementBillTypeType是一个结算单类型类型 #////////////////////////////////////////////////////////////////////// #日报 -defineDict["Sgit_FTDC_ST_Day"] = '0' +defineDict["THOST_FTDC_ST_Day"] = '0' #月报 -defineDict["Sgit_FTDC_ST_Month"] = '1' +defineDict["THOST_FTDC_ST_Month"] = '1' -typedefDict["TSgitFtdcSettlementBillTypeType"] = "char" +typedefDict["TThostFtdcSettlementBillTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcUserRightTypeType是一个客户权限类型类型 #////////////////////////////////////////////////////////////////////// #登录 -defineDict["Sgit_FTDC_URT_Logon"] = '1' +defineDict["THOST_FTDC_URT_Logon"] = '1' #银期转帐 -defineDict["Sgit_FTDC_URT_Transfer"] = '2' +defineDict["THOST_FTDC_URT_Transfer"] = '2' #邮寄结算单 -defineDict["Sgit_FTDC_URT_EMail"] = '3' +defineDict["THOST_FTDC_URT_EMail"] = '3' #传真结算单 -defineDict["Sgit_FTDC_URT_Fax"] = '4' +defineDict["THOST_FTDC_URT_Fax"] = '4' #条件单 -defineDict["Sgit_FTDC_URT_ConditionOrder"] = '5' +defineDict["THOST_FTDC_URT_ConditionOrder"] = '5' -typedefDict["TSgitFtdcUserRightTypeType"] = "char" +typedefDict["TThostFtdcUserRightTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcMarginPriceTypeType是一个保证金价格类型类型 #////////////////////////////////////////////////////////////////////// #昨结算价 -defineDict["Sgit_FTDC_MPT_PreSettlementPrice"] = '1' +defineDict["THOST_FTDC_MPT_PreSettlementPrice"] = '1' #最新价 -defineDict["Sgit_FTDC_MPT_SettlementPrice"] = '2' +defineDict["THOST_FTDC_MPT_SettlementPrice"] = '2' #成交均价 -defineDict["Sgit_FTDC_MPT_AveragePrice"] = '3' +defineDict["THOST_FTDC_MPT_AveragePrice"] = '3' #开仓价 -defineDict["Sgit_FTDC_MPT_OpenPrice"] = '4' +defineDict["THOST_FTDC_MPT_OpenPrice"] = '4' -typedefDict["TSgitFtdcMarginPriceTypeType"] = "char" +typedefDict["TThostFtdcMarginPriceTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcBillGenStatusType是一个结算单生成状态类型 #////////////////////////////////////////////////////////////////////// -#不生成 -defineDict["Sgit_FTDC_BGS_None"] = '0' #未生成 -defineDict["Sgit_FTDC_BGS_NoGenerated"] = '1' +defineDict["THOST_FTDC_BGS_None"] = '0' +#生成中 +defineDict["THOST_FTDC_BGS_NoGenerated"] = '1' #已生成 -defineDict["Sgit_FTDC_BGS_Generated"] = '2' +defineDict["THOST_FTDC_BGS_Generated"] = '2' -typedefDict["TSgitFtdcBillGenStatusType"] = "char" +typedefDict["TThostFtdcBillGenStatusType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcAlgoTypeType是一个算法类型类型 #////////////////////////////////////////////////////////////////////// #持仓处理算法 -defineDict["Sgit_FTDC_AT_HandlePositionAlgo"] = '1' +defineDict["THOST_FTDC_AT_HandlePositionAlgo"] = '1' #寻找保证金率算法 -defineDict["Sgit_FTDC_AT_FindMarginRateAlgo"] = '2' +defineDict["THOST_FTDC_AT_FindMarginRateAlgo"] = '2' -typedefDict["TSgitFtdcAlgoTypeType"] = "char" +typedefDict["TThostFtdcAlgoTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcHandlePositionAlgoIDType是一个持仓处理算法编号类型 #////////////////////////////////////////////////////////////////////// #基本 -defineDict["Sgit_FTDC_HPA_Base"] = '1' +defineDict["THOST_FTDC_HPA_Base"] = '1' #大连商品交易所 -defineDict["Sgit_FTDC_HPA_DCE"] = '2' +defineDict["THOST_FTDC_HPA_DCE"] = '2' #郑州商品交易所 -defineDict["Sgit_FTDC_HPA_CZCE"] = '3' +defineDict["THOST_FTDC_HPA_CZCE"] = '3' -typedefDict["TSgitFtdcHandlePositionAlgoIDType"] = "char" +typedefDict["TThostFtdcHandlePositionAlgoIDType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcFindMarginRateAlgoIDType是一个寻找保证金率算法编号类型 #////////////////////////////////////////////////////////////////////// #基本 -defineDict["Sgit_FTDC_FMRA_Base"] = '1' +defineDict["THOST_FTDC_FMRA_Base"] = '1' #大连商品交易所 -defineDict["Sgit_FTDC_FMRA_DCE"] = '2' +defineDict["THOST_FTDC_FMRA_DCE"] = '2' #郑州商品交易所 -defineDict["Sgit_FTDC_FMRA_CZCE"] = '3' +defineDict["THOST_FTDC_FMRA_CZCE"] = '3' -typedefDict["TSgitFtdcFindMarginRateAlgoIDType"] = "char" +typedefDict["TThostFtdcFindMarginRateAlgoIDType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcHandleTradingAccountAlgoIDType是一个资金处理算法编号类型 #////////////////////////////////////////////////////////////////////// #基本 -defineDict["Sgit_FTDC_HTAA_Base"] = '1' +defineDict["THOST_FTDC_HTAA_Base"] = '1' #大连商品交易所 -defineDict["Sgit_FTDC_HTAA_DCE"] = '2' +defineDict["THOST_FTDC_HTAA_DCE"] = '2' #郑州商品交易所 -defineDict["Sgit_FTDC_HTAA_CZCE"] = '3' +defineDict["THOST_FTDC_HTAA_CZCE"] = '3' -typedefDict["TSgitFtdcHandleTradingAccountAlgoIDType"] = "char" +typedefDict["TThostFtdcHandleTradingAccountAlgoIDType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcPersonTypeType是一个联系人类型类型 #////////////////////////////////////////////////////////////////////// #指定下单人 -defineDict["Sgit_FTDC_PST_Order"] = '1' +defineDict["THOST_FTDC_PST_Order"] = '1' #开户授权人 -defineDict["Sgit_FTDC_PST_Open"] = '2' +defineDict["THOST_FTDC_PST_Open"] = '2' #资金调拨人 -defineDict["Sgit_FTDC_PST_Fund"] = '3' +defineDict["THOST_FTDC_PST_Fund"] = '3' #结算单确认人 -defineDict["Sgit_FTDC_PST_Settlement"] = '4' +defineDict["THOST_FTDC_PST_Settlement"] = '4' #法人 -defineDict["Sgit_FTDC_PST_Company"] = '5' +defineDict["THOST_FTDC_PST_Company"] = '5' #法人代表 -defineDict["Sgit_FTDC_PST_Corporation"] = '6' +defineDict["THOST_FTDC_PST_Corporation"] = '6' #投资者联系人 -defineDict["Sgit_FTDC_PST_LinkMan"] = '7' +defineDict["THOST_FTDC_PST_LinkMan"] = '7' +#分户管理资产负责人 +defineDict["THOST_FTDC_PST_Ledger"] = '8' +#托(保)管人 +defineDict["THOST_FTDC_PST_Trustee"] = '9' +#托(保)管机构法人代表 +defineDict["THOST_FTDC_PST_TrusteeCorporation"] = 'A' +#托(保)管机构开户授权人 +defineDict["THOST_FTDC_PST_TrusteeOpen"] = 'B' +#托(保)管机构联系人 +defineDict["THOST_FTDC_PST_TrusteeContact"] = 'C' +#境外自然人参考证件 +defineDict["THOST_FTDC_PST_ForeignerRefer"] = 'D' +#法人代表参考证件 +defineDict["THOST_FTDC_PST_CorporationRefer"] = 'E' -typedefDict["TSgitFtdcPersonTypeType"] = "char" +typedefDict["TThostFtdcPersonTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcQueryInvestorRangeType是一个查询范围类型 #////////////////////////////////////////////////////////////////////// #所有 -defineDict["Sgit_FTDC_QIR_All"] = '1' +defineDict["THOST_FTDC_QIR_All"] = '1' #查询分类 -defineDict["Sgit_FTDC_QIR_Group"] = '2' +defineDict["THOST_FTDC_QIR_Group"] = '2' #单一投资者 -defineDict["Sgit_FTDC_QIR_Single"] = '3' +defineDict["THOST_FTDC_QIR_Single"] = '3' -typedefDict["TSgitFtdcQueryInvestorRangeType"] = "char" +typedefDict["TThostFtdcQueryInvestorRangeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcInvestorRiskStatusType是一个投资者风险状态类型 #////////////////////////////////////////////////////////////////////// #正常 -defineDict["Sgit_FTDC_IRS_Normal"] = '1' +defineDict["THOST_FTDC_IRS_Normal"] = '1' #警告 -defineDict["Sgit_FTDC_IRS_Warn"] = '2' +defineDict["THOST_FTDC_IRS_Warn"] = '2' #追保 -defineDict["Sgit_FTDC_IRS_Call"] = '3' +defineDict["THOST_FTDC_IRS_Call"] = '3' #强平 -defineDict["Sgit_FTDC_IRS_Force"] = '4' +defineDict["THOST_FTDC_IRS_Force"] = '4' #异常 -defineDict["Sgit_FTDC_IRS_Exception"] = '5' +defineDict["THOST_FTDC_IRS_Exception"] = '5' -typedefDict["TSgitFtdcInvestorRiskStatusType"] = "char" +typedefDict["TThostFtdcInvestorRiskStatusType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcLegIDType是一个单腿编号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcLegIDType"] = "int" +typedefDict["TThostFtdcLegIDType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcLegMultipleType是一个单腿乘数类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcLegMultipleType"] = "int" +typedefDict["TThostFtdcLegMultipleType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcImplyLevelType是一个派生层数类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcImplyLevelType"] = "int" +typedefDict["TThostFtdcImplyLevelType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcClearAccountType是一个结算账户类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcClearAccountType"] = "string" +typedefDict["TThostFtdcClearAccountType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcOrganNOType是一个结算账户类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcOrganNOType"] = "string" +typedefDict["TThostFtdcOrganNOType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcClearbarchIDType是一个结算账户联行号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcClearbarchIDType"] = "string" +typedefDict["TThostFtdcClearbarchIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcUserEventTypeType是一个用户事件类型类型 #////////////////////////////////////////////////////////////////////// #登录 -defineDict["Sgit_FTDC_UET_Login"] = '1' +defineDict["THOST_FTDC_UET_Login"] = '1' #登出 -defineDict["Sgit_FTDC_UET_Logout"] = '2' +defineDict["THOST_FTDC_UET_Logout"] = '2' #交易成功 -defineDict["Sgit_FTDC_UET_Trading"] = '3' +defineDict["THOST_FTDC_UET_Trading"] = '3' #交易失败 -defineDict["Sgit_FTDC_UET_TradingError"] = '4' +defineDict["THOST_FTDC_UET_TradingError"] = '4' #修改密码 -defineDict["Sgit_FTDC_UET_UpdatePassword"] = '5' +defineDict["THOST_FTDC_UET_UpdatePassword"] = '5' #客户端认证 -defineDict["Sgit_FTDC_UET_Authenticate"] = '6' +defineDict["THOST_FTDC_UET_Authenticate"] = '6' #其他 -defineDict["Sgit_FTDC_UET_Other"] = '9' +defineDict["THOST_FTDC_UET_Other"] = '9' -typedefDict["TSgitFtdcUserEventTypeType"] = "char" +typedefDict["TThostFtdcUserEventTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcUserEventInfoType是一个用户事件信息类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcUserEventInfoType"] = "string" +typedefDict["TThostFtdcUserEventInfoType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcCloseStyleType是一个平仓方式类型 #////////////////////////////////////////////////////////////////////// #先开先平 -defineDict["Sgit_FTDC_ICS_Close"] = '0' +defineDict["THOST_FTDC_ICS_Close"] = '0' #先平今再平昨 -defineDict["Sgit_FTDC_ICS_CloseToday"] = '1' +defineDict["THOST_FTDC_ICS_CloseToday"] = '1' -typedefDict["TSgitFtdcCloseStyleType"] = "char" +typedefDict["TThostFtdcCloseStyleType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcStatModeType是一个统计方式类型 #////////////////////////////////////////////////////////////////////// #---- -defineDict["Sgit_FTDC_SM_Non"] = '0' +defineDict["THOST_FTDC_SM_Non"] = '0' #按合约统计 -defineDict["Sgit_FTDC_SM_Instrument"] = '1' +defineDict["THOST_FTDC_SM_Instrument"] = '1' #按产品统计 -defineDict["Sgit_FTDC_SM_Product"] = '2' +defineDict["THOST_FTDC_SM_Product"] = '2' #按投资者统计 -defineDict["Sgit_FTDC_SM_Investor"] = '3' +defineDict["THOST_FTDC_SM_Investor"] = '3' -typedefDict["TSgitFtdcStatModeType"] = "char" +typedefDict["TThostFtdcStatModeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcParkedOrderStatusType是一个预埋单状态类型 #////////////////////////////////////////////////////////////////////// #未发送 -defineDict["Sgit_FTDC_PAOS_NotSend"] = '1' +defineDict["THOST_FTDC_PAOS_NotSend"] = '1' #已发送 -defineDict["Sgit_FTDC_PAOS_Send"] = '2' +defineDict["THOST_FTDC_PAOS_Send"] = '2' #已删除 -defineDict["Sgit_FTDC_PAOS_Deleted"] = '3' +defineDict["THOST_FTDC_PAOS_Deleted"] = '3' -typedefDict["TSgitFtdcParkedOrderStatusType"] = "char" +typedefDict["TThostFtdcParkedOrderStatusType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcParkedOrderIDType是一个预埋报单编号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcParkedOrderIDType"] = "string" +typedefDict["TThostFtdcParkedOrderIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcParkedOrderActionIDType是一个预埋撤单编号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcParkedOrderActionIDType"] = "string" +typedefDict["TThostFtdcParkedOrderActionIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcVirDealStatusType是一个处理状态类型 #////////////////////////////////////////////////////////////////////// #正在处理 -defineDict["Sgit_FTDC_VDS_Dealing"] = '1' +defineDict["THOST_FTDC_VDS_Dealing"] = '1' #处理成功 -defineDict["Sgit_FTDC_VDS_DeaclSucceed"] = '2' +defineDict["THOST_FTDC_VDS_DeaclSucceed"] = '2' -typedefDict["TSgitFtdcVirDealStatusType"] = "char" +typedefDict["TThostFtdcVirDealStatusType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcOrgSystemIDType是一个原有系统代码类型 #////////////////////////////////////////////////////////////////////// #综合交易平台 -defineDict["Sgit_FTDC_ORGS_Standard"] = '0' +defineDict["THOST_FTDC_ORGS_Standard"] = '0' #易盛系统 -defineDict["Sgit_FTDC_ORGS_ESunny"] = '1' +defineDict["THOST_FTDC_ORGS_ESunny"] = '1' #金仕达V6系统 -defineDict["Sgit_FTDC_ORGS_KingStarV6"] = '2' +defineDict["THOST_FTDC_ORGS_KingStarV6"] = '2' -typedefDict["TSgitFtdcOrgSystemIDType"] = "char" +typedefDict["TThostFtdcOrgSystemIDType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcVirTradeStatusType是一个交易状态类型 #////////////////////////////////////////////////////////////////////// #正常处理中 -defineDict["Sgit_FTDC_VTS_NaturalDeal"] = '0' +defineDict["THOST_FTDC_VTS_NaturalDeal"] = '0' #成功结束 -defineDict["Sgit_FTDC_VTS_SucceedEnd"] = '1' +defineDict["THOST_FTDC_VTS_SucceedEnd"] = '1' #失败结束 -defineDict["Sgit_FTDC_VTS_FailedEND"] = '2' +defineDict["THOST_FTDC_VTS_FailedEND"] = '2' #异常中 -defineDict["Sgit_FTDC_VTS_Exception"] = '3' +defineDict["THOST_FTDC_VTS_Exception"] = '3' #已人工异常处理 -defineDict["Sgit_FTDC_VTS_ManualDeal"] = '4' +defineDict["THOST_FTDC_VTS_ManualDeal"] = '4' #通讯异常 ,请人工处理 -defineDict["Sgit_FTDC_VTS_MesException"] = '5' +defineDict["THOST_FTDC_VTS_MesException"] = '5' #系统出错,请人工处理 -defineDict["Sgit_FTDC_VTS_SysException"] = '6' +defineDict["THOST_FTDC_VTS_SysException"] = '6' -typedefDict["TSgitFtdcVirTradeStatusType"] = "char" +typedefDict["TThostFtdcVirTradeStatusType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcVirBankAccTypeType是一个银行帐户类型类型 #////////////////////////////////////////////////////////////////////// #存折 -defineDict["Sgit_FTDC_VBAT_BankBook"] = '1' +defineDict["THOST_FTDC_VBAT_BankBook"] = '1' #储蓄卡 -defineDict["Sgit_FTDC_VBAT_BankCard"] = '2' +defineDict["THOST_FTDC_VBAT_BankCard"] = '2' #信用卡 -defineDict["Sgit_FTDC_VBAT_CreditCard"] = '3' +defineDict["THOST_FTDC_VBAT_CreditCard"] = '3' -typedefDict["TSgitFtdcVirBankAccTypeType"] = "char" +typedefDict["TThostFtdcVirBankAccTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcVirementStatusType是一个银行帐户类型类型 #////////////////////////////////////////////////////////////////////// #正常 -defineDict["Sgit_FTDC_VMS_Natural"] = '0' +defineDict["THOST_FTDC_VMS_Natural"] = '0' #销户 -defineDict["Sgit_FTDC_VMS_Canceled"] = '9' +defineDict["THOST_FTDC_VMS_Canceled"] = '9' -typedefDict["TSgitFtdcVirementStatusType"] = "char" +typedefDict["TThostFtdcVirementStatusType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcVirementAvailAbilityType是一个有效标志类型 #////////////////////////////////////////////////////////////////////// #未确认 -defineDict["Sgit_FTDC_VAA_NoAvailAbility"] = '0' +defineDict["THOST_FTDC_VAA_NoAvailAbility"] = '0' #有效 -defineDict["Sgit_FTDC_VAA_AvailAbility"] = '1' +defineDict["THOST_FTDC_VAA_AvailAbility"] = '1' #冲正 -defineDict["Sgit_FTDC_VAA_Repeal"] = '2' +defineDict["THOST_FTDC_VAA_Repeal"] = '2' -typedefDict["TSgitFtdcVirementAvailAbilityType"] = "char" +typedefDict["TThostFtdcVirementAvailAbilityType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcVirementTradeCodeType是一个交易代码类型 #////////////////////////////////////////////////////////////////////// #银行发起银行资金转期货 -defineDict["Sgit_FTDC_VTC_BankBankToFuture"] = '102001' +defineDict["THOST_FTDC_VTC_BankBankToFuture"] = '102001' #银行发起期货资金转银行 -defineDict["Sgit_FTDC_VTC_BankFutureToBank"] = '102002' +defineDict["THOST_FTDC_VTC_BankFutureToBank"] = '102002' #期货发起银行资金转期货 -defineDict["Sgit_FTDC_VTC_FutureBankToFuture"] = '202001' +defineDict["THOST_FTDC_VTC_FutureBankToFuture"] = '202001' #期货发起期货资金转银行 -defineDict["Sgit_FTDC_VTC_FutureFutureToBank"] = '202002' +defineDict["THOST_FTDC_VTC_FutureFutureToBank"] = '202002' -typedefDict["TSgitFtdcVirementTradeCodeType"] = "char" +typedefDict["TThostFtdcVirementTradeCodeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcPhotoTypeNameType是一个影像类型名称类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcPhotoTypeNameType"] = "string" +typedefDict["TThostFtdcPhotoTypeNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcPhotoTypeIDType是一个影像类型代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcPhotoTypeIDType"] = "string" +typedefDict["TThostFtdcPhotoTypeIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcPhotoNameType是一个影像名称类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcPhotoNameType"] = "string" +typedefDict["TThostFtdcPhotoNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcTopicIDType是一个主题代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcTopicIDType"] = "int" +typedefDict["TThostFtdcTopicIDType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcReportTypeIDType是一个交易报告类型标识类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcReportTypeIDType"] = "string" +typedefDict["TThostFtdcReportTypeIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcCharacterIDType是一个交易特征代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCharacterIDType"] = "string" +typedefDict["TThostFtdcCharacterIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcAMLParamIDType是一个参数代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcAMLParamIDType"] = "string" +typedefDict["TThostFtdcAMLParamIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcAMLInvestorTypeType是一个投资者类型类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcAMLInvestorTypeType"] = "string" +typedefDict["TThostFtdcAMLInvestorTypeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcAMLIdCardTypeType是一个证件类型类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcAMLIdCardTypeType"] = "string" +typedefDict["TThostFtdcAMLIdCardTypeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcAMLTradeDirectType是一个资金进出方向类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcAMLTradeDirectType"] = "string" +typedefDict["TThostFtdcAMLTradeDirectType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcAMLTradeModelType是一个资金进出方式类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcAMLTradeModelType"] = "string" +typedefDict["TThostFtdcAMLTradeModelType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcAMLParamIDType是一个参数代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcAMLParamIDType"] = "string" +typedefDict["TThostFtdcAMLParamIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcAMLOpParamValueType是一个业务参数代码值类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcAMLOpParamValueType"] = "float" +typedefDict["TThostFtdcAMLOpParamValueType"] = "float" #////////////////////////////////////////////////////////////////////// #TFtdcAMLCustomerCardTypeType是一个客户身份证件/证明文件类型类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcAMLCustomerCardTypeType"] = "string" +typedefDict["TThostFtdcAMLCustomerCardTypeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcAMLInstitutionNameType是一个金融机构网点名称类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcAMLInstitutionNameType"] = "string" +typedefDict["TThostFtdcAMLInstitutionNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcAMLDistrictIDType是一个金融机构网点所在地区行政区划代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcAMLDistrictIDType"] = "string" +typedefDict["TThostFtdcAMLDistrictIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcAMLRelationShipType是一个金融机构网点与大额交易的关系类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcAMLRelationShipType"] = "string" +typedefDict["TThostFtdcAMLRelationShipType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcAMLInstitutionTypeType是一个金融机构网点代码类型类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcAMLInstitutionTypeType"] = "string" +typedefDict["TThostFtdcAMLInstitutionTypeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcAMLInstitutionIDType是一个金融机构网点代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcAMLInstitutionIDType"] = "string" +typedefDict["TThostFtdcAMLInstitutionIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcAMLAccountTypeType是一个账户类型类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcAMLAccountTypeType"] = "string" +typedefDict["TThostFtdcAMLAccountTypeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcAMLTradingTypeType是一个交易方式类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcAMLTradingTypeType"] = "string" +typedefDict["TThostFtdcAMLTradingTypeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcAMLTransactClassType是一个涉外收支交易分类与代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcAMLTransactClassType"] = "string" +typedefDict["TThostFtdcAMLTransactClassType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcAMLCapitalIOType是一个资金收付标识类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcAMLCapitalIOType"] = "string" +typedefDict["TThostFtdcAMLCapitalIOType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcAMLSiteType是一个交易地点类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcAMLSiteType"] = "string" +typedefDict["TThostFtdcAMLSiteType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcAMLCapitalPurposeType是一个资金用途类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcAMLCapitalPurposeType"] = "string" +typedefDict["TThostFtdcAMLCapitalPurposeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcAMLReportTypeType是一个报文类型类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcAMLReportTypeType"] = "string" +typedefDict["TThostFtdcAMLReportTypeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcAMLSerialNoType是一个编号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcAMLSerialNoType"] = "string" +typedefDict["TThostFtdcAMLSerialNoType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcAMLStatusType是一个状态类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcAMLStatusType"] = "string" +typedefDict["TThostFtdcAMLStatusType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcAMLGenStatusType是一个Aml生成方式类型 #////////////////////////////////////////////////////////////////////// #程序生成 -defineDict["Sgit_FTDC_GEN_Program"] = '0' +defineDict["THOST_FTDC_GEN_Program"] = '0' #人工生成 -defineDict["Sgit_FTDC_GEN_HandWork"] = '1' +defineDict["THOST_FTDC_GEN_HandWork"] = '1' -typedefDict["TSgitFtdcAMLGenStatusType"] = "char" +typedefDict["TThostFtdcAMLGenStatusType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcAMLSeqCodeType是一个业务标识号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcAMLSeqCodeType"] = "string" +typedefDict["TThostFtdcAMLSeqCodeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcAMLFileNameType是一个AML文件名类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcAMLFileNameType"] = "string" +typedefDict["TThostFtdcAMLFileNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcAMLMoneyType是一个反洗钱资金类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcAMLMoneyType"] = "float" +typedefDict["TThostFtdcAMLMoneyType"] = "float" #////////////////////////////////////////////////////////////////////// #TFtdcAMLFileAmountType是一个反洗钱资金类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcAMLFileAmountType"] = "int" +typedefDict["TThostFtdcAMLFileAmountType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcCFMMCKeyType是一个密钥类型(保证金监管)类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCFMMCKeyType"] = "string" +typedefDict["TThostFtdcCFMMCKeyType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCFMMCTokenType是一个令牌类型(保证金监管)类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCFMMCTokenType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcCFMMCKeyKindType是一个动态密钥类别(保证金监管)类型 #////////////////////////////////////////////////////////////////////// #主动请求更新 -defineDict["Sgit_FTDC_CFMMCKK_REQUEST"] = 'R' +defineDict["THOST_FTDC_CFMMCKK_REQUEST"] = 'R' #CFMMC自动更新 -defineDict["Sgit_FTDC_CFMMCKK_AUTO"] = 'A' +defineDict["THOST_FTDC_CFMMCKK_AUTO"] = 'A' #CFMMC手动更新 -defineDict["Sgit_FTDC_CFMMCKK_MANUAL"] = 'M' +defineDict["THOST_FTDC_CFMMCKK_MANUAL"] = 'M' -typedefDict["TSgitFtdcCFMMCKeyKindType"] = "char" +typedefDict["TThostFtdcCFMMCKeyKindType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcAMLReportNameType是一个报文名称类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcAMLReportNameType"] = "string" +typedefDict["TThostFtdcAMLReportNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcIndividualNameType是一个个人姓名类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcIndividualNameType"] = "string" +typedefDict["TThostFtdcIndividualNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcCurrencyIDType是一个币种代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCurrencyIDType"] = "string" +typedefDict["TThostFtdcCurrencyIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcCustNumberType是一个客户编号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCustNumberType"] = "string" +typedefDict["TThostFtdcCustNumberType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcOrganCodeType是一个机构编码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcOrganCodeType"] = "string" +typedefDict["TThostFtdcOrganCodeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcOrganNameType是一个机构名称类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcOrganNameType"] = "string" +typedefDict["TThostFtdcOrganNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcSuperOrganCodeType是一个上级机构编码,即期货公司总部、银行总行类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcSuperOrganCodeType"] = "string" +typedefDict["TThostFtdcSuperOrganCodeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcSubBranchIDType是一个分支机构类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcSubBranchIDType"] = "string" +typedefDict["TThostFtdcSubBranchIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcSubBranchNameType是一个分支机构名称类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcSubBranchNameType"] = "string" +typedefDict["TThostFtdcSubBranchNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcBranchNetCodeType是一个机构网点号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcBranchNetCodeType"] = "string" +typedefDict["TThostFtdcBranchNetCodeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcBranchNetNameType是一个机构网点名称类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcBranchNetNameType"] = "string" +typedefDict["TThostFtdcBranchNetNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcOrganFlagType是一个机构标识类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcOrganFlagType"] = "string" +typedefDict["TThostFtdcOrganFlagType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcBankCodingForFutureType是一个银行对期货公司的编码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcBankCodingForFutureType"] = "string" +typedefDict["TThostFtdcBankCodingForFutureType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcBankReturnCodeType是一个银行对返回码的定义类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcBankReturnCodeType"] = "string" +typedefDict["TThostFtdcBankReturnCodeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcPlateReturnCodeType是一个银期转帐平台对返回码的定义类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcPlateReturnCodeType"] = "string" +typedefDict["TThostFtdcPlateReturnCodeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcBankSubBranchIDType是一个银行分支机构编码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcBankSubBranchIDType"] = "string" +typedefDict["TThostFtdcBankSubBranchIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcFutureBranchIDType是一个期货分支机构编码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcFutureBranchIDType"] = "string" +typedefDict["TThostFtdcFutureBranchIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcReturnCodeType是一个返回代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcReturnCodeType"] = "string" +typedefDict["TThostFtdcReturnCodeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcOperatorCodeType是一个操作员类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcOperatorCodeType"] = "string" +typedefDict["TThostFtdcOperatorCodeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcClearDepIDType是一个机构结算帐户机构号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcClearDepIDType"] = "string" +typedefDict["TThostFtdcClearDepIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcClearBrchIDType是一个机构结算帐户联行号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcClearBrchIDType"] = "string" +typedefDict["TThostFtdcClearBrchIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcClearNameType是一个机构结算帐户名称类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcClearNameType"] = "string" +typedefDict["TThostFtdcClearNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcBankAccountNameType是一个银行帐户名称类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcBankAccountNameType"] = "string" +typedefDict["TThostFtdcBankAccountNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcInvDepIDType是一个机构投资人账号机构号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcInvDepIDType"] = "string" +typedefDict["TThostFtdcInvDepIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcInvBrchIDType是一个机构投资人联行号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcInvBrchIDType"] = "string" +typedefDict["TThostFtdcInvBrchIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcMessageFormatVersionType是一个信息格式版本类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcMessageFormatVersionType"] = "string" +typedefDict["TThostFtdcMessageFormatVersionType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcDigestType是一个摘要类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcDigestType"] = "string" +typedefDict["TThostFtdcDigestType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcAuthenticDataType是一个认证数据类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcAuthenticDataType"] = "string" +typedefDict["TThostFtdcAuthenticDataType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcPasswordKeyType是一个密钥类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcPasswordKeyType"] = "string" +typedefDict["TThostFtdcPasswordKeyType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcFutureAccountNameType是一个期货帐户名称类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcFutureAccountNameType"] = "string" +typedefDict["TThostFtdcFutureAccountNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcMobilePhoneType是一个手机类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcMobilePhoneType"] = "string" +typedefDict["TThostFtdcMobilePhoneType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcFutureMainKeyType是一个期货公司主密钥类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcFutureMainKeyType"] = "string" +typedefDict["TThostFtdcFutureMainKeyType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcFutureWorkKeyType是一个期货公司工作密钥类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcFutureWorkKeyType"] = "string" +typedefDict["TThostFtdcFutureWorkKeyType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcFutureTransKeyType是一个期货公司传输密钥类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcFutureTransKeyType"] = "string" +typedefDict["TThostFtdcFutureTransKeyType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcBankMainKeyType是一个银行主密钥类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcBankMainKeyType"] = "string" +typedefDict["TThostFtdcBankMainKeyType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcBankWorkKeyType是一个银行工作密钥类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcBankWorkKeyType"] = "string" +typedefDict["TThostFtdcBankWorkKeyType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcBankTransKeyType是一个银行传输密钥类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcBankTransKeyType"] = "string" +typedefDict["TThostFtdcBankTransKeyType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcBankServerDescriptionType是一个银行服务器描述信息类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcBankServerDescriptionType"] = "string" +typedefDict["TThostFtdcBankServerDescriptionType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcAddInfoType是一个附加信息类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcAddInfoType"] = "string" +typedefDict["TThostFtdcAddInfoType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcDescrInfoForReturnCodeType是一个返回码描述类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcDescrInfoForReturnCodeType"] = "string" +typedefDict["TThostFtdcDescrInfoForReturnCodeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcCountryCodeType是一个国家代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCountryCodeType"] = "string" +typedefDict["TThostFtdcCountryCodeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcSerialType是一个流水号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcSerialType"] = "int" +typedefDict["TThostFtdcSerialType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcPlateSerialType是一个平台流水号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcPlateSerialType"] = "int" +typedefDict["TThostFtdcPlateSerialType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcBankSerialType是一个银行流水号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcBankSerialType"] = "string" +typedefDict["TThostFtdcBankSerialType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcCorrectSerialType是一个被冲正交易流水号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCorrectSerialType"] = "int" +typedefDict["TThostFtdcCorrectSerialType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcFutureSerialType是一个期货公司流水号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcFutureSerialType"] = "int" +typedefDict["TThostFtdcFutureSerialType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcApplicationIDType是一个应用标识类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcApplicationIDType"] = "int" +typedefDict["TThostFtdcApplicationIDType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcBankProxyIDType是一个银行代理标识类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcBankProxyIDType"] = "int" +typedefDict["TThostFtdcBankProxyIDType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcFBTCoreIDType是一个银期转帐核心系统标识类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcFBTCoreIDType"] = "int" +typedefDict["TThostFtdcFBTCoreIDType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcServerPortType是一个服务端口号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcServerPortType"] = "int" +typedefDict["TThostFtdcServerPortType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcRepealedTimesType是一个已经冲正次数类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcRepealedTimesType"] = "int" +typedefDict["TThostFtdcRepealedTimesType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcRepealTimeIntervalType是一个冲正时间间隔类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcRepealTimeIntervalType"] = "int" +typedefDict["TThostFtdcRepealTimeIntervalType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcTotalTimesType是一个每日累计转帐次数类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcTotalTimesType"] = "int" +typedefDict["TThostFtdcTotalTimesType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcFBTRequestIDType是一个请求ID类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcFBTRequestIDType"] = "int" +typedefDict["TThostFtdcFBTRequestIDType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcTIDType是一个交易ID类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcTIDType"] = "int" +typedefDict["TThostFtdcTIDType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcTradeAmountType是一个交易金额(元)类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcTradeAmountType"] = "float" +typedefDict["TThostFtdcTradeAmountType"] = "float" #////////////////////////////////////////////////////////////////////// #TFtdcCustFeeType是一个应收客户费用(元)类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCustFeeType"] = "float" +typedefDict["TThostFtdcCustFeeType"] = "float" #////////////////////////////////////////////////////////////////////// #TFtdcFutureFeeType是一个应收期货公司费用(元)类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcFutureFeeType"] = "float" +typedefDict["TThostFtdcFutureFeeType"] = "float" #////////////////////////////////////////////////////////////////////// #TFtdcSingleMaxAmtType是一个单笔最高限额类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcSingleMaxAmtType"] = "float" +typedefDict["TThostFtdcSingleMaxAmtType"] = "float" #////////////////////////////////////////////////////////////////////// #TFtdcSingleMinAmtType是一个单笔最低限额类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcSingleMinAmtType"] = "float" +typedefDict["TThostFtdcSingleMinAmtType"] = "float" #////////////////////////////////////////////////////////////////////// #TFtdcTotalAmtType是一个每日累计转帐额度类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcTotalAmtType"] = "float" +typedefDict["TThostFtdcTotalAmtType"] = "float" #////////////////////////////////////////////////////////////////////// #TFtdcCertificationTypeType是一个证件类型类型 #////////////////////////////////////////////////////////////////////// #身份证 -defineDict["Sgit_FTDC_CFT_IDCard"] = '0' +defineDict["THOST_FTDC_CFT_IDCard"] = '0' #护照 -defineDict["Sgit_FTDC_CFT_Passport"] = '1' +defineDict["THOST_FTDC_CFT_Passport"] = '1' #军官证 -defineDict["Sgit_FTDC_CFT_OfficerIDCard"] = '2' +defineDict["THOST_FTDC_CFT_OfficerIDCard"] = '2' #士兵证 -defineDict["Sgit_FTDC_CFT_SoldierIDCard"] = '3' +defineDict["THOST_FTDC_CFT_SoldierIDCard"] = '3' #回乡证 -defineDict["Sgit_FTDC_CFT_HomeComingCard"] = '4' +defineDict["THOST_FTDC_CFT_HomeComingCard"] = '4' #户口簿 -defineDict["Sgit_FTDC_CFT_HouseholdRegister"] = '5' +defineDict["THOST_FTDC_CFT_HouseholdRegister"] = '5' #营业执照号 -defineDict["Sgit_FTDC_CFT_LicenseNo"] = '6' +defineDict["THOST_FTDC_CFT_LicenseNo"] = '6' #组织机构代码证 -defineDict["Sgit_FTDC_CFT_InstitutionCodeCard"] = '7' +defineDict["THOST_FTDC_CFT_InstitutionCodeCard"] = '7' #临时营业执照号 -defineDict["Sgit_FTDC_CFT_TempLicenseNo"] = '8' +defineDict["THOST_FTDC_CFT_TempLicenseNo"] = '8' #民办非企业登记证书 -defineDict["Sgit_FTDC_CFT_NoEnterpriseLicenseNo"] = '9' +defineDict["THOST_FTDC_CFT_NoEnterpriseLicenseNo"] = '9' #其他证件 -defineDict["Sgit_FTDC_CFT_OtherCard"] = 'x' +defineDict["THOST_FTDC_CFT_OtherCard"] = 'x' #主管部门批文 -defineDict["Sgit_FTDC_CFT_SuperDepAgree"] = 'a' +defineDict["THOST_FTDC_CFT_SuperDepAgree"] = 'a' -typedefDict["TSgitFtdcCertificationTypeType"] = "char" +typedefDict["TThostFtdcCertificationTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcFileBusinessCodeType是一个文件业务功能类型 #////////////////////////////////////////////////////////////////////// #其他 -defineDict["Sgit_FTDC_FBC_Others"] = '0' +defineDict["THOST_FTDC_FBC_Others"] = '0' #转账交易明细对账 -defineDict["Sgit_FTDC_FBC_TransferDetails"] = '1' +defineDict["THOST_FTDC_FBC_TransferDetails"] = '1' #客户账户状态对账 -defineDict["Sgit_FTDC_FBC_CustAccStatus"] = '2' +defineDict["THOST_FTDC_FBC_CustAccStatus"] = '2' #账户类交易明细对账 -defineDict["Sgit_FTDC_FBC_AccountTradeDetails"] = '3' +defineDict["THOST_FTDC_FBC_AccountTradeDetails"] = '3' #期货账户信息变更明细对账 -defineDict["Sgit_FTDC_FBC_FutureAccountChangeInfoDetails"] = '4' +defineDict["THOST_FTDC_FBC_FutureAccountChangeInfoDetails"] = '4' #客户资金台账余额明细对账 -defineDict["Sgit_FTDC_FBC_CustMoneyDetail"] = '5' +defineDict["THOST_FTDC_FBC_CustMoneyDetail"] = '5' #客户销户结息明细对账 -defineDict["Sgit_FTDC_FBC_CustCancelAccountInfo"] = '6' +defineDict["THOST_FTDC_FBC_CustCancelAccountInfo"] = '6' #客户资金余额对账结果 -defineDict["Sgit_FTDC_FBC_CustMoneyResult"] = '7' +defineDict["THOST_FTDC_FBC_CustMoneyResult"] = '7' #其它对账异常结果文件 -defineDict["Sgit_FTDC_FBC_OthersExceptionResult"] = '8' +defineDict["THOST_FTDC_FBC_OthersExceptionResult"] = '8' #客户结息净额明细 -defineDict["Sgit_FTDC_FBC_CustInterestNetMoneyDetails"] = '9' +defineDict["THOST_FTDC_FBC_CustInterestNetMoneyDetails"] = '9' #客户资金交收明细 -defineDict["Sgit_FTDC_FBC_CustMoneySendAndReceiveDetails"] = 'a' +defineDict["THOST_FTDC_FBC_CustMoneySendAndReceiveDetails"] = 'a' #法人存管银行资金交收汇总 -defineDict["Sgit_FTDC_FBC_CorporationMoneyTotal"] = 'b' +defineDict["THOST_FTDC_FBC_CorporationMoneyTotal"] = 'b' #主体间资金交收汇总 -defineDict["Sgit_FTDC_FBC_MainbodyMoneyTotal"] = 'c' +defineDict["THOST_FTDC_FBC_MainbodyMoneyTotal"] = 'c' #总分平衡监管数据 -defineDict["Sgit_FTDC_FBC_MainPartMonitorData"] = 'd' +defineDict["THOST_FTDC_FBC_MainPartMonitorData"] = 'd' #存管银行备付金余额 -defineDict["Sgit_FTDC_FBC_PreparationMoney"] = 'e' +defineDict["THOST_FTDC_FBC_PreparationMoney"] = 'e' #协办存管银行资金监管数据 -defineDict["Sgit_FTDC_FBC_BankMoneyMonitorData"] = 'f' +defineDict["THOST_FTDC_FBC_BankMoneyMonitorData"] = 'f' -typedefDict["TSgitFtdcFileBusinessCodeType"] = "char" +typedefDict["TThostFtdcFileBusinessCodeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcCashExchangeCodeType是一个汇钞标志类型 #////////////////////////////////////////////////////////////////////// #汇 -defineDict["Sgit_FTDC_CEC_Exchange"] = '1' +defineDict["THOST_FTDC_CEC_Exchange"] = '1' #钞 -defineDict["Sgit_FTDC_CEC_Cash"] = '2' +defineDict["THOST_FTDC_CEC_Cash"] = '2' -typedefDict["TSgitFtdcCashExchangeCodeType"] = "char" +typedefDict["TThostFtdcCashExchangeCodeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcYesNoIndicatorType是一个是或否标识类型 #////////////////////////////////////////////////////////////////////// #是 -defineDict["Sgit_FTDC_YNI_Yes"] = '0' +defineDict["THOST_FTDC_YNI_Yes"] = '0' #否 -defineDict["Sgit_FTDC_YNI_No"] = '1' +defineDict["THOST_FTDC_YNI_No"] = '1' -typedefDict["TSgitFtdcYesNoIndicatorType"] = "char" +typedefDict["TThostFtdcYesNoIndicatorType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcBanlanceTypeType是一个余额类型类型 #////////////////////////////////////////////////////////////////////// #当前余额 -defineDict["Sgit_FTDC_BLT_CurrentMoney"] = '0' +defineDict["THOST_FTDC_BLT_CurrentMoney"] = '0' #可用余额 -defineDict["Sgit_FTDC_BLT_UsableMoney"] = '1' +defineDict["THOST_FTDC_BLT_UsableMoney"] = '1' #可取余额 -defineDict["Sgit_FTDC_BLT_FetchableMoney"] = '2' +defineDict["THOST_FTDC_BLT_FetchableMoney"] = '2' #冻结余额 -defineDict["Sgit_FTDC_BLT_FreezeMoney"] = '3' +defineDict["THOST_FTDC_BLT_FreezeMoney"] = '3' -typedefDict["TSgitFtdcBanlanceTypeType"] = "char" +typedefDict["TThostFtdcBanlanceTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcGenderType是一个性别类型 #////////////////////////////////////////////////////////////////////// #未知状态 -defineDict["Sgit_FTDC_GD_Unknown"] = '0' +defineDict["THOST_FTDC_GD_Unknown"] = '0' #男 -defineDict["Sgit_FTDC_GD_Male"] = '1' +defineDict["THOST_FTDC_GD_Male"] = '1' #女 -defineDict["Sgit_FTDC_GD_Female"] = '2' +defineDict["THOST_FTDC_GD_Female"] = '2' -typedefDict["TSgitFtdcGenderType"] = "char" +typedefDict["TThostFtdcGenderType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcFeePayFlagType是一个费用支付标志类型 #////////////////////////////////////////////////////////////////////// #由受益方支付费用 -defineDict["Sgit_FTDC_FPF_BEN"] = '0' +defineDict["THOST_FTDC_FPF_BEN"] = '0' #由发送方支付费用 -defineDict["Sgit_FTDC_FPF_OUR"] = '1' +defineDict["THOST_FTDC_FPF_OUR"] = '1' #由发送方支付发起的费用,受益方支付接受的费用 -defineDict["Sgit_FTDC_FPF_SHA"] = '2' +defineDict["THOST_FTDC_FPF_SHA"] = '2' -typedefDict["TSgitFtdcFeePayFlagType"] = "char" +typedefDict["TThostFtdcFeePayFlagType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcPassWordKeyTypeType是一个密钥类型类型 #////////////////////////////////////////////////////////////////////// #交换密钥 -defineDict["Sgit_FTDC_PWKT_ExchangeKey"] = '0' +defineDict["THOST_FTDC_PWKT_ExchangeKey"] = '0' #密码密钥 -defineDict["Sgit_FTDC_PWKT_PassWordKey"] = '1' +defineDict["THOST_FTDC_PWKT_PassWordKey"] = '1' #MAC密钥 -defineDict["Sgit_FTDC_PWKT_MACKey"] = '2' +defineDict["THOST_FTDC_PWKT_MACKey"] = '2' #报文密钥 -defineDict["Sgit_FTDC_PWKT_MessageKey"] = '3' +defineDict["THOST_FTDC_PWKT_MessageKey"] = '3' -typedefDict["TSgitFtdcPassWordKeyTypeType"] = "char" +typedefDict["TThostFtdcPassWordKeyTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcFBTPassWordTypeType是一个密码类型类型 #////////////////////////////////////////////////////////////////////// #查询 -defineDict["Sgit_FTDC_PWT_Query"] = '0' +defineDict["THOST_FTDC_PWT_Query"] = '0' #取款 -defineDict["Sgit_FTDC_PWT_Fetch"] = '1' +defineDict["THOST_FTDC_PWT_Fetch"] = '1' #转帐 -defineDict["Sgit_FTDC_PWT_Transfer"] = '2' +defineDict["THOST_FTDC_PWT_Transfer"] = '2' #交易 -defineDict["Sgit_FTDC_PWT_Trade"] = '3' +defineDict["THOST_FTDC_PWT_Trade"] = '3' -typedefDict["TSgitFtdcFBTPassWordTypeType"] = "char" +typedefDict["TThostFtdcFBTPassWordTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcFBTEncryModeType是一个加密方式类型 #////////////////////////////////////////////////////////////////////// #不加密 -defineDict["Sgit_FTDC_EM_NoEncry"] = '0' +defineDict["THOST_FTDC_EM_NoEncry"] = '0' #DES -defineDict["Sgit_FTDC_EM_DES"] = '1' +defineDict["THOST_FTDC_EM_DES"] = '1' #3DES -defineDict["Sgit_FTDC_EM_3DES"] = '2' +defineDict["THOST_FTDC_EM_3DES"] = '2' -typedefDict["TSgitFtdcFBTEncryModeType"] = "char" +typedefDict["TThostFtdcFBTEncryModeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcBankRepealFlagType是一个银行冲正标志类型 #////////////////////////////////////////////////////////////////////// #银行无需自动冲正 -defineDict["Sgit_FTDC_BRF_BankNotNeedRepeal"] = '0' +defineDict["THOST_FTDC_BRF_BankNotNeedRepeal"] = '0' #银行待自动冲正 -defineDict["Sgit_FTDC_BRF_BankWaitingRepeal"] = '1' +defineDict["THOST_FTDC_BRF_BankWaitingRepeal"] = '1' #银行已自动冲正 -defineDict["Sgit_FTDC_BRF_BankBeenRepealed"] = '2' +defineDict["THOST_FTDC_BRF_BankBeenRepealed"] = '2' -typedefDict["TSgitFtdcBankRepealFlagType"] = "char" +typedefDict["TThostFtdcBankRepealFlagType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcBrokerRepealFlagType是一个期商冲正标志类型 #////////////////////////////////////////////////////////////////////// #期商无需自动冲正 -defineDict["Sgit_FTDC_BRORF_BrokerNotNeedRepeal"] = '0' +defineDict["THOST_FTDC_BRORF_BrokerNotNeedRepeal"] = '0' #期商待自动冲正 -defineDict["Sgit_FTDC_BRORF_BrokerWaitingRepeal"] = '1' +defineDict["THOST_FTDC_BRORF_BrokerWaitingRepeal"] = '1' #期商已自动冲正 -defineDict["Sgit_FTDC_BRORF_BrokerBeenRepealed"] = '2' +defineDict["THOST_FTDC_BRORF_BrokerBeenRepealed"] = '2' -typedefDict["TSgitFtdcBrokerRepealFlagType"] = "char" +typedefDict["TThostFtdcBrokerRepealFlagType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcInstitutionTypeType是一个机构类别类型 #////////////////////////////////////////////////////////////////////// #银行 -defineDict["Sgit_FTDC_TS_Bank"] = '0' +defineDict["THOST_FTDC_TS_Bank"] = '0' #期商 -defineDict["Sgit_FTDC_TS_Future"] = '1' +defineDict["THOST_FTDC_TS_Future"] = '1' #券商 -defineDict["Sgit_FTDC_TS_Store"] = '2' +defineDict["THOST_FTDC_TS_Store"] = '2' -typedefDict["TSgitFtdcInstitutionTypeType"] = "char" +typedefDict["TThostFtdcInstitutionTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcLastFragmentType是一个最后分片标志类型 #////////////////////////////////////////////////////////////////////// #是最后分片 -defineDict["Sgit_FTDC_LF_Yes"] = '0' +defineDict["THOST_FTDC_LF_Yes"] = '0' #不是最后分片 -defineDict["Sgit_FTDC_LF_No"] = '1' +defineDict["THOST_FTDC_LF_No"] = '1' -typedefDict["TSgitFtdcLastFragmentType"] = "char" +typedefDict["TThostFtdcLastFragmentType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcBankAccStatusType是一个银行账户状态类型 #////////////////////////////////////////////////////////////////////// #正常 -defineDict["Sgit_FTDC_BAS_Normal"] = '0' +defineDict["THOST_FTDC_BAS_Normal"] = '0' #冻结 -defineDict["Sgit_FTDC_BAS_Freeze"] = '1' +defineDict["THOST_FTDC_BAS_Freeze"] = '1' #挂失 -defineDict["Sgit_FTDC_BAS_ReportLoss"] = '2' +defineDict["THOST_FTDC_BAS_ReportLoss"] = '2' -typedefDict["TSgitFtdcBankAccStatusType"] = "char" +typedefDict["TThostFtdcBankAccStatusType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcMoneyAccountStatusType是一个资金账户状态类型 #////////////////////////////////////////////////////////////////////// #正常 -defineDict["Sgit_FTDC_MAS_Normal"] = '0' +defineDict["THOST_FTDC_MAS_Normal"] = '0' #销户 -defineDict["Sgit_FTDC_MAS_Cancel"] = '1' +defineDict["THOST_FTDC_MAS_Cancel"] = '1' -typedefDict["TSgitFtdcMoneyAccountStatusType"] = "char" +typedefDict["TThostFtdcMoneyAccountStatusType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcManageStatusType是一个存管状态类型 #////////////////////////////////////////////////////////////////////// #指定存管 -defineDict["Sgit_FTDC_MSS_Point"] = '0' +defineDict["THOST_FTDC_MSS_Point"] = '0' #预指定 -defineDict["Sgit_FTDC_MSS_PrePoint"] = '1' +defineDict["THOST_FTDC_MSS_PrePoint"] = '1' #撤销指定 -defineDict["Sgit_FTDC_MSS_CancelPoint"] = '2' +defineDict["THOST_FTDC_MSS_CancelPoint"] = '2' -typedefDict["TSgitFtdcManageStatusType"] = "char" +typedefDict["TThostFtdcManageStatusType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcSystemTypeType是一个应用系统类型类型 #////////////////////////////////////////////////////////////////////// #银期转帐 -defineDict["Sgit_FTDC_SYT_FutureBankTransfer"] = '0' +defineDict["THOST_FTDC_SYT_FutureBankTransfer"] = '0' #银证转帐 -defineDict["Sgit_FTDC_SYT_StockBankTransfer"] = '1' +defineDict["THOST_FTDC_SYT_StockBankTransfer"] = '1' #第三方存管 -defineDict["Sgit_FTDC_SYT_TheThirdPartStore"] = '2' +defineDict["THOST_FTDC_SYT_TheThirdPartStore"] = '2' -typedefDict["TSgitFtdcSystemTypeType"] = "char" +typedefDict["TThostFtdcSystemTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcTxnEndFlagType是一个银期转帐划转结果标志类型 #////////////////////////////////////////////////////////////////////// #正常处理中 -defineDict["Sgit_FTDC_TEF_NormalProcessing"] = '0' +defineDict["THOST_FTDC_TEF_NormalProcessing"] = '0' #成功结束 -defineDict["Sgit_FTDC_TEF_Success"] = '1' +defineDict["THOST_FTDC_TEF_Success"] = '1' #失败结束 -defineDict["Sgit_FTDC_TEF_Failed"] = '2' +defineDict["THOST_FTDC_TEF_Failed"] = '2' #异常中 -defineDict["Sgit_FTDC_TEF_Abnormal"] = '3' +defineDict["THOST_FTDC_TEF_Abnormal"] = '3' #已人工异常处理 -defineDict["Sgit_FTDC_TEF_ManualProcessedForException"] = '4' +defineDict["THOST_FTDC_TEF_ManualProcessedForException"] = '4' #通讯异常 ,请人工处理 -defineDict["Sgit_FTDC_TEF_CommuFailedNeedManualProcess"] = '5' +defineDict["THOST_FTDC_TEF_CommuFailedNeedManualProcess"] = '5' #系统出错,请人工处理 -defineDict["Sgit_FTDC_TEF_SysErrorNeedManualProcess"] = '6' +defineDict["THOST_FTDC_TEF_SysErrorNeedManualProcess"] = '6' -typedefDict["TSgitFtdcTxnEndFlagType"] = "char" +typedefDict["TThostFtdcTxnEndFlagType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcProcessStatusType是一个银期转帐服务处理状态类型 #////////////////////////////////////////////////////////////////////// #未处理 -defineDict["Sgit_FTDC_PSS_NotProcess"] = '0' +defineDict["THOST_FTDC_PSS_NotProcess"] = '0' #开始处理 -defineDict["Sgit_FTDC_PSS_StartProcess"] = '1' +defineDict["THOST_FTDC_PSS_StartProcess"] = '1' #处理完成 -defineDict["Sgit_FTDC_PSS_Finished"] = '2' +defineDict["THOST_FTDC_PSS_Finished"] = '2' -typedefDict["TSgitFtdcProcessStatusType"] = "char" +typedefDict["TThostFtdcProcessStatusType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcCustTypeType是一个客户类型类型 #////////////////////////////////////////////////////////////////////// #自然人 -defineDict["Sgit_FTDC_CUSTT_Person"] = '0' +defineDict["THOST_FTDC_CUSTT_Person"] = '0' #机构户 -defineDict["Sgit_FTDC_CUSTT_Institution"] = '1' +defineDict["THOST_FTDC_CUSTT_Institution"] = '1' -typedefDict["TSgitFtdcCustTypeType"] = "char" +typedefDict["TThostFtdcCustTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcFBTTransferDirectionType是一个银期转帐方向类型 #////////////////////////////////////////////////////////////////////// #入金,银行转期货 -defineDict["Sgit_FTDC_FBTTD_FromBankToFuture"] = '1' +defineDict["THOST_FTDC_FBTTD_FromBankToFuture"] = '1' #出金,期货转银行 -defineDict["Sgit_FTDC_FBTTD_FromFutureToBank"] = '2' +defineDict["THOST_FTDC_FBTTD_FromFutureToBank"] = '2' -typedefDict["TSgitFtdcFBTTransferDirectionType"] = "char" +typedefDict["TThostFtdcFBTTransferDirectionType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcOpenOrDestroyType是一个开销户类别类型 #////////////////////////////////////////////////////////////////////// #开户 -defineDict["Sgit_FTDC_OOD_Open"] = '1' +defineDict["THOST_FTDC_OOD_Open"] = '1' #销户 -defineDict["Sgit_FTDC_OOD_Destroy"] = '0' +defineDict["THOST_FTDC_OOD_Destroy"] = '0' -typedefDict["TSgitFtdcOpenOrDestroyType"] = "char" +typedefDict["TThostFtdcOpenOrDestroyType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcAvailabilityFlagType是一个有效标志类型 #////////////////////////////////////////////////////////////////////// #未确认 -defineDict["Sgit_FTDC_AVAF_Invalid"] = '0' +defineDict["THOST_FTDC_AVAF_Invalid"] = '0' #有效 -defineDict["Sgit_FTDC_AVAF_Valid"] = '1' +defineDict["THOST_FTDC_AVAF_Valid"] = '1' #冲正 -defineDict["Sgit_FTDC_AVAF_Repeal"] = '2' +defineDict["THOST_FTDC_AVAF_Repeal"] = '2' -typedefDict["TSgitFtdcAvailabilityFlagType"] = "char" +typedefDict["TThostFtdcAvailabilityFlagType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcOrganTypeType是一个机构类型类型 #////////////////////////////////////////////////////////////////////// #银行代理 -defineDict["Sgit_FTDC_OT_Bank"] = '1' +defineDict["THOST_FTDC_OT_Bank"] = '1' #交易前置 -defineDict["Sgit_FTDC_OT_Future"] = '2' +defineDict["THOST_FTDC_OT_Future"] = '2' #银期转帐平台管理 -defineDict["Sgit_FTDC_OT_PlateForm"] = '9' +defineDict["THOST_FTDC_OT_PlateForm"] = '9' -typedefDict["TSgitFtdcOrganTypeType"] = "char" +typedefDict["TThostFtdcOrganTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcOrganLevelType是一个机构级别类型 #////////////////////////////////////////////////////////////////////// #银行总行或期商总部 -defineDict["Sgit_FTDC_OL_HeadQuarters"] = '1' +defineDict["THOST_FTDC_OL_HeadQuarters"] = '1' #银行分中心或期货公司营业部 -defineDict["Sgit_FTDC_OL_Branch"] = '2' +defineDict["THOST_FTDC_OL_Branch"] = '2' -typedefDict["TSgitFtdcOrganLevelType"] = "char" +typedefDict["TThostFtdcOrganLevelType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcProtocalIDType是一个协议类型类型 #////////////////////////////////////////////////////////////////////// #期商协议 -defineDict["Sgit_FTDC_PID_FutureProtocal"] = '0' +defineDict["THOST_FTDC_PID_FutureProtocal"] = '0' #工行协议 -defineDict["Sgit_FTDC_PID_ICBCProtocal"] = '1' +defineDict["THOST_FTDC_PID_ICBCProtocal"] = '1' #农行协议 -defineDict["Sgit_FTDC_PID_ABCProtocal"] = '2' +defineDict["THOST_FTDC_PID_ABCProtocal"] = '2' #中国银行协议 -defineDict["Sgit_FTDC_PID_CBCProtocal"] = '3' +defineDict["THOST_FTDC_PID_CBCProtocal"] = '3' #建行协议 -defineDict["Sgit_FTDC_PID_CCBProtocal"] = '4' +defineDict["THOST_FTDC_PID_CCBProtocal"] = '4' #交行协议 -defineDict["Sgit_FTDC_PID_BOCOMProtocal"] = '5' +defineDict["THOST_FTDC_PID_BOCOMProtocal"] = '5' #银期转帐平台协议 -defineDict["Sgit_FTDC_PID_FBTPlateFormProtocal"] = 'X' +defineDict["THOST_FTDC_PID_FBTPlateFormProtocal"] = 'X' -typedefDict["TSgitFtdcProtocalIDType"] = "char" +typedefDict["TThostFtdcProtocalIDType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcConnectModeType是一个套接字连接方式类型 #////////////////////////////////////////////////////////////////////// #短连接 -defineDict["Sgit_FTDC_CM_ShortConnect"] = '0' +defineDict["THOST_FTDC_CM_ShortConnect"] = '0' #长连接 -defineDict["Sgit_FTDC_CM_LongConnect"] = '1' +defineDict["THOST_FTDC_CM_LongConnect"] = '1' -typedefDict["TSgitFtdcConnectModeType"] = "char" +typedefDict["TThostFtdcConnectModeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcSyncModeType是一个套接字通信方式类型 #////////////////////////////////////////////////////////////////////// #异步 -defineDict["Sgit_FTDC_SRM_ASync"] = '0' +defineDict["THOST_FTDC_SRM_ASync"] = '0' #同步 -defineDict["Sgit_FTDC_SRM_Sync"] = '1' +defineDict["THOST_FTDC_SRM_Sync"] = '1' -typedefDict["TSgitFtdcSyncModeType"] = "char" +typedefDict["TThostFtdcSyncModeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcBankAccTypeType是一个银行帐号类型类型 #////////////////////////////////////////////////////////////////////// #银行存折 -defineDict["Sgit_FTDC_BAT_BankBook"] = '1' +defineDict["THOST_FTDC_BAT_BankBook"] = '1' #储蓄卡 -defineDict["Sgit_FTDC_BAT_SavingCard"] = '2' +defineDict["THOST_FTDC_BAT_SavingCard"] = '2' #信用卡 -defineDict["Sgit_FTDC_BAT_CreditCard"] = '3' +defineDict["THOST_FTDC_BAT_CreditCard"] = '3' -typedefDict["TSgitFtdcBankAccTypeType"] = "char" +typedefDict["TThostFtdcBankAccTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcFutureAccTypeType是一个期货公司帐号类型类型 #////////////////////////////////////////////////////////////////////// #银行存折 -defineDict["Sgit_FTDC_FAT_BankBook"] = '1' +defineDict["THOST_FTDC_FAT_BankBook"] = '1' #储蓄卡 -defineDict["Sgit_FTDC_FAT_SavingCard"] = '2' +defineDict["THOST_FTDC_FAT_SavingCard"] = '2' #信用卡 -defineDict["Sgit_FTDC_FAT_CreditCard"] = '3' +defineDict["THOST_FTDC_FAT_CreditCard"] = '3' -typedefDict["TSgitFtdcFutureAccTypeType"] = "char" +typedefDict["TThostFtdcFutureAccTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcOrganStatusType是一个接入机构状态类型 #////////////////////////////////////////////////////////////////////// #启用 -defineDict["Sgit_FTDC_OS_Ready"] = '0' +defineDict["THOST_FTDC_OS_Ready"] = '0' #签到 -defineDict["Sgit_FTDC_OS_CheckIn"] = '1' +defineDict["THOST_FTDC_OS_CheckIn"] = '1' #签退 -defineDict["Sgit_FTDC_OS_CheckOut"] = '2' +defineDict["THOST_FTDC_OS_CheckOut"] = '2' #对帐文件到达 -defineDict["Sgit_FTDC_OS_CheckFileArrived"] = '3' +defineDict["THOST_FTDC_OS_CheckFileArrived"] = '3' #对帐 -defineDict["Sgit_FTDC_OS_CheckDetail"] = '4' +defineDict["THOST_FTDC_OS_CheckDetail"] = '4' #日终清理 -defineDict["Sgit_FTDC_OS_DayEndClean"] = '5' +defineDict["THOST_FTDC_OS_DayEndClean"] = '5' #注销 -defineDict["Sgit_FTDC_OS_Invalid"] = '9' +defineDict["THOST_FTDC_OS_Invalid"] = '9' -typedefDict["TSgitFtdcOrganStatusType"] = "char" +typedefDict["TThostFtdcOrganStatusType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcCCBFeeModeType是一个建行收费模式类型 #////////////////////////////////////////////////////////////////////// #按金额扣收 -defineDict["Sgit_FTDC_CCBFM_ByAmount"] = '1' +defineDict["THOST_FTDC_CCBFM_ByAmount"] = '1' #按月扣收 -defineDict["Sgit_FTDC_CCBFM_ByMonth"] = '2' +defineDict["THOST_FTDC_CCBFM_ByMonth"] = '2' -typedefDict["TSgitFtdcCCBFeeModeType"] = "char" +typedefDict["TThostFtdcCCBFeeModeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcCommApiTypeType是一个通讯API类型类型 #////////////////////////////////////////////////////////////////////// #客户端 -defineDict["Sgit_FTDC_CAPIT_Client"] = '1' +defineDict["THOST_FTDC_CAPIT_Client"] = '1' #服务端 -defineDict["Sgit_FTDC_CAPIT_Server"] = '2' +defineDict["THOST_FTDC_CAPIT_Server"] = '2' #交易系统的UserApi -defineDict["Sgit_FTDC_CAPIT_UserApi"] = '3' +defineDict["THOST_FTDC_CAPIT_UserApi"] = '3' -typedefDict["TSgitFtdcCommApiTypeType"] = "char" +typedefDict["TThostFtdcCommApiTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcServiceIDType是一个服务编号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcServiceIDType"] = "int" +typedefDict["TThostFtdcServiceIDType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcServiceLineNoType是一个服务线路编号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcServiceLineNoType"] = "int" +typedefDict["TThostFtdcServiceLineNoType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcServiceNameType是一个服务名类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcServiceNameType"] = "string" +typedefDict["TThostFtdcServiceNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcLinkStatusType是一个连接状态类型 #////////////////////////////////////////////////////////////////////// #已经连接 -defineDict["Sgit_FTDC_LS_Connected"] = '1' +defineDict["THOST_FTDC_LS_Connected"] = '1' #没有连接 -defineDict["Sgit_FTDC_LS_Disconnected"] = '2' +defineDict["THOST_FTDC_LS_Disconnected"] = '2' -typedefDict["TSgitFtdcLinkStatusType"] = "char" +typedefDict["TThostFtdcLinkStatusType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcCommApiPointerType是一个通讯API指针类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCommApiPointerType"] = "int" +typedefDict["TThostFtdcCommApiPointerType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcPwdFlagType是一个密码核对标志类型 #////////////////////////////////////////////////////////////////////// #不核对 -defineDict["Sgit_FTDC_BPWDF_NoCheck"] = '0' +defineDict["THOST_FTDC_BPWDF_NoCheck"] = '0' #明文核对 -defineDict["Sgit_FTDC_BPWDF_BlankCheck"] = '1' +defineDict["THOST_FTDC_BPWDF_BlankCheck"] = '1' #密文核对 -defineDict["Sgit_FTDC_BPWDF_EncryptCheck"] = '2' +defineDict["THOST_FTDC_BPWDF_EncryptCheck"] = '2' -typedefDict["TSgitFtdcPwdFlagType"] = "char" +typedefDict["TThostFtdcPwdFlagType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcSecuAccTypeType是一个期货帐号类型类型 #////////////////////////////////////////////////////////////////////// #资金帐号 -defineDict["Sgit_FTDC_SAT_AccountID"] = '1' +defineDict["THOST_FTDC_SAT_AccountID"] = '1' #资金卡号 -defineDict["Sgit_FTDC_SAT_CardID"] = '2' +defineDict["THOST_FTDC_SAT_CardID"] = '2' #上海股东帐号 -defineDict["Sgit_FTDC_SAT_SHStockholderID"] = '3' +defineDict["THOST_FTDC_SAT_SHStockholderID"] = '3' #深圳股东帐号 -defineDict["Sgit_FTDC_SAT_SZStockholderID"] = '4' +defineDict["THOST_FTDC_SAT_SZStockholderID"] = '4' -typedefDict["TSgitFtdcSecuAccTypeType"] = "char" +typedefDict["TThostFtdcSecuAccTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcTransferStatusType是一个转账交易状态类型 #////////////////////////////////////////////////////////////////////// #正常 -defineDict["Sgit_FTDC_TRFS_Normal"] = '0' +defineDict["THOST_FTDC_TRFS_Normal"] = '0' #被冲正 -defineDict["Sgit_FTDC_TRFS_Repealed"] = '1' +defineDict["THOST_FTDC_TRFS_Repealed"] = '1' -typedefDict["TSgitFtdcTransferStatusType"] = "char" +typedefDict["TThostFtdcTransferStatusType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcSponsorTypeType是一个发起方类型 #////////////////////////////////////////////////////////////////////// #期商 -defineDict["Sgit_FTDC_SPTYPE_Broker"] = '0' +defineDict["THOST_FTDC_SPTYPE_Broker"] = '0' #银行 -defineDict["Sgit_FTDC_SPTYPE_Bank"] = '1' +defineDict["THOST_FTDC_SPTYPE_Bank"] = '1' -typedefDict["TSgitFtdcSponsorTypeType"] = "char" +typedefDict["TThostFtdcSponsorTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcReqRspTypeType是一个请求响应类别类型 #////////////////////////////////////////////////////////////////////// #请求 -defineDict["Sgit_FTDC_REQRSP_Request"] = '0' +defineDict["THOST_FTDC_REQRSP_Request"] = '0' #响应 -defineDict["Sgit_FTDC_REQRSP_Response"] = '1' +defineDict["THOST_FTDC_REQRSP_Response"] = '1' -typedefDict["TSgitFtdcReqRspTypeType"] = "char" +typedefDict["TThostFtdcReqRspTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcFBTUserEventTypeType是一个银期转帐用户事件类型类型 #////////////////////////////////////////////////////////////////////// #签到 -defineDict["Sgit_FTDC_FBTUET_SignIn"] = '0' +defineDict["THOST_FTDC_FBTUET_SignIn"] = '0' #银行转期货 -defineDict["Sgit_FTDC_FBTUET_FromBankToFuture"] = '1' +defineDict["THOST_FTDC_FBTUET_FromBankToFuture"] = '1' #期货转银行 -defineDict["Sgit_FTDC_FBTUET_FromFutureToBank"] = '2' +defineDict["THOST_FTDC_FBTUET_FromFutureToBank"] = '2' #开户 -defineDict["Sgit_FTDC_FBTUET_OpenAccount"] = '3' +defineDict["THOST_FTDC_FBTUET_OpenAccount"] = '3' #销户 -defineDict["Sgit_FTDC_FBTUET_CancelAccount"] = '4' +defineDict["THOST_FTDC_FBTUET_CancelAccount"] = '4' #变更银行账户 -defineDict["Sgit_FTDC_FBTUET_ChangeAccount"] = '5' +defineDict["THOST_FTDC_FBTUET_ChangeAccount"] = '5' #冲正银行转期货 -defineDict["Sgit_FTDC_FBTUET_RepealFromBankToFuture"] = '6' +defineDict["THOST_FTDC_FBTUET_RepealFromBankToFuture"] = '6' #冲正期货转银行 -defineDict["Sgit_FTDC_FBTUET_RepealFromFutureToBank"] = '7' +defineDict["THOST_FTDC_FBTUET_RepealFromFutureToBank"] = '7' #查询银行账户 -defineDict["Sgit_FTDC_FBTUET_QueryBankAccount"] = '8' +defineDict["THOST_FTDC_FBTUET_QueryBankAccount"] = '8' #查询期货账户 -defineDict["Sgit_FTDC_FBTUET_QueryFutureAccount"] = '9' +defineDict["THOST_FTDC_FBTUET_QueryFutureAccount"] = '9' #签退 -defineDict["Sgit_FTDC_FBTUET_SignOut"] = 'A' +defineDict["THOST_FTDC_FBTUET_SignOut"] = 'A' #密钥同步 -defineDict["Sgit_FTDC_FBTUET_SyncKey"] = 'B' +defineDict["THOST_FTDC_FBTUET_SyncKey"] = 'B' #其他 -defineDict["Sgit_FTDC_FBTUET_Other"] = 'Z' +defineDict["THOST_FTDC_FBTUET_Other"] = 'Z' -typedefDict["TSgitFtdcFBTUserEventTypeType"] = "char" +typedefDict["TThostFtdcFBTUserEventTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcBankIDByBankType是一个银行自己的编码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcBankIDByBankType"] = "string" +typedefDict["TThostFtdcBankIDByBankType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankOperNoType是一个银行操作员号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcBankOperNoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankCustNoType是一个银行客户号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcBankCustNoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDBOPSeqNoType是一个递增的序列号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcDBOPSeqNoType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTableNameType是一个FBT表名类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcTableNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPKNameType是一个FBT表操作主键名类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcPKNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPKValueType是一个FBT表操作主键值类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcPKValueType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDBOperationType是一个记录操作类型类型 +#////////////////////////////////////////////////////////////////////// +#插入 +defineDict["THOST_FTDC_DBOP_Insert"] = '0' +#更新 +defineDict["THOST_FTDC_DBOP_Update"] = '1' +#删除 +defineDict["THOST_FTDC_DBOP_Delete"] = '2' + +typedefDict["TThostFtdcDBOperationType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSyncFlagType是一个同步标记类型 +#////////////////////////////////////////////////////////////////////// +#已同步 +defineDict["THOST_FTDC_SYNF_Yes"] = '0' +#未同步 +defineDict["THOST_FTDC_SYNF_No"] = '1' + +typedefDict["TThostFtdcSyncFlagType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTargetIDType是一个同步目标编号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcTargetIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSyncTypeType是一个同步类型类型 +#////////////////////////////////////////////////////////////////////// +#一次同步 +defineDict["THOST_FTDC_SYNT_OneOffSync"] = '0' +#定时同步 +defineDict["THOST_FTDC_SYNT_TimerSync"] = '1' +#定时完全同步 +defineDict["THOST_FTDC_SYNT_TimerFullSync"] = '2' + +typedefDict["TThostFtdcSyncTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBETimeType是一个各种换汇时间类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFBETimeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBEBankNoType是一个换汇银行行号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFBEBankNoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBECertNoType是一个换汇凭证号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFBECertNoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcExDirectionType是一个换汇方向类型 +#////////////////////////////////////////////////////////////////////// +#结汇 +defineDict["THOST_FTDC_FBEDIR_Settlement"] = '0' +#售汇 +defineDict["THOST_FTDC_FBEDIR_Sale"] = '1' + +typedefDict["TThostFtdcExDirectionType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBEBankAccountType是一个换汇银行账户类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFBEBankAccountType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBEBankAccountNameType是一个换汇银行账户名类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFBEBankAccountNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBEAmtType是一个各种换汇金额类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFBEAmtType"] = "float" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBEBusinessTypeType是一个换汇业务类型类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFBEBusinessTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBEPostScriptType是一个换汇附言类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFBEPostScriptType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBERemarkType是一个换汇备注类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFBERemarkType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcExRateType是一个换汇汇率类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcExRateType"] = "float" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBEResultFlagType是一个换汇成功标志类型 +#////////////////////////////////////////////////////////////////////// +#成功 +defineDict["THOST_FTDC_FBERES_Success"] = '0' +#账户余额不足 +defineDict["THOST_FTDC_FBERES_InsufficientBalance"] = '1' +#交易结果未知 +defineDict["THOST_FTDC_FBERES_UnknownTrading"] = '8' +#失败 +defineDict["THOST_FTDC_FBERES_Fail"] = 'x' + +typedefDict["TThostFtdcFBEResultFlagType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBERtnMsgType是一个换汇返回信息类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFBERtnMsgType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBEExtendMsgType是一个换汇扩展信息类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFBEExtendMsgType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBEBusinessSerialType是一个换汇记账流水号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFBEBusinessSerialType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBESystemSerialType是一个换汇流水号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFBESystemSerialType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBETotalExCntType是一个换汇交易总笔数类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFBETotalExCntType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBEExchStatusType是一个换汇交易状态类型 +#////////////////////////////////////////////////////////////////////// +#正常 +defineDict["THOST_FTDC_FBEES_Normal"] = '0' +#交易重发 +defineDict["THOST_FTDC_FBEES_ReExchange"] = '1' + +typedefDict["TThostFtdcFBEExchStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBEFileFlagType是一个换汇文件标志类型 +#////////////////////////////////////////////////////////////////////// +#数据包 +defineDict["THOST_FTDC_FBEFG_DataPackage"] = '0' +#文件 +defineDict["THOST_FTDC_FBEFG_File"] = '1' + +typedefDict["TThostFtdcFBEFileFlagType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBEAlreadyTradeType是一个换汇已交易标志类型 +#////////////////////////////////////////////////////////////////////// +#未交易 +defineDict["THOST_FTDC_FBEAT_NotTrade"] = '0' +#已交易 +defineDict["THOST_FTDC_FBEAT_Trade"] = '1' + +typedefDict["TThostFtdcFBEAlreadyTradeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBEOpenBankType是一个换汇账户开户行类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFBEOpenBankType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBEUserEventTypeType是一个银期换汇用户事件类型类型 +#////////////////////////////////////////////////////////////////////// +#签到 +defineDict["THOST_FTDC_FBEUET_SignIn"] = '0' +#换汇 +defineDict["THOST_FTDC_FBEUET_Exchange"] = '1' +#换汇重发 +defineDict["THOST_FTDC_FBEUET_ReExchange"] = '2' +#银行账户查询 +defineDict["THOST_FTDC_FBEUET_QueryBankAccount"] = '3' +#换汇明细查询 +defineDict["THOST_FTDC_FBEUET_QueryExchDetial"] = '4' +#换汇汇总查询 +defineDict["THOST_FTDC_FBEUET_QueryExchSummary"] = '5' +#换汇汇率查询 +defineDict["THOST_FTDC_FBEUET_QueryExchRate"] = '6' +#对账文件通知 +defineDict["THOST_FTDC_FBEUET_CheckBankAccount"] = '7' +#签退 +defineDict["THOST_FTDC_FBEUET_SignOut"] = '8' +#其他 +defineDict["THOST_FTDC_FBEUET_Other"] = 'Z' + +typedefDict["TThostFtdcFBEUserEventTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBEFileNameType是一个换汇相关文件名类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFBEFileNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBEBatchSerialType是一个换汇批次号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFBEBatchSerialType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBEReqFlagType是一个换汇发送标志类型 +#////////////////////////////////////////////////////////////////////// +#未处理 +defineDict["THOST_FTDC_FBERF_UnProcessed"] = '0' +#等待发送 +defineDict["THOST_FTDC_FBERF_WaitSend"] = '1' +#发送成功 +defineDict["THOST_FTDC_FBERF_SendSuccess"] = '2' +#发送失败 +defineDict["THOST_FTDC_FBERF_SendFailed"] = '3' +#等待重发 +defineDict["THOST_FTDC_FBERF_WaitReSend"] = '4' + +typedefDict["TThostFtdcFBEReqFlagType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcNotifyClassType是一个风险通知类型类型 #////////////////////////////////////////////////////////////////////// #正常 -defineDict["Sgit_FTDC_NC_NOERROR"] = '0' +defineDict["THOST_FTDC_NC_NOERROR"] = '0' #警示 -defineDict["Sgit_FTDC_NC_Warn"] = '1' +defineDict["THOST_FTDC_NC_Warn"] = '1' #追保 -defineDict["Sgit_FTDC_NC_Call"] = '2' +defineDict["THOST_FTDC_NC_Call"] = '2' #强平 -defineDict["Sgit_FTDC_NC_Force"] = '3' +defineDict["THOST_FTDC_NC_Force"] = '3' #穿仓 -defineDict["Sgit_FTDC_NC_CHUANCANG"] = '4' +defineDict["THOST_FTDC_NC_CHUANCANG"] = '4' #异常 -defineDict["Sgit_FTDC_NC_Exception"] = '5' +defineDict["THOST_FTDC_NC_Exception"] = '5' -typedefDict["TSgitFtdcNotifyClassType"] = "char" +typedefDict["TThostFtdcNotifyClassType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcRiskNofityInfoType是一个客户风险通知消息类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcRiskNofityInfoType"] = "string" +typedefDict["TThostFtdcRiskNofityInfoType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcForceCloseSceneIdType是一个强平场景编号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcForceCloseSceneIdType"] = "string" +typedefDict["TThostFtdcForceCloseSceneIdType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcForceCloseTypeType是一个强平单类型类型 #////////////////////////////////////////////////////////////////////// #手工强平 -defineDict["Sgit_FTDC_FCT_Manual"] = '0' +defineDict["THOST_FTDC_FCT_Manual"] = '0' #单一投资者辅助强平 -defineDict["Sgit_FTDC_FCT_Single"] = '1' +defineDict["THOST_FTDC_FCT_Single"] = '1' #批量投资者辅助强平 -defineDict["Sgit_FTDC_FCT_Group"] = '2' +defineDict["THOST_FTDC_FCT_Group"] = '2' -typedefDict["TSgitFtdcForceCloseTypeType"] = "char" +typedefDict["TThostFtdcForceCloseTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcInstrumentIDsType是一个多个产品代码,用+分隔,如cu+zn类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcInstrumentIDsType"] = "string" +typedefDict["TThostFtdcInstrumentIDsType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcRiskNotifyMethodType是一个风险通知途径类型 #////////////////////////////////////////////////////////////////////// #系统通知 -defineDict["Sgit_FTDC_RNM_System"] = '0' +defineDict["THOST_FTDC_RNM_System"] = '0' #短信通知 -defineDict["Sgit_FTDC_RNM_SMS"] = '1' +defineDict["THOST_FTDC_RNM_SMS"] = '1' #邮件通知 -defineDict["Sgit_FTDC_RNM_EMail"] = '2' +defineDict["THOST_FTDC_RNM_EMail"] = '2' #人工通知 -defineDict["Sgit_FTDC_RNM_Manual"] = '3' +defineDict["THOST_FTDC_RNM_Manual"] = '3' -typedefDict["TSgitFtdcRiskNotifyMethodType"] = "char" +typedefDict["TThostFtdcRiskNotifyMethodType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcRiskNotifyStatusType是一个风险通知状态类型 #////////////////////////////////////////////////////////////////////// #未生成 -defineDict["Sgit_FTDC_RNS_NotGen"] = '0' +defineDict["THOST_FTDC_RNS_NotGen"] = '0' #已生成未发送 -defineDict["Sgit_FTDC_RNS_Generated"] = '1' +defineDict["THOST_FTDC_RNS_Generated"] = '1' #发送失败 -defineDict["Sgit_FTDC_RNS_SendError"] = '2' +defineDict["THOST_FTDC_RNS_SendError"] = '2' #已发送未接收 -defineDict["Sgit_FTDC_RNS_SendOk"] = '3' +defineDict["THOST_FTDC_RNS_SendOk"] = '3' #已接收未确认 -defineDict["Sgit_FTDC_RNS_Received"] = '4' +defineDict["THOST_FTDC_RNS_Received"] = '4' #已确认 -defineDict["Sgit_FTDC_RNS_Confirmed"] = '5' +defineDict["THOST_FTDC_RNS_Confirmed"] = '5' -typedefDict["TSgitFtdcRiskNotifyStatusType"] = "char" +typedefDict["TThostFtdcRiskNotifyStatusType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcRiskUserEventType是一个风控用户操作事件类型 #////////////////////////////////////////////////////////////////////// #导出数据 -defineDict["Sgit_FTDC_RUE_ExportData"] = '0' +defineDict["THOST_FTDC_RUE_ExportData"] = '0' -typedefDict["TSgitFtdcRiskUserEventType"] = "char" +typedefDict["TThostFtdcRiskUserEventType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcParamIDType是一个参数代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcParamIDType"] = "int" +typedefDict["TThostFtdcParamIDType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcParamNameType是一个参数名类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcParamNameType"] = "string" +typedefDict["TThostFtdcParamNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcParamValueType是一个参数值类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcParamValueType"] = "string" +typedefDict["TThostFtdcParamValueType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcConditionalOrderSortTypeType是一个条件单索引条件类型 #////////////////////////////////////////////////////////////////////// #使用最新价升序 -defineDict["Sgit_FTDC_COST_LastPriceAsc"] = '0' +defineDict["THOST_FTDC_COST_LastPriceAsc"] = '0' #使用最新价降序 -defineDict["Sgit_FTDC_COST_LastPriceDesc"] = '1' +defineDict["THOST_FTDC_COST_LastPriceDesc"] = '1' #使用卖价升序 -defineDict["Sgit_FTDC_COST_AskPriceAsc"] = '2' +defineDict["THOST_FTDC_COST_AskPriceAsc"] = '2' #使用卖价降序 -defineDict["Sgit_FTDC_COST_AskPriceDesc"] = '3' +defineDict["THOST_FTDC_COST_AskPriceDesc"] = '3' #使用买价升序 -defineDict["Sgit_FTDC_COST_BidPriceAsc"] = '4' +defineDict["THOST_FTDC_COST_BidPriceAsc"] = '4' #使用买价降序 -defineDict["Sgit_FTDC_COST_BidPriceDesc"] = '5' +defineDict["THOST_FTDC_COST_BidPriceDesc"] = '5' -typedefDict["TSgitFtdcConditionalOrderSortTypeType"] = "char" +typedefDict["TThostFtdcConditionalOrderSortTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcSendTypeType是一个报送状态类型 #////////////////////////////////////////////////////////////////////// #未发送 -defineDict["Sgit_FTDC_UOAST_NoSend"] = '0' +defineDict["THOST_FTDC_UOAST_NoSend"] = '0' #已发送 -defineDict["Sgit_FTDC_UOAST_Sended"] = '1' +defineDict["THOST_FTDC_UOAST_Sended"] = '1' #已生成 -defineDict["Sgit_FTDC_UOAST_Generated"] = '2' +defineDict["THOST_FTDC_UOAST_Generated"] = '2' #报送失败 -defineDict["Sgit_FTDC_UOAST_SendFail"] = '3' +defineDict["THOST_FTDC_UOAST_SendFail"] = '3' #接收成功 -defineDict["Sgit_FTDC_UOAST_Success"] = '4' +defineDict["THOST_FTDC_UOAST_Success"] = '4' #接收失败 -defineDict["Sgit_FTDC_UOAST_Fail"] = '5' +defineDict["THOST_FTDC_UOAST_Fail"] = '5' #取消报送 -defineDict["Sgit_FTDC_UOAST_Cancel"] = '6' +defineDict["THOST_FTDC_UOAST_Cancel"] = '6' -typedefDict["TSgitFtdcSendTypeType"] = "char" +typedefDict["TThostFtdcSendTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcClientIDStatusType是一个交易编码状态类型 #////////////////////////////////////////////////////////////////////// #未申请 -defineDict["Sgit_FTDC_UOACS_NoApply"] = '1' +defineDict["THOST_FTDC_UOACS_NoApply"] = '1' #已提交申请 -defineDict["Sgit_FTDC_UOACS_Submited"] = '2' +defineDict["THOST_FTDC_UOACS_Submited"] = '2' #已发送申请 -defineDict["Sgit_FTDC_UOACS_Sended"] = '3' +defineDict["THOST_FTDC_UOACS_Sended"] = '3' #完成 -defineDict["Sgit_FTDC_UOACS_Success"] = '4' +defineDict["THOST_FTDC_UOACS_Success"] = '4' #拒绝 -defineDict["Sgit_FTDC_UOACS_Refuse"] = '5' +defineDict["THOST_FTDC_UOACS_Refuse"] = '5' #已撤销编码 -defineDict["Sgit_FTDC_UOACS_Cancel"] = '6' +defineDict["THOST_FTDC_UOACS_Cancel"] = '6' -typedefDict["TSgitFtdcClientIDStatusType"] = "char" +typedefDict["TThostFtdcClientIDStatusType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcIndustryIDType是一个行业编码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcIndustryIDType"] = "string" +typedefDict["TThostFtdcIndustryIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcQuestionIDType是一个特有信息编号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcQuestionIDType"] = "string" +typedefDict["TThostFtdcQuestionIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcQuestionContentType是一个特有信息说明类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcQuestionContentType"] = "string" +typedefDict["TThostFtdcQuestionContentType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcOptionIDType是一个选项编号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcOptionIDType"] = "string" +typedefDict["TThostFtdcOptionIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcOptionContentType是一个选项说明类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcOptionContentType"] = "string" +typedefDict["TThostFtdcOptionContentType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcQuestionTypeType是一个特有信息类型类型 #////////////////////////////////////////////////////////////////////// #单选 -defineDict["Sgit_FTDC_QT_Radio"] = '1' +defineDict["THOST_FTDC_QT_Radio"] = '1' #多选 -defineDict["Sgit_FTDC_QT_Option"] = '2' +defineDict["THOST_FTDC_QT_Option"] = '2' #填空 -defineDict["Sgit_FTDC_QT_Blank"] = '3' +defineDict["THOST_FTDC_QT_Blank"] = '3' -typedefDict["TSgitFtdcQuestionTypeType"] = "char" +typedefDict["TThostFtdcQuestionTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcProcessIDType是一个业务流水号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcProcessIDType"] = "string" +typedefDict["TThostFtdcProcessIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcSeqNoType是一个流水号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcSeqNoType"] = "int" +typedefDict["TThostFtdcSeqNoType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcUOAProcessStatusType是一个流程状态类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcUOAProcessStatusType"] = "string" +typedefDict["TThostFtdcUOAProcessStatusType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcProcessTypeType是一个流程功能类型类型 #////////////////////////////////////////////////////////////////////// -#申请交易编码 -defineDict["Sgit_FTDC_PT_ApplyTradingCode"] = '1' -#撤销交易编码 -defineDict["Sgit_FTDC_PT_CancelTradingCode"] = '2' -#修改身份信息 -defineDict["Sgit_FTDC_PT_ModifyIDCard"] = '3' -#修改一般信息 -defineDict["Sgit_FTDC_PT_ModifyNoIDCard"] = '4' -#交易所开户报备 -defineDict["Sgit_FTDC_PT_ExchOpenBak"] = '5' -#交易所销户报备 -defineDict["Sgit_FTDC_PT_ExchCancelBak"] = '6' -#补报规范资料 -defineDict["Sgit_FTDC_PT_StandardAccount"] = '7' -#账户休眠 -defineDict["Sgit_FTDC_PT_FreezeAccount"] = '8' -#激活休眠账户 -defineDict["Sgit_FTDC_PT_ActiveFreezeAccount"] = '9' - -typedefDict["TSgitFtdcProcessTypeType"] = "char" +typedefDict["TThostFtdcProcessTypeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcBusinessTypeType是一个业务类型类型 #////////////////////////////////////////////////////////////////////// #请求 -defineDict["Sgit_FTDC_BT_Request"] = '1' +defineDict["THOST_FTDC_BT_Request"] = '1' #应答 -defineDict["Sgit_FTDC_BT_Response"] = '2' +defineDict["THOST_FTDC_BT_Response"] = '2' #通知 -defineDict["Sgit_FTDC_BT_Notice"] = '3' +defineDict["THOST_FTDC_BT_Notice"] = '3' -typedefDict["TSgitFtdcBusinessTypeType"] = "char" +typedefDict["TThostFtdcBusinessTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcCfmmcReturnCodeType是一个监控中心返回码类型 #////////////////////////////////////////////////////////////////////// #成功 -defineDict["Sgit_FTDC_CRC_Success"] = '0' +defineDict["THOST_FTDC_CRC_Success"] = '0' #该客户已经有流程在处理中 -defineDict["Sgit_FTDC_CRC_Working"] = '1' +defineDict["THOST_FTDC_CRC_Working"] = '1' #监控中客户资料检查失败 -defineDict["Sgit_FTDC_CRC_InfoFail"] = '2' +defineDict["THOST_FTDC_CRC_InfoFail"] = '2' #监控中实名制检查失败 -defineDict["Sgit_FTDC_CRC_IDCardFail"] = '3' +defineDict["THOST_FTDC_CRC_IDCardFail"] = '3' #其他错误 -defineDict["Sgit_FTDC_CRC_OtherFail"] = '4' +defineDict["THOST_FTDC_CRC_OtherFail"] = '4' -typedefDict["TSgitFtdcCfmmcReturnCodeType"] = "char" +typedefDict["TThostFtdcCfmmcReturnCodeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcExReturnCodeType是一个交易所返回码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcExReturnCodeType"] = "int" +typedefDict["TThostFtdcExReturnCodeType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcClientTypeType是一个客户类型类型 #////////////////////////////////////////////////////////////////////// #所有 -defineDict["Sgit_FTDC_CfMMCCT_All"] = '0' +defineDict["THOST_FTDC_CfMMCCT_All"] = '0' #个人 -defineDict["Sgit_FTDC_CfMMCCT_Person"] = '1' +defineDict["THOST_FTDC_CfMMCCT_Person"] = '1' #单位 -defineDict["Sgit_FTDC_CfMMCCT_Company"] = '2' +defineDict["THOST_FTDC_CfMMCCT_Company"] = '2' +#其他 +defineDict["THOST_FTDC_CfMMCCT_Other"] = '3' +#特殊法人 +defineDict["THOST_FTDC_CfMMCCT_SpecialOrgan"] = '4' +#资管户 +defineDict["THOST_FTDC_CfMMCCT_Asset"] = '5' -typedefDict["TSgitFtdcClientTypeType"] = "char" +typedefDict["TThostFtdcClientTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcExchangeIDTypeType是一个交易所编号类型 #////////////////////////////////////////////////////////////////////// #上海期货交易所 -defineDict["Sgit_FTDC_EIDT_SHFE"] = 'S' +defineDict["THOST_FTDC_EIDT_SHFE"] = 'S' #郑州商品交易所 -defineDict["Sgit_FTDC_EIDT_CZCE"] = 'Z' +defineDict["THOST_FTDC_EIDT_CZCE"] = 'Z' #大连商品交易所 -defineDict["Sgit_FTDC_EIDT_DCE"] = 'D' +defineDict["THOST_FTDC_EIDT_DCE"] = 'D' #中国金融期货交易所 -defineDict["Sgit_FTDC_EIDT_CFFEX"] = 'J' +defineDict["THOST_FTDC_EIDT_CFFEX"] = 'J' +#上海国际能源交易中心股份有限公司 +defineDict["THOST_FTDC_EIDT_INE"] = 'N' #黄金 -defineDict["Sgit_FTDC_EIDT_GOLD"] = 'G' +defineDict["THOST_FTDC_EIDT_GOLD"] = 'G' #PAT -defineDict["Sgit_FTDC_EIDT_PAT"] = 'P' +defineDict["THOST_FTDC_EIDT_PAT"] = 'P' +# +defineDict["THOST_FTDC_EIDT_LTS"] = 'L' -typedefDict["TSgitFtdcExchangeIDTypeType"] = "char" +typedefDict["TThostFtdcExchangeIDTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcExClientIDTypeType是一个交易编码类型类型 #////////////////////////////////////////////////////////////////////// #套保 -defineDict["Sgit_FTDC_ECIDT_Hedge"] = '1' +defineDict["THOST_FTDC_ECIDT_Hedge"] = '1' #套利 -defineDict["Sgit_FTDC_ECIDT_Arbitrage"] = '2' +defineDict["THOST_FTDC_ECIDT_Arbitrage"] = '2' #投机 -defineDict["Sgit_FTDC_ECIDT_Speculation"] = '3' +defineDict["THOST_FTDC_ECIDT_Speculation"] = '3' -typedefDict["TSgitFtdcExClientIDTypeType"] = "char" +typedefDict["TThostFtdcExClientIDTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcClientClassifyType是一个客户分类码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcClientClassifyType"] = "string" +typedefDict["TThostFtdcClientClassifyType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcUOAOrganTypeType是一个单位性质类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcUOAOrganTypeType"] = "string" +typedefDict["TThostFtdcUOAOrganTypeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcUOACountryCodeType是一个国家代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcUOACountryCodeType"] = "string" +typedefDict["TThostFtdcUOACountryCodeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcAreaCodeType是一个区号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcAreaCodeType"] = "string" +typedefDict["TThostFtdcAreaCodeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcFuturesIDType是一个监控中心为客户分配的代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcFuturesIDType"] = "string" +typedefDict["TThostFtdcFuturesIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcCffmcDateType是一个日期类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCffmcDateType"] = "string" +typedefDict["TThostFtdcCffmcDateType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcCffmcTimeType是一个时间类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCffmcTimeType"] = "string" +typedefDict["TThostFtdcCffmcTimeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcNocIDType是一个组织机构代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcNocIDType"] = "string" +typedefDict["TThostFtdcNocIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcUpdateFlagType是一个更新状态类型 #////////////////////////////////////////////////////////////////////// #未更新 -defineDict["Sgit_FTDC_UF_NoUpdate"] = '0' +defineDict["THOST_FTDC_UF_NoUpdate"] = '0' #更新全部信息成功 -defineDict["Sgit_FTDC_UF_Success"] = '1' +defineDict["THOST_FTDC_UF_Success"] = '1' #更新全部信息失败 -defineDict["Sgit_FTDC_UF_Fail"] = '2' +defineDict["THOST_FTDC_UF_Fail"] = '2' #更新交易编码成功 -defineDict["Sgit_FTDC_UF_TCSuccess"] = '3' +defineDict["THOST_FTDC_UF_TCSuccess"] = '3' #更新交易编码失败 -defineDict["Sgit_FTDC_UF_TCFail"] = '4' +defineDict["THOST_FTDC_UF_TCFail"] = '4' #已丢弃 -defineDict["Sgit_FTDC_UF_Cancel"] = '5' +defineDict["THOST_FTDC_UF_Cancel"] = '5' -typedefDict["TSgitFtdcUpdateFlagType"] = "char" +typedefDict["TThostFtdcUpdateFlagType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcApplyOperateIDType是一个申请动作类型 #////////////////////////////////////////////////////////////////////// #开户 -defineDict["Sgit_FTDC_AOID_OpenInvestor"] = '1' +defineDict["THOST_FTDC_AOID_OpenInvestor"] = '1' #修改身份信息 -defineDict["Sgit_FTDC_AOID_ModifyIDCard"] = '2' +defineDict["THOST_FTDC_AOID_ModifyIDCard"] = '2' #修改一般信息 -defineDict["Sgit_FTDC_AOID_ModifyNoIDCard"] = '3' +defineDict["THOST_FTDC_AOID_ModifyNoIDCard"] = '3' #申请交易编码 -defineDict["Sgit_FTDC_AOID_ApplyTradingCode"] = '4' +defineDict["THOST_FTDC_AOID_ApplyTradingCode"] = '4' #撤销交易编码 -defineDict["Sgit_FTDC_AOID_CancelTradingCode"] = '5' +defineDict["THOST_FTDC_AOID_CancelTradingCode"] = '5' #销户 -defineDict["Sgit_FTDC_AOID_CancelInvestor"] = '6' +defineDict["THOST_FTDC_AOID_CancelInvestor"] = '6' #账户休眠 -defineDict["Sgit_FTDC_AOID_FreezeAccount"] = '8' +defineDict["THOST_FTDC_AOID_FreezeAccount"] = '8' #激活休眠账户 -defineDict["Sgit_FTDC_AOID_ActiveFreezeAccount"] = '9' +defineDict["THOST_FTDC_AOID_ActiveFreezeAccount"] = '9' -typedefDict["TSgitFtdcApplyOperateIDType"] = "char" +typedefDict["TThostFtdcApplyOperateIDType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcApplyStatusIDType是一个申请状态类型 #////////////////////////////////////////////////////////////////////// #未补全 -defineDict["Sgit_FTDC_ASID_NoComplete"] = '1' +defineDict["THOST_FTDC_ASID_NoComplete"] = '1' #已提交 -defineDict["Sgit_FTDC_ASID_Submited"] = '2' +defineDict["THOST_FTDC_ASID_Submited"] = '2' #已审核 -defineDict["Sgit_FTDC_ASID_Checked"] = '3' +defineDict["THOST_FTDC_ASID_Checked"] = '3' #已拒绝 -defineDict["Sgit_FTDC_ASID_Refused"] = '4' +defineDict["THOST_FTDC_ASID_Refused"] = '4' #已删除 -defineDict["Sgit_FTDC_ASID_Deleted"] = '5' +defineDict["THOST_FTDC_ASID_Deleted"] = '5' -typedefDict["TSgitFtdcApplyStatusIDType"] = "char" +typedefDict["TThostFtdcApplyStatusIDType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcSendMethodType是一个发送方式类型 #////////////////////////////////////////////////////////////////////// #文件发送 -defineDict["Sgit_FTDC_UOASM_ByAPI"] = '1' +defineDict["THOST_FTDC_UOASM_ByAPI"] = '1' #电子发送 -defineDict["Sgit_FTDC_UOASM_ByFile"] = '2' +defineDict["THOST_FTDC_UOASM_ByFile"] = '2' -typedefDict["TSgitFtdcSendMethodType"] = "char" +typedefDict["TThostFtdcSendMethodType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcEventTypeType是一个业务操作类型类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcEventTypeType"] = "string" +typedefDict["TThostFtdcEventTypeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcEventModeType是一个操作方法类型 #////////////////////////////////////////////////////////////////////// #增加 -defineDict["Sgit_FTDC_EvM_ADD"] = '1' +defineDict["THOST_FTDC_EvM_ADD"] = '1' #修改 -defineDict["Sgit_FTDC_EvM_UPDATE"] = '2' +defineDict["THOST_FTDC_EvM_UPDATE"] = '2' #删除 -defineDict["Sgit_FTDC_EvM_DELETE"] = '3' +defineDict["THOST_FTDC_EvM_DELETE"] = '3' #复核 -defineDict["Sgit_FTDC_EvM_CHECK"] = '4' +defineDict["THOST_FTDC_EvM_CHECK"] = '4' #复制 -defineDict["Sgit_FTDC_EvM_COPY"] = '5' +defineDict["THOST_FTDC_EvM_COPY"] = '5' #注销 -defineDict["Sgit_FTDC_EvM_CANCEL"] = '6' +defineDict["THOST_FTDC_EvM_CANCEL"] = '6' #冲销 -defineDict["Sgit_FTDC_EvM_Reverse"] = '7' +defineDict["THOST_FTDC_EvM_Reverse"] = '7' -typedefDict["TSgitFtdcEventModeType"] = "char" +typedefDict["TThostFtdcEventModeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcUOAAutoSendType是一个统一开户申请自动发送类型 #////////////////////////////////////////////////////////////////////// #自动发送并接收 -defineDict["Sgit_FTDC_UOAA_ASR"] = '1' +defineDict["THOST_FTDC_UOAA_ASR"] = '1' #自动发送,不自动接收 -defineDict["Sgit_FTDC_UOAA_ASNR"] = '2' +defineDict["THOST_FTDC_UOAA_ASNR"] = '2' #不自动发送,自动接收 -defineDict["Sgit_FTDC_UOAA_NSAR"] = '3' +defineDict["THOST_FTDC_UOAA_NSAR"] = '3' #不自动发送,也不自动接收 -defineDict["Sgit_FTDC_UOAA_NSR"] = '4' +defineDict["THOST_FTDC_UOAA_NSR"] = '4' -typedefDict["TSgitFtdcUOAAutoSendType"] = "char" +typedefDict["TThostFtdcUOAAutoSendType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcQueryDepthType是一个查询深度类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcQueryDepthType"] = "int" +typedefDict["TThostFtdcQueryDepthType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcDataCenterIDType是一个数据中心代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcDataCenterIDType"] = "int" +typedefDict["TThostFtdcDataCenterIDType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcFlowIDType是一个流程ID类型 #////////////////////////////////////////////////////////////////////// #投资者对应投资者组设置 -defineDict["Sgit_FTDC_EvM_InvestorGroupFlow"] = '1' +defineDict["THOST_FTDC_EvM_InvestorGroupFlow"] = '1' #投资者手续费率设置 -defineDict["Sgit_FTDC_EvM_InvestorRate"] = '2' +defineDict["THOST_FTDC_EvM_InvestorRate"] = '2' #投资者手续费率模板关系设置 -defineDict["Sgit_FTDC_EvM_InvestorCommRateModel"] = '3' +defineDict["THOST_FTDC_EvM_InvestorCommRateModel"] = '3' -typedefDict["TSgitFtdcFlowIDType"] = "char" +typedefDict["TThostFtdcFlowIDType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcCheckLevelType是一个复核级别类型 #////////////////////////////////////////////////////////////////////// #零级复核 -defineDict["Sgit_FTDC_CL_Zero"] = '0' +defineDict["THOST_FTDC_CL_Zero"] = '0' #一级复核 -defineDict["Sgit_FTDC_CL_One"] = '1' +defineDict["THOST_FTDC_CL_One"] = '1' #二级复核 -defineDict["Sgit_FTDC_CL_Two"] = '2' +defineDict["THOST_FTDC_CL_Two"] = '2' -typedefDict["TSgitFtdcCheckLevelType"] = "char" +typedefDict["TThostFtdcCheckLevelType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcCheckNoType是一个操作次数类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCheckNoType"] = "int" +typedefDict["TThostFtdcCheckNoType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcCheckStatusType是一个复核级别类型 #////////////////////////////////////////////////////////////////////// #未复核 -defineDict["Sgit_FTDC_CHS_Init"] = '0' +defineDict["THOST_FTDC_CHS_Init"] = '0' #复核中 -defineDict["Sgit_FTDC_CHS_Checking"] = '1' +defineDict["THOST_FTDC_CHS_Checking"] = '1' #已复核 -defineDict["Sgit_FTDC_CHS_Checked"] = '2' +defineDict["THOST_FTDC_CHS_Checked"] = '2' #拒绝 -defineDict["Sgit_FTDC_CHS_Refuse"] = '3' +defineDict["THOST_FTDC_CHS_Refuse"] = '3' #作废 -defineDict["Sgit_FTDC_CHS_Cancel"] = '4' +defineDict["THOST_FTDC_CHS_Cancel"] = '4' -typedefDict["TSgitFtdcCheckStatusType"] = "char" +typedefDict["TThostFtdcCheckStatusType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcUsedStatusType是一个生效状态类型 #////////////////////////////////////////////////////////////////////// #未生效 -defineDict["Sgit_FTDC_CHU_Unused"] = '0' +defineDict["THOST_FTDC_CHU_Unused"] = '0' #已生效 -defineDict["Sgit_FTDC_CHU_Used"] = '1' +defineDict["THOST_FTDC_CHU_Used"] = '1' #生效失败 -defineDict["Sgit_FTDC_CHU_Fail"] = '2' +defineDict["THOST_FTDC_CHU_Fail"] = '2' -typedefDict["TSgitFtdcUsedStatusType"] = "char" +typedefDict["TThostFtdcUsedStatusType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcRateTemplateNameType是一个模型名称类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcRateTemplateNameType"] = "string" +typedefDict["TThostFtdcRateTemplateNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcPropertyStringType是一个用于查询的投资属性字段类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcPropertyStringType"] = "string" +typedefDict["TThostFtdcPropertyStringType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcBankAcountOriginType是一个账户来源类型 #////////////////////////////////////////////////////////////////////// #手工录入 -defineDict["Sgit_FTDC_BAO_ByAccProperty"] = '0' +defineDict["THOST_FTDC_BAO_ByAccProperty"] = '0' #银期转账 -defineDict["Sgit_FTDC_BAO_ByFBTransfer"] = '1' +defineDict["THOST_FTDC_BAO_ByFBTransfer"] = '1' -typedefDict["TSgitFtdcBankAcountOriginType"] = "char" +typedefDict["TThostFtdcBankAcountOriginType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcMonthBillTradeSumType是一个结算单月报成交汇总方式类型 #////////////////////////////////////////////////////////////////////// #同日同合约 -defineDict["Sgit_FTDC_MBTS_ByInstrument"] = '0' +defineDict["THOST_FTDC_MBTS_ByInstrument"] = '0' #同日同合约同价格 -defineDict["Sgit_FTDC_MBTS_ByDayInsPrc"] = '1' +defineDict["THOST_FTDC_MBTS_ByDayInsPrc"] = '1' #同合约 -defineDict["Sgit_FTDC_MBTS_ByDayIns"] = '2' +defineDict["THOST_FTDC_MBTS_ByDayIns"] = '2' -typedefDict["TSgitFtdcMonthBillTradeSumType"] = "char" +typedefDict["TThostFtdcMonthBillTradeSumType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcFBTTradeCodeEnumType是一个银期交易代码枚举类型 #////////////////////////////////////////////////////////////////////// #银行发起银行转期货 -defineDict["Sgit_FTDC_FTC_BankLaunchBankToBroker"] = '102001' +defineDict["THOST_FTDC_FTC_BankLaunchBankToBroker"] = '102001' #期货发起银行转期货 -defineDict["Sgit_FTDC_FTC_BrokerLaunchBankToBroker"] = '202001' +defineDict["THOST_FTDC_FTC_BrokerLaunchBankToBroker"] = '202001' #银行发起期货转银行 -defineDict["Sgit_FTDC_FTC_BankLaunchBrokerToBank"] = '102002' +defineDict["THOST_FTDC_FTC_BankLaunchBrokerToBank"] = '102002' #期货发起期货转银行 -defineDict["Sgit_FTDC_FTC_BrokerLaunchBrokerToBank"] = '202002' +defineDict["THOST_FTDC_FTC_BrokerLaunchBrokerToBank"] = '202002' -typedefDict["TSgitFtdcFBTTradeCodeEnumType"] = "char" +typedefDict["TThostFtdcFBTTradeCodeEnumType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcRateTemplateIDType是一个模型代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcRateTemplateIDType"] = "string" +typedefDict["TThostFtdcRateTemplateIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcRiskRateType是一个风险度类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcRiskRateType"] = "string" +typedefDict["TThostFtdcRiskRateType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcTimestampType是一个时间戳类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcTimestampType"] = "int" +typedefDict["TThostFtdcTimestampType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcInvestorIDRuleNameType是一个号段规则名称类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcInvestorIDRuleNameType"] = "string" +typedefDict["TThostFtdcInvestorIDRuleNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcInvestorIDRuleExprType是一个号段规则表达式类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcInvestorIDRuleExprType"] = "string" +typedefDict["TThostFtdcInvestorIDRuleExprType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcLastDriftType是一个上次OTP漂移值类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcLastDriftType"] = "int" +typedefDict["TThostFtdcLastDriftType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcLastSuccessType是一个上次OTP成功值类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcLastSuccessType"] = "int" +typedefDict["TThostFtdcLastSuccessType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcAuthKeyType是一个令牌密钥类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcAuthKeyType"] = "string" +typedefDict["TThostFtdcAuthKeyType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcSerialNumberType是一个序列号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcSerialNumberType"] = "string" +typedefDict["TThostFtdcSerialNumberType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcOTPTypeType是一个动态令牌类型类型 #////////////////////////////////////////////////////////////////////// #无动态令牌 -defineDict["Sgit_FTDC_OTP_NONE"] = '0' +defineDict["THOST_FTDC_OTP_NONE"] = '0' #时间令牌 -defineDict["Sgit_FTDC_OTP_TOTP"] = '1' +defineDict["THOST_FTDC_OTP_TOTP"] = '1' -typedefDict["TSgitFtdcOTPTypeType"] = "char" +typedefDict["TThostFtdcOTPTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcOTPVendorsIDType是一个动态令牌提供商类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcOTPVendorsIDType"] = "string" +typedefDict["TThostFtdcOTPVendorsIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcOTPVendorsNameType是一个动态令牌提供商名称类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcOTPVendorsNameType"] = "string" +typedefDict["TThostFtdcOTPVendorsNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcOTPStatusType是一个动态令牌状态类型 #////////////////////////////////////////////////////////////////////// #未使用 -defineDict["Sgit_FTDC_OTPS_Unused"] = '0' +defineDict["THOST_FTDC_OTPS_Unused"] = '0' #已使用 -defineDict["Sgit_FTDC_OTPS_Used"] = '1' +defineDict["THOST_FTDC_OTPS_Used"] = '1' #注销 -defineDict["Sgit_FTDC_OTPS_Disuse"] = '2' +defineDict["THOST_FTDC_OTPS_Disuse"] = '2' -typedefDict["TSgitFtdcOTPStatusType"] = "char" +typedefDict["TThostFtdcOTPStatusType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcBrokerUserTypeType是一个经济公司用户类型类型 #////////////////////////////////////////////////////////////////////// #投资者 -defineDict["Sgit_FTDC_BUT_Investor"] = '1' +defineDict["THOST_FTDC_BUT_Investor"] = '1' #操作员 -defineDict["Sgit_FTDC_BUT_BrokerUser"] = '2' +defineDict["THOST_FTDC_BUT_BrokerUser"] = '2' -typedefDict["TSgitFtdcBrokerUserTypeType"] = "char" +typedefDict["TThostFtdcBrokerUserTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcFutureTypeType是一个期货类型类型 #////////////////////////////////////////////////////////////////////// #商品期货 -defineDict["Sgit_FTDC_FUTT_Commodity"] = '1' +defineDict["THOST_FTDC_FUTT_Commodity"] = '1' #金融期货 -defineDict["Sgit_FTDC_FUTT_Financial"] = '2' +defineDict["THOST_FTDC_FUTT_Financial"] = '2' -typedefDict["TSgitFtdcFutureTypeType"] = "char" +typedefDict["TThostFtdcFutureTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcFundEventTypeType是一个资金管理操作类型类型 #////////////////////////////////////////////////////////////////////// #转账限额 -defineDict["Sgit_FTDC_FET_Restriction"] = '0' +defineDict["THOST_FTDC_FET_Restriction"] = '0' #当日转账限额 -defineDict["Sgit_FTDC_FET_TodayRestriction"] = '1' +defineDict["THOST_FTDC_FET_TodayRestriction"] = '1' #期商流水 -defineDict["Sgit_FTDC_FET_Transfer"] = '2' +defineDict["THOST_FTDC_FET_Transfer"] = '2' #资金冻结 -defineDict["Sgit_FTDC_FET_Credit"] = '3' +defineDict["THOST_FTDC_FET_Credit"] = '3' #投资者可提资金比例 -defineDict["Sgit_FTDC_FET_InvestorWithdrawAlm"] = '4' +defineDict["THOST_FTDC_FET_InvestorWithdrawAlm"] = '4' #单个银行帐户转账限额 -defineDict["Sgit_FTDC_FET_BankRestriction"] = '5' +defineDict["THOST_FTDC_FET_BankRestriction"] = '5' #银期签约账户 -defineDict["Sgit_FTDC_FET_Accountregister"] = '6' +defineDict["THOST_FTDC_FET_Accountregister"] = '6' #交易所出入金 -defineDict["Sgit_FTDC_FET_ExchangeFundIO"] = '7' +defineDict["THOST_FTDC_FET_ExchangeFundIO"] = '7' #投资者出入金 -defineDict["Sgit_FTDC_FET_InvestorFundIO"] = '8' +defineDict["THOST_FTDC_FET_InvestorFundIO"] = '8' -typedefDict["TSgitFtdcFundEventTypeType"] = "char" +typedefDict["TThostFtdcFundEventTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcAccountSourceTypeType是一个资金账户来源类型 #////////////////////////////////////////////////////////////////////// #银期同步 -defineDict["Sgit_FTDC_AST_FBTransfer"] = '0' +defineDict["THOST_FTDC_AST_FBTransfer"] = '0' #手工录入 -defineDict["Sgit_FTDC_AST_ManualEntry"] = '1' +defineDict["THOST_FTDC_AST_ManualEntry"] = '1' -typedefDict["TSgitFtdcAccountSourceTypeType"] = "char" +typedefDict["TThostFtdcAccountSourceTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcCodeSourceTypeType是一个交易编码来源类型 #////////////////////////////////////////////////////////////////////// #统一开户(已规范) -defineDict["Sgit_FTDC_CST_UnifyAccount"] = '0' +defineDict["THOST_FTDC_CST_UnifyAccount"] = '0' #手工录入(未规范) -defineDict["Sgit_FTDC_CST_ManualEntry"] = '1' +defineDict["THOST_FTDC_CST_ManualEntry"] = '1' -typedefDict["TSgitFtdcCodeSourceTypeType"] = "char" +typedefDict["TThostFtdcCodeSourceTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcUserRangeType是一个操作员范围类型 #////////////////////////////////////////////////////////////////////// #所有 -defineDict["Sgit_FTDC_UR_All"] = '0' +defineDict["THOST_FTDC_UR_All"] = '0' #单一操作员 -defineDict["Sgit_FTDC_UR_Single"] = '1' +defineDict["THOST_FTDC_UR_Single"] = '1' -typedefDict["TSgitFtdcUserRangeType"] = "char" +typedefDict["TThostFtdcUserRangeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcTimeSpanType是一个时间跨度类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcTimeSpanType"] = "string" +typedefDict["TThostFtdcTimeSpanType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcImportSequenceIDType是一个动态令牌导入批次编号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcImportSequenceIDType"] = "string" +typedefDict["TThostFtdcImportSequenceIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcByGroupType是一个交易统计表按客户统计方式类型 #////////////////////////////////////////////////////////////////////// #按投资者统计 -defineDict["Sgit_FTDC_BG_Investor"] = '2' +defineDict["THOST_FTDC_BG_Investor"] = '2' #按类统计 -defineDict["Sgit_FTDC_BG_Group"] = '1' +defineDict["THOST_FTDC_BG_Group"] = '1' -typedefDict["TSgitFtdcByGroupType"] = "char" +typedefDict["TThostFtdcByGroupType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcTradeSumStatModeType是一个交易统计表按范围统计方式类型 #////////////////////////////////////////////////////////////////////// #按合约统计 -defineDict["Sgit_FTDC_TSSM_Instrument"] = '1' +defineDict["THOST_FTDC_TSSM_Instrument"] = '1' #按产品统计 -defineDict["Sgit_FTDC_TSSM_Product"] = '2' +defineDict["THOST_FTDC_TSSM_Product"] = '2' #按交易所统计 -defineDict["Sgit_FTDC_TSSM_Exchange"] = '3' +defineDict["THOST_FTDC_TSSM_Exchange"] = '3' -typedefDict["TSgitFtdcTradeSumStatModeType"] = "char" +typedefDict["TThostFtdcTradeSumStatModeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcComTypeType是一个组合成交类型类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcComTypeType"] = "int" +typedefDict["TThostFtdcComTypeType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcUserProductIDType是一个产品标识类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcUserProductIDType"] = "string" +typedefDict["TThostFtdcUserProductIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcUserProductNameType是一个产品名称类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcUserProductNameType"] = "string" +typedefDict["TThostFtdcUserProductNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcUserProductMemoType是一个产品说明类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcUserProductMemoType"] = "string" +typedefDict["TThostFtdcUserProductMemoType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcCSRCCancelFlagType是一个新增或变更标志类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCSRCCancelFlagType"] = "string" +typedefDict["TThostFtdcCSRCCancelFlagType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcCSRCDateType是一个日期类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCSRCDateType"] = "string" +typedefDict["TThostFtdcCSRCDateType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcCSRCInvestorNameType是一个客户名称类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCSRCInvestorNameType"] = "string" +typedefDict["TThostFtdcCSRCInvestorNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCOpenInvestorNameType是一个客户名称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCSRCOpenInvestorNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcCSRCInvestorIDType是一个客户代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCSRCInvestorIDType"] = "string" +typedefDict["TThostFtdcCSRCInvestorIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcCSRCIdentifiedCardNoType是一个证件号码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCSRCIdentifiedCardNoType"] = "string" +typedefDict["TThostFtdcCSRCIdentifiedCardNoType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcCSRCClientIDType是一个交易编码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCSRCClientIDType"] = "string" +typedefDict["TThostFtdcCSRCClientIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcCSRCBankFlagType是一个银行标识类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCSRCBankFlagType"] = "string" +typedefDict["TThostFtdcCSRCBankFlagType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcCSRCBankAccountType是一个银行账户类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCSRCBankAccountType"] = "string" +typedefDict["TThostFtdcCSRCBankAccountType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcCSRCOpenNameType是一个开户人类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCSRCOpenNameType"] = "string" +typedefDict["TThostFtdcCSRCOpenNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcCSRCMemoType是一个说明类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCSRCMemoType"] = "string" +typedefDict["TThostFtdcCSRCMemoType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcCSRCTimeType是一个时间类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCSRCTimeType"] = "string" +typedefDict["TThostFtdcCSRCTimeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcCSRCTradeIDType是一个成交流水号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCSRCTradeIDType"] = "string" +typedefDict["TThostFtdcCSRCTradeIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcCSRCExchangeInstIDType是一个合约代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCSRCExchangeInstIDType"] = "string" +typedefDict["TThostFtdcCSRCExchangeInstIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcCSRCMortgageNameType是一个质押品名称类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCSRCMortgageNameType"] = "string" +typedefDict["TThostFtdcCSRCMortgageNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcCSRCReasonType是一个事由类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCSRCReasonType"] = "string" +typedefDict["TThostFtdcCSRCReasonType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcIsSettlementType是一个是否为非结算会员类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcIsSettlementType"] = "string" +typedefDict["TThostFtdcIsSettlementType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcCSRCMoneyType是一个资金类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCSRCMoneyType"] = "float" +typedefDict["TThostFtdcCSRCMoneyType"] = "float" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCPriceType是一个价格类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCSRCPriceType"] = "float" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCOptionsTypeType是一个期权类型类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCSRCOptionsTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCStrikePriceType是一个执行价类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCSRCStrikePriceType"] = "float" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCTargetProductIDType是一个标的品种类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCSRCTargetProductIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCTargetInstrIDType是一个标的合约类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCSRCTargetInstrIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcCommModelNameType是一个手续费率模板名称类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCommModelNameType"] = "string" +typedefDict["TThostFtdcCommModelNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcCommModelMemoType是一个手续费率模板备注类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCommModelMemoType"] = "string" +typedefDict["TThostFtdcCommModelMemoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcExprSetModeType是一个日期表达式设置类型类型 +#////////////////////////////////////////////////////////////////////// +#相对已有规则设置 +defineDict["THOST_FTDC_ESM_Relative"] = '1' +#典型设置 +defineDict["THOST_FTDC_ESM_Typical"] = '2' + +typedefDict["TThostFtdcExprSetModeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcRateInvestorRangeType是一个投资者范围类型 #////////////////////////////////////////////////////////////////////// -#所有 -defineDict["Sgit_FTDC_RIR_All"] = '1' -#费率模板 -defineDict["Sgit_FTDC_RIR_Model"] = '2' +#公司标准 +defineDict["THOST_FTDC_RIR_All"] = '1' +#模板 +defineDict["THOST_FTDC_RIR_Model"] = '2' #单一投资者 -defineDict["Sgit_FTDC_RIR_Single"] = '3' +defineDict["THOST_FTDC_RIR_Single"] = '3' -typedefDict["TSgitFtdcRateInvestorRangeType"] = "char" +typedefDict["TThostFtdcRateInvestorRangeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcAgentBrokerIDType是一个代理经纪公司代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcAgentBrokerIDType"] = "string" +typedefDict["TThostFtdcAgentBrokerIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcDRIdentityIDType是一个交易中心代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcDRIdentityIDType"] = "int" +typedefDict["TThostFtdcDRIdentityIDType"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcDRIdentityNameType是一个交易中心名称类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcDRIdentityNameType"] = "string" +typedefDict["TThostFtdcDRIdentityNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcDBLinkIDType是一个DBLink标识号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcDBLinkIDType"] = "string" +typedefDict["TThostFtdcDBLinkIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcSyncDataStatusType是一个主次用系统数据同步状态类型 #////////////////////////////////////////////////////////////////////// #未同步 -defineDict["Sgit_FTDC_SDS_Initialize"] = '0' +defineDict["THOST_FTDC_SDS_Initialize"] = '0' #同步中 -defineDict["Sgit_FTDC_SDS_Settlementing"] = '1' +defineDict["THOST_FTDC_SDS_Settlementing"] = '1' #已同步 -defineDict["Sgit_FTDC_SDS_Settlemented"] = '2' +defineDict["THOST_FTDC_SDS_Settlemented"] = '2' -typedefDict["TSgitFtdcSyncDataStatusType"] = "char" +typedefDict["TThostFtdcSyncDataStatusType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcTradeSourceType是一个成交来源类型 #////////////////////////////////////////////////////////////////////// #来自交易所普通回报 -defineDict["Sgit_FTDC_TSRC_NORMAL"] = '0' +defineDict["THOST_FTDC_TSRC_NORMAL"] = '0' #来自查询 -defineDict["Sgit_FTDC_TSRC_QUERY"] = '1' +defineDict["THOST_FTDC_TSRC_QUERY"] = '1' -typedefDict["TSgitFtdcTradeSourceType"] = "char" +typedefDict["TThostFtdcTradeSourceType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcFlexStatModeType是一个产品合约统计方式类型 #////////////////////////////////////////////////////////////////////// #产品统计 -defineDict["Sgit_FTDC_FSM_Product"] = '1' +defineDict["THOST_FTDC_FSM_Product"] = '1' #交易所统计 -defineDict["Sgit_FTDC_FSM_Exchange"] = '2' +defineDict["THOST_FTDC_FSM_Exchange"] = '2' #统计所有 -defineDict["Sgit_FTDC_FSM_All"] = '3' +defineDict["THOST_FTDC_FSM_All"] = '3' -typedefDict["TSgitFtdcFlexStatModeType"] = "char" +typedefDict["TThostFtdcFlexStatModeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcByInvestorRangeType是一个投资者范围统计方式类型 #////////////////////////////////////////////////////////////////////// #属性统计 -defineDict["Sgit_FTDC_BIR_Property"] = '1' +defineDict["THOST_FTDC_BIR_Property"] = '1' #统计所有 -defineDict["Sgit_FTDC_BIR_All"] = '2' +defineDict["THOST_FTDC_BIR_All"] = '2' -typedefDict["TSgitFtdcByInvestorRangeType"] = "char" +typedefDict["TThostFtdcByInvestorRangeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcSRiskRateType是一个风险度类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcSRiskRateType"] = "string" - -#////////////////////////////////////////////////////////////////////// -#TFtdcFBTBankIDType是一个银行标识类型 -#////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcFBTBankIDType"] = "string" +typedefDict["TThostFtdcSRiskRateType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcSequenceNo12Type是一个序号类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcSequenceNo12Type"] = "int" +typedefDict["TThostFtdcSequenceNo12Type"] = "int" #////////////////////////////////////////////////////////////////////// #TFtdcPropertyInvestorRangeType是一个投资者范围类型 #////////////////////////////////////////////////////////////////////// #所有 -defineDict["Sgit_FTDC_PIR_All"] = '1' +defineDict["THOST_FTDC_PIR_All"] = '1' #投资者属性 -defineDict["Sgit_FTDC_PIR_Property"] = '2' +defineDict["THOST_FTDC_PIR_Property"] = '2' #单一投资者 -defineDict["Sgit_FTDC_PIR_Single"] = '3' +defineDict["THOST_FTDC_PIR_Single"] = '3' -typedefDict["TSgitFtdcPropertyInvestorRangeType"] = "char" +typedefDict["TThostFtdcPropertyInvestorRangeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcFileStatusType是一个文件状态类型 #////////////////////////////////////////////////////////////////////// #未生成 -defineDict["Sgit_FTDC_FIS_NoCreate"] = '0' +defineDict["THOST_FTDC_FIS_NoCreate"] = '0' #已生成 -defineDict["Sgit_FTDC_FIS_Created"] = '1' +defineDict["THOST_FTDC_FIS_Created"] = '1' #生成失败 -defineDict["Sgit_FTDC_FIS_Failed"] = '2' +defineDict["THOST_FTDC_FIS_Failed"] = '2' -typedefDict["TSgitFtdcFileStatusType"] = "char" +typedefDict["TThostFtdcFileStatusType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcFileGenStyleType是一个文件生成方式类型 #////////////////////////////////////////////////////////////////////// #下发 -defineDict["Sgit_FTDC_FGS_FileTransmit"] = '0' +defineDict["THOST_FTDC_FGS_FileTransmit"] = '0' #生成 -defineDict["Sgit_FTDC_FGS_FileGen"] = '1' +defineDict["THOST_FTDC_FGS_FileGen"] = '1' -typedefDict["TSgitFtdcFileGenStyleType"] = "char" +typedefDict["TThostFtdcFileGenStyleType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcSysOperModeType是一个系统日志操作方法类型 #////////////////////////////////////////////////////////////////////// #增加 -defineDict["Sgit_FTDC_SoM_Add"] = '1' +defineDict["THOST_FTDC_SoM_Add"] = '1' #修改 -defineDict["Sgit_FTDC_SoM_Update"] = '2' +defineDict["THOST_FTDC_SoM_Update"] = '2' #删除 -defineDict["Sgit_FTDC_SoM_Delete"] = '3' +defineDict["THOST_FTDC_SoM_Delete"] = '3' #复制 -defineDict["Sgit_FTDC_SoM_Copy"] = '4' +defineDict["THOST_FTDC_SoM_Copy"] = '4' #激活 -defineDict["Sgit_FTDC_SoM_AcTive"] = '5' +defineDict["THOST_FTDC_SoM_AcTive"] = '5' #注销 -defineDict["Sgit_FTDC_SoM_CanCel"] = '6' +defineDict["THOST_FTDC_SoM_CanCel"] = '6' #重置 -defineDict["Sgit_FTDC_SoM_ReSet"] = '7' +defineDict["THOST_FTDC_SoM_ReSet"] = '7' -typedefDict["TSgitFtdcSysOperModeType"] = "char" +typedefDict["TThostFtdcSysOperModeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcSysOperTypeType是一个系统日志操作类型类型 #////////////////////////////////////////////////////////////////////// #修改操作员密码 -defineDict["Sgit_FTDC_SoT_UpdatePassword"] = '0' +defineDict["THOST_FTDC_SoT_UpdatePassword"] = '0' #操作员组织架构关系 -defineDict["Sgit_FTDC_SoT_UserDepartment"] = '1' +defineDict["THOST_FTDC_SoT_UserDepartment"] = '1' #角色管理 -defineDict["Sgit_FTDC_SoT_RoleManager"] = '2' +defineDict["THOST_FTDC_SoT_RoleManager"] = '2' #角色功能设置 -defineDict["Sgit_FTDC_SoT_RoleFunction"] = '3' +defineDict["THOST_FTDC_SoT_RoleFunction"] = '3' #基础参数设置 -defineDict["Sgit_FTDC_SoT_BaseParam"] = '4' +defineDict["THOST_FTDC_SoT_BaseParam"] = '4' #设置操作员 -defineDict["Sgit_FTDC_SoT_SetUserID"] = '5' +defineDict["THOST_FTDC_SoT_SetUserID"] = '5' #用户角色设置 -defineDict["Sgit_FTDC_SoT_SetUserRole"] = '6' +defineDict["THOST_FTDC_SoT_SetUserRole"] = '6' #用户IP限制 -defineDict["Sgit_FTDC_SoT_UserIpRestriction"] = '7' +defineDict["THOST_FTDC_SoT_UserIpRestriction"] = '7' #组织架构管理 -defineDict["Sgit_FTDC_SoT_DepartmentManager"] = '8' +defineDict["THOST_FTDC_SoT_DepartmentManager"] = '8' #组织架构向查询分类复制 -defineDict["Sgit_FTDC_SoT_DepartmentCopy"] = '9' +defineDict["THOST_FTDC_SoT_DepartmentCopy"] = '9' #交易编码管理 -defineDict["Sgit_FTDC_SoT_Tradingcode"] = 'A' +defineDict["THOST_FTDC_SoT_Tradingcode"] = 'A' #投资者状态维护 -defineDict["Sgit_FTDC_SoT_InvestorStatus"] = 'B' +defineDict["THOST_FTDC_SoT_InvestorStatus"] = 'B' #投资者权限管理 -defineDict["Sgit_FTDC_SoT_InvestorAuthority"] = 'C' +defineDict["THOST_FTDC_SoT_InvestorAuthority"] = 'C' #属性设置 -defineDict["Sgit_FTDC_SoT_PropertySet"] = 'D' +defineDict["THOST_FTDC_SoT_PropertySet"] = 'D' #重置投资者密码 -defineDict["Sgit_FTDC_SoT_ReSetInvestorPasswd"] = 'E' +defineDict["THOST_FTDC_SoT_ReSetInvestorPasswd"] = 'E' #投资者个性信息维护 -defineDict["Sgit_FTDC_SoT_InvestorPersonalityInfo"] = 'F' +defineDict["THOST_FTDC_SoT_InvestorPersonalityInfo"] = 'F' -typedefDict["TSgitFtdcSysOperTypeType"] = "char" +typedefDict["TThostFtdcSysOperTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcCSRCDataQueyTypeType是一个上报数据查询类型类型 #////////////////////////////////////////////////////////////////////// #查询当前交易日报送的数据 -defineDict["Sgit_FTDC_CSRCQ_Current"] = '0' +defineDict["THOST_FTDC_CSRCQ_Current"] = '0' #查询历史报送的代理经纪公司的数据 -defineDict["Sgit_FTDC_CSRCQ_History"] = '1' +defineDict["THOST_FTDC_CSRCQ_History"] = '1' -typedefDict["TSgitFtdcCSRCDataQueyTypeType"] = "char" +typedefDict["TThostFtdcCSRCDataQueyTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcFreezeStatusType是一个休眠状态类型 #////////////////////////////////////////////////////////////////////// #活跃 -defineDict["Sgit_FTDC_FRS_Normal"] = '1' +defineDict["THOST_FTDC_FRS_Normal"] = '1' #休眠 -defineDict["Sgit_FTDC_FRS_Freeze"] = '0' +defineDict["THOST_FTDC_FRS_Freeze"] = '0' -typedefDict["TSgitFtdcFreezeStatusType"] = "char" +typedefDict["TThostFtdcFreezeStatusType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcStandardStatusType是一个规范状态类型 #////////////////////////////////////////////////////////////////////// #已规范 -defineDict["Sgit_FTDC_STST_Standard"] = '0' +defineDict["THOST_FTDC_STST_Standard"] = '0' #未规范 -defineDict["Sgit_FTDC_STST_NonStandard"] = '1' +defineDict["THOST_FTDC_STST_NonStandard"] = '1' -typedefDict["TSgitFtdcStandardStatusType"] = "char" +typedefDict["TThostFtdcStandardStatusType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcCSRCFreezeStatusType是一个休眠状态类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCSRCFreezeStatusType"] = "string" +typedefDict["TThostFtdcCSRCFreezeStatusType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcRightParamTypeType是一个配置类型类型 #////////////////////////////////////////////////////////////////////// #休眠户 -defineDict["Sgit_FTDC_RPT_Freeze"] = '1' +defineDict["THOST_FTDC_RPT_Freeze"] = '1' #激活休眠户 -defineDict["Sgit_FTDC_RPT_FreezeActive"] = '2' +defineDict["THOST_FTDC_RPT_FreezeActive"] = '2' +#开仓权限限制 +defineDict["THOST_FTDC_RPT_OpenLimit"] = '3' +#解除开仓权限限制 +defineDict["THOST_FTDC_RPT_RelieveOpenLimit"] = '4' -typedefDict["TSgitFtdcRightParamTypeType"] = "char" +typedefDict["TThostFtdcRightParamTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcRightTemplateIDType是一个模板代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcRightTemplateIDType"] = "string" +typedefDict["TThostFtdcRightTemplateIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcRightTemplateNameType是一个模板名称类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcRightTemplateNameType"] = "string" +typedefDict["TThostFtdcRightTemplateNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcDataStatusType是一个反洗钱审核表数据状态类型 #////////////////////////////////////////////////////////////////////// #正常 -defineDict["Sgit_FTDC_AMLDS_Normal"] = '0' +defineDict["THOST_FTDC_AMLDS_Normal"] = '0' #已删除 -defineDict["Sgit_FTDC_AMLDS_Deleted"] = '1' +defineDict["THOST_FTDC_AMLDS_Deleted"] = '1' -typedefDict["TSgitFtdcDataStatusType"] = "char" +typedefDict["TThostFtdcDataStatusType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcAMLCheckStatusType是一个审核状态类型 #////////////////////////////////////////////////////////////////////// #未复核 -defineDict["Sgit_FTDC_AMLCHS_Init"] = '0' +defineDict["THOST_FTDC_AMLCHS_Init"] = '0' #复核中 -defineDict["Sgit_FTDC_AMLCHS_Checking"] = '1' +defineDict["THOST_FTDC_AMLCHS_Checking"] = '1' #已复核 -defineDict["Sgit_FTDC_AMLCHS_Checked"] = '2' +defineDict["THOST_FTDC_AMLCHS_Checked"] = '2' #拒绝上报 -defineDict["Sgit_FTDC_AMLCHS_RefuseReport"] = '3' +defineDict["THOST_FTDC_AMLCHS_RefuseReport"] = '3' -typedefDict["TSgitFtdcAMLCheckStatusType"] = "char" +typedefDict["TThostFtdcAMLCheckStatusType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcAmlDateTypeType是一个日期类型类型 #////////////////////////////////////////////////////////////////////// #检查日期 -defineDict["Sgit_FTDC_AMLDT_DrawDay"] = '0' +defineDict["THOST_FTDC_AMLDT_DrawDay"] = '0' #发生日期 -defineDict["Sgit_FTDC_AMLDT_TouchDay"] = '1' +defineDict["THOST_FTDC_AMLDT_TouchDay"] = '1' -typedefDict["TSgitFtdcAmlDateTypeType"] = "char" +typedefDict["TThostFtdcAmlDateTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcAmlCheckLevelType是一个审核级别类型 #////////////////////////////////////////////////////////////////////// #零级审核 -defineDict["Sgit_FTDC_AMLCL_CheckLevel0"] = '0' +defineDict["THOST_FTDC_AMLCL_CheckLevel0"] = '0' #一级审核 -defineDict["Sgit_FTDC_AMLCL_CheckLevel1"] = '1' +defineDict["THOST_FTDC_AMLCL_CheckLevel1"] = '1' #二级审核 -defineDict["Sgit_FTDC_AMLCL_CheckLevel2"] = '2' +defineDict["THOST_FTDC_AMLCL_CheckLevel2"] = '2' #三级审核 -defineDict["Sgit_FTDC_AMLCL_CheckLevel3"] = '3' +defineDict["THOST_FTDC_AMLCL_CheckLevel3"] = '3' -typedefDict["TSgitFtdcAmlCheckLevelType"] = "char" +typedefDict["TThostFtdcAmlCheckLevelType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcAmlCheckFlowType是一个反洗钱数据抽取审核流程类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcAmlCheckFlowType"] = "string" +typedefDict["TThostFtdcAmlCheckFlowType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcDataTypeType是一个数据类型类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcDataTypeType"] = "string" +typedefDict["TThostFtdcDataTypeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcExportFileTypeType是一个导出文件类型类型 #////////////////////////////////////////////////////////////////////// #CSV -defineDict["Sgit_FTDC_EFT_CSV"] = '0' +defineDict["THOST_FTDC_EFT_CSV"] = '0' #Excel -defineDict["Sgit_FTDC_EFT_EXCEL"] = '1' +defineDict["THOST_FTDC_EFT_EXCEL"] = '1' #DBF -defineDict["Sgit_FTDC_EFT_DBF"] = '2' +defineDict["THOST_FTDC_EFT_DBF"] = '2' -typedefDict["TSgitFtdcExportFileTypeType"] = "char" +typedefDict["TThostFtdcExportFileTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcSettleManagerTypeType是一个结算配置类型类型 #////////////////////////////////////////////////////////////////////// #结算前准备 -defineDict["Sgit_FTDC_SMT_Before"] = '1' +defineDict["THOST_FTDC_SMT_Before"] = '1' #结算 -defineDict["Sgit_FTDC_SMT_Settlement"] = '2' +defineDict["THOST_FTDC_SMT_Settlement"] = '2' #结算后核对 -defineDict["Sgit_FTDC_SMT_After"] = '3' -#结算完成 -defineDict["Sgit_FTDC_SMT_Settlemented"] = '4' +defineDict["THOST_FTDC_SMT_After"] = '3' +#结算后处理 +defineDict["THOST_FTDC_SMT_Settlemented"] = '4' -typedefDict["TSgitFtdcSettleManagerTypeType"] = "char" +typedefDict["TThostFtdcSettleManagerTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcSettleManagerIDType是一个结算配置代码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcSettleManagerIDType"] = "string" +typedefDict["TThostFtdcSettleManagerIDType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcSettleManagerNameType是一个结算配置名称类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcSettleManagerNameType"] = "string" +typedefDict["TThostFtdcSettleManagerNameType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcSettleManagerLevelType是一个结算配置等级类型 #////////////////////////////////////////////////////////////////////// #必要 -defineDict["Sgit_FTDC_SML_Must"] = '1' +defineDict["THOST_FTDC_SML_Must"] = '1' #警告 -defineDict["Sgit_FTDC_SML_Alarm"] = '2' +defineDict["THOST_FTDC_SML_Alarm"] = '2' #提示 -defineDict["Sgit_FTDC_SML_Prompt"] = '3' +defineDict["THOST_FTDC_SML_Prompt"] = '3' #不检查 -defineDict["Sgit_FTDC_SML_Ignore"] = '4' +defineDict["THOST_FTDC_SML_Ignore"] = '4' -typedefDict["TSgitFtdcSettleManagerLevelType"] = "char" +typedefDict["TThostFtdcSettleManagerLevelType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcSettleManagerGroupType是一个模块分组类型 #////////////////////////////////////////////////////////////////////// #交易所核对 -defineDict["Sgit_FTDC_SMG_Exhcange"] = '1' +defineDict["THOST_FTDC_SMG_Exhcange"] = '1' #内部核对 -defineDict["Sgit_FTDC_SMG_ASP"] = '2' +defineDict["THOST_FTDC_SMG_ASP"] = '2' #上报数据核对 -defineDict["Sgit_FTDC_SMG_CSRC"] = '3' +defineDict["THOST_FTDC_SMG_CSRC"] = '3' -typedefDict["TSgitFtdcSettleManagerGroupType"] = "char" +typedefDict["TThostFtdcSettleManagerGroupType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcCheckResultMemoType是一个核对结果说明类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcCheckResultMemoType"] = "string" +typedefDict["TThostFtdcCheckResultMemoType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcFunctionUrlType是一个功能链接类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcFunctionUrlType"] = "string" +typedefDict["TThostFtdcFunctionUrlType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcAuthInfoType是一个客户端认证信息类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcAuthInfoType"] = "string" +typedefDict["TThostFtdcAuthInfoType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcAuthCodeType是一个客户端认证码类型 #////////////////////////////////////////////////////////////////////// -typedefDict["TSgitFtdcAuthCodeType"] = "string" +typedefDict["TThostFtdcAuthCodeType"] = "string" #////////////////////////////////////////////////////////////////////// #TFtdcLimitUseTypeType是一个保值额度使用类型类型 #////////////////////////////////////////////////////////////////////// #可重复使用 -defineDict["Sgit_FTDC_LUT_Repeatable"] = '1' +defineDict["THOST_FTDC_LUT_Repeatable"] = '1' #不可重复使用 -defineDict["Sgit_FTDC_LUT_Unrepeatable"] = '2' +defineDict["THOST_FTDC_LUT_Unrepeatable"] = '2' -typedefDict["TSgitFtdcLimitUseTypeType"] = "char" +typedefDict["TThostFtdcLimitUseTypeType"] = "char" #////////////////////////////////////////////////////////////////////// #TFtdcDataResourceType是一个数据来源类型 #////////////////////////////////////////////////////////////////////// #本系统 -defineDict["Sgit_FTDC_DAR_Settle"] = '1' +defineDict["THOST_FTDC_DAR_Settle"] = '1' #交易所 -defineDict["Sgit_FTDC_DAR_Exchange"] = '2' +defineDict["THOST_FTDC_DAR_Exchange"] = '2' #报送数据 -defineDict["Sgit_FTDC_DAR_CSRC"] = '3' +defineDict["THOST_FTDC_DAR_CSRC"] = '3' -typedefDict["TSgitFtdcDataResourceType"] = "char" +typedefDict["TThostFtdcDataResourceType"] = "char" +#////////////////////////////////////////////////////////////////////// +#TFtdcMarginTypeType是一个保证金类型类型 +#////////////////////////////////////////////////////////////////////// +#交易所保证金率 +defineDict["THOST_FTDC_MGT_ExchMarginRate"] = '0' +#投资者保证金率 +defineDict["THOST_FTDC_MGT_InstrMarginRate"] = '1' +#投资者交易保证金率 +defineDict["THOST_FTDC_MGT_InstrMarginRateTrade"] = '2' + +typedefDict["TThostFtdcMarginTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcActiveTypeType是一个生效类型类型 +#////////////////////////////////////////////////////////////////////// +#仅当日生效 +defineDict["THOST_FTDC_ACT_Intraday"] = '1' +#长期生效 +defineDict["THOST_FTDC_ACT_Long"] = '2' + +typedefDict["TThostFtdcActiveTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcMarginRateTypeType是一个冲突保证金率类型类型 +#////////////////////////////////////////////////////////////////////// +#交易所保证金率 +defineDict["THOST_FTDC_MRT_Exchange"] = '1' +#投资者保证金率 +defineDict["THOST_FTDC_MRT_Investor"] = '2' +#投资者交易保证金率 +defineDict["THOST_FTDC_MRT_InvestorTrade"] = '3' + +typedefDict["TThostFtdcMarginRateTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBackUpStatusType是一个备份数据状态类型 +#////////////////////////////////////////////////////////////////////// +#未生成备份数据 +defineDict["THOST_FTDC_BUS_UnBak"] = '0' +#备份数据生成中 +defineDict["THOST_FTDC_BUS_BakUp"] = '1' +#已生成备份数据 +defineDict["THOST_FTDC_BUS_BakUped"] = '2' +#备份数据失败 +defineDict["THOST_FTDC_BUS_BakFail"] = '3' + +typedefDict["TThostFtdcBackUpStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInitSettlementType是一个结算初始化状态类型 +#////////////////////////////////////////////////////////////////////// +#结算初始化未开始 +defineDict["THOST_FTDC_SIS_UnInitialize"] = '0' +#结算初始化中 +defineDict["THOST_FTDC_SIS_Initialize"] = '1' +#结算初始化完成 +defineDict["THOST_FTDC_SIS_Initialized"] = '2' + +typedefDict["TThostFtdcInitSettlementType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcReportStatusType是一个报表数据生成状态类型 +#////////////////////////////////////////////////////////////////////// +#未生成报表数据 +defineDict["THOST_FTDC_SRS_NoCreate"] = '0' +#报表数据生成中 +defineDict["THOST_FTDC_SRS_Create"] = '1' +#已生成报表数据 +defineDict["THOST_FTDC_SRS_Created"] = '2' +#生成报表数据失败 +defineDict["THOST_FTDC_SRS_CreateFail"] = '3' + +typedefDict["TThostFtdcReportStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSaveStatusType是一个数据归档状态类型 +#////////////////////////////////////////////////////////////////////// +#归档未完成 +defineDict["THOST_FTDC_SSS_UnSaveData"] = '0' +#归档完成 +defineDict["THOST_FTDC_SSS_SaveDatad"] = '1' + +typedefDict["TThostFtdcSaveStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSettArchiveStatusType是一个结算确认数据归档状态类型 +#////////////////////////////////////////////////////////////////////// +#未归档数据 +defineDict["THOST_FTDC_SAS_UnArchived"] = '0' +#数据归档中 +defineDict["THOST_FTDC_SAS_Archiving"] = '1' +#已归档数据 +defineDict["THOST_FTDC_SAS_Archived"] = '2' +#归档数据失败 +defineDict["THOST_FTDC_SAS_ArchiveFail"] = '3' + +typedefDict["TThostFtdcSettArchiveStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCTPTypeType是一个CTP交易系统类型类型 +#////////////////////////////////////////////////////////////////////// +#未知类型 +defineDict["THOST_FTDC_CTPT_Unkown"] = '0' +#主中心 +defineDict["THOST_FTDC_CTPT_MainCenter"] = '1' +#备中心 +defineDict["THOST_FTDC_CTPT_BackUp"] = '2' + +typedefDict["TThostFtdcCTPTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcToolIDType是一个工具代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcToolIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcToolNameType是一个工具名称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcToolNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCloseDealTypeType是一个平仓处理类型类型 +#////////////////////////////////////////////////////////////////////// +#正常 +defineDict["THOST_FTDC_CDT_Normal"] = '0' +#投机平仓优先 +defineDict["THOST_FTDC_CDT_SpecFirst"] = '1' + +typedefDict["TThostFtdcCloseDealTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcMortgageFundUseRangeType是一个货币质押资金可用范围类型 +#////////////////////////////////////////////////////////////////////// +#不能使用 +defineDict["THOST_FTDC_MFUR_None"] = '0' +#用于保证金 +defineDict["THOST_FTDC_MFUR_Margin"] = '1' +#用于手续费、盈亏、保证金 +defineDict["THOST_FTDC_MFUR_All"] = '2' + +typedefDict["TThostFtdcMortgageFundUseRangeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCurrencyUnitType是一个币种单位数量类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCurrencyUnitType"] = "float" + +#////////////////////////////////////////////////////////////////////// +#TFtdcExchangeRateType是一个汇率类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcExchangeRateType"] = "float" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSpecProductTypeType是一个特殊产品类型类型 +#////////////////////////////////////////////////////////////////////// +#郑商所套保产品 +defineDict["THOST_FTDC_SPT_CzceHedge"] = '1' +#货币质押产品 +defineDict["THOST_FTDC_SPT_IneForeignCurrency"] = '2' +#大连短线开平仓产品 +defineDict["THOST_FTDC_SPT_DceOpenClose"] = '3' + +typedefDict["TThostFtdcSpecProductTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFundMortgageTypeType是一个货币质押类型类型 +#////////////////////////////////////////////////////////////////////// +#质押 +defineDict["THOST_FTDC_FMT_Mortgage"] = '1' +#解质 +defineDict["THOST_FTDC_FMT_Redemption"] = '2' + +typedefDict["TThostFtdcFundMortgageTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAccountSettlementParamIDType是一个投资者账户结算参数代码类型 +#////////////////////////////////////////////////////////////////////// +#基础保证金 +defineDict["THOST_FTDC_ASPI_BaseMargin"] = '1' +#最低权益标准 +defineDict["THOST_FTDC_ASPI_LowestInterest"] = '2' + +typedefDict["TThostFtdcAccountSettlementParamIDType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCurrencyNameType是一个币种名称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCurrencyNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCurrencySignType是一个币种符号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCurrencySignType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFundMortDirectionType是一个货币质押方向类型 +#////////////////////////////////////////////////////////////////////// +#货币质入 +defineDict["THOST_FTDC_FMD_In"] = '1' +#货币质出 +defineDict["THOST_FTDC_FMD_Out"] = '2' + +typedefDict["TThostFtdcFundMortDirectionType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBusinessClassType是一个换汇类别类型 +#////////////////////////////////////////////////////////////////////// +#盈利 +defineDict["THOST_FTDC_BT_Profit"] = '0' +#亏损 +defineDict["THOST_FTDC_BT_Loss"] = '1' +#其他 +defineDict["THOST_FTDC_BT_Other"] = 'Z' + +typedefDict["TThostFtdcBusinessClassType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSwapSourceTypeType是一个换汇数据来源类型 +#////////////////////////////////////////////////////////////////////// +#手工 +defineDict["THOST_FTDC_SST_Manual"] = '0' +#自动生成 +defineDict["THOST_FTDC_SST_Automatic"] = '1' + +typedefDict["TThostFtdcSwapSourceTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCurrExDirectionType是一个换汇类型类型 +#////////////////////////////////////////////////////////////////////// +#结汇 +defineDict["THOST_FTDC_CED_Settlement"] = '0' +#售汇 +defineDict["THOST_FTDC_CED_Sale"] = '1' + +typedefDict["TThostFtdcCurrExDirectionType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCurrencySwapStatusType是一个申请状态类型 +#////////////////////////////////////////////////////////////////////// +#已录入 +defineDict["THOST_FTDC_CSS_Entry"] = '1' +#已审核 +defineDict["THOST_FTDC_CSS_Approve"] = '2' +#已拒绝 +defineDict["THOST_FTDC_CSS_Refuse"] = '3' +#已撤销 +defineDict["THOST_FTDC_CSS_Revoke"] = '4' +#已发送 +defineDict["THOST_FTDC_CSS_Send"] = '5' +#换汇成功 +defineDict["THOST_FTDC_CSS_Success"] = '6' +#换汇失败 +defineDict["THOST_FTDC_CSS_Failure"] = '7' + +typedefDict["TThostFtdcCurrencySwapStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCurrExchCertNoType是一个凭证号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCurrExchCertNoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBatchSerialNoType是一个批次号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcBatchSerialNoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcReqFlagType是一个换汇发送标志类型 +#////////////////////////////////////////////////////////////////////// +#未发送 +defineDict["THOST_FTDC_REQF_NoSend"] = '0' +#发送成功 +defineDict["THOST_FTDC_REQF_SendSuccess"] = '1' +#发送失败 +defineDict["THOST_FTDC_REQF_SendFailed"] = '2' +#等待重发 +defineDict["THOST_FTDC_REQF_WaitReSend"] = '3' + +typedefDict["TThostFtdcReqFlagType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcResFlagType是一个换汇返回成功标志类型 +#////////////////////////////////////////////////////////////////////// +#成功 +defineDict["THOST_FTDC_RESF_Success"] = '0' +#账户余额不足 +defineDict["THOST_FTDC_RESF_InsuffiCient"] = '1' +#交易结果未知 +defineDict["THOST_FTDC_RESF_UnKnown"] = '8' + +typedefDict["TThostFtdcResFlagType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPageControlType是一个换汇页面控制类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcPageControlType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRecordCountType是一个记录数类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcRecordCountType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCurrencySwapMemoType是一个换汇需确认信息类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCurrencySwapMemoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcExStatusType是一个修改状态类型 +#////////////////////////////////////////////////////////////////////// +#修改前 +defineDict["THOST_FTDC_EXS_Before"] = '0' +#修改后 +defineDict["THOST_FTDC_EXS_After"] = '1' + +typedefDict["TThostFtdcExStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcClientRegionType是一个开户客户地域类型 +#////////////////////////////////////////////////////////////////////// +#国内客户 +defineDict["THOST_FTDC_CR_Domestic"] = '1' +#港澳台客户 +defineDict["THOST_FTDC_CR_GMT"] = '2' +#国外客户 +defineDict["THOST_FTDC_CR_Foreign"] = '3' + +typedefDict["TThostFtdcClientRegionType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcWorkPlaceType是一个工作单位类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcWorkPlaceType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBusinessPeriodType是一个经营期限类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcBusinessPeriodType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcWebSiteType是一个网址类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcWebSiteType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUOAIdCardTypeType是一个统一开户证件类型类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcUOAIdCardTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcClientModeType是一个开户模式类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcClientModeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInvestorFullNameType是一个投资者全称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcInvestorFullNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUOABrokerIDType是一个境外中介机构ID类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcUOABrokerIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUOAZipCodeType是一个邮政编码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcUOAZipCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUOAEMailType是一个电子邮箱类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcUOAEMailType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOldCityType是一个城市类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcOldCityType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCorporateIdentifiedCardNoType是一个法人代表证件号码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCorporateIdentifiedCardNoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcHasBoardType是一个是否有董事会类型 +#////////////////////////////////////////////////////////////////////// +#没有 +defineDict["THOST_FTDC_HB_No"] = '0' +#有 +defineDict["THOST_FTDC_HB_Yes"] = '1' + +typedefDict["TThostFtdcHasBoardType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcStartModeType是一个启动模式类型 +#////////////////////////////////////////////////////////////////////// +#正常 +defineDict["THOST_FTDC_SM_Normal"] = '1' +#应急 +defineDict["THOST_FTDC_SM_Emerge"] = '2' +#恢复 +defineDict["THOST_FTDC_SM_Restore"] = '3' + +typedefDict["TThostFtdcStartModeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTemplateTypeType是一个模型类型类型 +#////////////////////////////////////////////////////////////////////// +#全量 +defineDict["THOST_FTDC_TPT_Full"] = '1' +#增量 +defineDict["THOST_FTDC_TPT_Increment"] = '2' +#备份 +defineDict["THOST_FTDC_TPT_BackUp"] = '3' + +typedefDict["TThostFtdcTemplateTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcLoginModeType是一个登录模式类型 +#////////////////////////////////////////////////////////////////////// +#交易 +defineDict["THOST_FTDC_LM_Trade"] = '0' +#转账 +defineDict["THOST_FTDC_LM_Transfer"] = '1' + +typedefDict["TThostFtdcLoginModeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPromptTypeType是一个日历提示类型类型 +#////////////////////////////////////////////////////////////////////// +#合约上下市 +defineDict["THOST_FTDC_CPT_Instrument"] = '1' +#保证金分段生效 +defineDict["THOST_FTDC_CPT_Margin"] = '2' + +typedefDict["TThostFtdcPromptTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcLedgerManageIDType是一个分户管理资产编码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcLedgerManageIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInvestVarietyType是一个投资品种类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcInvestVarietyType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankAccountTypeType是一个账户类别类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcBankAccountTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcLedgerManageBankType是一个开户银行类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcLedgerManageBankType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCffexDepartmentNameType是一个开户营业部类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCffexDepartmentNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCffexDepartmentCodeType是一个营业部代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCffexDepartmentCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcHasTrusteeType是一个是否有托管人类型 +#////////////////////////////////////////////////////////////////////// +#有 +defineDict["THOST_FTDC_HT_Yes"] = '1' +#没有 +defineDict["THOST_FTDC_HT_No"] = '0' + +typedefDict["TThostFtdcHasTrusteeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCMemo1Type是一个说明类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCSRCMemo1Type"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAssetmgrCFullNameType是一个代理资产管理业务的期货公司全称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAssetmgrCFullNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAssetmgrApprovalNOType是一个资产管理业务批文号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAssetmgrApprovalNOType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAssetmgrMgrNameType是一个资产管理业务负责人姓名类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAssetmgrMgrNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAmTypeType是一个机构类型类型 +#////////////////////////////////////////////////////////////////////// +#银行 +defineDict["THOST_FTDC_AMT_Bank"] = '1' +#证券公司 +defineDict["THOST_FTDC_AMT_Securities"] = '2' +#基金公司 +defineDict["THOST_FTDC_AMT_Fund"] = '3' +#保险公司 +defineDict["THOST_FTDC_AMT_Insurance"] = '4' +#信托公司 +defineDict["THOST_FTDC_AMT_Trust"] = '5' +#其他 +defineDict["THOST_FTDC_AMT_Other"] = '9' + +typedefDict["TThostFtdcAmTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCAmTypeType是一个机构类型类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCSRCAmTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCFundIOTypeType是一个出入金类型类型 +#////////////////////////////////////////////////////////////////////// +#出入金 +defineDict["THOST_FTDC_CFIOT_FundIO"] = '0' +#银期换汇 +defineDict["THOST_FTDC_CFIOT_SwapCurrency"] = '1' + +typedefDict["TThostFtdcCSRCFundIOTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCusAccountTypeType是一个结算账户类型类型 +#////////////////////////////////////////////////////////////////////// +#期货结算账户 +defineDict["THOST_FTDC_CAT_Futures"] = '1' +#纯期货资管业务下的资管结算账户 +defineDict["THOST_FTDC_CAT_AssetmgrFuture"] = '2' +#综合类资管业务下的期货资管托管账户 +defineDict["THOST_FTDC_CAT_AssetmgrTrustee"] = '3' +#综合类资管业务下的资金中转账户 +defineDict["THOST_FTDC_CAT_AssetmgrTransfer"] = '4' + +typedefDict["TThostFtdcCusAccountTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCNationalType是一个国籍类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCSRCNationalType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCSecAgentIDType是一个二级代理ID类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCSRCSecAgentIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcLanguageTypeType是一个通知语言类型类型 +#////////////////////////////////////////////////////////////////////// +#中文 +defineDict["THOST_FTDC_LT_Chinese"] = '1' +#英文 +defineDict["THOST_FTDC_LT_English"] = '2' + +typedefDict["TThostFtdcLanguageTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAmAccountType是一个投资账户类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAmAccountType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAssetmgrClientTypeType是一个资产管理客户类型类型 +#////////////////////////////////////////////////////////////////////// +#个人资管客户 +defineDict["THOST_FTDC_AMCT_Person"] = '1' +#单位资管客户 +defineDict["THOST_FTDC_AMCT_Organ"] = '2' +#特殊单位资管客户 +defineDict["THOST_FTDC_AMCT_SpecialOrgan"] = '4' + +typedefDict["TThostFtdcAssetmgrClientTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAssetmgrTypeType是一个投资类型类型 +#////////////////////////////////////////////////////////////////////// +#期货类 +defineDict["THOST_FTDC_ASST_Futures"] = '3' +#综合类 +defineDict["THOST_FTDC_ASST_SpecialOrgan"] = '4' + +typedefDict["TThostFtdcAssetmgrTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUOMType是一个计量单位类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcUOMType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSHFEInstLifePhaseType是一个上期所合约生命周期状态类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcSHFEInstLifePhaseType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSHFEProductClassType是一个产品类型类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcSHFEProductClassType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPriceDecimalType是一个价格小数位类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcPriceDecimalType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInTheMoneyFlagType是一个平值期权标志类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcInTheMoneyFlagType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCheckInstrTypeType是一个合约比较类型类型 +#////////////////////////////////////////////////////////////////////// +#合约交易所不存在 +defineDict["THOST_FTDC_CIT_HasExch"] = '0' +#合约本系统不存在 +defineDict["THOST_FTDC_CIT_HasATP"] = '1' +#合约比较不一致 +defineDict["THOST_FTDC_CIT_HasDiff"] = '2' + +typedefDict["TThostFtdcCheckInstrTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDeliveryTypeType是一个交割类型类型 +#////////////////////////////////////////////////////////////////////// +#手工交割 +defineDict["THOST_FTDC_DT_HandDeliv"] = '1' +#到期交割 +defineDict["THOST_FTDC_DT_PersonDeliv"] = '2' + +typedefDict["TThostFtdcDeliveryTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBigMoneyType是一个资金类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcBigMoneyType"] = "float" + +#////////////////////////////////////////////////////////////////////// +#TFtdcMaxMarginSideAlgorithmType是一个大额单边保证金算法类型 +#////////////////////////////////////////////////////////////////////// +#不使用大额单边保证金算法 +defineDict["THOST_FTDC_MMSA_NO"] = '0' +#使用大额单边保证金算法 +defineDict["THOST_FTDC_MMSA_YES"] = '1' + +typedefDict["TThostFtdcMaxMarginSideAlgorithmType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDAClientTypeType是一个资产管理客户类型类型 +#////////////////////////////////////////////////////////////////////// +#自然人 +defineDict["THOST_FTDC_CACT_Person"] = '0' +#法人 +defineDict["THOST_FTDC_CACT_Company"] = '1' +#其他 +defineDict["THOST_FTDC_CACT_Other"] = '2' + +typedefDict["TThostFtdcDAClientTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCombinInstrIDType是一个套利合约代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCombinInstrIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCombinSettlePriceType是一个各腿结算价类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCombinSettlePriceType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDCEPriorityType是一个优先级类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcDCEPriorityType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTradeGroupIDType是一个成交组号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcTradeGroupIDType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcIsCheckPrepaType是一个是否校验开户可用资金类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcIsCheckPrepaType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUOAAssetmgrTypeType是一个投资类型类型 +#////////////////////////////////////////////////////////////////////// +#期货类 +defineDict["THOST_FTDC_UOAAT_Futures"] = '1' +#综合类 +defineDict["THOST_FTDC_UOAAT_SpecialOrgan"] = '2' + +typedefDict["TThostFtdcUOAAssetmgrTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDirectionEnType是一个买卖方向类型 +#////////////////////////////////////////////////////////////////////// +#Buy +defineDict["THOST_FTDC_DEN_Buy"] = '0' +#Sell +defineDict["THOST_FTDC_DEN_Sell"] = '1' + +typedefDict["TThostFtdcDirectionEnType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOffsetFlagEnType是一个开平标志类型 +#////////////////////////////////////////////////////////////////////// +#Position Opening +defineDict["THOST_FTDC_OFEN_Open"] = '0' +#Position Close +defineDict["THOST_FTDC_OFEN_Close"] = '1' +#Forced Liquidation +defineDict["THOST_FTDC_OFEN_ForceClose"] = '2' +#Close Today +defineDict["THOST_FTDC_OFEN_CloseToday"] = '3' +#Close Prev. +defineDict["THOST_FTDC_OFEN_CloseYesterday"] = '4' +#Forced Reduction +defineDict["THOST_FTDC_OFEN_ForceOff"] = '5' +#Local Forced Liquidation +defineDict["THOST_FTDC_OFEN_LocalForceClose"] = '6' + +typedefDict["TThostFtdcOffsetFlagEnType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcHedgeFlagEnType是一个投机套保标志类型 +#////////////////////////////////////////////////////////////////////// +#Speculation +defineDict["THOST_FTDC_HFEN_Speculation"] = '1' +#Arbitrage +defineDict["THOST_FTDC_HFEN_Arbitrage"] = '2' +#Hedge +defineDict["THOST_FTDC_HFEN_Hedge"] = '3' + +typedefDict["TThostFtdcHedgeFlagEnType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFundIOTypeEnType是一个出入金类型类型 +#////////////////////////////////////////////////////////////////////// +#Deposit/Withdrawal +defineDict["THOST_FTDC_FIOTEN_FundIO"] = '1' +#Bank-Futures Transfer +defineDict["THOST_FTDC_FIOTEN_Transfer"] = '2' +#Bank-Futures FX Exchange +defineDict["THOST_FTDC_FIOTEN_SwapCurrency"] = '3' + +typedefDict["TThostFtdcFundIOTypeEnType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFundTypeEnType是一个资金类型类型 +#////////////////////////////////////////////////////////////////////// +#Bank Deposit +defineDict["THOST_FTDC_FTEN_Deposite"] = '1' +#Payment/Fee +defineDict["THOST_FTDC_FTEN_ItemFund"] = '2' +#Brokerage Adj +defineDict["THOST_FTDC_FTEN_Company"] = '3' +#Internal Transfer +defineDict["THOST_FTDC_FTEN_InnerTransfer"] = '4' + +typedefDict["TThostFtdcFundTypeEnType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFundDirectionEnType是一个出入金方向类型 +#////////////////////////////////////////////////////////////////////// +#Deposit +defineDict["THOST_FTDC_FDEN_In"] = '1' +#Withdrawal +defineDict["THOST_FTDC_FDEN_Out"] = '2' + +typedefDict["TThostFtdcFundDirectionEnType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFundMortDirectionEnType是一个货币质押方向类型 +#////////////////////////////////////////////////////////////////////// +#Pledge +defineDict["THOST_FTDC_FMDEN_In"] = '1' +#Redemption +defineDict["THOST_FTDC_FMDEN_Out"] = '2' + +typedefDict["TThostFtdcFundMortDirectionEnType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSwapBusinessTypeType是一个换汇业务种类类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcSwapBusinessTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOptionsTypeType是一个期权类型类型 +#////////////////////////////////////////////////////////////////////// +#看涨 +defineDict["THOST_FTDC_CP_CallOptions"] = '1' +#看跌 +defineDict["THOST_FTDC_CP_PutOptions"] = '2' + +typedefDict["TThostFtdcOptionsTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcStrikeModeType是一个执行方式类型 +#////////////////////////////////////////////////////////////////////// +#欧式 +defineDict["THOST_FTDC_STM_Continental"] = '0' +#美式 +defineDict["THOST_FTDC_STM_American"] = '1' +#百慕大 +defineDict["THOST_FTDC_STM_Bermuda"] = '2' + +typedefDict["TThostFtdcStrikeModeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcStrikeTypeType是一个执行类型类型 +#////////////////////////////////////////////////////////////////////// +#自身对冲 +defineDict["THOST_FTDC_STT_Hedge"] = '0' +#匹配执行 +defineDict["THOST_FTDC_STT_Match"] = '1' + +typedefDict["TThostFtdcStrikeTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcApplyTypeType是一个中金所期权放弃执行申请类型类型 +#////////////////////////////////////////////////////////////////////// +#不执行数量 +defineDict["THOST_FTDC_APPT_NotStrikeNum"] = '4' + +typedefDict["TThostFtdcApplyTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcGiveUpDataSourceType是一个放弃执行申请数据来源类型 +#////////////////////////////////////////////////////////////////////// +#系统生成 +defineDict["THOST_FTDC_GUDS_Gen"] = '0' +#手工添加 +defineDict["THOST_FTDC_GUDS_Hand"] = '1' + +typedefDict["TThostFtdcGiveUpDataSourceType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcExecOrderSysIDType是一个执行宣告系统编号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcExecOrderSysIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcExecResultType是一个执行结果类型 +#////////////////////////////////////////////////////////////////////// +#没有执行 +defineDict["THOST_FTDC_OER_NoExec"] = 'n' +#已经取消 +defineDict["THOST_FTDC_OER_Canceled"] = 'c' +#执行成功 +defineDict["THOST_FTDC_OER_OK"] = '0' +#期权持仓不够 +defineDict["THOST_FTDC_OER_NoPosition"] = '1' +#资金不够 +defineDict["THOST_FTDC_OER_NoDeposit"] = '2' +#会员不存在 +defineDict["THOST_FTDC_OER_NoParticipant"] = '3' +#客户不存在 +defineDict["THOST_FTDC_OER_NoClient"] = '4' +#合约不存在 +defineDict["THOST_FTDC_OER_NoInstrument"] = '6' +#没有执行权限 +defineDict["THOST_FTDC_OER_NoRight"] = '7' +#不合理的数量 +defineDict["THOST_FTDC_OER_InvalidVolume"] = '8' +#没有足够的历史成交 +defineDict["THOST_FTDC_OER_NoEnoughHistoryTrade"] = '9' +#未知 +defineDict["THOST_FTDC_OER_Unknown"] = 'a' + +typedefDict["TThostFtdcExecResultType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcStrikeSequenceType是一个执行序号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcStrikeSequenceType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcStrikeTimeType是一个执行时间类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcStrikeTimeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCombinationTypeType是一个组合类型类型 +#////////////////////////////////////////////////////////////////////// +#期货组合 +defineDict["THOST_FTDC_COMBT_Future"] = '0' +#垂直价差BUL +defineDict["THOST_FTDC_COMBT_BUL"] = '1' +#垂直价差BER +defineDict["THOST_FTDC_COMBT_BER"] = '2' +#跨式组合 +defineDict["THOST_FTDC_COMBT_STD"] = '3' +#宽跨式组合 +defineDict["THOST_FTDC_COMBT_STG"] = '4' +#备兑组合 +defineDict["THOST_FTDC_COMBT_PRT"] = '5' +#时间价差组合 +defineDict["THOST_FTDC_COMBT_CLD"] = '6' + +typedefDict["TThostFtdcCombinationTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOptionRoyaltyPriceTypeType是一个期权权利金价格类型类型 +#////////////////////////////////////////////////////////////////////// +#昨结算价 +defineDict["THOST_FTDC_ORPT_PreSettlementPrice"] = '1' +#开仓价 +defineDict["THOST_FTDC_ORPT_OpenPrice"] = '4' + +typedefDict["TThostFtdcOptionRoyaltyPriceTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBalanceAlgorithmType是一个权益算法类型 +#////////////////////////////////////////////////////////////////////// +#不计算期权市值盈亏 +defineDict["THOST_FTDC_BLAG_Default"] = '1' +#计算期权市值亏损 +defineDict["THOST_FTDC_BLAG_IncludeOptValLost"] = '2' + +typedefDict["TThostFtdcBalanceAlgorithmType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcActionTypeType是一个执行类型类型 +#////////////////////////////////////////////////////////////////////// +#执行 +defineDict["THOST_FTDC_ACTP_Exec"] = '1' +#放弃 +defineDict["THOST_FTDC_ACTP_Abandon"] = '2' + +typedefDict["TThostFtdcActionTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcForQuoteStatusType是一个询价状态类型 +#////////////////////////////////////////////////////////////////////// +#已经提交 +defineDict["THOST_FTDC_FQST_Submitted"] = 'a' +#已经接受 +defineDict["THOST_FTDC_FQST_Accepted"] = 'b' +#已经被拒绝 +defineDict["THOST_FTDC_FQST_Rejected"] = 'c' + +typedefDict["TThostFtdcForQuoteStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcValueMethodType是一个取值方式类型 +#////////////////////////////////////////////////////////////////////// +#按绝对值 +defineDict["THOST_FTDC_VM_Absolute"] = '0' +#按比率 +defineDict["THOST_FTDC_VM_Ratio"] = '1' + +typedefDict["TThostFtdcValueMethodType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcExecOrderPositionFlagType是一个期权行权后是否保留期货头寸的标记类型 +#////////////////////////////////////////////////////////////////////// +#保留 +defineDict["THOST_FTDC_EOPF_Reserve"] = '0' +#不保留 +defineDict["THOST_FTDC_EOPF_UnReserve"] = '1' + +typedefDict["TThostFtdcExecOrderPositionFlagType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcExecOrderCloseFlagType是一个期权行权后生成的头寸是否自动平仓类型 +#////////////////////////////////////////////////////////////////////// +#自动平仓 +defineDict["THOST_FTDC_EOCF_AutoClose"] = '0' +#免于自动平仓 +defineDict["THOST_FTDC_EOCF_NotToClose"] = '1' + +typedefDict["TThostFtdcExecOrderCloseFlagType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcProductTypeType是一个产品类型类型 +#////////////////////////////////////////////////////////////////////// +#期货 +defineDict["THOST_FTDC_PTE_Futures"] = '1' +#期权 +defineDict["THOST_FTDC_PTE_Options"] = '2' + +typedefDict["TThostFtdcProductTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCZCEUploadFileNameType是一个郑商所结算文件名类型 +#////////////////////////////////////////////////////////////////////// +#^\d{8}_zz_\d{4} +defineDict["THOST_FTDC_CUFN_CUFN_O"] = 'O' +#^\d{8}成交表 +defineDict["THOST_FTDC_CUFN_CUFN_T"] = 'T' +#^\d{8}单腿持仓表new +defineDict["THOST_FTDC_CUFN_CUFN_P"] = 'P' +#^\d{8}非平仓了结表 +defineDict["THOST_FTDC_CUFN_CUFN_N"] = 'N' +#^\d{8}平仓表 +defineDict["THOST_FTDC_CUFN_CUFN_L"] = 'L' +#^\d{8}资金表 +defineDict["THOST_FTDC_CUFN_CUFN_F"] = 'F' +#^\d{8}组合持仓表 +defineDict["THOST_FTDC_CUFN_CUFN_C"] = 'C' +#^\d{8}保证金参数表 +defineDict["THOST_FTDC_CUFN_CUFN_M"] = 'M' + +typedefDict["TThostFtdcCZCEUploadFileNameType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDCEUploadFileNameType是一个大商所结算文件名类型 +#////////////////////////////////////////////////////////////////////// +#^\d{8}_dl_\d{3} +defineDict["THOST_FTDC_DUFN_DUFN_O"] = 'O' +#^\d{8}_成交表 +defineDict["THOST_FTDC_DUFN_DUFN_T"] = 'T' +#^\d{8}_持仓表 +defineDict["THOST_FTDC_DUFN_DUFN_P"] = 'P' +#^\d{8}_资金结算表 +defineDict["THOST_FTDC_DUFN_DUFN_F"] = 'F' +#^\d{8}_优惠组合持仓明细表 +defineDict["THOST_FTDC_DUFN_DUFN_C"] = 'C' +#^\d{8}_持仓明细表 +defineDict["THOST_FTDC_DUFN_DUFN_D"] = 'D' +#^\d{8}_保证金参数表 +defineDict["THOST_FTDC_DUFN_DUFN_M"] = 'M' +#^\d{8}_期权执行表 +defineDict["THOST_FTDC_DUFN_DUFN_S"] = 'S' + +typedefDict["TThostFtdcDCEUploadFileNameType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSHFEUploadFileNameType是一个上期所结算文件名类型 +#////////////////////////////////////////////////////////////////////// +#^\d{4}_\d{8}_\d{8}_DailyFundChg +defineDict["THOST_FTDC_SUFN_SUFN_O"] = 'O' +#^\d{4}_\d{8}_\d{8}_Trade +defineDict["THOST_FTDC_SUFN_SUFN_T"] = 'T' +#^\d{4}_\d{8}_\d{8}_SettlementDetail +defineDict["THOST_FTDC_SUFN_SUFN_P"] = 'P' +#^\d{4}_\d{8}_\d{8}_Capital +defineDict["THOST_FTDC_SUFN_SUFN_F"] = 'F' + +typedefDict["TThostFtdcSHFEUploadFileNameType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCFFEXUploadFileNameType是一个中金所结算文件名类型 +#////////////////////////////////////////////////////////////////////// +#^\d{4}_SG\d{1}_\d{8}_\d{1}_Trade +defineDict["THOST_FTDC_CFUFN_SUFN_T"] = 'T' +#^\d{4}_SG\d{1}_\d{8}_\d{1}_SettlementDetail +defineDict["THOST_FTDC_CFUFN_SUFN_P"] = 'P' +#^\d{4}_SG\d{1}_\d{8}_\d{1}_Capital +defineDict["THOST_FTDC_CFUFN_SUFN_F"] = 'F' +#^\d{4}_SG\d{1}_\d{8}_\d{1}_OptionExec +defineDict["THOST_FTDC_CFUFN_SUFN_S"] = 'S' + +typedefDict["TThostFtdcCFFEXUploadFileNameType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCombDirectionType是一个组合指令方向类型 +#////////////////////////////////////////////////////////////////////// +#申请组合 +defineDict["THOST_FTDC_CMDR_Comb"] = '0' +#申请拆分 +defineDict["THOST_FTDC_CMDR_UnComb"] = '1' + +typedefDict["TThostFtdcCombDirectionType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBTBankIDType是一个银行标识类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFBTBankIDType"] = "string" + +# diff --git a/vn.trader/sgitGateway/sgitGateway.py b/vn.trader/sgitGateway/sgitGateway.py index 8747f4bd..02a7d59b 100644 --- a/vn.trader/sgitGateway/sgitGateway.py +++ b/vn.trader/sgitGateway/sgitGateway.py @@ -3,73 +3,74 @@ ''' vn.sgit的gateway接入 -飞鼠接口的委托数据更新是分散在多个推送里的: -1. 下单后,通过onRtnOrder通知是否成功,没有ErrorID说明委托到了交易所 -2. 后续的成交状态,通过onRtnTrade通知,用户自行累加 -3. 撤单的确认,通过onRspOrderAction通知 - -为了获取实时的委托状态,需要用户自行把这三个数据合并起来, -因此在TdApi中维护了一个委托数据的缓存字典,对vn.trader系统中推送的是本地委托号, -在Gateway中和委托系统号对应起来 - -飞鼠的撤单需要使用:交易所代码+交易所的系统委托号,撤单时从缓存中 -获取委托的系统编号 +考虑到现阶段大部分SGIT中的ExchangeID字段返回的都是空值 +vtSymbol直接使用symbol ''' import os import json +from copy import copy +from datetime import datetime from vnsgitmd import MdApi from vnsgittd import TdApi from sgitDataType import * from vtGateway import * + # 以下为一些VT类型和SGIT类型的映射字典 # 价格类型映射 priceTypeMap = {} -priceTypeMap[PRICETYPE_LIMITPRICE] = defineDict["Sgit_FTDC_OPT_LimitPrice"] -priceTypeMap[PRICETYPE_MARKETPRICE] = defineDict["Sgit_FTDC_OPT_AnyPrice"] +priceTypeMap[PRICETYPE_LIMITPRICE] = defineDict["THOST_FTDC_OPT_LimitPrice"] +priceTypeMap[PRICETYPE_MARKETPRICE] = defineDict["THOST_FTDC_OPT_AnyPrice"] priceTypeMapReverse = {v: k for k, v in priceTypeMap.items()} # 方向类型映射 directionMap = {} -directionMap[DIRECTION_LONG] = defineDict['Sgit_FTDC_D_Buy'] -directionMap[DIRECTION_SHORT] = defineDict['Sgit_FTDC_D_Sell'] +directionMap[DIRECTION_LONG] = defineDict['THOST_FTDC_D_Buy'] +directionMap[DIRECTION_SHORT] = defineDict['THOST_FTDC_D_Sell'] directionMapReverse = {v: k for k, v in directionMap.items()} # 开平类型映射 offsetMap = {} -offsetMap[OFFSET_OPEN] = defineDict['Sgit_FTDC_OF_Open'] -offsetMap[OFFSET_CLOSE] = defineDict['Sgit_FTDC_OF_Close'] -offsetMap[OFFSET_CLOSETODAY] = defineDict['Sgit_FTDC_OF_CloseToday'] -offsetMap[OFFSET_CLOSEYESTERDAY] = defineDict['Sgit_FTDC_OF_CloseYesterday'] +offsetMap[OFFSET_OPEN] = defineDict['THOST_FTDC_OF_Open'] +offsetMap[OFFSET_CLOSE] = defineDict['THOST_FTDC_OF_Close'] +offsetMap[OFFSET_CLOSETODAY] = defineDict['THOST_FTDC_OF_CloseToday'] +offsetMap[OFFSET_CLOSEYESTERDAY] = defineDict['THOST_FTDC_OF_CloseYesterday'] offsetMapReverse = {v:k for k,v in offsetMap.items()} # 交易所类型映射 exchangeMap = {} -exchangeMap[EXCHANGE_CFFEX] = defineDict['Sgit_FTDC_EIDT_CFFEX'] -exchangeMap[EXCHANGE_SHFE] = defineDict['Sgit_FTDC_EIDT_SHFE'] -exchangeMap[EXCHANGE_CZCE] = defineDict['Sgit_FTDC_EIDT_CZCE'] -exchangeMap[EXCHANGE_DCE] = defineDict['Sgit_FTDC_EIDT_DCE'] -exchangeMap[EXCHANGE_SGE] = defineDict['Sgit_FTDC_EIDT_GOLD'] +exchangeMap[EXCHANGE_CFFEX] = 'CFFEX' +exchangeMap[EXCHANGE_SHFE] = 'SHFE' +exchangeMap[EXCHANGE_CZCE] = 'CZCE' +exchangeMap[EXCHANGE_DCE] = 'DCE' +exchangeMap[EXCHANGE_SSE] = 'SSE' exchangeMap[EXCHANGE_UNKNOWN] = '' exchangeMapReverse = {v:k for k,v in exchangeMap.items()} # 持仓类型映射 posiDirectionMap = {} -posiDirectionMap[DIRECTION_NET] = defineDict["Sgit_FTDC_PD_Net"] -posiDirectionMap[DIRECTION_LONG] = defineDict["Sgit_FTDC_PD_Long"] -posiDirectionMap[DIRECTION_SHORT] = defineDict["Sgit_FTDC_PD_Short"] +posiDirectionMap[DIRECTION_NET] = defineDict["THOST_FTDC_PD_Net"] +posiDirectionMap[DIRECTION_LONG] = defineDict["THOST_FTDC_PD_Long"] +posiDirectionMap[DIRECTION_SHORT] = defineDict["THOST_FTDC_PD_Short"] posiDirectionMapReverse = {v:k for k,v in posiDirectionMap.items()} -# 委托状态类型映射 -orderStatusMap = {} -orderStatusMap[STATUS_ALLTRADED] = defineDict["Sgit_FTDC_OST_AllTraded"] -orderStatusMap[STATUS_PARTTRADED] = defineDict["Sgit_FTDC_OST_PartTradedQueueing"] -orderStatusMap[STATUS_NOTTRADED] = defineDict["Sgit_FTDC_OST_NoTradeQueueing"] -orderStatusMap[STATUS_CANCELLED] = defineDict["Sgit_FTDC_OST_Canceled"] -orderStatusMapReverse = {v:k for k,v in orderStatusMap.items()} +# 产品类型映射 +productClassMap = {} +productClassMap[PRODUCT_FUTURES] = defineDict["THOST_FTDC_PC_Futures"] +productClassMap[PRODUCT_OPTION] = defineDict["THOST_FTDC_PC_Options"] +productClassMap[PRODUCT_COMBINATION] = defineDict["THOST_FTDC_PC_Combination"] +productClassMapReverse = {v:k for k,v in productClassMap.items()} + +# 委托状态映射 +statusMap = {} +statusMap[STATUS_ALLTRADED] = defineDict["THOST_FTDC_OST_AllTraded"] +statusMap[STATUS_PARTTRADED] = defineDict["THOST_FTDC_OST_PartTradedQueueing"] +statusMap[STATUS_NOTTRADED] = defineDict["THOST_FTDC_OST_NoTradeQueueing"] +statusMap[STATUS_CANCELLED] = defineDict["THOST_FTDC_OST_Canceled"] +statusMapReverse = {v:k for k,v in statusMap.items()} ######################################################################## @@ -166,8 +167,7 @@ class SgitGateway(VtGateway): """初始化连续查询""" if self.qryEnabled: # 需要循环的查询函数列表 - # 飞鼠柜台的资金是主动推送的,因此无需查询 - self.qryFunctionList = [self.qryPosition] + self.qryFunctionList = [self.qryAccount, self.qryPosition] self.qryCount = 0 # 查询触发倒计时 self.qryTrigger = 2 # 查询触发点 @@ -245,14 +245,11 @@ class SgitMdApi(MdApi): os.makedirs(path) self.createFtdcMdApi(path) - # 订阅数据流 - self.subscribeMarketTopic(0) - # 注册服务器地址 self.registerFront(self.address) # 初始化连接,成功会调用onFrontConnected - self.init(False) + self.init() # 若已经连接但尚未登录,则进行登录 else: @@ -265,7 +262,7 @@ class SgitMdApi(MdApi): # 这里的设计是,如果尚未登录就调用了订阅方法 # 则先保存订阅请求,登录完成后会自动订阅 if self.loginStatus: - self.subQuot({'ContractID': str(subscribeReq.symbol)}) + self.subscribeMarketData(str(subscribeReq.symbol)) self.subscribedSymbols.add(subscribeReq) #---------------------------------------------------------------------- @@ -295,9 +292,9 @@ class SgitMdApi(MdApi): log.logContent = u'行情服务器连接成功' self.gateway.onLog(log) self.login() - + #---------------------------------------------------------------------- - def onFrontDisconnected(self, msg): + def onFrontDisconnected(self, reason): """服务器断开""" self.connectionStatus = False self.loginStatus = False @@ -306,10 +303,15 @@ class SgitMdApi(MdApi): log = VtLogData() log.gatewayName = self.gatewayName log.logContent = u'行情服务器连接断开' - self.gateway.onLog(log) - + self.gateway.onLog(log) + #---------------------------------------------------------------------- - def onRspUserLogin(self, data, error, i, last): + def onHeartBeatWarning(self, timeLapse): + """""" + pass + + #---------------------------------------------------------------------- + def onRspUserLogin(self, data, error, id, last): """登陆回报""" # 如果登录成功,推送日志信息 if error['ErrorID'] == 0: @@ -321,9 +323,6 @@ class SgitMdApi(MdApi): log.logContent = u'行情服务器登录完成' self.gateway.onLog(log) - # 调用ready - self.ready() - # 重新订阅之前订阅的合约 for subscribeReq in self.subscribedSymbols: self.subscribe(subscribeReq) @@ -335,18 +334,18 @@ class SgitMdApi(MdApi): err.errorID = error['ErrorID'] err.errorMsg = error['ErrorMsg'].decode('gbk') self.gateway.onError(err) - + #---------------------------------------------------------------------- - def onRspUserLogout(self, data, error, i, last): + def onRspUserLogout(self, data, error, id, last): """登出回报""" # 如果登出成功,推送日志信息 if error['ErrorID'] == 0: self.loginStatus = False - self.gateway.tdConnected = False + self.gateway.mdConnected = False log = VtLogData() log.gatewayName = self.gatewayName - log.logContent = u'交易服务器登出完成' + log.logContent = u'行情服务器登出完成' self.gateway.onLog(log) # 否则,推送错误信息 @@ -356,7 +355,36 @@ class SgitMdApi(MdApi): err.errorID = error['ErrorID'] err.errorMsg = error['ErrorMsg'].decode('gbk') self.gateway.onError(err) - + + #---------------------------------------------------------------------- + def onRspError(self, error, id, last): + """错误回报""" + err = VtErrorData() + err.gatewayName = self.gatewayName + err.errorID = error['ErrorID'] + err.errorMsg = error['ErrorMsg'].decode('gbk') + self.gateway.onError(err) + + #---------------------------------------------------------------------- + def onRspSubMarketData(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspUnSubMarketData(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspSubForQuoteRsp(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspUnSubForQuoteRsp(self, data, error, id, last): + """""" + pass + #---------------------------------------------------------------------- def onRtnDepthMarketData(self, data): """行情推送""" @@ -371,7 +399,10 @@ class SgitMdApi(MdApi): tick.volume = data['Volume'] tick.openInterest = data['OpenInterest'] tick.time = '.'.join([data['UpdateTime'], str(data['UpdateMillisec']/100)]) - tick.date = data['TradingDay'] + + # 这里由于交易所夜盘时段的交易日数据有误,所以选择本地获取 + #tick.date = data['TradingDay'] + tick.date = datetime.now().strftime('%Y%m%d') tick.openPrice = data['OpenPrice'] tick.highPrice = data['HighestPrice'] @@ -386,29 +417,19 @@ class SgitMdApi(MdApi): tick.bidVolume1 = data['BidVolume1'] tick.askPrice1 = data['AskPrice1'] tick.askVolume1 = data['AskVolume1'] - - tick.bidPrice2 = data['BidPrice2'] - tick.bidVolume2 = data['BidVolume2'] - tick.askPrice2 = data['AskPrice2'] - tick.askVolume2 = data['AskVolume2'] - - tick.bidPrice3 = data['BidPrice3'] - tick.bidVolume3 = data['BidVolume3'] - tick.askPrice3 = data['AskPrice3'] - tick.askVolume3 = data['AskVolume3'] - - tick.bidPrice4 = data['BidPrice4'] - tick.bidVolume4 = data['BidVolume4'] - tick.askPrice4 = data['AskPrice4'] - tick.askVolume4 = data['AskVolume4'] - - tick.bidPrice5 = data['BidPrice5'] - tick.bidVolume5 = data['BidVolume5'] - tick.askPrice5 = data['AskPrice5'] - tick.askVolume5 = data['AskVolume5'] self.gateway.onTick(tick) - + + #---------------------------------------------------------------------- + def onRtnForQuoteRsp(self, data): + """""" + pass + + #---------------------------------------------------------------------- + def onRtnDeferDeliveryQuot(self, data): + """""" + pass + ######################################################################## class SgitTdApi(TdApi): @@ -432,16 +453,14 @@ class SgitTdApi(TdApi): self.password = EMPTY_STRING # 密码 self.brokerID = EMPTY_STRING # 经纪商代码 self.address = EMPTY_STRING # 服务器地址 - self.investorID = EMPTY_STRING # 投资者代码 self.frontID = EMPTY_INT # 前置机编号 self.sessionID = EMPTY_INT # 会话编号 - self.localID = 0 # 本地委托代码 - self.orderDict = {} # 缓存委托对象的字典 - self.localSysDict = {} # key为本地委托代码,value为交易所系统代码 - self.cancelReqDict = {} # key为本地委托代码,value为撤单请求 - + self.posBufferDict = {} # 缓存持仓数据的字典 + self.symbolExchangeDict = {} # 保存合约代码和交易所的印射关系 + self.symbolSizeDict = {} # 保存合约代码和合约大小的印射关系 + #---------------------------------------------------------------------- def connect(self, userID, password, brokerID, address): """初始化连接""" @@ -458,15 +477,11 @@ class SgitTdApi(TdApi): os.makedirs(path) self.createFtdcTraderApi(path) - # 订阅数据流 - self.subscribePrivateTopic(0) - self.subscribePublicTopic(0) - # 注册服务器地址 self.registerFront(self.address) - + # 初始化连接,成功会调用onFrontConnected - self.init(False) + self.init() # 若已经连接但尚未登录,则进行登录 else: @@ -504,8 +519,7 @@ class SgitTdApi(TdApi): def sendOrder(self, orderReq): """发单""" self.reqID += 1 - self.localID += 1 - strID = str(self.localID).rjust(12, '0') + self.orderRef += 1 req = {} @@ -514,55 +528,55 @@ class SgitTdApi(TdApi): req['VolumeTotalOriginal'] = orderReq.volume # 下面如果由于传入的类型本接口不支持,则会返回空字符串 - try: - req['OrderPriceType'] = priceTypeMap[orderReq.priceType] - req['Direction'] = directionMap[orderReq.direction] - req['CombOffsetFlag'] = offsetMap[orderReq.offset] - except KeyError: - return '' + req['OrderPriceType'] = priceTypeMap.get(orderReq.priceType, '') + req['Direction'] = directionMap.get(orderReq.direction, '') + req['CombOffsetFlag'] = offsetMap.get(orderReq.offset, '') - req['OrderRef'] = strID - req['InvestorID'] = self.investorID + req['OrderRef'] = str(self.orderRef) + req['InvestorID'] = self.userID req['UserID'] = self.userID req['BrokerID'] = self.brokerID - req['CombHedgeFlag'] = defineDict['Sgit_FTDC_HF_Speculation'] # 投机单 - req['ContingentCondition'] = defineDict['Sgit_FTDC_CC_Immediately'] # 立即发单 - req['ForceCloseReason'] = defineDict['Sgit_FTDC_FCC_NotForceClose'] # 非强平 + req['CombHedgeFlag'] = defineDict['THOST_FTDC_HF_Speculation'] # 投机单 + req['ContingentCondition'] = defineDict['THOST_FTDC_CC_Immediately'] # 立即发单 + req['ForceCloseReason'] = defineDict['THOST_FTDC_FCC_NotForceClose'] # 非强平 req['IsAutoSuspend'] = 0 # 非自动挂起 - req['TimeCondition'] = defineDict['Sgit_FTDC_TC_GFD'] # 今日有效 - req['VolumeCondition'] = defineDict['Sgit_FTDC_VC_AV'] # 任意成交量 + req['TimeCondition'] = defineDict['THOST_FTDC_TC_GFD'] # 今日有效 + req['VolumeCondition'] = defineDict['THOST_FTDC_VC_AV'] # 任意成交量 req['MinVolume'] = 1 # 最小成交量为1 + # 判断FAK和FOK + if orderReq.priceType == PRICETYPE_FAK: + req['OrderPriceType'] = defineDict["THOST_FTDC_OPT_LimitPrice"] + req['TimeCondition'] = defineDict['THOST_FTDC_TC_IOC'] + req['VolumeCondition'] = defineDict['THOST_FTDC_VC_AV'] + if orderReq.priceType == PRICETYPE_FOK: + req['OrderPriceType'] = defineDict["THOST_FTDC_OPT_LimitPrice"] + req['TimeCondition'] = defineDict['THOST_FTDC_TC_IOC'] + req['VolumeCondition'] = defineDict['THOST_FTDC_VC_CV'] + self.reqOrderInsert(req, self.reqID) # 返回订单号(字符串),便于某些算法进行动态管理 - vtOrderID = '.'.join([self.gatewayName, strID]) + vtOrderID = '.'.join([self.gatewayName, str(self.orderRef)]) return vtOrderID #---------------------------------------------------------------------- def cancelOrder(self, cancelOrderReq): """撤单""" - # 如果OrderSysID的数据尚未返回,则把撤单请求缓存下来后直接返回 - # 若已经返回,则获取strID对应的OrderSysID,并撤单 - strID = cancelOrderReq.orderID - - if strID not in self.localSysDict: - self.cancelReqDict[strID] = cancelOrderReq - return - - sysID = self.localSysDict[strID] - self.reqID += 1 req = {} + req['InstrumentID'] = cancelOrderReq.symbol - req['ExchangeID'] = exchangeMap[cancelOrderReq.exchange] - req['OrderSysID'] = sysID - req['ActionFlag'] = defineDict['Sgit_FTDC_AF_Delete'] + req['ExchangeID'] = cancelOrderReq.exchange + req['OrderRef'] = cancelOrderReq.orderID + req['FrontID'] = cancelOrderReq.frontID + req['SessionID'] = cancelOrderReq.sessionID + + req['ActionFlag'] = defineDict['THOST_FTDC_AF_Delete'] req['BrokerID'] = self.brokerID req['InvestorID'] = self.userID - req['UserID'] = self.userID self.reqOrderAction(req, self.reqID) @@ -570,7 +584,7 @@ class SgitTdApi(TdApi): def close(self): """关闭""" self.exit() - + #---------------------------------------------------------------------- def onFrontConnected(self): """服务器连接""" @@ -580,40 +594,53 @@ class SgitTdApi(TdApi): log.gatewayName = self.gatewayName log.logContent = u'交易服务器连接成功' self.gateway.onLog(log) + self.login() #---------------------------------------------------------------------- - def onFrontDisconnected(self, msg): + def onFrontDisconnected(self, reason): """服务器断开""" self.connectionStatus = False self.loginStatus = False - self.gateway.mdConnected = False + self.gateway.tdConnected = False log = VtLogData() log.gatewayName = self.gatewayName log.logContent = u'交易服务器连接断开' self.gateway.onLog(log) + + #---------------------------------------------------------------------- + def onHeartBeatWarning(self, timeLapse): + """""" + pass #---------------------------------------------------------------------- - def onRspUserLogin(self, data, error, n, last): - '''登陆回报''' + def onRspAuthenticate(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspUserLogin(self, data, error, id, last): + """登陆回报""" # 如果登录成功,推送日志信息 if error['ErrorID'] == 0: + self.frontID = str(data['FrontID']) + self.sessionID = str(data['SessionID']) self.loginStatus = True - self.gateway.mdConnected = True + self.gateway.tdConnected = True log = VtLogData() log.gatewayName = self.gatewayName log.logContent = u'交易服务器登录完成' self.gateway.onLog(log) - # 调用ready - self.ready() - - # 查询投资者代码 + # 确认结算信息 + req = {} + req['BrokerID'] = self.brokerID + req['InvestorID'] = self.userID self.reqID += 1 - self.reqQryInvestor({}, self.reqID) - + self.reqSettlementInfoConfirm(req, self.reqID) + # 否则,推送错误信息 else: err = VtErrorData() @@ -623,7 +650,7 @@ class SgitTdApi(TdApi): self.gateway.onError(err) #---------------------------------------------------------------------- - def onRspUserLogout(self, data, error, n, last): + def onRspUserLogout(self, data, error, id, last): """登出回报""" # 如果登出成功,推送日志信息 if error['ErrorID'] == 0: @@ -644,58 +671,143 @@ class SgitTdApi(TdApi): self.gateway.onError(err) #---------------------------------------------------------------------- - def onRspUserPasswordUpdate(self, data, error, n, last): + def onRspUserPasswordUpdate(self, data, error, id, last): """""" pass #---------------------------------------------------------------------- - def onRspOrderInsert(self, data, error, n, last): + def onRspTradingAccountPasswordUpdate(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspOrderInsert(self, data, error, id, last): """发单错误(柜台)""" - if error['ErrorID'] != 0: - err = VtErrorData() - err.gatewayName = self.gatewayName - err.errorID = error['ErrorID'] - err.errorMsg = error['ErrorMsg'].decode('gbk') - self.gateway.onError(err) + err = VtErrorData() + err.gatewayName = self.gatewayName + err.errorID = error['ErrorID'] + err.errorMsg = error['ErrorMsg'].decode('gbk') + self.gateway.onError(err) #---------------------------------------------------------------------- - def onRspOrderAction(self, data, error, n, last): - """撤单错误(柜台)""" - # 获取委托对象 - sysID = data['OrderSysID'] - strID = data['OrderRef'] - - if sysID in self.orderDict: - order = self.orderDict[sysID] - else: - self.localSysDict[strID] = sysID - - order = VtOrderData() - self.orderDict[sysID] = order - - order.gatewayName = self.gatewayName - order.orderID = strID - order.vtOrderID = '.'.join([self.gatewayName, order.orderID]) - - # 推送错误信息 - if error['ErrorID'] != 0: - err = VtErrorData() - err.gatewayName = self.gatewayName - err.errorID = error['ErrorID'] - err.errorMsg = error['ErrorMsg'].decode('gbk') - self.gateway.onError(err) - else: - order.status = STATUS_CANCELLED - - self.gateway.onOrder(order) - - #---------------------------------------------------------------------- - def onRspQryOrder(self, data, error, n, last): + def onRspParkedOrderInsert(self, data, error, id, last): """""" pass - + #---------------------------------------------------------------------- - def onRspQryTradingAccount(self, data, error, n, last): + def onRspParkedOrderAction(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspOrderAction(self, data, error, id, last): + """撤单错误(柜台)""" + err = VtErrorData() + err.gatewayName = self.gatewayName + err.errorID = error['ErrorID'] + err.errorMsg = error['ErrorMsg'].decode('gbk') + self.gateway.onError(err) + + #---------------------------------------------------------------------- + def onRspQueryMaxOrderVolume(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspSettlementInfoConfirm(self, data, error, id, last): + """确认结算信息回报""" + log = VtLogData() + log.gatewayName = self.gatewayName + log.logContent = u'结算信息确认完成' + self.gateway.onLog(log) + + # 查询合约代码 + self.reqID += 1 + self.reqQryInstrument({}, self.reqID) + + #---------------------------------------------------------------------- + def onRspRemoveParkedOrder(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspRemoveParkedOrderAction(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspExecOrderInsert(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspExecOrderAction(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspForQuoteInsert(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspQuoteInsert(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspQuoteAction(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspBatchOrderAction(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspCombActionInsert(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspQryOrder(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspQryTrade(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspQryInvestorPosition(self, data, error, id, last): + """持仓查询回报""" + # 获取缓存字典中的持仓缓存,若无则创建并初始化 + positionName = '.'.join([data['InstrumentID'], data['PosiDirection']]) + + if positionName in self.posBufferDict: + posBuffer = self.posBufferDict[positionName] + else: + posBuffer = PositionBuffer(data, self.gatewayName) + self.posBufferDict[positionName] = posBuffer + + # 更新持仓缓存,并获取VT系统中持仓对象的返回值 + exchange = self.symbolExchangeDict.get(data['InstrumentID'], EXCHANGE_UNKNOWN) + size = self.symbolSizeDict.get(data['InstrumentID'], 1) + if exchange == EXCHANGE_SHFE: + posBuffer.updateShfeBuffer(data, size) + else: + posBuffer.updateBuffer(data, size) + + # 所有持仓数据都更新后,再将缓存中的持仓情况发送到事件引擎中 + if last: + for buf in self.posBufferDict.values(): + pos = buf.getPos() + self.gateway.onPosition(pos) + + #---------------------------------------------------------------------- + def onRspQryTradingAccount(self, data, error, id, last): """资金账户查询回报""" account = VtAccountData() account.gatewayName = self.gatewayName @@ -722,22 +834,37 @@ class SgitTdApi(TdApi): self.gateway.onAccount(account) #---------------------------------------------------------------------- - def onRspQryInvestor(self, data, error, n, last): + def onRspQryInvestor(self, data, error, id, last): """""" - self.investorID = data['InvestorID'] - - if last: - log = VtLogData() - log.gatewayName = self.gatewayName - log.logContent = u'投资者编码获取完成' - self.gateway.onLog(log) - - # 查询合约 - self.reqID += 1 - self.reqQryInstrument({}, self.reqID) + pass #---------------------------------------------------------------------- - def onRspQryInstrument(self, data, error, n, last): + def onRspQryTradingCode(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspQryInstrumentMarginRate(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspQryInstrumentCommissionRate(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspQryExchange(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspQryProduct(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspQryInstrument(self, data, error, id, last): """合约查询回报""" contract = VtContractData() contract.gatewayName = self.gatewayName @@ -746,23 +873,28 @@ class SgitTdApi(TdApi): contract.exchange = exchangeMapReverse[data['ExchangeID']] contract.vtSymbol = contract.symbol #'.'.join([contract.symbol, contract.exchange]) contract.name = data['InstrumentName'].decode('GBK') - + # 合约数值 contract.size = data['VolumeMultiple'] contract.priceTick = data['PriceTick'] - - # 合约类型 - if contract.exchange == EXCHANGE_SGE: - if '(' in contract.symbol: - contract.productClass = PRODUCT_DEFER - else: - contract.productClass = PRODUCT_SPOT - else: - contract.productClass = PRODUCT_FUTURES - + contract.strikePrice = data['StrikePrice'] + contract.underlyingSymbol = data['UnderlyingInstrID'] + + contract.productClass = productClassMapReverse.get(data['ProductClass'], PRODUCT_UNKNOWN) + + # 期权类型 + if data['OptionsType'] == '1': + contract.optionType = OPTION_CALL + elif data['OptionsType'] == '2': + contract.optionType = OPTION_PUT + + # 缓存代码和交易所的印射关系 + self.symbolExchangeDict[contract.symbol] = contract.exchange + self.symbolSizeDict[contract.symbol] = contract.size + # 推送 self.gateway.onContract(contract) - + if last: log = VtLogData() log.gatewayName = self.gatewayName @@ -770,113 +902,220 @@ class SgitTdApi(TdApi): self.gateway.onLog(log) #---------------------------------------------------------------------- - def onRtnOrder(self, data, error): - """报单回报""" - # 获取委托对象 - sysID = data['OrderSysID'] - strID = data['OrderRef'] + def onRspQryDepthMarketData(self, data, error, id, last): + """""" + pass - newID = int(strID) - if newID > self.localID: - self.localID = newID + #---------------------------------------------------------------------- + def onRspQrySettlementInfo(self, data, error, id, last): + """""" + pass - if sysID in self.orderDict: - order = self.orderDict[sysID] - else: - self.localSysDict[strID] = sysID - - order = VtOrderData() - self.orderDict[sysID] = order - - order.gatewayName = self.gatewayName - order.orderID = strID - order.vtOrderID = '.'.join([self.gatewayName, order.orderID]) - + #---------------------------------------------------------------------- + def onRspQryTransferBank(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspQryInvestorPositionDetail(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspQryNotice(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspQrySettlementInfoConfirm(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspQryInvestorPositionCombineDetail(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspQryCFMMCTradingAccountKey(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspQryEWarrantOffset(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspQryInvestorProductGroupMargin(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspQryExchangeMarginRate(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspQryExchangeMarginRateAdjust(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspQryExchangeRate(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspQrySecAgentACIDMap(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspQryProductExchRate(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspQryProductGroup(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspQryOptionInstrTradeCost(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspQryOptionInstrCommRate(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspQryExecOrder(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspQryForQuote(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspQryQuote(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspQryCombInstrumentGuard(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspQryCombAction(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspQryTransferSerial(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspQryAccountregister(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspError(self, error, id, last): + """错误回报""" + err = VtErrorData() + err.gatewayName = self.gatewayName + err.errorID = error['ErrorID'] + err.errorMsg = error['ErrorMsg'].decode('gbk') + self.gateway.onError(err) + + #---------------------------------------------------------------------- + def onRtnOrder(self, data): + """报单回报""" + # 更新最大报单编号 + newref = data['OrderRef'] + self.orderRef = max(self.orderRef, int(newref)) + + # 创建报单数据对象 + order = VtOrderData() + order.gatewayName = self.gatewayName + + # 保存代码和报单号 order.symbol = data['InstrumentID'] order.exchange = exchangeMapReverse[data['ExchangeID']] - order.vtSymbol = order.symbol + order.vtSymbol = order.symbol #'.'.join([order.symbol, order.exchange]) + + order.orderID = data['OrderRef'] + order.vtOrderID = '.'.join([self.gatewayName, order.orderID]) + order.direction = directionMapReverse.get(data['Direction'], DIRECTION_UNKNOWN) order.offset = offsetMapReverse.get(data['CombOffsetFlag'], OFFSET_UNKNOWN) - order.totalVolume = data['VolumeTotalOriginal'] + order.status = statusMapReverse.get(data['OrderStatus'], STATUS_UNKNOWN) + + # 价格、报单量等数值 order.price = data['LimitPrice'] - - # 推送错误信息 - if error['ErrorID'] == 0: - # 如果没有错误信息,则认为委托有效未成交 - if not order.status: - order.status = STATUS_NOTTRADED - else: - # 如果有错误信息,委托被自动撤单 - order.status = STATUS_CANCELLED - - err = VtErrorData() - err.gatewayName = self.gatewayName - err.errorID = error['ErrorID'] - err.errorMsg = error['ErrorMsg'].decode('gbk') - self.gateway.onError(err) - + order.totalVolume = data['VolumeTotalOriginal'] + order.tradedVolume = data['VolumeTraded'] + order.orderTime = data['InsertTime'] + order.cancelTime = data['CancelTime'] + order.frontID = data['FrontID'] + order.sessionID = data['SessionID'] + # 推送 self.gateway.onOrder(order) - # 检查是否有待撤单请求 - if strID in self.cancelReqDict: - req = self.cancelReqDict.pop(strID) - self.cancelOrder(req) - #---------------------------------------------------------------------- def onRtnTrade(self, data): """成交回报""" - # 更新委托 - sysID = data['OrderSysID'] - strID = data['OrderRef'] - - if sysID in self.orderDict: - order = self.orderDict[sysID] - else: - self.localSysDict[strID] = sysID - - order = VtOrderData() - self.orderDict[sysID] = order - - order.gatewayName = self.gatewayName - order.orderID = strID - order.vtOrderID = '.'.join([self.gatewayName, order.orderID]) - - order.tradedVolume += data['Volume'] - - if order.tradedVolume == order.totalVolume: - order.status = STATUS_ALLTRADED - else: - order.status = STATUS_PARTTRADED - - # 更新成交 + # 创建报单数据对象 trade = VtTradeData() trade.gatewayName = self.gatewayName + # 保存代码和报单号 trade.symbol = data['InstrumentID'] trade.exchange = exchangeMapReverse[data['ExchangeID']] - trade.vtSymbol = trade.symbol + trade.vtSymbol = trade.symbol #'.'.join([trade.symbol, trade.exchange]) trade.tradeID = data['TradeID'] trade.vtTradeID = '.'.join([self.gatewayName, trade.tradeID]) - trade.orderID = order.orderID + trade.orderID = data['OrderRef'] trade.vtOrderID = '.'.join([self.gatewayName, trade.orderID]) - # 方向 trade.direction = directionMapReverse.get(data['Direction'], '') - - # 开平 trade.offset = offsetMapReverse.get(data['OffsetFlag'], '') # 价格、报单量等数值 trade.price = data['Price'] trade.volume = data['Volume'] trade.tradeTime = data['TradeTime'] - + # 推送 self.gateway.onTrade(trade) - self.gateway.onOrder(order) + + #---------------------------------------------------------------------- + def onErrRtnOrderInsert(self, data, error): + """发单错误回报(交易所)""" + err = VtErrorData() + err.gatewayName = self.gatewayName + err.errorID = error['ErrorID'] + err.errorMsg = error['ErrorMsg'].decode('gbk') + self.gateway.onError(err) + + #---------------------------------------------------------------------- + def onErrRtnOrderAction(self, data, error): + """撤单错误回报(交易所)""" + err = VtErrorData() + err.gatewayName = self.gatewayName + err.errorID = error['ErrorID'] + err.errorMsg = error['ErrorMsg'].decode('gbk') + self.gateway.onError(err) #---------------------------------------------------------------------- def onRtnInstrumentStatus(self, data): @@ -884,53 +1123,312 @@ class SgitTdApi(TdApi): pass #---------------------------------------------------------------------- - def onRspQryInvestorPositionDetail(self, data, error, n, last): + def onRtnTradingNotice(self, data): """""" pass #---------------------------------------------------------------------- - def onRspQryInvestorPosition(self, data, error, n, last): - """持仓查询回报""" - # 过滤空数据的情况 - if not data['InstrumentID']: - return + def onRtnErrorConditionalOrder(self, data): + """""" + pass + #---------------------------------------------------------------------- + def onRtnExecOrder(self, data): + """""" + pass + + #---------------------------------------------------------------------- + def onErrRtnExecOrderInsert(self, data, error): + """""" + pass + + #---------------------------------------------------------------------- + def onErrRtnExecOrderAction(self, data, error): + """""" + pass + + #---------------------------------------------------------------------- + def onErrRtnForQuoteInsert(self, data, error): + """""" + pass + + #---------------------------------------------------------------------- + def onRtnQuote(self, data): + """""" + pass + + #---------------------------------------------------------------------- + def onErrRtnQuoteInsert(self, data, error): + """""" + pass + + #---------------------------------------------------------------------- + def onErrRtnQuoteAction(self, data, error): + """""" + pass + + #---------------------------------------------------------------------- + def onRtnForQuoteRsp(self, data): + """""" + pass + + #---------------------------------------------------------------------- + def onRtnCFMMCTradingAccountToken(self, data): + """""" + pass + + #---------------------------------------------------------------------- + def onErrRtnBatchOrderAction(self, data, error): + """""" + pass + + #---------------------------------------------------------------------- + def onRtnCombAction(self, data): + """""" + pass + + #---------------------------------------------------------------------- + def onErrRtnCombActionInsert(self, data, error): + """""" + pass + + #---------------------------------------------------------------------- + def onRspQryContractBank(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspQryParkedOrder(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspQryParkedOrderAction(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspQryTradingNotice(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspQryBrokerTradingParams(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspQryBrokerTradingAlgos(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspQueryCFMMCTradingAccountToken(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRtnFromBankToFutureByBank(self, data): + """""" + pass + + #---------------------------------------------------------------------- + def onRtnFromFutureToBankByBank(self, data): + """""" + pass + + #---------------------------------------------------------------------- + def onRtnRepealFromBankToFutureByBank(self, data): + """""" + pass + + #---------------------------------------------------------------------- + def onRtnRepealFromFutureToBankByBank(self, data): + """""" + pass + + #---------------------------------------------------------------------- + def onRtnFromBankToFutureByFuture(self, data): + """""" + pass + + #---------------------------------------------------------------------- + def onRtnFromFutureToBankByFuture(self, data): + """""" + pass + + #---------------------------------------------------------------------- + def onRtnRepealFromBankToFutureByFutureManual(self, data): + """""" + pass + + #---------------------------------------------------------------------- + def onRtnRepealFromFutureToBankByFutureManual(self, data): + """""" + pass + + #---------------------------------------------------------------------- + def onRtnQueryBankBalanceByFuture(self, data): + """""" + pass + + #---------------------------------------------------------------------- + def onErrRtnBankToFutureByFuture(self, data, error): + """""" + pass + + #---------------------------------------------------------------------- + def onErrRtnFutureToBankByFuture(self, data, error): + """""" + pass + + #---------------------------------------------------------------------- + def onErrRtnRepealBankToFutureByFutureManual(self, data, error): + """""" + pass + + #---------------------------------------------------------------------- + def onErrRtnRepealFutureToBankByFutureManual(self, data, error): + """""" + pass + + #---------------------------------------------------------------------- + def onErrRtnQueryBankBalanceByFuture(self, data, error): + """""" + pass + + #---------------------------------------------------------------------- + def onRtnRepealFromBankToFutureByFuture(self, data): + """""" + pass + + #---------------------------------------------------------------------- + def onRtnRepealFromFutureToBankByFuture(self, data): + """""" + pass + + #---------------------------------------------------------------------- + def onRspFromBankToFutureByFuture(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspFromFutureToBankByFuture(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspQueryBankAccountMoneyByFuture(self, data, error, id, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRtnOpenAccountByBank(self, data): + """""" + pass + + #---------------------------------------------------------------------- + def onRtnCancelAccountByBank(self, data): + """""" + pass + + #---------------------------------------------------------------------- + def onRtnChangeAccountByBank(self, data): + """""" + pass + + +######################################################################## +class PositionBuffer(object): + """用来缓存持仓的数据,处理上期所的数据返回分今昨的问题""" + + #---------------------------------------------------------------------- + def __init__(self, data, gatewayName): + """Constructor""" + self.symbol = data['InstrumentID'] + self.direction = posiDirectionMapReverse.get(data['PosiDirection'], '') + + self.todayPosition = EMPTY_INT + self.ydPosition = EMPTY_INT + self.todayPositionCost = EMPTY_FLOAT + self.ydPositionCost = EMPTY_FLOAT + + # 通过提前创建持仓数据对象并重复使用的方式来降低开销 pos = VtPositionData() - pos.gatewayName = self.gatewayName + pos.symbol = self.symbol + pos.vtSymbol = self.symbol + pos.gatewayName = gatewayName + pos.direction = self.direction + pos.vtPositionName = '.'.join([pos.vtSymbol, pos.direction]) + self.pos = pos - # 保存代码 - pos.symbol = data['InstrumentID'] - pos.vtSymbol = pos.symbol # 这里因为data中没有ExchangeID这个字段 + #---------------------------------------------------------------------- + def updateShfeBuffer(self, data, size): + """更新上期所缓存,返回更新后的持仓数据""" + # 昨仓和今仓的数据更新是分在两条记录里的,因此需要判断检查该条记录对应仓位 + # 因为今仓字段TodayPosition可能变为0(被全部平仓),因此分辨今昨仓需要用YdPosition字段 + if data['YdPosition']: + self.ydPosition = data['Position'] + self.ydPositionCost = data['PositionCost'] + else: + self.todayPosition = data['Position'] + self.todayPositionCost = data['PositionCost'] + + # 持仓的昨仓和今仓相加后为总持仓 + self.pos.position = self.todayPosition + self.ydPosition + self.pos.ydPosition = self.ydPosition - # 方向和持仓冻结数量 - pos.direction = posiDirectionMapReverse.get(data['PosiDirection'], '') - if pos.direction == DIRECTION_NET or pos.direction == DIRECTION_LONG: - pos.frozen = data['LongFrozen'] - elif pos.direction == DIRECTION_SHORT: - pos.frozen = data['ShortFrozen'] + # 如果手头还有持仓,则通过加权平均方式计算持仓均价 + if self.todayPosition or self.ydPosition: + self.pos.price = ((self.todayPositionCost + self.ydPositionCost)/ + ((self.todayPosition + self.ydPosition) * size)) + # 否则价格为0 + else: + self.pos.price = 0 + + return copy(self.pos) + + #---------------------------------------------------------------------- + def updateBuffer(self, data, size): + """更新其他交易所的缓存,返回更新后的持仓数据""" + # 其他交易所并不区分今昨,因此只关心总仓位,昨仓设为0 + self.pos.position = data['Position'] + self.pos.ydPosition = 0 - # 持仓量 - pos.position = data['TodayPosition'] - pos.ydPosition = data['YdPosition'] - - # 持仓均价 - if pos.position: - pos.price = data['PositionCost'] / pos.position - - # VT系统持仓名 - pos.vtPositionName = '.'.join([pos.vtSymbol, pos.direction]) - - # 推送 - self.gateway.onPosition(pos) - - + if data['Position']: + self.pos.price = data['PositionCost'] / (data['Position'] * size) + else: + self.pos.price = 0 + + return copy(self.pos) + + #---------------------------------------------------------------------- + def getPos(self): + """获取当前的持仓数据""" + return copy(self.pos) #---------------------------------------------------------------------- -def print_dict(d): - """""" - l = d.keys() - l.sort() - for k in l: - print k, ':', d[k] - \ No newline at end of file +def test(): + """测试""" + from PyQt4 import QtCore + import sys + + def print_log(event): + log = event.dict_['data'] + print ':'.join([log.logTime, log.logContent]) + + app = QtCore.QCoreApplication(sys.argv) + + eventEngine = EventEngine() + eventEngine.register(EVENT_LOG, print_log) + eventEngine.start() + + gateway = SgitGateway(eventEngine) + gateway.connect() + + sys.exit(app.exec_()) + + +if __name__ == '__main__': + test() \ No newline at end of file diff --git a/vn.trader/sgitGateway/sgitGateway_4.1/SGIT_connect.json b/vn.trader/sgitGateway/sgitGateway_4.1/SGIT_connect.json new file mode 100644 index 00000000..75007d3c --- /dev/null +++ b/vn.trader/sgitGateway/sgitGateway_4.1/SGIT_connect.json @@ -0,0 +1,7 @@ +{ + "brokerID": "0017", + "tdAddress": "tcp://140.206.81.6:17776", + "password": "请联系招金投资申请", + "mdAddress": "tcp://140.206.81.6:17777", + "userID": "请联系招金投资申请" +} \ No newline at end of file diff --git a/vn.trader/sgitGateway/sgitGateway_4.1/__init__.py b/vn.trader/sgitGateway/sgitGateway_4.1/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/vn.trader/sgitGateway/sgitGateway_4.1/sgitDataType.py b/vn.trader/sgitGateway/sgitGateway_4.1/sgitDataType.py new file mode 100644 index 00000000..c88a26b0 --- /dev/null +++ b/vn.trader/sgitGateway/sgitGateway_4.1/sgitDataType.py @@ -0,0 +1,4812 @@ +# encoding: UTF-8 + +defineDict = {} +typedefDict = {} + +#////////////////////////////////////////////////////////////////////// + +#////////////////////////////////////////////////////////////////////// + + + +#////////////////////////////////////////////////////////////////////// +#TFtdcTraderIDType是一个交易所交易员代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcTraderIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInvestorIDType是一个投资者代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcInvestorIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBrokerIDType是一个经纪公司代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcBrokerIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBrokerAbbrType是一个经纪公司简称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcBrokerAbbrType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBrokerNameType是一个经纪公司名称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcBrokerNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcExchangeInstIDType是一个合约在交易所的代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcExchangeInstIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOrderRefType是一个报单引用类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcOrderRefType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcParticipantIDType是一个会员代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcParticipantIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUserIDType是一个用户代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcUserIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPasswordType是一个密码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcPasswordType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcClientIDType是一个交易编码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcClientIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInstrumentIDType是一个合约代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcInstrumentIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcMarketIDType是一个市场代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcMarketIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcProductNameType是一个产品名称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcProductNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcExchangeIDType是一个交易所代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcExchangeIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcExchangeNameType是一个交易所名称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcExchangeNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcExchangeAbbrType是一个交易所简称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcExchangeAbbrType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcExchangeFlagType是一个交易所标志类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcExchangeFlagType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcMacAddressType是一个Mac地址类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcMacAddressType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcExchangePropertyType是一个交易所属性类型 +#////////////////////////////////////////////////////////////////////// +#正常 +defineDict["Sgit_FTDC_EXP_Normal"] = '0' +#根据成交生成报单 +defineDict["Sgit_FTDC_EXP_GenOrderByTrade"] = '1' + +typedefDict["TSgitFtdcExchangePropertyType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDateType是一个日期类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcDateType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTimeType是一个时间类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcTimeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcLongTimeType是一个长时间类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcLongTimeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInstrumentNameType是一个合约名称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcInstrumentNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSettlementGroupIDType是一个结算组代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcSettlementGroupIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOrderSysIDType是一个报单编号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcOrderSysIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTradeIDType是一个成交编号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcTradeIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCommandTypeType是一个DB命令类型类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCommandTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcIPAddressType是一个IP地址类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcIPAddressType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcProductInfoType是一个产品信息类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcProductInfoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcProtocolInfoType是一个协议信息类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcProtocolInfoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBusinessUnitType是一个业务单元类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcBusinessUnitType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDepositSeqNoType是一个出入金流水号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcDepositSeqNoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcIdentifiedCardNoType是一个证件号码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcIdentifiedCardNoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcIdCardTypeType是一个证件类型类型 +#////////////////////////////////////////////////////////////////////// +#组织机构代码 +defineDict["Sgit_FTDC_ICT_EID"] = '0' +#身份证 +defineDict["Sgit_FTDC_ICT_IDCard"] = '1' +#军官证 +defineDict["Sgit_FTDC_ICT_OfficerIDCard"] = '2' +#警官证 +defineDict["Sgit_FTDC_ICT_PoliceIDCard"] = '3' +#士兵证 +defineDict["Sgit_FTDC_ICT_SoldierIDCard"] = '4' +#户口簿 +defineDict["Sgit_FTDC_ICT_HouseholdRegister"] = '5' +#护照 +defineDict["Sgit_FTDC_ICT_Passport"] = '6' +#台胞证 +defineDict["Sgit_FTDC_ICT_TaiwanCompatriotIDCard"] = '7' +#回乡证 +defineDict["Sgit_FTDC_ICT_HomeComingCard"] = '8' +#营业执照号 +defineDict["Sgit_FTDC_ICT_LicenseNo"] = '9' +#税务登记号 +defineDict["Sgit_FTDC_ICT_TaxNo"] = 'A' +#其他证件 +defineDict["Sgit_FTDC_ICT_OtherCard"] = 'x' + +typedefDict["TSgitFtdcIdCardTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOrderLocalIDType是一个本地报单编号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcOrderLocalIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUserNameType是一个用户名称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcUserNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPartyNameType是一个参与人名称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcPartyNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcErrorMsgType是一个错误信息类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcErrorMsgType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFieldNameType是一个字段名类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcFieldNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFieldContentType是一个字段内容类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcFieldContentType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSystemNameType是一个系统名称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcSystemNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcContentType是一个消息正文类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcContentType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInvestorRangeType是一个投资者范围类型 +#////////////////////////////////////////////////////////////////////// +#所有 +defineDict["Sgit_FTDC_IR_All"] = '1' +#投资者组 +defineDict["Sgit_FTDC_IR_Group"] = '2' +#单一投资者 +defineDict["Sgit_FTDC_IR_Single"] = '3' + +typedefDict["TSgitFtdcInvestorRangeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDepartmentRangeType是一个投资者范围类型 +#////////////////////////////////////////////////////////////////////// +#所有 +defineDict["Sgit_FTDC_DR_All"] = '1' +#组织架构 +defineDict["Sgit_FTDC_DR_Group"] = '2' +#单一投资者 +defineDict["Sgit_FTDC_DR_Single"] = '3' + +typedefDict["TSgitFtdcDepartmentRangeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDataSyncStatusType是一个数据同步状态类型 +#////////////////////////////////////////////////////////////////////// +#未同步 +defineDict["Sgit_FTDC_DS_Asynchronous"] = '1' +#同步中 +defineDict["Sgit_FTDC_DS_Synchronizing"] = '2' +#已同步 +defineDict["Sgit_FTDC_DS_Synchronized"] = '3' + +typedefDict["TSgitFtdcDataSyncStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBrokerDataSyncStatusType是一个经纪公司数据同步状态类型 +#////////////////////////////////////////////////////////////////////// +#已同步 +defineDict["Sgit_FTDC_BDS_Synchronized"] = '1' +#同步中 +defineDict["Sgit_FTDC_BDS_Synchronizing"] = '2' + +typedefDict["TSgitFtdcBrokerDataSyncStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcExchangeConnectStatusType是一个交易所连接状态类型 +#////////////////////////////////////////////////////////////////////// +#没有任何连接 +defineDict["Sgit_FTDC_ECS_NoConnection"] = '1' +#已经发出合约查询请求 +defineDict["Sgit_FTDC_ECS_QryInstrumentSent"] = '2' +#已经获取信息 +defineDict["Sgit_FTDC_ECS_GotInformation"] = '9' + +typedefDict["TSgitFtdcExchangeConnectStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTraderConnectStatusType是一个交易所交易员连接状态类型 +#////////////////////////////////////////////////////////////////////// +#没有任何连接 +defineDict["Sgit_FTDC_TCS_NotConnected"] = '1' +#已经连接 +defineDict["Sgit_FTDC_TCS_Connected"] = '2' +#已经发出合约查询请求 +defineDict["Sgit_FTDC_TCS_QryInstrumentSent"] = '3' +#订阅私有流 +defineDict["Sgit_FTDC_TCS_SubPrivateFlow"] = '4' + +typedefDict["TSgitFtdcTraderConnectStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFunctionCodeType是一个功能代码类型 +#////////////////////////////////////////////////////////////////////// +#数据异步化 +defineDict["Sgit_FTDC_FC_DataAsync"] = '1' +#强制用户登出 +defineDict["Sgit_FTDC_FC_ForceUserLogout"] = '2' +#变更管理用户口令 +defineDict["Sgit_FTDC_FC_UserPasswordUpdate"] = '3' +#变更经纪公司口令 +defineDict["Sgit_FTDC_FC_BrokerPasswordUpdate"] = '4' +#变更投资者口令 +defineDict["Sgit_FTDC_FC_InvestorPasswordUpdate"] = '5' +#报单插入 +defineDict["Sgit_FTDC_FC_OrderInsert"] = '6' +#报单操作 +defineDict["Sgit_FTDC_FC_OrderAction"] = '7' +#同步系统数据 +defineDict["Sgit_FTDC_FC_SyncSystemData"] = '8' +#同步经纪公司数据 +defineDict["Sgit_FTDC_FC_SyncBrokerData"] = '9' +#批量同步经纪公司数据 +defineDict["Sgit_FTDC_FC_BachSyncBrokerData"] = 'A' +#超级查询 +defineDict["Sgit_FTDC_FC_SuperQuery"] = 'B' +#报单插入 +defineDict["Sgit_FTDC_FC_ParkedOrderInsert"] = 'C' +#报单操作 +defineDict["Sgit_FTDC_FC_ParkedOrderAction"] = 'D' +#同步动态令牌 +defineDict["Sgit_FTDC_FC_SyncOTP"] = 'E' + +typedefDict["TSgitFtdcFunctionCodeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBrokerFunctionCodeType是一个经纪公司功能代码类型 +#////////////////////////////////////////////////////////////////////// +#强制用户登出 +defineDict["Sgit_FTDC_BFC_ForceUserLogout"] = '1' +#变更用户口令 +defineDict["Sgit_FTDC_BFC_UserPasswordUpdate"] = '2' +#同步经纪公司数据 +defineDict["Sgit_FTDC_BFC_SyncBrokerData"] = '3' +#批量同步经纪公司数据 +defineDict["Sgit_FTDC_BFC_BachSyncBrokerData"] = '4' +#报单插入 +defineDict["Sgit_FTDC_BFC_OrderInsert"] = '5' +#报单操作 +defineDict["Sgit_FTDC_BFC_OrderAction"] = '6' +#全部查询 +defineDict["Sgit_FTDC_BFC_AllQuery"] = '7' +#系统功能:登入/登出/修改密码等 +defineDict["Sgit_FTDC_BFC_log"] = 'a' +#基本查询:查询基础数据,如合约,交易所等常量 +defineDict["Sgit_FTDC_BFC_BaseQry"] = 'b' +#交易查询:如查成交,委托 +defineDict["Sgit_FTDC_BFC_TradeQry"] = 'c' +#交易功能:报单,撤单 +defineDict["Sgit_FTDC_BFC_Trade"] = 'd' +#银期转账 +defineDict["Sgit_FTDC_BFC_Virement"] = 'e' +#风险监控 +defineDict["Sgit_FTDC_BFC_Risk"] = 'f' +#查询/管理:查询会话,踢人等 +defineDict["Sgit_FTDC_BFC_Session"] = 'g' +#风控通知控制 +defineDict["Sgit_FTDC_BFC_RiskNoticeCtl"] = 'h' +#风控通知发送 +defineDict["Sgit_FTDC_BFC_RiskNotice"] = 'i' +#察看经纪公司资金权限 +defineDict["Sgit_FTDC_BFC_BrokerDeposit"] = 'j' +#资金查询 +defineDict["Sgit_FTDC_BFC_QueryFund"] = 'k' +#报单查询 +defineDict["Sgit_FTDC_BFC_QueryOrder"] = 'l' +#成交查询 +defineDict["Sgit_FTDC_BFC_QueryTrade"] = 'm' +#持仓查询 +defineDict["Sgit_FTDC_BFC_QueryPosition"] = 'n' +#行情查询 +defineDict["Sgit_FTDC_BFC_QueryMarketData"] = 'o' +#用户事件查询 +defineDict["Sgit_FTDC_BFC_QueryUserEvent"] = 'p' +#风险通知查询 +defineDict["Sgit_FTDC_BFC_QueryRiskNotify"] = 'q' +#出入金查询 +defineDict["Sgit_FTDC_BFC_QueryFundChange"] = 'r' +#投资者信息查询 +defineDict["Sgit_FTDC_BFC_QueryInvestor"] = 's' +#交易编码查询 +defineDict["Sgit_FTDC_BFC_QueryTradingCode"] = 't' +#强平 +defineDict["Sgit_FTDC_BFC_ForceClose"] = 'u' +#压力测试 +defineDict["Sgit_FTDC_BFC_PressTest"] = 'v' +#权益反算 +defineDict["Sgit_FTDC_BFC_RemainCalc"] = 'w' +#净持仓保证金指标 +defineDict["Sgit_FTDC_BFC_NetPositionInd"] = 'x' +#风险预算 +defineDict["Sgit_FTDC_BFC_RiskPredict"] = 'y' +#数据导出 +defineDict["Sgit_FTDC_BFC_DataExport"] = 'z' +#风控指标设置 +defineDict["Sgit_FTDC_BFC_RiskTargetSetup"] = 'A' +#行情预警 +defineDict["Sgit_FTDC_BFC_MarketDataWarn"] = 'B' +#业务通知查询 +defineDict["Sgit_FTDC_BFC_QryBizNotice"] = 'C' +#业务通知模板设置 +defineDict["Sgit_FTDC_BFC_CfgBizNotice"] = 'D' +#同步动态令牌 +defineDict["Sgit_FTDC_BFC_SyncOTP"] = 'E' +#发送业务通知 +defineDict["Sgit_FTDC_BFC_SendBizNotice"] = 'F' +#风险级别标准设置 +defineDict["Sgit_FTDC_BFC_CfgRiskLevelStd"] = 'G' + +typedefDict["TSgitFtdcBrokerFunctionCodeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOrderActionStatusType是一个报单操作状态类型 +#////////////////////////////////////////////////////////////////////// +#已经提交 +defineDict["Sgit_FTDC_OAS_Submitted"] = 'a' +#已经接受 +defineDict["Sgit_FTDC_OAS_Accepted"] = 'b' +#已经被拒绝 +defineDict["Sgit_FTDC_OAS_Rejected"] = 'c' + +typedefDict["TSgitFtdcOrderActionStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOrderStatusType是一个报单状态类型 +#////////////////////////////////////////////////////////////////////// +#全部成交 +defineDict["Sgit_FTDC_OST_AllTraded"] = '0' +#部分成交还在队列中 +defineDict["Sgit_FTDC_OST_PartTradedQueueing"] = '1' +#部分成交不在队列中 +defineDict["Sgit_FTDC_OST_PartTradedNotQueueing"] = '2' +#未成交还在队列中 +defineDict["Sgit_FTDC_OST_NoTradeQueueing"] = '3' +#未成交不在队列中 +defineDict["Sgit_FTDC_OST_NoTradeNotQueueing"] = '4' +#撤单 +defineDict["Sgit_FTDC_OST_Canceled"] = '5' +#未知 +defineDict["Sgit_FTDC_OST_Unknown"] = 'a' +#尚未触发 +defineDict["Sgit_FTDC_OST_NotTouched"] = 'b' +#已触发 +defineDict["Sgit_FTDC_OST_Touched"] = 'c' + +typedefDict["TSgitFtdcOrderStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOrderSubmitStatusType是一个报单提交状态类型 +#////////////////////////////////////////////////////////////////////// +#已经提交 +defineDict["Sgit_FTDC_OSS_InsertSubmitted"] = '0' +#撤单已经提交 +defineDict["Sgit_FTDC_OSS_CancelSubmitted"] = '1' +#修改已经提交 +defineDict["Sgit_FTDC_OSS_ModifySubmitted"] = '2' +#已经接受 +defineDict["Sgit_FTDC_OSS_Accepted"] = '3' +#报单已经被拒绝 +defineDict["Sgit_FTDC_OSS_InsertRejected"] = '4' +#撤单已经被拒绝 +defineDict["Sgit_FTDC_OSS_CancelRejected"] = '5' +#改单已经被拒绝 +defineDict["Sgit_FTDC_OSS_ModifyRejected"] = '6' + +typedefDict["TSgitFtdcOrderSubmitStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPositionDateType是一个持仓日期类型 +#////////////////////////////////////////////////////////////////////// +#今日持仓 +defineDict["Sgit_FTDC_PSD_Today"] = '1' +#历史持仓 +defineDict["Sgit_FTDC_PSD_History"] = '2' + +typedefDict["TSgitFtdcPositionDateType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPositionDateTypeType是一个持仓日期类型类型 +#////////////////////////////////////////////////////////////////////// +#使用历史持仓 +defineDict["Sgit_FTDC_PDT_UseHistory"] = '1' +#不使用历史持仓 +defineDict["Sgit_FTDC_PDT_NoUseHistory"] = '2' + +typedefDict["TSgitFtdcPositionDateTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTradingRoleType是一个交易角色类型 +#////////////////////////////////////////////////////////////////////// +#代理 +defineDict["Sgit_FTDC_ER_Broker"] = '1' +#自营 +defineDict["Sgit_FTDC_ER_Host"] = '2' +#做市商 +defineDict["Sgit_FTDC_ER_Maker"] = '3' + +typedefDict["TSgitFtdcTradingRoleType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcProductClassType是一个产品类型类型 +#////////////////////////////////////////////////////////////////////// +#期货 +defineDict["Sgit_FTDC_PC_Futures"] = '1' +#期权 +defineDict["Sgit_FTDC_PC_Options"] = '2' +#组合 +defineDict["Sgit_FTDC_PC_Combination"] = '3' +#即期 +defineDict["Sgit_FTDC_PC_Spot"] = '4' +#期转现 +defineDict["Sgit_FTDC_PC_EFP"] = '5' + +typedefDict["TSgitFtdcProductClassType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInstLifePhaseType是一个合约生命周期状态类型 +#////////////////////////////////////////////////////////////////////// +#未上市 +defineDict["Sgit_FTDC_IP_NotStart"] = '0' +#上市 +defineDict["Sgit_FTDC_IP_Started"] = '1' +#停牌 +defineDict["Sgit_FTDC_IP_Pause"] = '2' +#到期 +defineDict["Sgit_FTDC_IP_Expired"] = '3' + +typedefDict["TSgitFtdcInstLifePhaseType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDirectionType是一个买卖方向类型 +#////////////////////////////////////////////////////////////////////// +#买 +defineDict["Sgit_FTDC_D_Buy"] = '0' +#卖 +defineDict["Sgit_FTDC_D_Sell"] = '1' + +typedefDict["TSgitFtdcDirectionType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPositionTypeType是一个持仓类型类型 +#////////////////////////////////////////////////////////////////////// +#净持仓 +defineDict["Sgit_FTDC_PT_Net"] = '1' +#综合持仓 +defineDict["Sgit_FTDC_PT_Gross"] = '2' + +typedefDict["TSgitFtdcPositionTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPosiDirectionType是一个持仓多空方向类型 +#////////////////////////////////////////////////////////////////////// +#净 +defineDict["Sgit_FTDC_PD_Net"] = '1' +#多头 +defineDict["Sgit_FTDC_PD_Long"] = '2' +#空头 +defineDict["Sgit_FTDC_PD_Short"] = '3' + +typedefDict["TSgitFtdcPosiDirectionType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSysSettlementStatusType是一个系统结算状态类型 +#////////////////////////////////////////////////////////////////////// +#不活跃 +defineDict["Sgit_FTDC_SS_NonActive"] = '1' +#启动 +defineDict["Sgit_FTDC_SS_Startup"] = '2' +#操作 +defineDict["Sgit_FTDC_SS_Operating"] = '3' +#结算 +defineDict["Sgit_FTDC_SS_Settlement"] = '4' +#结算完成 +defineDict["Sgit_FTDC_SS_SettlementFinished"] = '5' + +typedefDict["TSgitFtdcSysSettlementStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRatioAttrType是一个费率属性类型 +#////////////////////////////////////////////////////////////////////// +#交易费率 +defineDict["Sgit_FTDC_RA_Trade"] = '0' +#结算费率 +defineDict["Sgit_FTDC_RA_Settlement"] = '1' + +typedefDict["TSgitFtdcRatioAttrType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcHedgeFlagType是一个投机套保标志类型 +#////////////////////////////////////////////////////////////////////// +#投机 +defineDict["Sgit_FTDC_HF_Speculation"] = '1' +#套利 +defineDict["Sgit_FTDC_HF_Arbitrage"] = '2' +#套保 +defineDict["Sgit_FTDC_HF_Hedge"] = '3' + +typedefDict["TSgitFtdcHedgeFlagType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBillHedgeFlagType是一个投机套保标志类型 +#////////////////////////////////////////////////////////////////////// +#投机 +defineDict["Sgit_FTDC_BHF_Speculation"] = '1' +#套利 +defineDict["Sgit_FTDC_BHF_Arbitrage"] = '2' +#套保 +defineDict["Sgit_FTDC_BHF_Hedge"] = '3' + +typedefDict["TSgitFtdcBillHedgeFlagType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcClientIDTypeType是一个交易编码类型类型 +#////////////////////////////////////////////////////////////////////// +#投机 +defineDict["Sgit_FTDC_CIDT_Speculation"] = '1' +#套利 +defineDict["Sgit_FTDC_CIDT_Arbitrage"] = '2' +#套保 +defineDict["Sgit_FTDC_CIDT_Hedge"] = '3' + +typedefDict["TSgitFtdcClientIDTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOrderPriceTypeType是一个报单价格条件类型 +#////////////////////////////////////////////////////////////////////// +#任意价 +defineDict["Sgit_FTDC_OPT_AnyPrice"] = '1' +#限价 +defineDict["Sgit_FTDC_OPT_LimitPrice"] = '2' +#最优价 +defineDict["Sgit_FTDC_OPT_BestPrice"] = '3' +#最新价 +defineDict["Sgit_FTDC_OPT_LastPrice"] = '4' +#最新价浮动上浮1个ticks +defineDict["Sgit_FTDC_OPT_LastPricePlusOneTicks"] = '5' +#最新价浮动上浮2个ticks +defineDict["Sgit_FTDC_OPT_LastPricePlusTwoTicks"] = '6' +#最新价浮动上浮3个ticks +defineDict["Sgit_FTDC_OPT_LastPricePlusThreeTicks"] = '7' +#卖一价 +defineDict["Sgit_FTDC_OPT_AskPrice1"] = '8' +#卖一价浮动上浮1个ticks +defineDict["Sgit_FTDC_OPT_AskPrice1PlusOneTicks"] = '9' +#卖一价浮动上浮2个ticks +defineDict["Sgit_FTDC_OPT_AskPrice1PlusTwoTicks"] = 'A' +#卖一价浮动上浮3个ticks +defineDict["Sgit_FTDC_OPT_AskPrice1PlusThreeTicks"] = 'B' +#买一价 +defineDict["Sgit_FTDC_OPT_BidPrice1"] = 'C' +#买一价浮动上浮1个ticks +defineDict["Sgit_FTDC_OPT_BidPrice1PlusOneTicks"] = 'D' +#买一价浮动上浮2个ticks +defineDict["Sgit_FTDC_OPT_BidPrice1PlusTwoTicks"] = 'E' +#买一价浮动上浮3个ticks +defineDict["Sgit_FTDC_OPT_BidPrice1PlusThreeTicks"] = 'F' + +typedefDict["TSgitFtdcOrderPriceTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOffsetFlagType是一个开平标志类型 +#////////////////////////////////////////////////////////////////////// +#开仓 +defineDict["Sgit_FTDC_OF_Open"] = '0' +#平仓 +defineDict["Sgit_FTDC_OF_Close"] = '1' +#强平 +defineDict["Sgit_FTDC_OF_ForceClose"] = '2' +#平今 +defineDict["Sgit_FTDC_OF_CloseToday"] = '3' +#平昨 +defineDict["Sgit_FTDC_OF_CloseYesterday"] = '4' +#强减 +defineDict["Sgit_FTDC_OF_ForceOff"] = '5' +#本地强平 +defineDict["Sgit_FTDC_OF_LocalForceClose"] = '6' + +typedefDict["TSgitFtdcOffsetFlagType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcForceCloseReasonType是一个强平原因类型 +#////////////////////////////////////////////////////////////////////// +#非强平 +defineDict["Sgit_FTDC_FCC_NotForceClose"] = '0' +#资金不足 +defineDict["Sgit_FTDC_FCC_LackDeposit"] = '1' +#客户超仓 +defineDict["Sgit_FTDC_FCC_ClientOverPositionLimit"] = '2' +#会员超仓 +defineDict["Sgit_FTDC_FCC_MemberOverPositionLimit"] = '3' +#持仓非整数倍 +defineDict["Sgit_FTDC_FCC_NotMultiple"] = '4' +#违规 +defineDict["Sgit_FTDC_FCC_Violation"] = '5' +#其它 +defineDict["Sgit_FTDC_FCC_Other"] = '6' +#自然人临近交割 +defineDict["Sgit_FTDC_FCC_PersonDeliv"] = '7' + +typedefDict["TSgitFtdcForceCloseReasonType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOrderTypeType是一个报单类型类型 +#////////////////////////////////////////////////////////////////////// +#正常 +defineDict["Sgit_FTDC_ORDT_Normal"] = '0' +#报价衍生 +defineDict["Sgit_FTDC_ORDT_DeriveFromQuote"] = '1' +#组合衍生 +defineDict["Sgit_FTDC_ORDT_DeriveFromCombination"] = '2' +#组合报单 +defineDict["Sgit_FTDC_ORDT_Combination"] = '3' +#条件单 +defineDict["Sgit_FTDC_ORDT_ConditionalOrder"] = '4' +#互换单 +defineDict["Sgit_FTDC_ORDT_Swap"] = '5' + +typedefDict["TSgitFtdcOrderTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTimeConditionType是一个有效期类型类型 +#////////////////////////////////////////////////////////////////////// +#立即完成,否则撤销 +defineDict["Sgit_FTDC_TC_IOC"] = '1' +#本节有效 +defineDict["Sgit_FTDC_TC_GFS"] = '2' +#当日有效 +defineDict["Sgit_FTDC_TC_GFD"] = '3' +#指定日期前有效 +defineDict["Sgit_FTDC_TC_GTD"] = '4' +#撤销前有效 +defineDict["Sgit_FTDC_TC_GTC"] = '5' +#集合竞价有效 +defineDict["Sgit_FTDC_TC_GFA"] = '6' + +typedefDict["TSgitFtdcTimeConditionType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcVolumeConditionType是一个成交量类型类型 +#////////////////////////////////////////////////////////////////////// +#任何数量 +defineDict["Sgit_FTDC_VC_AV"] = '1' +#最小数量 +defineDict["Sgit_FTDC_VC_MV"] = '2' +#全部数量 +defineDict["Sgit_FTDC_VC_CV"] = '3' + +typedefDict["TSgitFtdcVolumeConditionType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcContingentConditionType是一个触发条件类型 +#////////////////////////////////////////////////////////////////////// +#立即 +defineDict["Sgit_FTDC_CC_Immediately"] = '1' +#止损 +defineDict["Sgit_FTDC_CC_Touch"] = '2' +#止赢 +defineDict["Sgit_FTDC_CC_TouchProfit"] = '3' +#预埋单 +defineDict["Sgit_FTDC_CC_ParkedOrder"] = '4' +#最新价大于条件价 +defineDict["Sgit_FTDC_CC_LastPriceGreaterThanStopPrice"] = '5' +#最新价大于等于条件价 +defineDict["Sgit_FTDC_CC_LastPriceGreaterEqualStopPrice"] = '6' +#最新价小于条件价 +defineDict["Sgit_FTDC_CC_LastPriceLesserThanStopPrice"] = '7' +#最新价小于等于条件价 +defineDict["Sgit_FTDC_CC_LastPriceLesserEqualStopPrice"] = '8' +#卖一价大于条件价 +defineDict["Sgit_FTDC_CC_AskPriceGreaterThanStopPrice"] = '9' +#卖一价大于等于条件价 +defineDict["Sgit_FTDC_CC_AskPriceGreaterEqualStopPrice"] = 'A' +#卖一价小于条件价 +defineDict["Sgit_FTDC_CC_AskPriceLesserThanStopPrice"] = 'B' +#卖一价小于等于条件价 +defineDict["Sgit_FTDC_CC_AskPriceLesserEqualStopPrice"] = 'C' +#买一价大于条件价 +defineDict["Sgit_FTDC_CC_BidPriceGreaterThanStopPrice"] = 'D' +#买一价大于等于条件价 +defineDict["Sgit_FTDC_CC_BidPriceGreaterEqualStopPrice"] = 'E' +#买一价小于条件价 +defineDict["Sgit_FTDC_CC_BidPriceLesserThanStopPrice"] = 'F' +#买一价小于等于条件价 +defineDict["Sgit_FTDC_CC_BidPriceLesserEqualStopPrice"] = 'H' + +typedefDict["TSgitFtdcContingentConditionType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcActionFlagType是一个操作标志类型 +#////////////////////////////////////////////////////////////////////// +#删除 +defineDict["Sgit_FTDC_AF_Delete"] = '0' +#修改 +defineDict["Sgit_FTDC_AF_Modify"] = '3' + +typedefDict["TSgitFtdcActionFlagType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTradingRightType是一个交易权限类型 +#////////////////////////////////////////////////////////////////////// +#可以交易 +defineDict["Sgit_FTDC_TR_Allow"] = '0' +#只能平仓 +defineDict["Sgit_FTDC_TR_CloseOnly"] = '1' +#不能交易 +defineDict["Sgit_FTDC_TR_Forbidden"] = '2' + +typedefDict["TSgitFtdcTradingRightType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOrderSourceType是一个报单来源类型 +#////////////////////////////////////////////////////////////////////// +#来自参与者 +defineDict["Sgit_FTDC_OSRC_Participant"] = '0' +#来自管理员 +defineDict["Sgit_FTDC_OSRC_Administrator"] = '1' + +typedefDict["TSgitFtdcOrderSourceType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTradeTypeType是一个成交类型类型 +#////////////////////////////////////////////////////////////////////// +#普通成交 +defineDict["Sgit_FTDC_TRDT_Common"] = '0' +#期权执行 +defineDict["Sgit_FTDC_TRDT_OptionsExecution"] = '1' +#OTC成交 +defineDict["Sgit_FTDC_TRDT_OTC"] = '2' +#期转现衍生成交 +defineDict["Sgit_FTDC_TRDT_EFPDerived"] = '3' +#组合衍生成交 +defineDict["Sgit_FTDC_TRDT_CombinationDerived"] = '4' + +typedefDict["TSgitFtdcTradeTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPriceSourceType是一个成交价来源类型 +#////////////////////////////////////////////////////////////////////// +#前成交价 +defineDict["Sgit_FTDC_PSRC_LastPrice"] = '0' +#买委托价 +defineDict["Sgit_FTDC_PSRC_Buy"] = '1' +#卖委托价 +defineDict["Sgit_FTDC_PSRC_Sell"] = '2' + +typedefDict["TSgitFtdcPriceSourceType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInstrumentStatusType是一个合约交易状态类型 +#////////////////////////////////////////////////////////////////////// +#开盘前 +defineDict["Sgit_FTDC_IS_BeforeTrading"] = '0' +#非交易 +defineDict["Sgit_FTDC_IS_NoTrading"] = '1' +#连续交易 +defineDict["Sgit_FTDC_IS_Continous"] = '2' +#集合竞价报单 +defineDict["Sgit_FTDC_IS_AuctionOrdering"] = '3' +#集合竞价价格平衡 +defineDict["Sgit_FTDC_IS_AuctionBalance"] = '4' +#集合竞价撮合 +defineDict["Sgit_FTDC_IS_AuctionMatch"] = '5' +#收盘 +defineDict["Sgit_FTDC_IS_Closed"] = '6' + +typedefDict["TSgitFtdcInstrumentStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInstStatusEnterReasonType是一个品种进入交易状态原因类型 +#////////////////////////////////////////////////////////////////////// +#自动切换 +defineDict["Sgit_FTDC_IER_Automatic"] = '1' +#手动切换 +defineDict["Sgit_FTDC_IER_Manual"] = '2' +#熔断 +defineDict["Sgit_FTDC_IER_Fuse"] = '3' + +typedefDict["TSgitFtdcInstStatusEnterReasonType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOrderActionRefType是一个报单操作引用类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcOrderActionRefType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInstallCountType是一个安装数量类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcInstallCountType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInstallIDType是一个安装编号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcInstallIDType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcErrorIDType是一个错误代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcErrorIDType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSettlementIDType是一个结算编号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcSettlementIDType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcVolumeType是一个数量类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcVolumeType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFrontIDType是一个前置编号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcFrontIDType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSessionIDType是一个会话编号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcSessionIDType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSequenceNoType是一个序号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcSequenceNoType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCommandNoType是一个DB命令序号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCommandNoType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcMillisecType是一个时间(毫秒)类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcMillisecType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcVolumeMultipleType是一个合约数量乘数类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcVolumeMultipleType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTradingSegmentSNType是一个交易阶段编号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcTradingSegmentSNType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRequestIDType是一个请求编号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcRequestIDType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcYearType是一个年份类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcYearType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcMonthType是一个月份类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcMonthType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBoolType是一个布尔型类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcBoolType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPriceType是一个价格类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcPriceType"] = "float" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCombOffsetFlagType是一个组合开平标志类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCombOffsetFlagType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCombHedgeFlagType是一个组合投机套保标志类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCombHedgeFlagType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRatioType是一个比率类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcRatioType"] = "float" + +#////////////////////////////////////////////////////////////////////// +#TFtdcMoneyType是一个资金类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcMoneyType"] = "float" + +#////////////////////////////////////////////////////////////////////// +#TFtdcLargeVolumeType是一个大额数量类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcLargeVolumeType"] = "float" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSequenceSeriesType是一个序列系列号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcSequenceSeriesType"] = "short" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCommPhaseNoType是一个通讯时段编号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCommPhaseNoType"] = "short" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSequenceLabelType是一个序列编号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcSequenceLabelType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPriorityType是一个优先级类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcPriorityType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcContractCodeType是一个合同编号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcContractCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCityType是一个市类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCityType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcIsStockType是一个是否股民类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcIsStockType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcChannelType是一个渠道类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcChannelType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAddressType是一个通讯地址类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcAddressType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcZipCodeType是一个邮政编码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcZipCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTelephoneType是一个联系电话类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcTelephoneType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFaxType是一个传真类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcFaxType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcMobileType是一个手机类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcMobileType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcEMailType是一个电子邮件类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcEMailType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcMemoType是一个备注类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcMemoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCompanyCodeType是一个企业代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCompanyCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcWebsiteType是一个网站地址类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcWebsiteType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTaxNoType是一个税务登记号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcTaxNoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBatchStatusType是一个处理状态类型 +#////////////////////////////////////////////////////////////////////// +#未上传 +defineDict["Sgit_FTDC_BS_NoUpload"] = '1' +#已上传 +defineDict["Sgit_FTDC_BS_Uploaded"] = '2' +#审核失败 +defineDict["Sgit_FTDC_BS_Failed"] = '3' + +typedefDict["TSgitFtdcBatchStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPropertyIDType是一个属性代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcPropertyIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPropertyNameType是一个属性名称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcPropertyNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcLicenseNoType是一个营业执照号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcLicenseNoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAgentIDType是一个经纪人代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcAgentIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAgentNameType是一个经纪人名称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcAgentNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAgentGroupIDType是一个经纪人组代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcAgentGroupIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAgentGroupNameType是一个经纪人组名称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcAgentGroupNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcReturnStyleType是一个按品种返还方式类型 +#////////////////////////////////////////////////////////////////////// +#按所有品种 +defineDict["Sgit_FTDC_RS_All"] = '1' +#按品种 +defineDict["Sgit_FTDC_RS_ByProduct"] = '2' + +typedefDict["TSgitFtdcReturnStyleType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcReturnPatternType是一个返还模式类型 +#////////////////////////////////////////////////////////////////////// +#按成交手数 +defineDict["Sgit_FTDC_RP_ByVolume"] = '1' +#按留存手续费 +defineDict["Sgit_FTDC_RP_ByFeeOnHand"] = '2' + +typedefDict["TSgitFtdcReturnPatternType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcReturnLevelType是一个返还级别类型 +#////////////////////////////////////////////////////////////////////// +#级别1 +defineDict["Sgit_FTDC_RL_Level1"] = '1' +#级别2 +defineDict["Sgit_FTDC_RL_Level2"] = '2' +#级别3 +defineDict["Sgit_FTDC_RL_Level3"] = '3' +#级别4 +defineDict["Sgit_FTDC_RL_Level4"] = '4' +#级别5 +defineDict["Sgit_FTDC_RL_Level5"] = '5' +#级别6 +defineDict["Sgit_FTDC_RL_Level6"] = '6' +#级别7 +defineDict["Sgit_FTDC_RL_Level7"] = '7' +#级别8 +defineDict["Sgit_FTDC_RL_Level8"] = '8' +#级别9 +defineDict["Sgit_FTDC_RL_Level9"] = '9' + +typedefDict["TSgitFtdcReturnLevelType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcReturnStandardType是一个返还标准类型 +#////////////////////////////////////////////////////////////////////// +#分阶段返还 +defineDict["Sgit_FTDC_RSD_ByPeriod"] = '1' +#按某一标准 +defineDict["Sgit_FTDC_RSD_ByStandard"] = '2' + +typedefDict["TSgitFtdcReturnStandardType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcMortgageTypeType是一个质押类型类型 +#////////////////////////////////////////////////////////////////////// +#质出 +defineDict["Sgit_FTDC_MT_Out"] = '0' +#质入 +defineDict["Sgit_FTDC_MT_In"] = '1' + +typedefDict["TSgitFtdcMortgageTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInvestorSettlementParamIDType是一个投资者结算参数代码类型 +#////////////////////////////////////////////////////////////////////// +#基础保证金 +defineDict["Sgit_FTDC_ISPI_BaseMargin"] = '1' +#最低权益标准 +defineDict["Sgit_FTDC_ISPI_LowestInterest"] = '2' +#质押比例 +defineDict["Sgit_FTDC_ISPI_MortgageRatio"] = '4' +#保证金算法 +defineDict["Sgit_FTDC_ISPI_MarginWay"] = '5' +#结算单(盯市)权益等于结存 +defineDict["Sgit_FTDC_ISPI_BillDeposit"] = '9' + +typedefDict["TSgitFtdcInvestorSettlementParamIDType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcExchangeSettlementParamIDType是一个交易所结算参数代码类型 +#////////////////////////////////////////////////////////////////////// +#质押比例 +defineDict["Sgit_FTDC_ESPI_MortgageRatio"] = '1' +#分项资金导入项 +defineDict["Sgit_FTDC_ESPI_OtherFundItem"] = '2' +#分项资金入交易所出入金 +defineDict["Sgit_FTDC_ESPI_OtherFundImport"] = '3' +#上期所交割手续费收取方式 +defineDict["Sgit_FTDC_ESPI_SHFEDelivFee"] = '4' +#大商所交割手续费收取方式 +defineDict["Sgit_FTDC_ESPI_DCEDelivFee"] = '5' +#中金所开户最低可用金额 +defineDict["Sgit_FTDC_ESPI_CFFEXMinPrepa"] = '6' + +typedefDict["TSgitFtdcExchangeSettlementParamIDType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSystemParamIDType是一个系统参数代码类型 +#////////////////////////////////////////////////////////////////////// +#投资者代码最小长度 +defineDict["Sgit_FTDC_SPI_InvestorIDMinLength"] = '1' +#投资者帐号代码最小长度 +defineDict["Sgit_FTDC_SPI_AccountIDMinLength"] = '2' +#投资者开户默认登录权限 +defineDict["Sgit_FTDC_SPI_UserRightLogon"] = '3' +#投资者交易结算单成交汇总方式 +defineDict["Sgit_FTDC_SPI_SettlementBillTrade"] = '4' +#统一开户更新交易编码方式 +defineDict["Sgit_FTDC_SPI_TradingCode"] = '5' +#结算是否判断存在未复核的出入金和分项资金 +defineDict["Sgit_FTDC_SPI_CheckFund"] = '6' +#是否启用手续费模板数据权限 +defineDict["Sgit_FTDC_SPI_CommModelRight"] = '7' +#是否规范用户才能激活 +defineDict["Sgit_FTDC_SPI_IsStandardActive"] = '8' +#上传的交易所结算文件路径 +defineDict["Sgit_FTDC_SPI_UploadSettlementFile"] = 'U' +#上报保证金监控中心文件路径 +defineDict["Sgit_FTDC_SPI_DownloadCSRCFile"] = 'D' +#生成的结算单文件路径 +defineDict["Sgit_FTDC_SPI_SettlementBillFile"] = 'S' +#证监会文件标识 +defineDict["Sgit_FTDC_SPI_CSRCOthersFile"] = 'C' +#投资者照片路径 +defineDict["Sgit_FTDC_SPI_InvestorPhoto"] = 'P' +#全结经纪公司上传文件路径 +defineDict["Sgit_FTDC_SPI_CSRCData"] = 'R' +#开户密码录入方式 +defineDict["Sgit_FTDC_SPI_InvestorPwdModel"] = 'I' +#投资者中金所结算文件下载路径 +defineDict["Sgit_FTDC_SPI_CFFEXInvestorSettleFile"] = 'F' +#投资者代码编码方式 +defineDict["Sgit_FTDC_SPI_InvestorIDType"] = 'a' + +typedefDict["TSgitFtdcSystemParamIDType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTradeParamIDType是一个交易系统参数代码类型 +#////////////////////////////////////////////////////////////////////// +#系统加密算法 +defineDict["Sgit_FTDC_TPID_EncryptionStandard"] = 'E' +#系统风险算法 +defineDict["Sgit_FTDC_TPID_RiskMode"] = 'R' +#系统风险算法是否全局 0-否 1-是 +defineDict["Sgit_FTDC_TPID_RiskModeGlobal"] = 'G' + +typedefDict["TSgitFtdcTradeParamIDType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSettlementParamValueType是一个参数代码值类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcSettlementParamValueType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCounterIDType是一个计数器代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCounterIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInvestorGroupNameType是一个投资者分组名称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcInvestorGroupNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBrandCodeType是一个牌号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcBrandCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcWarehouseType是一个仓库类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcWarehouseType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcProductDateType是一个产期类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcProductDateType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcGradeType是一个等级类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcGradeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcClassifyType是一个类别类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcClassifyType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPositionType是一个货位类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcPositionType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcYieldlyType是一个产地类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcYieldlyType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcWeightType是一个公定重量类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcWeightType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSubEntryFundNoType是一个分项资金流水号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcSubEntryFundNoType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFileIDType是一个文件标识类型 +#////////////////////////////////////////////////////////////////////// +#资金数据 +defineDict["Sgit_FTDC_FI_SettlementFund"] = 'F' +#成交数据 +defineDict["Sgit_FTDC_FI_Trade"] = 'T' +#投资者持仓数据 +defineDict["Sgit_FTDC_FI_InvestorPosition"] = 'P' +#投资者分项资金数据 +defineDict["Sgit_FTDC_FI_SubEntryFund"] = 'O' +#郑商所组合持仓数据 +defineDict["Sgit_FTDC_FI_CZCECombinationPos"] = 'C' +#上报保证金监控中心数据 +defineDict["Sgit_FTDC_FI_CSRCData"] = 'R' + +typedefDict["TSgitFtdcFileIDType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFileNameType是一个文件名称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcFileNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFileTypeType是一个文件上传类型类型 +#////////////////////////////////////////////////////////////////////// +#结算 +defineDict["Sgit_FTDC_FUT_Settlement"] = '0' +#核对 +defineDict["Sgit_FTDC_FUT_Check"] = '1' + +typedefDict["TSgitFtdcFileTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFileFormatType是一个文件格式类型 +#////////////////////////////////////////////////////////////////////// +#文本文件(.txt) +defineDict["Sgit_FTDC_FFT_Txt"] = '0' +#压缩文件(.zip) +defineDict["Sgit_FTDC_FFT_Zip"] = '1' +#DBF文件(.dbf) +defineDict["Sgit_FTDC_FFT_DBF"] = '2' + +typedefDict["TSgitFtdcFileFormatType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFileUploadStatusType是一个文件状态类型 +#////////////////////////////////////////////////////////////////////// +#上传成功 +defineDict["Sgit_FTDC_FUS_SucceedUpload"] = '1' +#上传失败 +defineDict["Sgit_FTDC_FUS_FailedUpload"] = '2' +#导入成功 +defineDict["Sgit_FTDC_FUS_SucceedLoad"] = '3' +#导入部分成功 +defineDict["Sgit_FTDC_FUS_PartSucceedLoad"] = '4' +#导入失败 +defineDict["Sgit_FTDC_FUS_FailedLoad"] = '5' + +typedefDict["TSgitFtdcFileUploadStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTransferDirectionType是一个移仓方向类型 +#////////////////////////////////////////////////////////////////////// +#移出 +defineDict["Sgit_FTDC_TD_Out"] = '0' +#移入 +defineDict["Sgit_FTDC_TD_In"] = '1' + +typedefDict["TSgitFtdcTransferDirectionType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUploadModeType是一个上传文件类型类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcUploadModeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAccountIDType是一个投资者帐号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcAccountIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankFlagType是一个银行统一标识类型类型 +#////////////////////////////////////////////////////////////////////// +#工商银行 +defineDict["Sgit_FTDC_BF_ICBC"] = '1' +#农业银行 +defineDict["Sgit_FTDC_BF_ABC"] = '2' +#中国银行 +defineDict["Sgit_FTDC_BF_BC"] = '3' +#建设银行 +defineDict["Sgit_FTDC_BF_CBC"] = '4' +#交通银行 +defineDict["Sgit_FTDC_BF_BOC"] = '5' +#其他银行 +defineDict["Sgit_FTDC_BF_Other"] = 'Z' + +typedefDict["TSgitFtdcBankFlagType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankAccountType是一个银行账户类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcBankAccountType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOpenNameType是一个银行账户的开户人名称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcOpenNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOpenBankType是一个银行账户的开户行类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcOpenBankType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankNameType是一个银行名称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcBankNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPublishPathType是一个发布路径类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcPublishPathType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOperatorIDType是一个操作员代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcOperatorIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcMonthCountType是一个月份数量类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcMonthCountType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAdvanceMonthArrayType是一个月份提前数组类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcAdvanceMonthArrayType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDateExprType是一个日期表达式类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcDateExprType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInstrumentIDExprType是一个合约代码表达式类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcInstrumentIDExprType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInstrumentNameExprType是一个合约名称表达式类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcInstrumentNameExprType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSpecialCreateRuleType是一个特殊的创建规则类型 +#////////////////////////////////////////////////////////////////////// +#没有特殊创建规则 +defineDict["Sgit_FTDC_SC_NoSpecialRule"] = '0' +#不包含春节 +defineDict["Sgit_FTDC_SC_NoSpringFestival"] = '1' + +typedefDict["TSgitFtdcSpecialCreateRuleType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBasisPriceTypeType是一个挂牌基准价类型类型 +#////////////////////////////////////////////////////////////////////// +#上一合约结算价 +defineDict["Sgit_FTDC_IPT_LastSettlement"] = '1' +#上一合约收盘价 +defineDict["Sgit_FTDC_IPT_LaseClose"] = '2' + +typedefDict["TSgitFtdcBasisPriceTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcProductLifePhaseType是一个产品生命周期状态类型 +#////////////////////////////////////////////////////////////////////// +#活跃 +defineDict["Sgit_FTDC_PLP_Active"] = '1' +#不活跃 +defineDict["Sgit_FTDC_PLP_NonActive"] = '2' +#注销 +defineDict["Sgit_FTDC_PLP_Canceled"] = '3' + +typedefDict["TSgitFtdcProductLifePhaseType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDeliveryModeType是一个交割方式类型 +#////////////////////////////////////////////////////////////////////// +#现金交割 +defineDict["Sgit_FTDC_DM_CashDeliv"] = '1' +#实物交割 +defineDict["Sgit_FTDC_DM_CommodityDeliv"] = '2' + +typedefDict["TSgitFtdcDeliveryModeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcLogLevelType是一个日志级别类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcLogLevelType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcProcessNameType是一个存储过程名称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcProcessNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOperationMemoType是一个操作摘要类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcOperationMemoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFundIOTypeType是一个出入金类型类型 +#////////////////////////////////////////////////////////////////////// +#出入金 +defineDict["Sgit_FTDC_FIOT_FundIO"] = '1' +#银期转帐 +defineDict["Sgit_FTDC_FIOT_Transfer"] = '2' + +typedefDict["TSgitFtdcFundIOTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFundTypeType是一个资金类型类型 +#////////////////////////////////////////////////////////////////////// +#银行存款 +defineDict["Sgit_FTDC_FT_Deposite"] = '1' +#分项资金 +defineDict["Sgit_FTDC_FT_ItemFund"] = '2' +#公司调整 +defineDict["Sgit_FTDC_FT_Company"] = '3' + +typedefDict["TSgitFtdcFundTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFundDirectionType是一个出入金方向类型 +#////////////////////////////////////////////////////////////////////// +#入金 +defineDict["Sgit_FTDC_FD_In"] = '1' +#出金 +defineDict["Sgit_FTDC_FD_Out"] = '2' + +typedefDict["TSgitFtdcFundDirectionType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFundStatusType是一个资金状态类型 +#////////////////////////////////////////////////////////////////////// +#已录入 +defineDict["Sgit_FTDC_FS_Record"] = '1' +#已复核 +defineDict["Sgit_FTDC_FS_Check"] = '2' +#已冲销 +defineDict["Sgit_FTDC_FS_Charge"] = '3' + +typedefDict["TSgitFtdcFundStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBillNoType是一个票据号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcBillNoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBillNameType是一个票据名称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcBillNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPublishStatusType是一个发布状态类型 +#////////////////////////////////////////////////////////////////////// +#未发布 +defineDict["Sgit_FTDC_PS_None"] = '1' +#正在发布 +defineDict["Sgit_FTDC_PS_Publishing"] = '2' +#已发布 +defineDict["Sgit_FTDC_PS_Published"] = '3' + +typedefDict["TSgitFtdcPublishStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcEnumValueIDType是一个枚举值代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcEnumValueIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcEnumValueTypeType是一个枚举值类型类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcEnumValueTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcEnumValueLabelType是一个枚举值名称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcEnumValueLabelType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcEnumValueResultType是一个枚举值结果类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcEnumValueResultType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSystemStatusType是一个系统状态类型 +#////////////////////////////////////////////////////////////////////// +#不活跃 +defineDict["Sgit_FTDC_ES_NonActive"] = '1' +#启动 +defineDict["Sgit_FTDC_ES_Startup"] = '2' +#交易开始初始化 +defineDict["Sgit_FTDC_ES_Initialize"] = '3' +#交易完成初始化 +defineDict["Sgit_FTDC_ES_Initialized"] = '4' +#收市开始 +defineDict["Sgit_FTDC_ES_Close"] = '5' +#收市完成 +defineDict["Sgit_FTDC_ES_Closed"] = '6' +#结算 +defineDict["Sgit_FTDC_ES_Settlement"] = '7' + +typedefDict["TSgitFtdcSystemStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSettlementStatusType是一个结算状态类型 +#////////////////////////////////////////////////////////////////////// +#初始 +defineDict["Sgit_FTDC_STS_Initialize"] = '0' +#结算中 +defineDict["Sgit_FTDC_STS_Settlementing"] = '1' +#已结算 +defineDict["Sgit_FTDC_STS_Settlemented"] = '2' +#结算完成 +defineDict["Sgit_FTDC_STS_Finished"] = '3' + +typedefDict["TSgitFtdcSettlementStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRangeIntTypeType是一个限定值类型类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcRangeIntTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRangeIntFromType是一个限定值下限类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcRangeIntFromType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRangeIntToType是一个限定值上限类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcRangeIntToType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFunctionIDType是一个功能代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcFunctionIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFunctionValueCodeType是一个功能编码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcFunctionValueCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFunctionNameType是一个功能名称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcFunctionNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRoleIDType是一个角色编号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcRoleIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRoleNameType是一个角色名称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcRoleNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDescriptionType是一个描述类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcDescriptionType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCombineIDType是一个组合编号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCombineIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCombineTypeType是一个组合类型类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCombineTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInvestorTypeType是一个投资者类型类型 +#////////////////////////////////////////////////////////////////////// +#自然人 +defineDict["Sgit_FTDC_CT_Person"] = '0' +#法人 +defineDict["Sgit_FTDC_CT_Company"] = '1' +#投资基金 +defineDict["Sgit_FTDC_CT_Fund"] = '2' + +typedefDict["TSgitFtdcInvestorTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBrokerTypeType是一个经纪公司类型类型 +#////////////////////////////////////////////////////////////////////// +#交易会员 +defineDict["Sgit_FTDC_BT_Trade"] = '0' +#交易结算会员 +defineDict["Sgit_FTDC_BT_TradeSettle"] = '1' + +typedefDict["TSgitFtdcBrokerTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRiskLevelType是一个风险等级类型 +#////////////////////////////////////////////////////////////////////// +#低风险客户 +defineDict["Sgit_FTDC_FAS_Low"] = '1' +#普通客户 +defineDict["Sgit_FTDC_FAS_Normal"] = '2' +#关注客户 +defineDict["Sgit_FTDC_FAS_Focus"] = '3' +#风险客户 +defineDict["Sgit_FTDC_FAS_Risk"] = '4' + +typedefDict["TSgitFtdcRiskLevelType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFeeAcceptStyleType是一个手续费收取方式类型 +#////////////////////////////////////////////////////////////////////// +#按交易收取 +defineDict["Sgit_FTDC_FAS_ByTrade"] = '1' +#按交割收取 +defineDict["Sgit_FTDC_FAS_ByDeliv"] = '2' +#不收 +defineDict["Sgit_FTDC_FAS_None"] = '3' +#按指定手续费收取 +defineDict["Sgit_FTDC_FAS_FixFee"] = '4' + +typedefDict["TSgitFtdcFeeAcceptStyleType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPasswordTypeType是一个密码类型类型 +#////////////////////////////////////////////////////////////////////// +#交易密码 +defineDict["Sgit_FTDC_PWDT_Trade"] = '1' +#资金密码 +defineDict["Sgit_FTDC_PWDT_Account"] = '2' + +typedefDict["TSgitFtdcPasswordTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAlgorithmType是一个盈亏算法类型 +#////////////////////////////////////////////////////////////////////// +#浮盈浮亏都计算 +defineDict["Sgit_FTDC_AG_All"] = '1' +#浮盈不计,浮亏计 +defineDict["Sgit_FTDC_AG_OnlyLost"] = '2' +#浮盈计,浮亏不计 +defineDict["Sgit_FTDC_AG_OnlyGain"] = '3' +#浮盈浮亏都不计算 +defineDict["Sgit_FTDC_AG_None"] = '4' + +typedefDict["TSgitFtdcAlgorithmType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcIncludeCloseProfitType是一个是否包含平仓盈利类型 +#////////////////////////////////////////////////////////////////////// +#包含平仓盈利 +defineDict["Sgit_FTDC_ICP_Include"] = '0' +#不包含平仓盈利 +defineDict["Sgit_FTDC_ICP_NotInclude"] = '2' + +typedefDict["TSgitFtdcIncludeCloseProfitType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAllWithoutTradeType是一个是否受可提比例限制类型 +#////////////////////////////////////////////////////////////////////// +#不受可提比例限制 +defineDict["Sgit_FTDC_AWT_Enable"] = '0' +#受可提比例限制 +defineDict["Sgit_FTDC_AWT_Disable"] = '2' + +typedefDict["TSgitFtdcAllWithoutTradeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCommentType是一个盈亏算法说明类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCommentType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcVersionType是一个版本号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcVersionType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTradeCodeType是一个交易代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcTradeCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTradeDateType是一个交易日期类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcTradeDateType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTradeTimeType是一个交易时间类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcTradeTimeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTradeSerialType是一个发起方流水号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcTradeSerialType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTradeSerialNoType是一个发起方流水号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcTradeSerialNoType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFutureIDType是一个期货公司代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcFutureIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankIDType是一个银行代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcBankIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankBrchIDType是一个银行分中心代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcBankBrchIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankBranchIDType是一个分中心代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcBankBranchIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOperNoType是一个交易柜员类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcOperNoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDeviceIDType是一个渠道标志类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcDeviceIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRecordNumType是一个记录数类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcRecordNumType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFutureAccountType是一个期货资金账号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcFutureAccountType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFuturePwdFlagType是一个资金密码核对标志类型 +#////////////////////////////////////////////////////////////////////// +#不核对 +defineDict["Sgit_FTDC_FPWD_UnCheck"] = '0' +#核对 +defineDict["Sgit_FTDC_FPWD_Check"] = '1' + +typedefDict["TSgitFtdcFuturePwdFlagType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTransferTypeType是一个银期转账类型类型 +#////////////////////////////////////////////////////////////////////// +#银行转期货 +defineDict["Sgit_FTDC_TT_BankToFuture"] = '0' +#期货转银行 +defineDict["Sgit_FTDC_TT_FutureToBank"] = '1' + +typedefDict["TSgitFtdcTransferTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFutureAccPwdType是一个期货资金密码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcFutureAccPwdType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCurrencyCodeType是一个币种类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCurrencyCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRetCodeType是一个响应代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcRetCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRetInfoType是一个响应信息类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcRetInfoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTradeAmtType是一个银行总余额类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcTradeAmtType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUseAmtType是一个银行可用余额类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcUseAmtType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFetchAmtType是一个银行可取余额类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcFetchAmtType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTransferValidFlagType是一个转账有效标志类型 +#////////////////////////////////////////////////////////////////////// +#无效或失败 +defineDict["Sgit_FTDC_TVF_Invalid"] = '0' +#有效 +defineDict["Sgit_FTDC_TVF_Valid"] = '1' +#冲正 +defineDict["Sgit_FTDC_TVF_Reverse"] = '2' + +typedefDict["TSgitFtdcTransferValidFlagType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCertCodeType是一个证件号码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCertCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcReasonType是一个事由类型 +#////////////////////////////////////////////////////////////////////// +#错单 +defineDict["Sgit_FTDC_RN_CD"] = '0' +#资金在途 +defineDict["Sgit_FTDC_RN_ZT"] = '1' +#其它 +defineDict["Sgit_FTDC_RN_QT"] = '2' + +typedefDict["TSgitFtdcReasonType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFundProjectIDType是一个资金项目编号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcFundProjectIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSexType是一个性别类型 +#////////////////////////////////////////////////////////////////////// +#未知 +defineDict["Sgit_FTDC_SEX_None"] = '0' +#男 +defineDict["Sgit_FTDC_SEX_Man"] = '1' +#女 +defineDict["Sgit_FTDC_SEX_Woman"] = '2' + +typedefDict["TSgitFtdcSexType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcProfessionType是一个职业类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcProfessionType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcNationalType是一个国籍类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcNationalType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcProvinceType是一个省类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcProvinceType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRegionType是一个区类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcRegionType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCountryType是一个国家类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCountryType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcLicenseNOType是一个营业执照类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcLicenseNOType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCompanyTypeType是一个企业性质类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCompanyTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBusinessScopeType是一个经营范围类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcBusinessScopeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCapitalCurrencyType是一个注册资本币种类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCapitalCurrencyType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUserTypeType是一个用户类型类型 +#////////////////////////////////////////////////////////////////////// +#投资者 +defineDict["Sgit_FTDC_UT_Investor"] = '0' +#操作员 +defineDict["Sgit_FTDC_UT_Operator"] = '1' +#管理员 +defineDict["Sgit_FTDC_UT_SuperUser"] = '2' + +typedefDict["TSgitFtdcUserTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRateTypeType是一个费率类型类型 +#////////////////////////////////////////////////////////////////////// +#保证金率 +defineDict["Sgit_FTDC_RATETYPE_MarginRate"] = '2' + +typedefDict["TSgitFtdcRateTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcNoteTypeType是一个通知类型类型 +#////////////////////////////////////////////////////////////////////// +#交易结算单 +defineDict["Sgit_FTDC_NOTETYPE_TradeSettleBill"] = '1' +#交易结算月报 +defineDict["Sgit_FTDC_NOTETYPE_TradeSettleMonth"] = '2' +#追加保证金通知书 +defineDict["Sgit_FTDC_NOTETYPE_CallMarginNotes"] = '3' +#强行平仓通知书 +defineDict["Sgit_FTDC_NOTETYPE_ForceCloseNotes"] = '4' +#成交通知书 +defineDict["Sgit_FTDC_NOTETYPE_TradeNotes"] = '5' +#交割通知书 +defineDict["Sgit_FTDC_NOTETYPE_DelivNotes"] = '6' + +typedefDict["TSgitFtdcNoteTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSettlementStyleType是一个结算单方式类型 +#////////////////////////////////////////////////////////////////////// +#逐日盯市 +defineDict["Sgit_FTDC_SBS_Day"] = '1' +#逐笔对冲 +defineDict["Sgit_FTDC_SBS_Volume"] = '2' + +typedefDict["TSgitFtdcSettlementStyleType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBrokerDNSType是一个域名类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcBrokerDNSType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSentenceType是一个语句类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcSentenceType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSettlementBillTypeType是一个结算单类型类型 +#////////////////////////////////////////////////////////////////////// +#日报 +defineDict["Sgit_FTDC_ST_Day"] = '0' +#月报 +defineDict["Sgit_FTDC_ST_Month"] = '1' + +typedefDict["TSgitFtdcSettlementBillTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUserRightTypeType是一个客户权限类型类型 +#////////////////////////////////////////////////////////////////////// +#登录 +defineDict["Sgit_FTDC_URT_Logon"] = '1' +#银期转帐 +defineDict["Sgit_FTDC_URT_Transfer"] = '2' +#邮寄结算单 +defineDict["Sgit_FTDC_URT_EMail"] = '3' +#传真结算单 +defineDict["Sgit_FTDC_URT_Fax"] = '4' +#条件单 +defineDict["Sgit_FTDC_URT_ConditionOrder"] = '5' + +typedefDict["TSgitFtdcUserRightTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcMarginPriceTypeType是一个保证金价格类型类型 +#////////////////////////////////////////////////////////////////////// +#昨结算价 +defineDict["Sgit_FTDC_MPT_PreSettlementPrice"] = '1' +#最新价 +defineDict["Sgit_FTDC_MPT_SettlementPrice"] = '2' +#成交均价 +defineDict["Sgit_FTDC_MPT_AveragePrice"] = '3' +#开仓价 +defineDict["Sgit_FTDC_MPT_OpenPrice"] = '4' + +typedefDict["TSgitFtdcMarginPriceTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBillGenStatusType是一个结算单生成状态类型 +#////////////////////////////////////////////////////////////////////// +#不生成 +defineDict["Sgit_FTDC_BGS_None"] = '0' +#未生成 +defineDict["Sgit_FTDC_BGS_NoGenerated"] = '1' +#已生成 +defineDict["Sgit_FTDC_BGS_Generated"] = '2' + +typedefDict["TSgitFtdcBillGenStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAlgoTypeType是一个算法类型类型 +#////////////////////////////////////////////////////////////////////// +#持仓处理算法 +defineDict["Sgit_FTDC_AT_HandlePositionAlgo"] = '1' +#寻找保证金率算法 +defineDict["Sgit_FTDC_AT_FindMarginRateAlgo"] = '2' + +typedefDict["TSgitFtdcAlgoTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcHandlePositionAlgoIDType是一个持仓处理算法编号类型 +#////////////////////////////////////////////////////////////////////// +#基本 +defineDict["Sgit_FTDC_HPA_Base"] = '1' +#大连商品交易所 +defineDict["Sgit_FTDC_HPA_DCE"] = '2' +#郑州商品交易所 +defineDict["Sgit_FTDC_HPA_CZCE"] = '3' + +typedefDict["TSgitFtdcHandlePositionAlgoIDType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFindMarginRateAlgoIDType是一个寻找保证金率算法编号类型 +#////////////////////////////////////////////////////////////////////// +#基本 +defineDict["Sgit_FTDC_FMRA_Base"] = '1' +#大连商品交易所 +defineDict["Sgit_FTDC_FMRA_DCE"] = '2' +#郑州商品交易所 +defineDict["Sgit_FTDC_FMRA_CZCE"] = '3' + +typedefDict["TSgitFtdcFindMarginRateAlgoIDType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcHandleTradingAccountAlgoIDType是一个资金处理算法编号类型 +#////////////////////////////////////////////////////////////////////// +#基本 +defineDict["Sgit_FTDC_HTAA_Base"] = '1' +#大连商品交易所 +defineDict["Sgit_FTDC_HTAA_DCE"] = '2' +#郑州商品交易所 +defineDict["Sgit_FTDC_HTAA_CZCE"] = '3' + +typedefDict["TSgitFtdcHandleTradingAccountAlgoIDType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPersonTypeType是一个联系人类型类型 +#////////////////////////////////////////////////////////////////////// +#指定下单人 +defineDict["Sgit_FTDC_PST_Order"] = '1' +#开户授权人 +defineDict["Sgit_FTDC_PST_Open"] = '2' +#资金调拨人 +defineDict["Sgit_FTDC_PST_Fund"] = '3' +#结算单确认人 +defineDict["Sgit_FTDC_PST_Settlement"] = '4' +#法人 +defineDict["Sgit_FTDC_PST_Company"] = '5' +#法人代表 +defineDict["Sgit_FTDC_PST_Corporation"] = '6' +#投资者联系人 +defineDict["Sgit_FTDC_PST_LinkMan"] = '7' + +typedefDict["TSgitFtdcPersonTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcQueryInvestorRangeType是一个查询范围类型 +#////////////////////////////////////////////////////////////////////// +#所有 +defineDict["Sgit_FTDC_QIR_All"] = '1' +#查询分类 +defineDict["Sgit_FTDC_QIR_Group"] = '2' +#单一投资者 +defineDict["Sgit_FTDC_QIR_Single"] = '3' + +typedefDict["TSgitFtdcQueryInvestorRangeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInvestorRiskStatusType是一个投资者风险状态类型 +#////////////////////////////////////////////////////////////////////// +#正常 +defineDict["Sgit_FTDC_IRS_Normal"] = '1' +#警告 +defineDict["Sgit_FTDC_IRS_Warn"] = '2' +#追保 +defineDict["Sgit_FTDC_IRS_Call"] = '3' +#强平 +defineDict["Sgit_FTDC_IRS_Force"] = '4' +#异常 +defineDict["Sgit_FTDC_IRS_Exception"] = '5' + +typedefDict["TSgitFtdcInvestorRiskStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcLegIDType是一个单腿编号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcLegIDType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcLegMultipleType是一个单腿乘数类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcLegMultipleType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcImplyLevelType是一个派生层数类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcImplyLevelType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcClearAccountType是一个结算账户类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcClearAccountType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOrganNOType是一个结算账户类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcOrganNOType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcClearbarchIDType是一个结算账户联行号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcClearbarchIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUserEventTypeType是一个用户事件类型类型 +#////////////////////////////////////////////////////////////////////// +#登录 +defineDict["Sgit_FTDC_UET_Login"] = '1' +#登出 +defineDict["Sgit_FTDC_UET_Logout"] = '2' +#交易成功 +defineDict["Sgit_FTDC_UET_Trading"] = '3' +#交易失败 +defineDict["Sgit_FTDC_UET_TradingError"] = '4' +#修改密码 +defineDict["Sgit_FTDC_UET_UpdatePassword"] = '5' +#客户端认证 +defineDict["Sgit_FTDC_UET_Authenticate"] = '6' +#其他 +defineDict["Sgit_FTDC_UET_Other"] = '9' + +typedefDict["TSgitFtdcUserEventTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUserEventInfoType是一个用户事件信息类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcUserEventInfoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCloseStyleType是一个平仓方式类型 +#////////////////////////////////////////////////////////////////////// +#先开先平 +defineDict["Sgit_FTDC_ICS_Close"] = '0' +#先平今再平昨 +defineDict["Sgit_FTDC_ICS_CloseToday"] = '1' + +typedefDict["TSgitFtdcCloseStyleType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcStatModeType是一个统计方式类型 +#////////////////////////////////////////////////////////////////////// +#---- +defineDict["Sgit_FTDC_SM_Non"] = '0' +#按合约统计 +defineDict["Sgit_FTDC_SM_Instrument"] = '1' +#按产品统计 +defineDict["Sgit_FTDC_SM_Product"] = '2' +#按投资者统计 +defineDict["Sgit_FTDC_SM_Investor"] = '3' + +typedefDict["TSgitFtdcStatModeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcParkedOrderStatusType是一个预埋单状态类型 +#////////////////////////////////////////////////////////////////////// +#未发送 +defineDict["Sgit_FTDC_PAOS_NotSend"] = '1' +#已发送 +defineDict["Sgit_FTDC_PAOS_Send"] = '2' +#已删除 +defineDict["Sgit_FTDC_PAOS_Deleted"] = '3' + +typedefDict["TSgitFtdcParkedOrderStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcParkedOrderIDType是一个预埋报单编号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcParkedOrderIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcParkedOrderActionIDType是一个预埋撤单编号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcParkedOrderActionIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcVirDealStatusType是一个处理状态类型 +#////////////////////////////////////////////////////////////////////// +#正在处理 +defineDict["Sgit_FTDC_VDS_Dealing"] = '1' +#处理成功 +defineDict["Sgit_FTDC_VDS_DeaclSucceed"] = '2' + +typedefDict["TSgitFtdcVirDealStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOrgSystemIDType是一个原有系统代码类型 +#////////////////////////////////////////////////////////////////////// +#综合交易平台 +defineDict["Sgit_FTDC_ORGS_Standard"] = '0' +#易盛系统 +defineDict["Sgit_FTDC_ORGS_ESunny"] = '1' +#金仕达V6系统 +defineDict["Sgit_FTDC_ORGS_KingStarV6"] = '2' + +typedefDict["TSgitFtdcOrgSystemIDType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcVirTradeStatusType是一个交易状态类型 +#////////////////////////////////////////////////////////////////////// +#正常处理中 +defineDict["Sgit_FTDC_VTS_NaturalDeal"] = '0' +#成功结束 +defineDict["Sgit_FTDC_VTS_SucceedEnd"] = '1' +#失败结束 +defineDict["Sgit_FTDC_VTS_FailedEND"] = '2' +#异常中 +defineDict["Sgit_FTDC_VTS_Exception"] = '3' +#已人工异常处理 +defineDict["Sgit_FTDC_VTS_ManualDeal"] = '4' +#通讯异常 ,请人工处理 +defineDict["Sgit_FTDC_VTS_MesException"] = '5' +#系统出错,请人工处理 +defineDict["Sgit_FTDC_VTS_SysException"] = '6' + +typedefDict["TSgitFtdcVirTradeStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcVirBankAccTypeType是一个银行帐户类型类型 +#////////////////////////////////////////////////////////////////////// +#存折 +defineDict["Sgit_FTDC_VBAT_BankBook"] = '1' +#储蓄卡 +defineDict["Sgit_FTDC_VBAT_BankCard"] = '2' +#信用卡 +defineDict["Sgit_FTDC_VBAT_CreditCard"] = '3' + +typedefDict["TSgitFtdcVirBankAccTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcVirementStatusType是一个银行帐户类型类型 +#////////////////////////////////////////////////////////////////////// +#正常 +defineDict["Sgit_FTDC_VMS_Natural"] = '0' +#销户 +defineDict["Sgit_FTDC_VMS_Canceled"] = '9' + +typedefDict["TSgitFtdcVirementStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcVirementAvailAbilityType是一个有效标志类型 +#////////////////////////////////////////////////////////////////////// +#未确认 +defineDict["Sgit_FTDC_VAA_NoAvailAbility"] = '0' +#有效 +defineDict["Sgit_FTDC_VAA_AvailAbility"] = '1' +#冲正 +defineDict["Sgit_FTDC_VAA_Repeal"] = '2' + +typedefDict["TSgitFtdcVirementAvailAbilityType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcVirementTradeCodeType是一个交易代码类型 +#////////////////////////////////////////////////////////////////////// +#银行发起银行资金转期货 +defineDict["Sgit_FTDC_VTC_BankBankToFuture"] = '102001' +#银行发起期货资金转银行 +defineDict["Sgit_FTDC_VTC_BankFutureToBank"] = '102002' +#期货发起银行资金转期货 +defineDict["Sgit_FTDC_VTC_FutureBankToFuture"] = '202001' +#期货发起期货资金转银行 +defineDict["Sgit_FTDC_VTC_FutureFutureToBank"] = '202002' + +typedefDict["TSgitFtdcVirementTradeCodeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPhotoTypeNameType是一个影像类型名称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcPhotoTypeNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPhotoTypeIDType是一个影像类型代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcPhotoTypeIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPhotoNameType是一个影像名称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcPhotoNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTopicIDType是一个主题代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcTopicIDType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcReportTypeIDType是一个交易报告类型标识类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcReportTypeIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCharacterIDType是一个交易特征代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCharacterIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLParamIDType是一个参数代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcAMLParamIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLInvestorTypeType是一个投资者类型类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcAMLInvestorTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLIdCardTypeType是一个证件类型类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcAMLIdCardTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLTradeDirectType是一个资金进出方向类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcAMLTradeDirectType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLTradeModelType是一个资金进出方式类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcAMLTradeModelType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLParamIDType是一个参数代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcAMLParamIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLOpParamValueType是一个业务参数代码值类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcAMLOpParamValueType"] = "float" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLCustomerCardTypeType是一个客户身份证件/证明文件类型类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcAMLCustomerCardTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLInstitutionNameType是一个金融机构网点名称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcAMLInstitutionNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLDistrictIDType是一个金融机构网点所在地区行政区划代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcAMLDistrictIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLRelationShipType是一个金融机构网点与大额交易的关系类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcAMLRelationShipType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLInstitutionTypeType是一个金融机构网点代码类型类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcAMLInstitutionTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLInstitutionIDType是一个金融机构网点代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcAMLInstitutionIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLAccountTypeType是一个账户类型类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcAMLAccountTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLTradingTypeType是一个交易方式类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcAMLTradingTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLTransactClassType是一个涉外收支交易分类与代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcAMLTransactClassType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLCapitalIOType是一个资金收付标识类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcAMLCapitalIOType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLSiteType是一个交易地点类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcAMLSiteType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLCapitalPurposeType是一个资金用途类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcAMLCapitalPurposeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLReportTypeType是一个报文类型类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcAMLReportTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLSerialNoType是一个编号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcAMLSerialNoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLStatusType是一个状态类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcAMLStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLGenStatusType是一个Aml生成方式类型 +#////////////////////////////////////////////////////////////////////// +#程序生成 +defineDict["Sgit_FTDC_GEN_Program"] = '0' +#人工生成 +defineDict["Sgit_FTDC_GEN_HandWork"] = '1' + +typedefDict["TSgitFtdcAMLGenStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLSeqCodeType是一个业务标识号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcAMLSeqCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLFileNameType是一个AML文件名类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcAMLFileNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLMoneyType是一个反洗钱资金类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcAMLMoneyType"] = "float" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLFileAmountType是一个反洗钱资金类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcAMLFileAmountType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCFMMCKeyType是一个密钥类型(保证金监管)类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCFMMCKeyType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCFMMCKeyKindType是一个动态密钥类别(保证金监管)类型 +#////////////////////////////////////////////////////////////////////// +#主动请求更新 +defineDict["Sgit_FTDC_CFMMCKK_REQUEST"] = 'R' +#CFMMC自动更新 +defineDict["Sgit_FTDC_CFMMCKK_AUTO"] = 'A' +#CFMMC手动更新 +defineDict["Sgit_FTDC_CFMMCKK_MANUAL"] = 'M' + +typedefDict["TSgitFtdcCFMMCKeyKindType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLReportNameType是一个报文名称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcAMLReportNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcIndividualNameType是一个个人姓名类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcIndividualNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCurrencyIDType是一个币种代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCurrencyIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCustNumberType是一个客户编号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCustNumberType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOrganCodeType是一个机构编码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcOrganCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOrganNameType是一个机构名称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcOrganNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSuperOrganCodeType是一个上级机构编码,即期货公司总部、银行总行类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcSuperOrganCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSubBranchIDType是一个分支机构类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcSubBranchIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSubBranchNameType是一个分支机构名称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcSubBranchNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBranchNetCodeType是一个机构网点号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcBranchNetCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBranchNetNameType是一个机构网点名称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcBranchNetNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOrganFlagType是一个机构标识类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcOrganFlagType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankCodingForFutureType是一个银行对期货公司的编码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcBankCodingForFutureType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankReturnCodeType是一个银行对返回码的定义类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcBankReturnCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPlateReturnCodeType是一个银期转帐平台对返回码的定义类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcPlateReturnCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankSubBranchIDType是一个银行分支机构编码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcBankSubBranchIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFutureBranchIDType是一个期货分支机构编码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcFutureBranchIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcReturnCodeType是一个返回代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcReturnCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOperatorCodeType是一个操作员类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcOperatorCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcClearDepIDType是一个机构结算帐户机构号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcClearDepIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcClearBrchIDType是一个机构结算帐户联行号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcClearBrchIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcClearNameType是一个机构结算帐户名称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcClearNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankAccountNameType是一个银行帐户名称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcBankAccountNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInvDepIDType是一个机构投资人账号机构号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcInvDepIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInvBrchIDType是一个机构投资人联行号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcInvBrchIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcMessageFormatVersionType是一个信息格式版本类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcMessageFormatVersionType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDigestType是一个摘要类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcDigestType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAuthenticDataType是一个认证数据类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcAuthenticDataType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPasswordKeyType是一个密钥类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcPasswordKeyType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFutureAccountNameType是一个期货帐户名称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcFutureAccountNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcMobilePhoneType是一个手机类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcMobilePhoneType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFutureMainKeyType是一个期货公司主密钥类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcFutureMainKeyType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFutureWorkKeyType是一个期货公司工作密钥类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcFutureWorkKeyType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFutureTransKeyType是一个期货公司传输密钥类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcFutureTransKeyType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankMainKeyType是一个银行主密钥类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcBankMainKeyType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankWorkKeyType是一个银行工作密钥类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcBankWorkKeyType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankTransKeyType是一个银行传输密钥类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcBankTransKeyType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankServerDescriptionType是一个银行服务器描述信息类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcBankServerDescriptionType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAddInfoType是一个附加信息类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcAddInfoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDescrInfoForReturnCodeType是一个返回码描述类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcDescrInfoForReturnCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCountryCodeType是一个国家代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCountryCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSerialType是一个流水号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcSerialType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPlateSerialType是一个平台流水号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcPlateSerialType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankSerialType是一个银行流水号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcBankSerialType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCorrectSerialType是一个被冲正交易流水号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCorrectSerialType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFutureSerialType是一个期货公司流水号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcFutureSerialType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcApplicationIDType是一个应用标识类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcApplicationIDType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankProxyIDType是一个银行代理标识类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcBankProxyIDType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBTCoreIDType是一个银期转帐核心系统标识类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcFBTCoreIDType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcServerPortType是一个服务端口号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcServerPortType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRepealedTimesType是一个已经冲正次数类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcRepealedTimesType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRepealTimeIntervalType是一个冲正时间间隔类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcRepealTimeIntervalType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTotalTimesType是一个每日累计转帐次数类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcTotalTimesType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBTRequestIDType是一个请求ID类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcFBTRequestIDType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTIDType是一个交易ID类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcTIDType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTradeAmountType是一个交易金额(元)类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcTradeAmountType"] = "float" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCustFeeType是一个应收客户费用(元)类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCustFeeType"] = "float" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFutureFeeType是一个应收期货公司费用(元)类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcFutureFeeType"] = "float" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSingleMaxAmtType是一个单笔最高限额类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcSingleMaxAmtType"] = "float" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSingleMinAmtType是一个单笔最低限额类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcSingleMinAmtType"] = "float" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTotalAmtType是一个每日累计转帐额度类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcTotalAmtType"] = "float" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCertificationTypeType是一个证件类型类型 +#////////////////////////////////////////////////////////////////////// +#身份证 +defineDict["Sgit_FTDC_CFT_IDCard"] = '0' +#护照 +defineDict["Sgit_FTDC_CFT_Passport"] = '1' +#军官证 +defineDict["Sgit_FTDC_CFT_OfficerIDCard"] = '2' +#士兵证 +defineDict["Sgit_FTDC_CFT_SoldierIDCard"] = '3' +#回乡证 +defineDict["Sgit_FTDC_CFT_HomeComingCard"] = '4' +#户口簿 +defineDict["Sgit_FTDC_CFT_HouseholdRegister"] = '5' +#营业执照号 +defineDict["Sgit_FTDC_CFT_LicenseNo"] = '6' +#组织机构代码证 +defineDict["Sgit_FTDC_CFT_InstitutionCodeCard"] = '7' +#临时营业执照号 +defineDict["Sgit_FTDC_CFT_TempLicenseNo"] = '8' +#民办非企业登记证书 +defineDict["Sgit_FTDC_CFT_NoEnterpriseLicenseNo"] = '9' +#其他证件 +defineDict["Sgit_FTDC_CFT_OtherCard"] = 'x' +#主管部门批文 +defineDict["Sgit_FTDC_CFT_SuperDepAgree"] = 'a' + +typedefDict["TSgitFtdcCertificationTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFileBusinessCodeType是一个文件业务功能类型 +#////////////////////////////////////////////////////////////////////// +#其他 +defineDict["Sgit_FTDC_FBC_Others"] = '0' +#转账交易明细对账 +defineDict["Sgit_FTDC_FBC_TransferDetails"] = '1' +#客户账户状态对账 +defineDict["Sgit_FTDC_FBC_CustAccStatus"] = '2' +#账户类交易明细对账 +defineDict["Sgit_FTDC_FBC_AccountTradeDetails"] = '3' +#期货账户信息变更明细对账 +defineDict["Sgit_FTDC_FBC_FutureAccountChangeInfoDetails"] = '4' +#客户资金台账余额明细对账 +defineDict["Sgit_FTDC_FBC_CustMoneyDetail"] = '5' +#客户销户结息明细对账 +defineDict["Sgit_FTDC_FBC_CustCancelAccountInfo"] = '6' +#客户资金余额对账结果 +defineDict["Sgit_FTDC_FBC_CustMoneyResult"] = '7' +#其它对账异常结果文件 +defineDict["Sgit_FTDC_FBC_OthersExceptionResult"] = '8' +#客户结息净额明细 +defineDict["Sgit_FTDC_FBC_CustInterestNetMoneyDetails"] = '9' +#客户资金交收明细 +defineDict["Sgit_FTDC_FBC_CustMoneySendAndReceiveDetails"] = 'a' +#法人存管银行资金交收汇总 +defineDict["Sgit_FTDC_FBC_CorporationMoneyTotal"] = 'b' +#主体间资金交收汇总 +defineDict["Sgit_FTDC_FBC_MainbodyMoneyTotal"] = 'c' +#总分平衡监管数据 +defineDict["Sgit_FTDC_FBC_MainPartMonitorData"] = 'd' +#存管银行备付金余额 +defineDict["Sgit_FTDC_FBC_PreparationMoney"] = 'e' +#协办存管银行资金监管数据 +defineDict["Sgit_FTDC_FBC_BankMoneyMonitorData"] = 'f' + +typedefDict["TSgitFtdcFileBusinessCodeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCashExchangeCodeType是一个汇钞标志类型 +#////////////////////////////////////////////////////////////////////// +#汇 +defineDict["Sgit_FTDC_CEC_Exchange"] = '1' +#钞 +defineDict["Sgit_FTDC_CEC_Cash"] = '2' + +typedefDict["TSgitFtdcCashExchangeCodeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcYesNoIndicatorType是一个是或否标识类型 +#////////////////////////////////////////////////////////////////////// +#是 +defineDict["Sgit_FTDC_YNI_Yes"] = '0' +#否 +defineDict["Sgit_FTDC_YNI_No"] = '1' + +typedefDict["TSgitFtdcYesNoIndicatorType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBanlanceTypeType是一个余额类型类型 +#////////////////////////////////////////////////////////////////////// +#当前余额 +defineDict["Sgit_FTDC_BLT_CurrentMoney"] = '0' +#可用余额 +defineDict["Sgit_FTDC_BLT_UsableMoney"] = '1' +#可取余额 +defineDict["Sgit_FTDC_BLT_FetchableMoney"] = '2' +#冻结余额 +defineDict["Sgit_FTDC_BLT_FreezeMoney"] = '3' + +typedefDict["TSgitFtdcBanlanceTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcGenderType是一个性别类型 +#////////////////////////////////////////////////////////////////////// +#未知状态 +defineDict["Sgit_FTDC_GD_Unknown"] = '0' +#男 +defineDict["Sgit_FTDC_GD_Male"] = '1' +#女 +defineDict["Sgit_FTDC_GD_Female"] = '2' + +typedefDict["TSgitFtdcGenderType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFeePayFlagType是一个费用支付标志类型 +#////////////////////////////////////////////////////////////////////// +#由受益方支付费用 +defineDict["Sgit_FTDC_FPF_BEN"] = '0' +#由发送方支付费用 +defineDict["Sgit_FTDC_FPF_OUR"] = '1' +#由发送方支付发起的费用,受益方支付接受的费用 +defineDict["Sgit_FTDC_FPF_SHA"] = '2' + +typedefDict["TSgitFtdcFeePayFlagType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPassWordKeyTypeType是一个密钥类型类型 +#////////////////////////////////////////////////////////////////////// +#交换密钥 +defineDict["Sgit_FTDC_PWKT_ExchangeKey"] = '0' +#密码密钥 +defineDict["Sgit_FTDC_PWKT_PassWordKey"] = '1' +#MAC密钥 +defineDict["Sgit_FTDC_PWKT_MACKey"] = '2' +#报文密钥 +defineDict["Sgit_FTDC_PWKT_MessageKey"] = '3' + +typedefDict["TSgitFtdcPassWordKeyTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBTPassWordTypeType是一个密码类型类型 +#////////////////////////////////////////////////////////////////////// +#查询 +defineDict["Sgit_FTDC_PWT_Query"] = '0' +#取款 +defineDict["Sgit_FTDC_PWT_Fetch"] = '1' +#转帐 +defineDict["Sgit_FTDC_PWT_Transfer"] = '2' +#交易 +defineDict["Sgit_FTDC_PWT_Trade"] = '3' + +typedefDict["TSgitFtdcFBTPassWordTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBTEncryModeType是一个加密方式类型 +#////////////////////////////////////////////////////////////////////// +#不加密 +defineDict["Sgit_FTDC_EM_NoEncry"] = '0' +#DES +defineDict["Sgit_FTDC_EM_DES"] = '1' +#3DES +defineDict["Sgit_FTDC_EM_3DES"] = '2' + +typedefDict["TSgitFtdcFBTEncryModeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankRepealFlagType是一个银行冲正标志类型 +#////////////////////////////////////////////////////////////////////// +#银行无需自动冲正 +defineDict["Sgit_FTDC_BRF_BankNotNeedRepeal"] = '0' +#银行待自动冲正 +defineDict["Sgit_FTDC_BRF_BankWaitingRepeal"] = '1' +#银行已自动冲正 +defineDict["Sgit_FTDC_BRF_BankBeenRepealed"] = '2' + +typedefDict["TSgitFtdcBankRepealFlagType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBrokerRepealFlagType是一个期商冲正标志类型 +#////////////////////////////////////////////////////////////////////// +#期商无需自动冲正 +defineDict["Sgit_FTDC_BRORF_BrokerNotNeedRepeal"] = '0' +#期商待自动冲正 +defineDict["Sgit_FTDC_BRORF_BrokerWaitingRepeal"] = '1' +#期商已自动冲正 +defineDict["Sgit_FTDC_BRORF_BrokerBeenRepealed"] = '2' + +typedefDict["TSgitFtdcBrokerRepealFlagType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInstitutionTypeType是一个机构类别类型 +#////////////////////////////////////////////////////////////////////// +#银行 +defineDict["Sgit_FTDC_TS_Bank"] = '0' +#期商 +defineDict["Sgit_FTDC_TS_Future"] = '1' +#券商 +defineDict["Sgit_FTDC_TS_Store"] = '2' + +typedefDict["TSgitFtdcInstitutionTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcLastFragmentType是一个最后分片标志类型 +#////////////////////////////////////////////////////////////////////// +#是最后分片 +defineDict["Sgit_FTDC_LF_Yes"] = '0' +#不是最后分片 +defineDict["Sgit_FTDC_LF_No"] = '1' + +typedefDict["TSgitFtdcLastFragmentType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankAccStatusType是一个银行账户状态类型 +#////////////////////////////////////////////////////////////////////// +#正常 +defineDict["Sgit_FTDC_BAS_Normal"] = '0' +#冻结 +defineDict["Sgit_FTDC_BAS_Freeze"] = '1' +#挂失 +defineDict["Sgit_FTDC_BAS_ReportLoss"] = '2' + +typedefDict["TSgitFtdcBankAccStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcMoneyAccountStatusType是一个资金账户状态类型 +#////////////////////////////////////////////////////////////////////// +#正常 +defineDict["Sgit_FTDC_MAS_Normal"] = '0' +#销户 +defineDict["Sgit_FTDC_MAS_Cancel"] = '1' + +typedefDict["TSgitFtdcMoneyAccountStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcManageStatusType是一个存管状态类型 +#////////////////////////////////////////////////////////////////////// +#指定存管 +defineDict["Sgit_FTDC_MSS_Point"] = '0' +#预指定 +defineDict["Sgit_FTDC_MSS_PrePoint"] = '1' +#撤销指定 +defineDict["Sgit_FTDC_MSS_CancelPoint"] = '2' + +typedefDict["TSgitFtdcManageStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSystemTypeType是一个应用系统类型类型 +#////////////////////////////////////////////////////////////////////// +#银期转帐 +defineDict["Sgit_FTDC_SYT_FutureBankTransfer"] = '0' +#银证转帐 +defineDict["Sgit_FTDC_SYT_StockBankTransfer"] = '1' +#第三方存管 +defineDict["Sgit_FTDC_SYT_TheThirdPartStore"] = '2' + +typedefDict["TSgitFtdcSystemTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTxnEndFlagType是一个银期转帐划转结果标志类型 +#////////////////////////////////////////////////////////////////////// +#正常处理中 +defineDict["Sgit_FTDC_TEF_NormalProcessing"] = '0' +#成功结束 +defineDict["Sgit_FTDC_TEF_Success"] = '1' +#失败结束 +defineDict["Sgit_FTDC_TEF_Failed"] = '2' +#异常中 +defineDict["Sgit_FTDC_TEF_Abnormal"] = '3' +#已人工异常处理 +defineDict["Sgit_FTDC_TEF_ManualProcessedForException"] = '4' +#通讯异常 ,请人工处理 +defineDict["Sgit_FTDC_TEF_CommuFailedNeedManualProcess"] = '5' +#系统出错,请人工处理 +defineDict["Sgit_FTDC_TEF_SysErrorNeedManualProcess"] = '6' + +typedefDict["TSgitFtdcTxnEndFlagType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcProcessStatusType是一个银期转帐服务处理状态类型 +#////////////////////////////////////////////////////////////////////// +#未处理 +defineDict["Sgit_FTDC_PSS_NotProcess"] = '0' +#开始处理 +defineDict["Sgit_FTDC_PSS_StartProcess"] = '1' +#处理完成 +defineDict["Sgit_FTDC_PSS_Finished"] = '2' + +typedefDict["TSgitFtdcProcessStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCustTypeType是一个客户类型类型 +#////////////////////////////////////////////////////////////////////// +#自然人 +defineDict["Sgit_FTDC_CUSTT_Person"] = '0' +#机构户 +defineDict["Sgit_FTDC_CUSTT_Institution"] = '1' + +typedefDict["TSgitFtdcCustTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBTTransferDirectionType是一个银期转帐方向类型 +#////////////////////////////////////////////////////////////////////// +#入金,银行转期货 +defineDict["Sgit_FTDC_FBTTD_FromBankToFuture"] = '1' +#出金,期货转银行 +defineDict["Sgit_FTDC_FBTTD_FromFutureToBank"] = '2' + +typedefDict["TSgitFtdcFBTTransferDirectionType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOpenOrDestroyType是一个开销户类别类型 +#////////////////////////////////////////////////////////////////////// +#开户 +defineDict["Sgit_FTDC_OOD_Open"] = '1' +#销户 +defineDict["Sgit_FTDC_OOD_Destroy"] = '0' + +typedefDict["TSgitFtdcOpenOrDestroyType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAvailabilityFlagType是一个有效标志类型 +#////////////////////////////////////////////////////////////////////// +#未确认 +defineDict["Sgit_FTDC_AVAF_Invalid"] = '0' +#有效 +defineDict["Sgit_FTDC_AVAF_Valid"] = '1' +#冲正 +defineDict["Sgit_FTDC_AVAF_Repeal"] = '2' + +typedefDict["TSgitFtdcAvailabilityFlagType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOrganTypeType是一个机构类型类型 +#////////////////////////////////////////////////////////////////////// +#银行代理 +defineDict["Sgit_FTDC_OT_Bank"] = '1' +#交易前置 +defineDict["Sgit_FTDC_OT_Future"] = '2' +#银期转帐平台管理 +defineDict["Sgit_FTDC_OT_PlateForm"] = '9' + +typedefDict["TSgitFtdcOrganTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOrganLevelType是一个机构级别类型 +#////////////////////////////////////////////////////////////////////// +#银行总行或期商总部 +defineDict["Sgit_FTDC_OL_HeadQuarters"] = '1' +#银行分中心或期货公司营业部 +defineDict["Sgit_FTDC_OL_Branch"] = '2' + +typedefDict["TSgitFtdcOrganLevelType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcProtocalIDType是一个协议类型类型 +#////////////////////////////////////////////////////////////////////// +#期商协议 +defineDict["Sgit_FTDC_PID_FutureProtocal"] = '0' +#工行协议 +defineDict["Sgit_FTDC_PID_ICBCProtocal"] = '1' +#农行协议 +defineDict["Sgit_FTDC_PID_ABCProtocal"] = '2' +#中国银行协议 +defineDict["Sgit_FTDC_PID_CBCProtocal"] = '3' +#建行协议 +defineDict["Sgit_FTDC_PID_CCBProtocal"] = '4' +#交行协议 +defineDict["Sgit_FTDC_PID_BOCOMProtocal"] = '5' +#银期转帐平台协议 +defineDict["Sgit_FTDC_PID_FBTPlateFormProtocal"] = 'X' + +typedefDict["TSgitFtdcProtocalIDType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcConnectModeType是一个套接字连接方式类型 +#////////////////////////////////////////////////////////////////////// +#短连接 +defineDict["Sgit_FTDC_CM_ShortConnect"] = '0' +#长连接 +defineDict["Sgit_FTDC_CM_LongConnect"] = '1' + +typedefDict["TSgitFtdcConnectModeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSyncModeType是一个套接字通信方式类型 +#////////////////////////////////////////////////////////////////////// +#异步 +defineDict["Sgit_FTDC_SRM_ASync"] = '0' +#同步 +defineDict["Sgit_FTDC_SRM_Sync"] = '1' + +typedefDict["TSgitFtdcSyncModeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankAccTypeType是一个银行帐号类型类型 +#////////////////////////////////////////////////////////////////////// +#银行存折 +defineDict["Sgit_FTDC_BAT_BankBook"] = '1' +#储蓄卡 +defineDict["Sgit_FTDC_BAT_SavingCard"] = '2' +#信用卡 +defineDict["Sgit_FTDC_BAT_CreditCard"] = '3' + +typedefDict["TSgitFtdcBankAccTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFutureAccTypeType是一个期货公司帐号类型类型 +#////////////////////////////////////////////////////////////////////// +#银行存折 +defineDict["Sgit_FTDC_FAT_BankBook"] = '1' +#储蓄卡 +defineDict["Sgit_FTDC_FAT_SavingCard"] = '2' +#信用卡 +defineDict["Sgit_FTDC_FAT_CreditCard"] = '3' + +typedefDict["TSgitFtdcFutureAccTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOrganStatusType是一个接入机构状态类型 +#////////////////////////////////////////////////////////////////////// +#启用 +defineDict["Sgit_FTDC_OS_Ready"] = '0' +#签到 +defineDict["Sgit_FTDC_OS_CheckIn"] = '1' +#签退 +defineDict["Sgit_FTDC_OS_CheckOut"] = '2' +#对帐文件到达 +defineDict["Sgit_FTDC_OS_CheckFileArrived"] = '3' +#对帐 +defineDict["Sgit_FTDC_OS_CheckDetail"] = '4' +#日终清理 +defineDict["Sgit_FTDC_OS_DayEndClean"] = '5' +#注销 +defineDict["Sgit_FTDC_OS_Invalid"] = '9' + +typedefDict["TSgitFtdcOrganStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCCBFeeModeType是一个建行收费模式类型 +#////////////////////////////////////////////////////////////////////// +#按金额扣收 +defineDict["Sgit_FTDC_CCBFM_ByAmount"] = '1' +#按月扣收 +defineDict["Sgit_FTDC_CCBFM_ByMonth"] = '2' + +typedefDict["TSgitFtdcCCBFeeModeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCommApiTypeType是一个通讯API类型类型 +#////////////////////////////////////////////////////////////////////// +#客户端 +defineDict["Sgit_FTDC_CAPIT_Client"] = '1' +#服务端 +defineDict["Sgit_FTDC_CAPIT_Server"] = '2' +#交易系统的UserApi +defineDict["Sgit_FTDC_CAPIT_UserApi"] = '3' + +typedefDict["TSgitFtdcCommApiTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcServiceIDType是一个服务编号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcServiceIDType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcServiceLineNoType是一个服务线路编号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcServiceLineNoType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcServiceNameType是一个服务名类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcServiceNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcLinkStatusType是一个连接状态类型 +#////////////////////////////////////////////////////////////////////// +#已经连接 +defineDict["Sgit_FTDC_LS_Connected"] = '1' +#没有连接 +defineDict["Sgit_FTDC_LS_Disconnected"] = '2' + +typedefDict["TSgitFtdcLinkStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCommApiPointerType是一个通讯API指针类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCommApiPointerType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPwdFlagType是一个密码核对标志类型 +#////////////////////////////////////////////////////////////////////// +#不核对 +defineDict["Sgit_FTDC_BPWDF_NoCheck"] = '0' +#明文核对 +defineDict["Sgit_FTDC_BPWDF_BlankCheck"] = '1' +#密文核对 +defineDict["Sgit_FTDC_BPWDF_EncryptCheck"] = '2' + +typedefDict["TSgitFtdcPwdFlagType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSecuAccTypeType是一个期货帐号类型类型 +#////////////////////////////////////////////////////////////////////// +#资金帐号 +defineDict["Sgit_FTDC_SAT_AccountID"] = '1' +#资金卡号 +defineDict["Sgit_FTDC_SAT_CardID"] = '2' +#上海股东帐号 +defineDict["Sgit_FTDC_SAT_SHStockholderID"] = '3' +#深圳股东帐号 +defineDict["Sgit_FTDC_SAT_SZStockholderID"] = '4' + +typedefDict["TSgitFtdcSecuAccTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTransferStatusType是一个转账交易状态类型 +#////////////////////////////////////////////////////////////////////// +#正常 +defineDict["Sgit_FTDC_TRFS_Normal"] = '0' +#被冲正 +defineDict["Sgit_FTDC_TRFS_Repealed"] = '1' + +typedefDict["TSgitFtdcTransferStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSponsorTypeType是一个发起方类型 +#////////////////////////////////////////////////////////////////////// +#期商 +defineDict["Sgit_FTDC_SPTYPE_Broker"] = '0' +#银行 +defineDict["Sgit_FTDC_SPTYPE_Bank"] = '1' + +typedefDict["TSgitFtdcSponsorTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcReqRspTypeType是一个请求响应类别类型 +#////////////////////////////////////////////////////////////////////// +#请求 +defineDict["Sgit_FTDC_REQRSP_Request"] = '0' +#响应 +defineDict["Sgit_FTDC_REQRSP_Response"] = '1' + +typedefDict["TSgitFtdcReqRspTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBTUserEventTypeType是一个银期转帐用户事件类型类型 +#////////////////////////////////////////////////////////////////////// +#签到 +defineDict["Sgit_FTDC_FBTUET_SignIn"] = '0' +#银行转期货 +defineDict["Sgit_FTDC_FBTUET_FromBankToFuture"] = '1' +#期货转银行 +defineDict["Sgit_FTDC_FBTUET_FromFutureToBank"] = '2' +#开户 +defineDict["Sgit_FTDC_FBTUET_OpenAccount"] = '3' +#销户 +defineDict["Sgit_FTDC_FBTUET_CancelAccount"] = '4' +#变更银行账户 +defineDict["Sgit_FTDC_FBTUET_ChangeAccount"] = '5' +#冲正银行转期货 +defineDict["Sgit_FTDC_FBTUET_RepealFromBankToFuture"] = '6' +#冲正期货转银行 +defineDict["Sgit_FTDC_FBTUET_RepealFromFutureToBank"] = '7' +#查询银行账户 +defineDict["Sgit_FTDC_FBTUET_QueryBankAccount"] = '8' +#查询期货账户 +defineDict["Sgit_FTDC_FBTUET_QueryFutureAccount"] = '9' +#签退 +defineDict["Sgit_FTDC_FBTUET_SignOut"] = 'A' +#密钥同步 +defineDict["Sgit_FTDC_FBTUET_SyncKey"] = 'B' +#其他 +defineDict["Sgit_FTDC_FBTUET_Other"] = 'Z' + +typedefDict["TSgitFtdcFBTUserEventTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankIDByBankType是一个银行自己的编码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcBankIDByBankType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcNotifyClassType是一个风险通知类型类型 +#////////////////////////////////////////////////////////////////////// +#正常 +defineDict["Sgit_FTDC_NC_NOERROR"] = '0' +#警示 +defineDict["Sgit_FTDC_NC_Warn"] = '1' +#追保 +defineDict["Sgit_FTDC_NC_Call"] = '2' +#强平 +defineDict["Sgit_FTDC_NC_Force"] = '3' +#穿仓 +defineDict["Sgit_FTDC_NC_CHUANCANG"] = '4' +#异常 +defineDict["Sgit_FTDC_NC_Exception"] = '5' + +typedefDict["TSgitFtdcNotifyClassType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRiskNofityInfoType是一个客户风险通知消息类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcRiskNofityInfoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcForceCloseSceneIdType是一个强平场景编号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcForceCloseSceneIdType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcForceCloseTypeType是一个强平单类型类型 +#////////////////////////////////////////////////////////////////////// +#手工强平 +defineDict["Sgit_FTDC_FCT_Manual"] = '0' +#单一投资者辅助强平 +defineDict["Sgit_FTDC_FCT_Single"] = '1' +#批量投资者辅助强平 +defineDict["Sgit_FTDC_FCT_Group"] = '2' + +typedefDict["TSgitFtdcForceCloseTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInstrumentIDsType是一个多个产品代码,用+分隔,如cu+zn类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcInstrumentIDsType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRiskNotifyMethodType是一个风险通知途径类型 +#////////////////////////////////////////////////////////////////////// +#系统通知 +defineDict["Sgit_FTDC_RNM_System"] = '0' +#短信通知 +defineDict["Sgit_FTDC_RNM_SMS"] = '1' +#邮件通知 +defineDict["Sgit_FTDC_RNM_EMail"] = '2' +#人工通知 +defineDict["Sgit_FTDC_RNM_Manual"] = '3' + +typedefDict["TSgitFtdcRiskNotifyMethodType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRiskNotifyStatusType是一个风险通知状态类型 +#////////////////////////////////////////////////////////////////////// +#未生成 +defineDict["Sgit_FTDC_RNS_NotGen"] = '0' +#已生成未发送 +defineDict["Sgit_FTDC_RNS_Generated"] = '1' +#发送失败 +defineDict["Sgit_FTDC_RNS_SendError"] = '2' +#已发送未接收 +defineDict["Sgit_FTDC_RNS_SendOk"] = '3' +#已接收未确认 +defineDict["Sgit_FTDC_RNS_Received"] = '4' +#已确认 +defineDict["Sgit_FTDC_RNS_Confirmed"] = '5' + +typedefDict["TSgitFtdcRiskNotifyStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRiskUserEventType是一个风控用户操作事件类型 +#////////////////////////////////////////////////////////////////////// +#导出数据 +defineDict["Sgit_FTDC_RUE_ExportData"] = '0' + +typedefDict["TSgitFtdcRiskUserEventType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcParamIDType是一个参数代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcParamIDType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcParamNameType是一个参数名类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcParamNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcParamValueType是一个参数值类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcParamValueType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcConditionalOrderSortTypeType是一个条件单索引条件类型 +#////////////////////////////////////////////////////////////////////// +#使用最新价升序 +defineDict["Sgit_FTDC_COST_LastPriceAsc"] = '0' +#使用最新价降序 +defineDict["Sgit_FTDC_COST_LastPriceDesc"] = '1' +#使用卖价升序 +defineDict["Sgit_FTDC_COST_AskPriceAsc"] = '2' +#使用卖价降序 +defineDict["Sgit_FTDC_COST_AskPriceDesc"] = '3' +#使用买价升序 +defineDict["Sgit_FTDC_COST_BidPriceAsc"] = '4' +#使用买价降序 +defineDict["Sgit_FTDC_COST_BidPriceDesc"] = '5' + +typedefDict["TSgitFtdcConditionalOrderSortTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSendTypeType是一个报送状态类型 +#////////////////////////////////////////////////////////////////////// +#未发送 +defineDict["Sgit_FTDC_UOAST_NoSend"] = '0' +#已发送 +defineDict["Sgit_FTDC_UOAST_Sended"] = '1' +#已生成 +defineDict["Sgit_FTDC_UOAST_Generated"] = '2' +#报送失败 +defineDict["Sgit_FTDC_UOAST_SendFail"] = '3' +#接收成功 +defineDict["Sgit_FTDC_UOAST_Success"] = '4' +#接收失败 +defineDict["Sgit_FTDC_UOAST_Fail"] = '5' +#取消报送 +defineDict["Sgit_FTDC_UOAST_Cancel"] = '6' + +typedefDict["TSgitFtdcSendTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcClientIDStatusType是一个交易编码状态类型 +#////////////////////////////////////////////////////////////////////// +#未申请 +defineDict["Sgit_FTDC_UOACS_NoApply"] = '1' +#已提交申请 +defineDict["Sgit_FTDC_UOACS_Submited"] = '2' +#已发送申请 +defineDict["Sgit_FTDC_UOACS_Sended"] = '3' +#完成 +defineDict["Sgit_FTDC_UOACS_Success"] = '4' +#拒绝 +defineDict["Sgit_FTDC_UOACS_Refuse"] = '5' +#已撤销编码 +defineDict["Sgit_FTDC_UOACS_Cancel"] = '6' + +typedefDict["TSgitFtdcClientIDStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcIndustryIDType是一个行业编码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcIndustryIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcQuestionIDType是一个特有信息编号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcQuestionIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcQuestionContentType是一个特有信息说明类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcQuestionContentType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOptionIDType是一个选项编号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcOptionIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOptionContentType是一个选项说明类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcOptionContentType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcQuestionTypeType是一个特有信息类型类型 +#////////////////////////////////////////////////////////////////////// +#单选 +defineDict["Sgit_FTDC_QT_Radio"] = '1' +#多选 +defineDict["Sgit_FTDC_QT_Option"] = '2' +#填空 +defineDict["Sgit_FTDC_QT_Blank"] = '3' + +typedefDict["TSgitFtdcQuestionTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcProcessIDType是一个业务流水号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcProcessIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSeqNoType是一个流水号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcSeqNoType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUOAProcessStatusType是一个流程状态类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcUOAProcessStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcProcessTypeType是一个流程功能类型类型 +#////////////////////////////////////////////////////////////////////// +#申请交易编码 +defineDict["Sgit_FTDC_PT_ApplyTradingCode"] = '1' +#撤销交易编码 +defineDict["Sgit_FTDC_PT_CancelTradingCode"] = '2' +#修改身份信息 +defineDict["Sgit_FTDC_PT_ModifyIDCard"] = '3' +#修改一般信息 +defineDict["Sgit_FTDC_PT_ModifyNoIDCard"] = '4' +#交易所开户报备 +defineDict["Sgit_FTDC_PT_ExchOpenBak"] = '5' +#交易所销户报备 +defineDict["Sgit_FTDC_PT_ExchCancelBak"] = '6' +#补报规范资料 +defineDict["Sgit_FTDC_PT_StandardAccount"] = '7' +#账户休眠 +defineDict["Sgit_FTDC_PT_FreezeAccount"] = '8' +#激活休眠账户 +defineDict["Sgit_FTDC_PT_ActiveFreezeAccount"] = '9' + +typedefDict["TSgitFtdcProcessTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBusinessTypeType是一个业务类型类型 +#////////////////////////////////////////////////////////////////////// +#请求 +defineDict["Sgit_FTDC_BT_Request"] = '1' +#应答 +defineDict["Sgit_FTDC_BT_Response"] = '2' +#通知 +defineDict["Sgit_FTDC_BT_Notice"] = '3' + +typedefDict["TSgitFtdcBusinessTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCfmmcReturnCodeType是一个监控中心返回码类型 +#////////////////////////////////////////////////////////////////////// +#成功 +defineDict["Sgit_FTDC_CRC_Success"] = '0' +#该客户已经有流程在处理中 +defineDict["Sgit_FTDC_CRC_Working"] = '1' +#监控中客户资料检查失败 +defineDict["Sgit_FTDC_CRC_InfoFail"] = '2' +#监控中实名制检查失败 +defineDict["Sgit_FTDC_CRC_IDCardFail"] = '3' +#其他错误 +defineDict["Sgit_FTDC_CRC_OtherFail"] = '4' + +typedefDict["TSgitFtdcCfmmcReturnCodeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcExReturnCodeType是一个交易所返回码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcExReturnCodeType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcClientTypeType是一个客户类型类型 +#////////////////////////////////////////////////////////////////////// +#所有 +defineDict["Sgit_FTDC_CfMMCCT_All"] = '0' +#个人 +defineDict["Sgit_FTDC_CfMMCCT_Person"] = '1' +#单位 +defineDict["Sgit_FTDC_CfMMCCT_Company"] = '2' + +typedefDict["TSgitFtdcClientTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcExchangeIDTypeType是一个交易所编号类型 +#////////////////////////////////////////////////////////////////////// +#上海期货交易所 +defineDict["Sgit_FTDC_EIDT_SHFE"] = 'S' +#郑州商品交易所 +defineDict["Sgit_FTDC_EIDT_CZCE"] = 'Z' +#大连商品交易所 +defineDict["Sgit_FTDC_EIDT_DCE"] = 'D' +#中国金融期货交易所 +defineDict["Sgit_FTDC_EIDT_CFFEX"] = 'J' +#黄金 +defineDict["Sgit_FTDC_EIDT_GOLD"] = 'G' +#PAT +defineDict["Sgit_FTDC_EIDT_PAT"] = 'P' + +typedefDict["TSgitFtdcExchangeIDTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcExClientIDTypeType是一个交易编码类型类型 +#////////////////////////////////////////////////////////////////////// +#套保 +defineDict["Sgit_FTDC_ECIDT_Hedge"] = '1' +#套利 +defineDict["Sgit_FTDC_ECIDT_Arbitrage"] = '2' +#投机 +defineDict["Sgit_FTDC_ECIDT_Speculation"] = '3' + +typedefDict["TSgitFtdcExClientIDTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcClientClassifyType是一个客户分类码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcClientClassifyType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUOAOrganTypeType是一个单位性质类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcUOAOrganTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUOACountryCodeType是一个国家代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcUOACountryCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAreaCodeType是一个区号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcAreaCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFuturesIDType是一个监控中心为客户分配的代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcFuturesIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCffmcDateType是一个日期类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCffmcDateType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCffmcTimeType是一个时间类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCffmcTimeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcNocIDType是一个组织机构代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcNocIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUpdateFlagType是一个更新状态类型 +#////////////////////////////////////////////////////////////////////// +#未更新 +defineDict["Sgit_FTDC_UF_NoUpdate"] = '0' +#更新全部信息成功 +defineDict["Sgit_FTDC_UF_Success"] = '1' +#更新全部信息失败 +defineDict["Sgit_FTDC_UF_Fail"] = '2' +#更新交易编码成功 +defineDict["Sgit_FTDC_UF_TCSuccess"] = '3' +#更新交易编码失败 +defineDict["Sgit_FTDC_UF_TCFail"] = '4' +#已丢弃 +defineDict["Sgit_FTDC_UF_Cancel"] = '5' + +typedefDict["TSgitFtdcUpdateFlagType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcApplyOperateIDType是一个申请动作类型 +#////////////////////////////////////////////////////////////////////// +#开户 +defineDict["Sgit_FTDC_AOID_OpenInvestor"] = '1' +#修改身份信息 +defineDict["Sgit_FTDC_AOID_ModifyIDCard"] = '2' +#修改一般信息 +defineDict["Sgit_FTDC_AOID_ModifyNoIDCard"] = '3' +#申请交易编码 +defineDict["Sgit_FTDC_AOID_ApplyTradingCode"] = '4' +#撤销交易编码 +defineDict["Sgit_FTDC_AOID_CancelTradingCode"] = '5' +#销户 +defineDict["Sgit_FTDC_AOID_CancelInvestor"] = '6' +#账户休眠 +defineDict["Sgit_FTDC_AOID_FreezeAccount"] = '8' +#激活休眠账户 +defineDict["Sgit_FTDC_AOID_ActiveFreezeAccount"] = '9' + +typedefDict["TSgitFtdcApplyOperateIDType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcApplyStatusIDType是一个申请状态类型 +#////////////////////////////////////////////////////////////////////// +#未补全 +defineDict["Sgit_FTDC_ASID_NoComplete"] = '1' +#已提交 +defineDict["Sgit_FTDC_ASID_Submited"] = '2' +#已审核 +defineDict["Sgit_FTDC_ASID_Checked"] = '3' +#已拒绝 +defineDict["Sgit_FTDC_ASID_Refused"] = '4' +#已删除 +defineDict["Sgit_FTDC_ASID_Deleted"] = '5' + +typedefDict["TSgitFtdcApplyStatusIDType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSendMethodType是一个发送方式类型 +#////////////////////////////////////////////////////////////////////// +#文件发送 +defineDict["Sgit_FTDC_UOASM_ByAPI"] = '1' +#电子发送 +defineDict["Sgit_FTDC_UOASM_ByFile"] = '2' + +typedefDict["TSgitFtdcSendMethodType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcEventTypeType是一个业务操作类型类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcEventTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcEventModeType是一个操作方法类型 +#////////////////////////////////////////////////////////////////////// +#增加 +defineDict["Sgit_FTDC_EvM_ADD"] = '1' +#修改 +defineDict["Sgit_FTDC_EvM_UPDATE"] = '2' +#删除 +defineDict["Sgit_FTDC_EvM_DELETE"] = '3' +#复核 +defineDict["Sgit_FTDC_EvM_CHECK"] = '4' +#复制 +defineDict["Sgit_FTDC_EvM_COPY"] = '5' +#注销 +defineDict["Sgit_FTDC_EvM_CANCEL"] = '6' +#冲销 +defineDict["Sgit_FTDC_EvM_Reverse"] = '7' + +typedefDict["TSgitFtdcEventModeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUOAAutoSendType是一个统一开户申请自动发送类型 +#////////////////////////////////////////////////////////////////////// +#自动发送并接收 +defineDict["Sgit_FTDC_UOAA_ASR"] = '1' +#自动发送,不自动接收 +defineDict["Sgit_FTDC_UOAA_ASNR"] = '2' +#不自动发送,自动接收 +defineDict["Sgit_FTDC_UOAA_NSAR"] = '3' +#不自动发送,也不自动接收 +defineDict["Sgit_FTDC_UOAA_NSR"] = '4' + +typedefDict["TSgitFtdcUOAAutoSendType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcQueryDepthType是一个查询深度类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcQueryDepthType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDataCenterIDType是一个数据中心代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcDataCenterIDType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFlowIDType是一个流程ID类型 +#////////////////////////////////////////////////////////////////////// +#投资者对应投资者组设置 +defineDict["Sgit_FTDC_EvM_InvestorGroupFlow"] = '1' +#投资者手续费率设置 +defineDict["Sgit_FTDC_EvM_InvestorRate"] = '2' +#投资者手续费率模板关系设置 +defineDict["Sgit_FTDC_EvM_InvestorCommRateModel"] = '3' + +typedefDict["TSgitFtdcFlowIDType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCheckLevelType是一个复核级别类型 +#////////////////////////////////////////////////////////////////////// +#零级复核 +defineDict["Sgit_FTDC_CL_Zero"] = '0' +#一级复核 +defineDict["Sgit_FTDC_CL_One"] = '1' +#二级复核 +defineDict["Sgit_FTDC_CL_Two"] = '2' + +typedefDict["TSgitFtdcCheckLevelType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCheckNoType是一个操作次数类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCheckNoType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCheckStatusType是一个复核级别类型 +#////////////////////////////////////////////////////////////////////// +#未复核 +defineDict["Sgit_FTDC_CHS_Init"] = '0' +#复核中 +defineDict["Sgit_FTDC_CHS_Checking"] = '1' +#已复核 +defineDict["Sgit_FTDC_CHS_Checked"] = '2' +#拒绝 +defineDict["Sgit_FTDC_CHS_Refuse"] = '3' +#作废 +defineDict["Sgit_FTDC_CHS_Cancel"] = '4' + +typedefDict["TSgitFtdcCheckStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUsedStatusType是一个生效状态类型 +#////////////////////////////////////////////////////////////////////// +#未生效 +defineDict["Sgit_FTDC_CHU_Unused"] = '0' +#已生效 +defineDict["Sgit_FTDC_CHU_Used"] = '1' +#生效失败 +defineDict["Sgit_FTDC_CHU_Fail"] = '2' + +typedefDict["TSgitFtdcUsedStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRateTemplateNameType是一个模型名称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcRateTemplateNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPropertyStringType是一个用于查询的投资属性字段类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcPropertyStringType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankAcountOriginType是一个账户来源类型 +#////////////////////////////////////////////////////////////////////// +#手工录入 +defineDict["Sgit_FTDC_BAO_ByAccProperty"] = '0' +#银期转账 +defineDict["Sgit_FTDC_BAO_ByFBTransfer"] = '1' + +typedefDict["TSgitFtdcBankAcountOriginType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcMonthBillTradeSumType是一个结算单月报成交汇总方式类型 +#////////////////////////////////////////////////////////////////////// +#同日同合约 +defineDict["Sgit_FTDC_MBTS_ByInstrument"] = '0' +#同日同合约同价格 +defineDict["Sgit_FTDC_MBTS_ByDayInsPrc"] = '1' +#同合约 +defineDict["Sgit_FTDC_MBTS_ByDayIns"] = '2' + +typedefDict["TSgitFtdcMonthBillTradeSumType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBTTradeCodeEnumType是一个银期交易代码枚举类型 +#////////////////////////////////////////////////////////////////////// +#银行发起银行转期货 +defineDict["Sgit_FTDC_FTC_BankLaunchBankToBroker"] = '102001' +#期货发起银行转期货 +defineDict["Sgit_FTDC_FTC_BrokerLaunchBankToBroker"] = '202001' +#银行发起期货转银行 +defineDict["Sgit_FTDC_FTC_BankLaunchBrokerToBank"] = '102002' +#期货发起期货转银行 +defineDict["Sgit_FTDC_FTC_BrokerLaunchBrokerToBank"] = '202002' + +typedefDict["TSgitFtdcFBTTradeCodeEnumType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRateTemplateIDType是一个模型代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcRateTemplateIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRiskRateType是一个风险度类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcRiskRateType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTimestampType是一个时间戳类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcTimestampType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInvestorIDRuleNameType是一个号段规则名称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcInvestorIDRuleNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInvestorIDRuleExprType是一个号段规则表达式类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcInvestorIDRuleExprType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcLastDriftType是一个上次OTP漂移值类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcLastDriftType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcLastSuccessType是一个上次OTP成功值类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcLastSuccessType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAuthKeyType是一个令牌密钥类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcAuthKeyType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSerialNumberType是一个序列号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcSerialNumberType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOTPTypeType是一个动态令牌类型类型 +#////////////////////////////////////////////////////////////////////// +#无动态令牌 +defineDict["Sgit_FTDC_OTP_NONE"] = '0' +#时间令牌 +defineDict["Sgit_FTDC_OTP_TOTP"] = '1' + +typedefDict["TSgitFtdcOTPTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOTPVendorsIDType是一个动态令牌提供商类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcOTPVendorsIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOTPVendorsNameType是一个动态令牌提供商名称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcOTPVendorsNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOTPStatusType是一个动态令牌状态类型 +#////////////////////////////////////////////////////////////////////// +#未使用 +defineDict["Sgit_FTDC_OTPS_Unused"] = '0' +#已使用 +defineDict["Sgit_FTDC_OTPS_Used"] = '1' +#注销 +defineDict["Sgit_FTDC_OTPS_Disuse"] = '2' + +typedefDict["TSgitFtdcOTPStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBrokerUserTypeType是一个经济公司用户类型类型 +#////////////////////////////////////////////////////////////////////// +#投资者 +defineDict["Sgit_FTDC_BUT_Investor"] = '1' +#操作员 +defineDict["Sgit_FTDC_BUT_BrokerUser"] = '2' + +typedefDict["TSgitFtdcBrokerUserTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFutureTypeType是一个期货类型类型 +#////////////////////////////////////////////////////////////////////// +#商品期货 +defineDict["Sgit_FTDC_FUTT_Commodity"] = '1' +#金融期货 +defineDict["Sgit_FTDC_FUTT_Financial"] = '2' + +typedefDict["TSgitFtdcFutureTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFundEventTypeType是一个资金管理操作类型类型 +#////////////////////////////////////////////////////////////////////// +#转账限额 +defineDict["Sgit_FTDC_FET_Restriction"] = '0' +#当日转账限额 +defineDict["Sgit_FTDC_FET_TodayRestriction"] = '1' +#期商流水 +defineDict["Sgit_FTDC_FET_Transfer"] = '2' +#资金冻结 +defineDict["Sgit_FTDC_FET_Credit"] = '3' +#投资者可提资金比例 +defineDict["Sgit_FTDC_FET_InvestorWithdrawAlm"] = '4' +#单个银行帐户转账限额 +defineDict["Sgit_FTDC_FET_BankRestriction"] = '5' +#银期签约账户 +defineDict["Sgit_FTDC_FET_Accountregister"] = '6' +#交易所出入金 +defineDict["Sgit_FTDC_FET_ExchangeFundIO"] = '7' +#投资者出入金 +defineDict["Sgit_FTDC_FET_InvestorFundIO"] = '8' + +typedefDict["TSgitFtdcFundEventTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAccountSourceTypeType是一个资金账户来源类型 +#////////////////////////////////////////////////////////////////////// +#银期同步 +defineDict["Sgit_FTDC_AST_FBTransfer"] = '0' +#手工录入 +defineDict["Sgit_FTDC_AST_ManualEntry"] = '1' + +typedefDict["TSgitFtdcAccountSourceTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCodeSourceTypeType是一个交易编码来源类型 +#////////////////////////////////////////////////////////////////////// +#统一开户(已规范) +defineDict["Sgit_FTDC_CST_UnifyAccount"] = '0' +#手工录入(未规范) +defineDict["Sgit_FTDC_CST_ManualEntry"] = '1' + +typedefDict["TSgitFtdcCodeSourceTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUserRangeType是一个操作员范围类型 +#////////////////////////////////////////////////////////////////////// +#所有 +defineDict["Sgit_FTDC_UR_All"] = '0' +#单一操作员 +defineDict["Sgit_FTDC_UR_Single"] = '1' + +typedefDict["TSgitFtdcUserRangeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTimeSpanType是一个时间跨度类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcTimeSpanType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcImportSequenceIDType是一个动态令牌导入批次编号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcImportSequenceIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcByGroupType是一个交易统计表按客户统计方式类型 +#////////////////////////////////////////////////////////////////////// +#按投资者统计 +defineDict["Sgit_FTDC_BG_Investor"] = '2' +#按类统计 +defineDict["Sgit_FTDC_BG_Group"] = '1' + +typedefDict["TSgitFtdcByGroupType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTradeSumStatModeType是一个交易统计表按范围统计方式类型 +#////////////////////////////////////////////////////////////////////// +#按合约统计 +defineDict["Sgit_FTDC_TSSM_Instrument"] = '1' +#按产品统计 +defineDict["Sgit_FTDC_TSSM_Product"] = '2' +#按交易所统计 +defineDict["Sgit_FTDC_TSSM_Exchange"] = '3' + +typedefDict["TSgitFtdcTradeSumStatModeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcComTypeType是一个组合成交类型类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcComTypeType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUserProductIDType是一个产品标识类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcUserProductIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUserProductNameType是一个产品名称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcUserProductNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUserProductMemoType是一个产品说明类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcUserProductMemoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCCancelFlagType是一个新增或变更标志类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCSRCCancelFlagType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCDateType是一个日期类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCSRCDateType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCInvestorNameType是一个客户名称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCSRCInvestorNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCInvestorIDType是一个客户代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCSRCInvestorIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCIdentifiedCardNoType是一个证件号码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCSRCIdentifiedCardNoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCClientIDType是一个交易编码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCSRCClientIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCBankFlagType是一个银行标识类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCSRCBankFlagType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCBankAccountType是一个银行账户类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCSRCBankAccountType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCOpenNameType是一个开户人类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCSRCOpenNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCMemoType是一个说明类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCSRCMemoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCTimeType是一个时间类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCSRCTimeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCTradeIDType是一个成交流水号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCSRCTradeIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCExchangeInstIDType是一个合约代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCSRCExchangeInstIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCMortgageNameType是一个质押品名称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCSRCMortgageNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCReasonType是一个事由类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCSRCReasonType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcIsSettlementType是一个是否为非结算会员类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcIsSettlementType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCMoneyType是一个资金类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCSRCMoneyType"] = "float" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCommModelNameType是一个手续费率模板名称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCommModelNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCommModelMemoType是一个手续费率模板备注类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCommModelMemoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRateInvestorRangeType是一个投资者范围类型 +#////////////////////////////////////////////////////////////////////// +#所有 +defineDict["Sgit_FTDC_RIR_All"] = '1' +#费率模板 +defineDict["Sgit_FTDC_RIR_Model"] = '2' +#单一投资者 +defineDict["Sgit_FTDC_RIR_Single"] = '3' + +typedefDict["TSgitFtdcRateInvestorRangeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAgentBrokerIDType是一个代理经纪公司代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcAgentBrokerIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDRIdentityIDType是一个交易中心代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcDRIdentityIDType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDRIdentityNameType是一个交易中心名称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcDRIdentityNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDBLinkIDType是一个DBLink标识号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcDBLinkIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSyncDataStatusType是一个主次用系统数据同步状态类型 +#////////////////////////////////////////////////////////////////////// +#未同步 +defineDict["Sgit_FTDC_SDS_Initialize"] = '0' +#同步中 +defineDict["Sgit_FTDC_SDS_Settlementing"] = '1' +#已同步 +defineDict["Sgit_FTDC_SDS_Settlemented"] = '2' + +typedefDict["TSgitFtdcSyncDataStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTradeSourceType是一个成交来源类型 +#////////////////////////////////////////////////////////////////////// +#来自交易所普通回报 +defineDict["Sgit_FTDC_TSRC_NORMAL"] = '0' +#来自查询 +defineDict["Sgit_FTDC_TSRC_QUERY"] = '1' + +typedefDict["TSgitFtdcTradeSourceType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFlexStatModeType是一个产品合约统计方式类型 +#////////////////////////////////////////////////////////////////////// +#产品统计 +defineDict["Sgit_FTDC_FSM_Product"] = '1' +#交易所统计 +defineDict["Sgit_FTDC_FSM_Exchange"] = '2' +#统计所有 +defineDict["Sgit_FTDC_FSM_All"] = '3' + +typedefDict["TSgitFtdcFlexStatModeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcByInvestorRangeType是一个投资者范围统计方式类型 +#////////////////////////////////////////////////////////////////////// +#属性统计 +defineDict["Sgit_FTDC_BIR_Property"] = '1' +#统计所有 +defineDict["Sgit_FTDC_BIR_All"] = '2' + +typedefDict["TSgitFtdcByInvestorRangeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSRiskRateType是一个风险度类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcSRiskRateType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBTBankIDType是一个银行标识类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcFBTBankIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSequenceNo12Type是一个序号类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcSequenceNo12Type"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPropertyInvestorRangeType是一个投资者范围类型 +#////////////////////////////////////////////////////////////////////// +#所有 +defineDict["Sgit_FTDC_PIR_All"] = '1' +#投资者属性 +defineDict["Sgit_FTDC_PIR_Property"] = '2' +#单一投资者 +defineDict["Sgit_FTDC_PIR_Single"] = '3' + +typedefDict["TSgitFtdcPropertyInvestorRangeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFileStatusType是一个文件状态类型 +#////////////////////////////////////////////////////////////////////// +#未生成 +defineDict["Sgit_FTDC_FIS_NoCreate"] = '0' +#已生成 +defineDict["Sgit_FTDC_FIS_Created"] = '1' +#生成失败 +defineDict["Sgit_FTDC_FIS_Failed"] = '2' + +typedefDict["TSgitFtdcFileStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFileGenStyleType是一个文件生成方式类型 +#////////////////////////////////////////////////////////////////////// +#下发 +defineDict["Sgit_FTDC_FGS_FileTransmit"] = '0' +#生成 +defineDict["Sgit_FTDC_FGS_FileGen"] = '1' + +typedefDict["TSgitFtdcFileGenStyleType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSysOperModeType是一个系统日志操作方法类型 +#////////////////////////////////////////////////////////////////////// +#增加 +defineDict["Sgit_FTDC_SoM_Add"] = '1' +#修改 +defineDict["Sgit_FTDC_SoM_Update"] = '2' +#删除 +defineDict["Sgit_FTDC_SoM_Delete"] = '3' +#复制 +defineDict["Sgit_FTDC_SoM_Copy"] = '4' +#激活 +defineDict["Sgit_FTDC_SoM_AcTive"] = '5' +#注销 +defineDict["Sgit_FTDC_SoM_CanCel"] = '6' +#重置 +defineDict["Sgit_FTDC_SoM_ReSet"] = '7' + +typedefDict["TSgitFtdcSysOperModeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSysOperTypeType是一个系统日志操作类型类型 +#////////////////////////////////////////////////////////////////////// +#修改操作员密码 +defineDict["Sgit_FTDC_SoT_UpdatePassword"] = '0' +#操作员组织架构关系 +defineDict["Sgit_FTDC_SoT_UserDepartment"] = '1' +#角色管理 +defineDict["Sgit_FTDC_SoT_RoleManager"] = '2' +#角色功能设置 +defineDict["Sgit_FTDC_SoT_RoleFunction"] = '3' +#基础参数设置 +defineDict["Sgit_FTDC_SoT_BaseParam"] = '4' +#设置操作员 +defineDict["Sgit_FTDC_SoT_SetUserID"] = '5' +#用户角色设置 +defineDict["Sgit_FTDC_SoT_SetUserRole"] = '6' +#用户IP限制 +defineDict["Sgit_FTDC_SoT_UserIpRestriction"] = '7' +#组织架构管理 +defineDict["Sgit_FTDC_SoT_DepartmentManager"] = '8' +#组织架构向查询分类复制 +defineDict["Sgit_FTDC_SoT_DepartmentCopy"] = '9' +#交易编码管理 +defineDict["Sgit_FTDC_SoT_Tradingcode"] = 'A' +#投资者状态维护 +defineDict["Sgit_FTDC_SoT_InvestorStatus"] = 'B' +#投资者权限管理 +defineDict["Sgit_FTDC_SoT_InvestorAuthority"] = 'C' +#属性设置 +defineDict["Sgit_FTDC_SoT_PropertySet"] = 'D' +#重置投资者密码 +defineDict["Sgit_FTDC_SoT_ReSetInvestorPasswd"] = 'E' +#投资者个性信息维护 +defineDict["Sgit_FTDC_SoT_InvestorPersonalityInfo"] = 'F' + +typedefDict["TSgitFtdcSysOperTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCDataQueyTypeType是一个上报数据查询类型类型 +#////////////////////////////////////////////////////////////////////// +#查询当前交易日报送的数据 +defineDict["Sgit_FTDC_CSRCQ_Current"] = '0' +#查询历史报送的代理经纪公司的数据 +defineDict["Sgit_FTDC_CSRCQ_History"] = '1' + +typedefDict["TSgitFtdcCSRCDataQueyTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFreezeStatusType是一个休眠状态类型 +#////////////////////////////////////////////////////////////////////// +#活跃 +defineDict["Sgit_FTDC_FRS_Normal"] = '1' +#休眠 +defineDict["Sgit_FTDC_FRS_Freeze"] = '0' + +typedefDict["TSgitFtdcFreezeStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcStandardStatusType是一个规范状态类型 +#////////////////////////////////////////////////////////////////////// +#已规范 +defineDict["Sgit_FTDC_STST_Standard"] = '0' +#未规范 +defineDict["Sgit_FTDC_STST_NonStandard"] = '1' + +typedefDict["TSgitFtdcStandardStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCFreezeStatusType是一个休眠状态类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCSRCFreezeStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRightParamTypeType是一个配置类型类型 +#////////////////////////////////////////////////////////////////////// +#休眠户 +defineDict["Sgit_FTDC_RPT_Freeze"] = '1' +#激活休眠户 +defineDict["Sgit_FTDC_RPT_FreezeActive"] = '2' + +typedefDict["TSgitFtdcRightParamTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRightTemplateIDType是一个模板代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcRightTemplateIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRightTemplateNameType是一个模板名称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcRightTemplateNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDataStatusType是一个反洗钱审核表数据状态类型 +#////////////////////////////////////////////////////////////////////// +#正常 +defineDict["Sgit_FTDC_AMLDS_Normal"] = '0' +#已删除 +defineDict["Sgit_FTDC_AMLDS_Deleted"] = '1' + +typedefDict["TSgitFtdcDataStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLCheckStatusType是一个审核状态类型 +#////////////////////////////////////////////////////////////////////// +#未复核 +defineDict["Sgit_FTDC_AMLCHS_Init"] = '0' +#复核中 +defineDict["Sgit_FTDC_AMLCHS_Checking"] = '1' +#已复核 +defineDict["Sgit_FTDC_AMLCHS_Checked"] = '2' +#拒绝上报 +defineDict["Sgit_FTDC_AMLCHS_RefuseReport"] = '3' + +typedefDict["TSgitFtdcAMLCheckStatusType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAmlDateTypeType是一个日期类型类型 +#////////////////////////////////////////////////////////////////////// +#检查日期 +defineDict["Sgit_FTDC_AMLDT_DrawDay"] = '0' +#发生日期 +defineDict["Sgit_FTDC_AMLDT_TouchDay"] = '1' + +typedefDict["TSgitFtdcAmlDateTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAmlCheckLevelType是一个审核级别类型 +#////////////////////////////////////////////////////////////////////// +#零级审核 +defineDict["Sgit_FTDC_AMLCL_CheckLevel0"] = '0' +#一级审核 +defineDict["Sgit_FTDC_AMLCL_CheckLevel1"] = '1' +#二级审核 +defineDict["Sgit_FTDC_AMLCL_CheckLevel2"] = '2' +#三级审核 +defineDict["Sgit_FTDC_AMLCL_CheckLevel3"] = '3' + +typedefDict["TSgitFtdcAmlCheckLevelType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAmlCheckFlowType是一个反洗钱数据抽取审核流程类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcAmlCheckFlowType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDataTypeType是一个数据类型类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcDataTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcExportFileTypeType是一个导出文件类型类型 +#////////////////////////////////////////////////////////////////////// +#CSV +defineDict["Sgit_FTDC_EFT_CSV"] = '0' +#Excel +defineDict["Sgit_FTDC_EFT_EXCEL"] = '1' +#DBF +defineDict["Sgit_FTDC_EFT_DBF"] = '2' + +typedefDict["TSgitFtdcExportFileTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSettleManagerTypeType是一个结算配置类型类型 +#////////////////////////////////////////////////////////////////////// +#结算前准备 +defineDict["Sgit_FTDC_SMT_Before"] = '1' +#结算 +defineDict["Sgit_FTDC_SMT_Settlement"] = '2' +#结算后核对 +defineDict["Sgit_FTDC_SMT_After"] = '3' +#结算完成 +defineDict["Sgit_FTDC_SMT_Settlemented"] = '4' + +typedefDict["TSgitFtdcSettleManagerTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSettleManagerIDType是一个结算配置代码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcSettleManagerIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSettleManagerNameType是一个结算配置名称类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcSettleManagerNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSettleManagerLevelType是一个结算配置等级类型 +#////////////////////////////////////////////////////////////////////// +#必要 +defineDict["Sgit_FTDC_SML_Must"] = '1' +#警告 +defineDict["Sgit_FTDC_SML_Alarm"] = '2' +#提示 +defineDict["Sgit_FTDC_SML_Prompt"] = '3' +#不检查 +defineDict["Sgit_FTDC_SML_Ignore"] = '4' + +typedefDict["TSgitFtdcSettleManagerLevelType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSettleManagerGroupType是一个模块分组类型 +#////////////////////////////////////////////////////////////////////// +#交易所核对 +defineDict["Sgit_FTDC_SMG_Exhcange"] = '1' +#内部核对 +defineDict["Sgit_FTDC_SMG_ASP"] = '2' +#上报数据核对 +defineDict["Sgit_FTDC_SMG_CSRC"] = '3' + +typedefDict["TSgitFtdcSettleManagerGroupType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCheckResultMemoType是一个核对结果说明类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcCheckResultMemoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFunctionUrlType是一个功能链接类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcFunctionUrlType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAuthInfoType是一个客户端认证信息类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcAuthInfoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAuthCodeType是一个客户端认证码类型 +#////////////////////////////////////////////////////////////////////// +typedefDict["TSgitFtdcAuthCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcLimitUseTypeType是一个保值额度使用类型类型 +#////////////////////////////////////////////////////////////////////// +#可重复使用 +defineDict["Sgit_FTDC_LUT_Repeatable"] = '1' +#不可重复使用 +defineDict["Sgit_FTDC_LUT_Unrepeatable"] = '2' + +typedefDict["TSgitFtdcLimitUseTypeType"] = "char" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDataResourceType是一个数据来源类型 +#////////////////////////////////////////////////////////////////////// +#本系统 +defineDict["Sgit_FTDC_DAR_Settle"] = '1' +#交易所 +defineDict["Sgit_FTDC_DAR_Exchange"] = '2' +#报送数据 +defineDict["Sgit_FTDC_DAR_CSRC"] = '3' + +typedefDict["TSgitFtdcDataResourceType"] = "char" + diff --git a/vn.trader/sgitGateway/sgitGateway_4.1/sgitGateway.py b/vn.trader/sgitGateway/sgitGateway_4.1/sgitGateway.py new file mode 100644 index 00000000..8747f4bd --- /dev/null +++ b/vn.trader/sgitGateway/sgitGateway_4.1/sgitGateway.py @@ -0,0 +1,936 @@ +# encoding: UTF-8 + +''' +vn.sgit的gateway接入 + +飞鼠接口的委托数据更新是分散在多个推送里的: +1. 下单后,通过onRtnOrder通知是否成功,没有ErrorID说明委托到了交易所 +2. 后续的成交状态,通过onRtnTrade通知,用户自行累加 +3. 撤单的确认,通过onRspOrderAction通知 + +为了获取实时的委托状态,需要用户自行把这三个数据合并起来, +因此在TdApi中维护了一个委托数据的缓存字典,对vn.trader系统中推送的是本地委托号, +在Gateway中和委托系统号对应起来 + +飞鼠的撤单需要使用:交易所代码+交易所的系统委托号,撤单时从缓存中 +获取委托的系统编号 +''' + + +import os +import json + +from vnsgitmd import MdApi +from vnsgittd import TdApi +from sgitDataType import * +from vtGateway import * + +# 以下为一些VT类型和SGIT类型的映射字典 +# 价格类型映射 +priceTypeMap = {} +priceTypeMap[PRICETYPE_LIMITPRICE] = defineDict["Sgit_FTDC_OPT_LimitPrice"] +priceTypeMap[PRICETYPE_MARKETPRICE] = defineDict["Sgit_FTDC_OPT_AnyPrice"] +priceTypeMapReverse = {v: k for k, v in priceTypeMap.items()} + +# 方向类型映射 +directionMap = {} +directionMap[DIRECTION_LONG] = defineDict['Sgit_FTDC_D_Buy'] +directionMap[DIRECTION_SHORT] = defineDict['Sgit_FTDC_D_Sell'] +directionMapReverse = {v: k for k, v in directionMap.items()} + +# 开平类型映射 +offsetMap = {} +offsetMap[OFFSET_OPEN] = defineDict['Sgit_FTDC_OF_Open'] +offsetMap[OFFSET_CLOSE] = defineDict['Sgit_FTDC_OF_Close'] +offsetMap[OFFSET_CLOSETODAY] = defineDict['Sgit_FTDC_OF_CloseToday'] +offsetMap[OFFSET_CLOSEYESTERDAY] = defineDict['Sgit_FTDC_OF_CloseYesterday'] +offsetMapReverse = {v:k for k,v in offsetMap.items()} + +# 交易所类型映射 +exchangeMap = {} +exchangeMap[EXCHANGE_CFFEX] = defineDict['Sgit_FTDC_EIDT_CFFEX'] +exchangeMap[EXCHANGE_SHFE] = defineDict['Sgit_FTDC_EIDT_SHFE'] +exchangeMap[EXCHANGE_CZCE] = defineDict['Sgit_FTDC_EIDT_CZCE'] +exchangeMap[EXCHANGE_DCE] = defineDict['Sgit_FTDC_EIDT_DCE'] +exchangeMap[EXCHANGE_SGE] = defineDict['Sgit_FTDC_EIDT_GOLD'] +exchangeMap[EXCHANGE_UNKNOWN] = '' +exchangeMapReverse = {v:k for k,v in exchangeMap.items()} + +# 持仓类型映射 +posiDirectionMap = {} +posiDirectionMap[DIRECTION_NET] = defineDict["Sgit_FTDC_PD_Net"] +posiDirectionMap[DIRECTION_LONG] = defineDict["Sgit_FTDC_PD_Long"] +posiDirectionMap[DIRECTION_SHORT] = defineDict["Sgit_FTDC_PD_Short"] +posiDirectionMapReverse = {v:k for k,v in posiDirectionMap.items()} + +# 委托状态类型映射 +orderStatusMap = {} +orderStatusMap[STATUS_ALLTRADED] = defineDict["Sgit_FTDC_OST_AllTraded"] +orderStatusMap[STATUS_PARTTRADED] = defineDict["Sgit_FTDC_OST_PartTradedQueueing"] +orderStatusMap[STATUS_NOTTRADED] = defineDict["Sgit_FTDC_OST_NoTradeQueueing"] +orderStatusMap[STATUS_CANCELLED] = defineDict["Sgit_FTDC_OST_Canceled"] +orderStatusMapReverse = {v:k for k,v in orderStatusMap.items()} + + +######################################################################## +class SgitGateway(VtGateway): + """SGIT接口""" + + #---------------------------------------------------------------------- + def __init__(self, eventEngine, gatewayName='SGIT'): + """Constructor""" + super(SgitGateway, self).__init__(eventEngine, gatewayName) + + self.mdApi = SgitMdApi(self) # 行情API + self.tdApi = SgitTdApi(self) # 交易API + + self.mdConnected = False # 行情API连接状态,登录完成后为True + self.tdConnected = False # 交易API连接状态 + + self.qryEnabled = False # 是否要启动循环查询 + + #---------------------------------------------------------------------- + def connect(self): + """连接""" + # 载入json文件 + fileName = self.gatewayName + '_connect.json' + path = os.path.abspath(os.path.dirname(__file__)) + fileName = os.path.join(path, fileName) + + try: + f = file(fileName) + except IOError: + log = VtLogData() + log.gatewayName = self.gatewayName + log.logContent = u'读取连接配置出错,请检查' + self.onLog(log) + return + + # 解析json文件 + setting = json.load(f) + try: + userID = str(setting['userID']) + password = str(setting['password']) + brokerID = str(setting['brokerID']) + tdAddress = str(setting['tdAddress']) + mdAddress = str(setting['mdAddress']) + except KeyError: + log = VtLogData() + log.gatewayName = self.gatewayName + log.logContent = u'连接配置缺少字段,请检查' + self.onLog(log) + return + + # 创建行情和交易接口对象 + self.mdApi.connect(userID, password, brokerID, mdAddress) + self.tdApi.connect(userID, password, brokerID, tdAddress) + + # 初始化并启动查询 + self.initQuery() + + #---------------------------------------------------------------------- + def subscribe(self, subscribeReq): + """订阅行情""" + self.mdApi.subscribe(subscribeReq) + + #---------------------------------------------------------------------- + def sendOrder(self, orderReq): + """发单""" + return self.tdApi.sendOrder(orderReq) + + #---------------------------------------------------------------------- + def cancelOrder(self, cancelOrderReq): + """撤单""" + self.tdApi.cancelOrder(cancelOrderReq) + + #---------------------------------------------------------------------- + def qryAccount(self): + """查询账户资金""" + self.tdApi.qryAccount() + + #---------------------------------------------------------------------- + def qryPosition(self): + """查询持仓""" + self.tdApi.qryPosition() + + #---------------------------------------------------------------------- + def close(self): + """关闭""" + if self.mdConnected: + self.mdApi.close() + if self.tdConnected: + self.tdApi.close() + + #---------------------------------------------------------------------- + def initQuery(self): + """初始化连续查询""" + if self.qryEnabled: + # 需要循环的查询函数列表 + # 飞鼠柜台的资金是主动推送的,因此无需查询 + self.qryFunctionList = [self.qryPosition] + + self.qryCount = 0 # 查询触发倒计时 + self.qryTrigger = 2 # 查询触发点 + self.qryNextFunction = 0 # 上次运行的查询函数索引 + + self.startQuery() + + #---------------------------------------------------------------------- + def query(self, event): + """注册到事件处理引擎上的查询函数""" + self.qryCount += 1 + + if self.qryCount > self.qryTrigger: + # 清空倒计时 + self.qryCount = 0 + + # 执行查询函数 + function = self.qryFunctionList[self.qryNextFunction] + function() + + # 计算下次查询函数的索引,如果超过了列表长度,则重新设为0 + self.qryNextFunction += 1 + if self.qryNextFunction == len(self.qryFunctionList): + self.qryNextFunction = 0 + + #---------------------------------------------------------------------- + def startQuery(self): + """启动连续查询""" + self.eventEngine.register(EVENT_TIMER, self.query) + + #---------------------------------------------------------------------- + def setQryEnabled(self, qryEnabled): + """设置是否要启动循环查询""" + self.qryEnabled = qryEnabled + + + +######################################################################## +class SgitMdApi(MdApi): + """SGIT行情API实现""" + + #---------------------------------------------------------------------- + def __init__(self, gateway): + """Constructor""" + super(SgitMdApi, self).__init__() + + self.gateway = gateway # gateway对象 + self.gatewayName = gateway.gatewayName # gateway对象名称 + + self.reqID = EMPTY_INT # 操作请求编号 + + self.connectionStatus = False # 连接状态 + self.loginStatus = False # 登录状态 + + self.subscribedSymbols = set() # 已订阅合约代码 + + self.userID = EMPTY_STRING # 账号 + self.password = EMPTY_STRING # 密码 + self.brokerID = EMPTY_STRING # 经纪商代码 + self.address = EMPTY_STRING # 服务器地址 + + #---------------------------------------------------------------------- + def connect(self, userID, password, brokerID, address): + """初始化连接""" + self.userID = userID # 账号 + self.password = password # 密码 + self.brokerID = brokerID # 经纪商代码 + self.address = address # 服务器地址 + + # 如果尚未建立服务器连接,则进行连接 + if not self.connectionStatus: + # 创建C++环境中的API对象,这里传入的参数是需要用来保存.con文件的文件夹路径 + path = os.getcwd() + '/temp/' + self.gatewayName + '/' + if not os.path.exists(path): + os.makedirs(path) + self.createFtdcMdApi(path) + + # 订阅数据流 + self.subscribeMarketTopic(0) + + # 注册服务器地址 + self.registerFront(self.address) + + # 初始化连接,成功会调用onFrontConnected + self.init(False) + + # 若已经连接但尚未登录,则进行登录 + else: + if not self.loginStatus: + self.login() + + #---------------------------------------------------------------------- + def subscribe(self, subscribeReq): + """订阅合约""" + # 这里的设计是,如果尚未登录就调用了订阅方法 + # 则先保存订阅请求,登录完成后会自动订阅 + if self.loginStatus: + self.subQuot({'ContractID': str(subscribeReq.symbol)}) + self.subscribedSymbols.add(subscribeReq) + + #---------------------------------------------------------------------- + def login(self): + """登录""" + # 如果填入了用户名密码等,则登录 + if self.userID and self.password and self.brokerID: + req = {} + req['UserID'] = self.userID + req['Password'] = self.password + req['BrokerID'] = self.brokerID + self.reqID += 1 + self.reqUserLogin(req, self.reqID) + + #---------------------------------------------------------------------- + def close(self): + """关闭""" + self.exit() + + #---------------------------------------------------------------------- + def onFrontConnected(self): + """服务器连接""" + self.connectionStatus = True + + log = VtLogData() + log.gatewayName = self.gatewayName + log.logContent = u'行情服务器连接成功' + self.gateway.onLog(log) + self.login() + + #---------------------------------------------------------------------- + def onFrontDisconnected(self, msg): + """服务器断开""" + self.connectionStatus = False + self.loginStatus = False + self.gateway.mdConnected = False + + log = VtLogData() + log.gatewayName = self.gatewayName + log.logContent = u'行情服务器连接断开' + self.gateway.onLog(log) + + #---------------------------------------------------------------------- + def onRspUserLogin(self, data, error, i, last): + """登陆回报""" + # 如果登录成功,推送日志信息 + if error['ErrorID'] == 0: + self.loginStatus = True + self.gateway.mdConnected = True + + log = VtLogData() + log.gatewayName = self.gatewayName + log.logContent = u'行情服务器登录完成' + self.gateway.onLog(log) + + # 调用ready + self.ready() + + # 重新订阅之前订阅的合约 + for subscribeReq in self.subscribedSymbols: + self.subscribe(subscribeReq) + + # 否则,推送错误信息 + else: + err = VtErrorData() + err.gatewayName = self.gatewayName + err.errorID = error['ErrorID'] + err.errorMsg = error['ErrorMsg'].decode('gbk') + self.gateway.onError(err) + + #---------------------------------------------------------------------- + def onRspUserLogout(self, data, error, i, last): + """登出回报""" + # 如果登出成功,推送日志信息 + if error['ErrorID'] == 0: + self.loginStatus = False + self.gateway.tdConnected = False + + log = VtLogData() + log.gatewayName = self.gatewayName + log.logContent = u'交易服务器登出完成' + self.gateway.onLog(log) + + # 否则,推送错误信息 + else: + err = VtErrorData() + err.gatewayName = self.gatewayName + err.errorID = error['ErrorID'] + err.errorMsg = error['ErrorMsg'].decode('gbk') + self.gateway.onError(err) + + #---------------------------------------------------------------------- + def onRtnDepthMarketData(self, data): + """行情推送""" + tick = VtTickData() + tick.gatewayName = self.gatewayName + + tick.symbol = data['InstrumentID'] + tick.exchange = exchangeMapReverse.get(data['ExchangeID'], u'未知') + tick.vtSymbol = tick.symbol #'.'.join([tick.symbol, EXCHANGE_UNKNOWN]) + + tick.lastPrice = data['LastPrice'] + tick.volume = data['Volume'] + tick.openInterest = data['OpenInterest'] + tick.time = '.'.join([data['UpdateTime'], str(data['UpdateMillisec']/100)]) + tick.date = data['TradingDay'] + + tick.openPrice = data['OpenPrice'] + tick.highPrice = data['HighestPrice'] + tick.lowPrice = data['LowestPrice'] + tick.preClosePrice = data['PreClosePrice'] + + tick.upperLimit = data['UpperLimitPrice'] + tick.lowerLimit = data['LowerLimitPrice'] + + # SGIT只有一档行情 + tick.bidPrice1 = data['BidPrice1'] + tick.bidVolume1 = data['BidVolume1'] + tick.askPrice1 = data['AskPrice1'] + tick.askVolume1 = data['AskVolume1'] + + tick.bidPrice2 = data['BidPrice2'] + tick.bidVolume2 = data['BidVolume2'] + tick.askPrice2 = data['AskPrice2'] + tick.askVolume2 = data['AskVolume2'] + + tick.bidPrice3 = data['BidPrice3'] + tick.bidVolume3 = data['BidVolume3'] + tick.askPrice3 = data['AskPrice3'] + tick.askVolume3 = data['AskVolume3'] + + tick.bidPrice4 = data['BidPrice4'] + tick.bidVolume4 = data['BidVolume4'] + tick.askPrice4 = data['AskPrice4'] + tick.askVolume4 = data['AskVolume4'] + + tick.bidPrice5 = data['BidPrice5'] + tick.bidVolume5 = data['BidVolume5'] + tick.askPrice5 = data['AskPrice5'] + tick.askVolume5 = data['AskVolume5'] + + self.gateway.onTick(tick) + + +######################################################################## +class SgitTdApi(TdApi): + """SGIT交易API实现""" + + #---------------------------------------------------------------------- + def __init__(self, gateway): + """API对象的初始化函数""" + super(SgitTdApi, self).__init__() + + self.gateway = gateway # gateway对象 + self.gatewayName = gateway.gatewayName # gateway对象名称 + + self.reqID = EMPTY_INT # 操作请求编号 + self.orderRef = EMPTY_INT # 订单编号 + + self.connectionStatus = False # 连接状态 + self.loginStatus = False # 登录状态 + + self.userID = EMPTY_STRING # 账号 + self.password = EMPTY_STRING # 密码 + self.brokerID = EMPTY_STRING # 经纪商代码 + self.address = EMPTY_STRING # 服务器地址 + self.investorID = EMPTY_STRING # 投资者代码 + + self.frontID = EMPTY_INT # 前置机编号 + self.sessionID = EMPTY_INT # 会话编号 + + self.localID = 0 # 本地委托代码 + self.orderDict = {} # 缓存委托对象的字典 + self.localSysDict = {} # key为本地委托代码,value为交易所系统代码 + self.cancelReqDict = {} # key为本地委托代码,value为撤单请求 + + #---------------------------------------------------------------------- + def connect(self, userID, password, brokerID, address): + """初始化连接""" + self.userID = userID # 账号 + self.password = password # 密码 + self.brokerID = brokerID # 经纪商代码 + self.address = address # 服务器地址 + + # 如果尚未建立服务器连接,则进行连接 + if not self.connectionStatus: + # 创建C++环境中的API对象,这里传入的参数是需要用来保存.con文件的文件夹路径 + path = os.getcwd() + '/temp/' + self.gatewayName + '/' + if not os.path.exists(path): + os.makedirs(path) + self.createFtdcTraderApi(path) + + # 订阅数据流 + self.subscribePrivateTopic(0) + self.subscribePublicTopic(0) + + # 注册服务器地址 + self.registerFront(self.address) + + # 初始化连接,成功会调用onFrontConnected + self.init(False) + + # 若已经连接但尚未登录,则进行登录 + else: + if not self.loginStatus: + self.login() + + #---------------------------------------------------------------------- + def login(self): + """连接服务器""" + # 如果填入了用户名密码等,则登录 + if self.userID and self.password and self.brokerID: + req = {} + req['UserID'] = self.userID + req['Password'] = self.password + req['BrokerID'] = self.brokerID + self.reqID += 1 + self.reqUserLogin(req, self.reqID) + + #---------------------------------------------------------------------- + def qryAccount(self): + """查询账户""" + self.reqID += 1 + self.reqQryTradingAccount({}, self.reqID) + + #---------------------------------------------------------------------- + def qryPosition(self): + """查询持仓""" + self.reqID += 1 + req = {} + req['BrokerID'] = self.brokerID + req['InvestorID'] = self.userID + self.reqQryInvestorPosition(req, self.reqID) + + #---------------------------------------------------------------------- + def sendOrder(self, orderReq): + """发单""" + self.reqID += 1 + self.localID += 1 + strID = str(self.localID).rjust(12, '0') + + req = {} + + req['InstrumentID'] = orderReq.symbol + req['LimitPrice'] = orderReq.price + req['VolumeTotalOriginal'] = orderReq.volume + + # 下面如果由于传入的类型本接口不支持,则会返回空字符串 + try: + req['OrderPriceType'] = priceTypeMap[orderReq.priceType] + req['Direction'] = directionMap[orderReq.direction] + req['CombOffsetFlag'] = offsetMap[orderReq.offset] + except KeyError: + return '' + + req['OrderRef'] = strID + req['InvestorID'] = self.investorID + req['UserID'] = self.userID + req['BrokerID'] = self.brokerID + + req['CombHedgeFlag'] = defineDict['Sgit_FTDC_HF_Speculation'] # 投机单 + req['ContingentCondition'] = defineDict['Sgit_FTDC_CC_Immediately'] # 立即发单 + req['ForceCloseReason'] = defineDict['Sgit_FTDC_FCC_NotForceClose'] # 非强平 + req['IsAutoSuspend'] = 0 # 非自动挂起 + req['TimeCondition'] = defineDict['Sgit_FTDC_TC_GFD'] # 今日有效 + req['VolumeCondition'] = defineDict['Sgit_FTDC_VC_AV'] # 任意成交量 + req['MinVolume'] = 1 # 最小成交量为1 + + self.reqOrderInsert(req, self.reqID) + + # 返回订单号(字符串),便于某些算法进行动态管理 + vtOrderID = '.'.join([self.gatewayName, strID]) + return vtOrderID + + #---------------------------------------------------------------------- + def cancelOrder(self, cancelOrderReq): + """撤单""" + # 如果OrderSysID的数据尚未返回,则把撤单请求缓存下来后直接返回 + # 若已经返回,则获取strID对应的OrderSysID,并撤单 + strID = cancelOrderReq.orderID + + if strID not in self.localSysDict: + self.cancelReqDict[strID] = cancelOrderReq + return + + sysID = self.localSysDict[strID] + + self.reqID += 1 + + req = {} + req['InstrumentID'] = cancelOrderReq.symbol + req['ExchangeID'] = exchangeMap[cancelOrderReq.exchange] + req['OrderSysID'] = sysID + req['ActionFlag'] = defineDict['Sgit_FTDC_AF_Delete'] + req['BrokerID'] = self.brokerID + req['InvestorID'] = self.userID + req['UserID'] = self.userID + + self.reqOrderAction(req, self.reqID) + + #---------------------------------------------------------------------- + def close(self): + """关闭""" + self.exit() + + #---------------------------------------------------------------------- + def onFrontConnected(self): + """服务器连接""" + self.connectionStatus = True + + log = VtLogData() + log.gatewayName = self.gatewayName + log.logContent = u'交易服务器连接成功' + self.gateway.onLog(log) + self.login() + + #---------------------------------------------------------------------- + def onFrontDisconnected(self, msg): + """服务器断开""" + self.connectionStatus = False + self.loginStatus = False + self.gateway.mdConnected = False + + log = VtLogData() + log.gatewayName = self.gatewayName + log.logContent = u'交易服务器连接断开' + self.gateway.onLog(log) + + #---------------------------------------------------------------------- + def onRspUserLogin(self, data, error, n, last): + '''登陆回报''' + # 如果登录成功,推送日志信息 + if error['ErrorID'] == 0: + self.loginStatus = True + self.gateway.mdConnected = True + + log = VtLogData() + log.gatewayName = self.gatewayName + log.logContent = u'交易服务器登录完成' + self.gateway.onLog(log) + + # 调用ready + self.ready() + + # 查询投资者代码 + self.reqID += 1 + self.reqQryInvestor({}, self.reqID) + + # 否则,推送错误信息 + else: + err = VtErrorData() + err.gatewayName = self.gatewayName + err.errorID = error['ErrorID'] + err.errorMsg = error['ErrorMsg'].decode('gbk') + self.gateway.onError(err) + + #---------------------------------------------------------------------- + def onRspUserLogout(self, data, error, n, last): + """登出回报""" + # 如果登出成功,推送日志信息 + if error['ErrorID'] == 0: + self.loginStatus = False + self.gateway.tdConnected = False + + log = VtLogData() + log.gatewayName = self.gatewayName + log.logContent = u'交易服务器登出完成' + self.gateway.onLog(log) + + # 否则,推送错误信息 + else: + err = VtErrorData() + err.gatewayName = self.gatewayName + err.errorID = error['ErrorID'] + err.errorMsg = error['ErrorMsg'].decode('gbk') + self.gateway.onError(err) + + #---------------------------------------------------------------------- + def onRspUserPasswordUpdate(self, data, error, n, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspOrderInsert(self, data, error, n, last): + """发单错误(柜台)""" + if error['ErrorID'] != 0: + err = VtErrorData() + err.gatewayName = self.gatewayName + err.errorID = error['ErrorID'] + err.errorMsg = error['ErrorMsg'].decode('gbk') + self.gateway.onError(err) + + #---------------------------------------------------------------------- + def onRspOrderAction(self, data, error, n, last): + """撤单错误(柜台)""" + # 获取委托对象 + sysID = data['OrderSysID'] + strID = data['OrderRef'] + + if sysID in self.orderDict: + order = self.orderDict[sysID] + else: + self.localSysDict[strID] = sysID + + order = VtOrderData() + self.orderDict[sysID] = order + + order.gatewayName = self.gatewayName + order.orderID = strID + order.vtOrderID = '.'.join([self.gatewayName, order.orderID]) + + # 推送错误信息 + if error['ErrorID'] != 0: + err = VtErrorData() + err.gatewayName = self.gatewayName + err.errorID = error['ErrorID'] + err.errorMsg = error['ErrorMsg'].decode('gbk') + self.gateway.onError(err) + else: + order.status = STATUS_CANCELLED + + self.gateway.onOrder(order) + + #---------------------------------------------------------------------- + def onRspQryOrder(self, data, error, n, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspQryTradingAccount(self, data, error, n, last): + """资金账户查询回报""" + account = VtAccountData() + account.gatewayName = self.gatewayName + + # 账户代码 + account.accountID = data['AccountID'] + account.vtAccountID = '.'.join([self.gatewayName, account.accountID]) + + # 数值相关 + account.preBalance = data['PreBalance'] + account.available = data['Available'] + account.commission = data['Commission'] + account.margin = data['CurrMargin'] + account.closeProfit = data['CloseProfit'] + account.positionProfit = data['PositionProfit'] + + # 这里的balance和快期中的账户不确定是否一样,需要测试 + account.balance = (data['PreBalance'] - data['PreCredit'] - data['PreMortgage'] + + data['Mortgage'] - data['Withdraw'] + data['Deposit'] + + data['CloseProfit'] + data['PositionProfit'] + data['CashIn'] - + data['Commission']) + + # 推送 + self.gateway.onAccount(account) + + #---------------------------------------------------------------------- + def onRspQryInvestor(self, data, error, n, last): + """""" + self.investorID = data['InvestorID'] + + if last: + log = VtLogData() + log.gatewayName = self.gatewayName + log.logContent = u'投资者编码获取完成' + self.gateway.onLog(log) + + # 查询合约 + self.reqID += 1 + self.reqQryInstrument({}, self.reqID) + + #---------------------------------------------------------------------- + def onRspQryInstrument(self, data, error, n, last): + """合约查询回报""" + contract = VtContractData() + contract.gatewayName = self.gatewayName + + contract.symbol = data['InstrumentID'] + contract.exchange = exchangeMapReverse[data['ExchangeID']] + contract.vtSymbol = contract.symbol #'.'.join([contract.symbol, contract.exchange]) + contract.name = data['InstrumentName'].decode('GBK') + + # 合约数值 + contract.size = data['VolumeMultiple'] + contract.priceTick = data['PriceTick'] + + # 合约类型 + if contract.exchange == EXCHANGE_SGE: + if '(' in contract.symbol: + contract.productClass = PRODUCT_DEFER + else: + contract.productClass = PRODUCT_SPOT + else: + contract.productClass = PRODUCT_FUTURES + + # 推送 + self.gateway.onContract(contract) + + if last: + log = VtLogData() + log.gatewayName = self.gatewayName + log.logContent = u'交易合约信息获取完成' + self.gateway.onLog(log) + + #---------------------------------------------------------------------- + def onRtnOrder(self, data, error): + """报单回报""" + # 获取委托对象 + sysID = data['OrderSysID'] + strID = data['OrderRef'] + + newID = int(strID) + if newID > self.localID: + self.localID = newID + + if sysID in self.orderDict: + order = self.orderDict[sysID] + else: + self.localSysDict[strID] = sysID + + order = VtOrderData() + self.orderDict[sysID] = order + + order.gatewayName = self.gatewayName + order.orderID = strID + order.vtOrderID = '.'.join([self.gatewayName, order.orderID]) + + order.symbol = data['InstrumentID'] + order.exchange = exchangeMapReverse[data['ExchangeID']] + order.vtSymbol = order.symbol + order.direction = directionMapReverse.get(data['Direction'], DIRECTION_UNKNOWN) + order.offset = offsetMapReverse.get(data['CombOffsetFlag'], OFFSET_UNKNOWN) + order.totalVolume = data['VolumeTotalOriginal'] + order.price = data['LimitPrice'] + + # 推送错误信息 + if error['ErrorID'] == 0: + # 如果没有错误信息,则认为委托有效未成交 + if not order.status: + order.status = STATUS_NOTTRADED + else: + # 如果有错误信息,委托被自动撤单 + order.status = STATUS_CANCELLED + + err = VtErrorData() + err.gatewayName = self.gatewayName + err.errorID = error['ErrorID'] + err.errorMsg = error['ErrorMsg'].decode('gbk') + self.gateway.onError(err) + + # 推送 + self.gateway.onOrder(order) + + # 检查是否有待撤单请求 + if strID in self.cancelReqDict: + req = self.cancelReqDict.pop(strID) + self.cancelOrder(req) + + #---------------------------------------------------------------------- + def onRtnTrade(self, data): + """成交回报""" + # 更新委托 + sysID = data['OrderSysID'] + strID = data['OrderRef'] + + if sysID in self.orderDict: + order = self.orderDict[sysID] + else: + self.localSysDict[strID] = sysID + + order = VtOrderData() + self.orderDict[sysID] = order + + order.gatewayName = self.gatewayName + order.orderID = strID + order.vtOrderID = '.'.join([self.gatewayName, order.orderID]) + + order.tradedVolume += data['Volume'] + + if order.tradedVolume == order.totalVolume: + order.status = STATUS_ALLTRADED + else: + order.status = STATUS_PARTTRADED + + # 更新成交 + trade = VtTradeData() + trade.gatewayName = self.gatewayName + + trade.symbol = data['InstrumentID'] + trade.exchange = exchangeMapReverse[data['ExchangeID']] + trade.vtSymbol = trade.symbol + + trade.tradeID = data['TradeID'] + trade.vtTradeID = '.'.join([self.gatewayName, trade.tradeID]) + + trade.orderID = order.orderID + trade.vtOrderID = '.'.join([self.gatewayName, trade.orderID]) + + # 方向 + trade.direction = directionMapReverse.get(data['Direction'], '') + + # 开平 + trade.offset = offsetMapReverse.get(data['OffsetFlag'], '') + + # 价格、报单量等数值 + trade.price = data['Price'] + trade.volume = data['Volume'] + trade.tradeTime = data['TradeTime'] + + # 推送 + self.gateway.onTrade(trade) + self.gateway.onOrder(order) + + #---------------------------------------------------------------------- + def onRtnInstrumentStatus(self, data): + """""" + pass + + #---------------------------------------------------------------------- + def onRspQryInvestorPositionDetail(self, data, error, n, last): + """""" + pass + + #---------------------------------------------------------------------- + def onRspQryInvestorPosition(self, data, error, n, last): + """持仓查询回报""" + # 过滤空数据的情况 + if not data['InstrumentID']: + return + + pos = VtPositionData() + pos.gatewayName = self.gatewayName + + # 保存代码 + pos.symbol = data['InstrumentID'] + pos.vtSymbol = pos.symbol # 这里因为data中没有ExchangeID这个字段 + + # 方向和持仓冻结数量 + pos.direction = posiDirectionMapReverse.get(data['PosiDirection'], '') + if pos.direction == DIRECTION_NET or pos.direction == DIRECTION_LONG: + pos.frozen = data['LongFrozen'] + elif pos.direction == DIRECTION_SHORT: + pos.frozen = data['ShortFrozen'] + + # 持仓量 + pos.position = data['TodayPosition'] + pos.ydPosition = data['YdPosition'] + + # 持仓均价 + if pos.position: + pos.price = data['PositionCost'] / pos.position + + # VT系统持仓名 + pos.vtPositionName = '.'.join([pos.vtSymbol, pos.direction]) + + # 推送 + self.gateway.onPosition(pos) + + + + +#---------------------------------------------------------------------- +def print_dict(d): + """""" + l = d.keys() + l.sort() + for k in l: + print k, ':', d[k] + \ No newline at end of file diff --git a/vn.trader/sgitGateway/sgitGateway_4.1/sgitquotapi.dll b/vn.trader/sgitGateway/sgitGateway_4.1/sgitquotapi.dll new file mode 100644 index 0000000000000000000000000000000000000000..3bab121701ea8908ce78ba3f7b656e3660c1edd8 GIT binary patch literal 295011 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 BPr3jA literal 0 HcmV?d00001 diff --git a/vn.trader/sgitGateway/sgitGateway_4.1/sgittradeapi.dll b/vn.trader/sgitGateway/sgitGateway_4.1/sgittradeapi.dll new file mode 100644 index 0000000000000000000000000000000000000000..7c2faad881737d2b2a2563459ad64a71ef9ed870 GIT binary patch literal 208896 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
?8hexYW!r=z;8=VrW8;?# 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 UM#c%VsoiX7p|~pefBVn>0L*Ll&;S4c literal 0 HcmV?d00001 diff --git a/vn.trader/sgitGateway/sgitGateway_4.1/vnsgittd.pyd b/vn.trader/sgitGateway/sgitGateway_4.1/vnsgittd.pyd new file mode 100644 index 0000000000000000000000000000000000000000..594ee5f03167bea0e45d43f835ae0cfd92d5df0e GIT binary patch literal 327680 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

a0xQ7SC12C&+cch4kPAae-3n5ArTzfC4{= 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 z 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 l)Y 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 z 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 BPr3jA diff --git a/vn.trader/sgitGateway/sgittradeapi.dll b/vn.trader/sgitGateway/sgittradeapi.dll index 7c2faad881737d2b2a2563459ad64a71ef9ed870..f4daef8b0030455fcf3676575c3966ba0babd98e 100644 GIT binary patch literal 296960 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%0DcyAe1sfs)Y`1B2> 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ⅇ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 Szd-y8#J@oN3;daWf&T=_NiX~W literal 208896 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