diff --git a/.appveyor.yml b/.appveyor.yml index b5a02e5..20e972c 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -36,11 +36,6 @@ environment: CMD_IN_ENV: 'cmd /E:ON /V:ON /C .\extra\appveyor\compiler.cmd' matrix: - - PYTHON_DIR: "C:\\Python38-x64" - PYTHON: "C:\\Python38-x64\\python" - PYTHON_VERSION: "3.8" - PYTHON_ARCH: "64" - - PYTHON_DIR: "C:\\Python39-x64" PYTHON: "C:\\Python39-x64\\python" PYTHON_VERSION: "3.9" @@ -56,12 +51,22 @@ environment: PYTHON_VERSION: "3.11" PYTHON_ARCH: "64" + - PYTHON_DIR: "C:\\Python312-x64" + PYTHON: "C:\\Python312-x64\\python" + PYTHON_VERSION: "3.12" + PYTHON_ARCH: "64" + + - PYTHON_DIR: "C:\\Python313-x64" + PYTHON: "C:\\Python313-x64\\python" + PYTHON_VERSION: "3.13" + PYTHON_ARCH: "64" + - PYTHON_DIR: "C:\\pypy3" PYTHON: "C:\\pypy3\\pypy" PYTHON_ARCH: "64" PYTHON_PYPY: "pypy3" - PYTHON_VERSION: "3.9" - PYTHON_PYPY_VERSION: "7.3.8" + PYTHON_VERSION: "3.10" + PYTHON_PYPY_VERSION: "7.3.19" matrix: diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index d6f1321..c7858dd 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -19,7 +19,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: [ "3.8", "3.9", "3.10", "3.11", "pypy3.9" ] + python-version: [ "3.9", "3.10", "3.11", "3.12","3.13", "pypy3.10", "pypy3.11" ] steps: - name: checkout repo uses: actions/checkout@v3 diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml index 0ab5748..b0d4c6f 100644 --- a/.github/workflows/deploy.yaml +++ b/.github/workflows/deploy.yaml @@ -16,10 +16,10 @@ jobs: - name: checkout repo uses: actions/checkout@v3 - - name: Set up Python 3.11 + - name: Set up Python 3.12 uses: actions/setup-python@v4 with: - python-version: 3.11 + python-version: 3.12 - name: Install dependencies run: | diff --git a/ctp/header/ThostFtdcMdApi.h b/ctp/header/ThostFtdcMdApi.h index 60571b6..42da36d 100644 --- a/ctp/header/ThostFtdcMdApi.h +++ b/ctp/header/ThostFtdcMdApi.h @@ -153,7 +153,6 @@ class MD_API_EXPORT CThostFtdcMdApi { ///用户登录请求 virtual int ReqUserLogin(CThostFtdcReqUserLoginField *pReqUserLoginField, int nRequestID) = 0; - ///登出请求 virtual int ReqUserLogout(CThostFtdcUserLogoutField *pUserLogout, int nRequestID) = 0; diff --git a/ctp/header/ThostFtdcTraderApi.h b/ctp/header/ThostFtdcTraderApi.h index b406a8d..2ac0ab4 100644 --- a/ctp/header/ThostFtdcTraderApi.h +++ b/ctp/header/ThostFtdcTraderApi.h @@ -449,6 +449,81 @@ class CThostFtdcTraderSpi { ///投资者产品SPBM明细查询响应 virtual void OnRspQryInvestorProdSPBMDetail(CThostFtdcInvestorProdSPBMDetailField *pInvestorProdSPBMDetail, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///投资者商品组SPMM记录查询响应 + virtual void OnRspQryInvestorCommoditySPMMMargin(CThostFtdcInvestorCommoditySPMMMarginField *pInvestorCommoditySPMMMargin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///投资者商品群SPMM记录查询响应 + virtual void OnRspQryInvestorCommodityGroupSPMMMargin(CThostFtdcInvestorCommodityGroupSPMMMarginField *pInvestorCommodityGroupSPMMMargin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///SPMM合约参数查询响应 + virtual void OnRspQrySPMMInstParam(CThostFtdcSPMMInstParamField *pSPMMInstParam, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///SPMM产品参数查询响应 + virtual void OnRspQrySPMMProductParam(CThostFtdcSPMMProductParamField *pSPMMProductParam, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///SPBM附加跨品种抵扣参数查询响应 + virtual void OnRspQrySPBMAddOnInterParameter(CThostFtdcSPBMAddOnInterParameterField *pSPBMAddOnInterParameter, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///RCAMS产品组合信息查询响应 + virtual void OnRspQryRCAMSCombProductInfo(CThostFtdcRCAMSCombProductInfoField *pRCAMSCombProductInfo, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///RCAMS同合约风险对冲参数查询响应 + virtual void OnRspQryRCAMSInstrParameter(CThostFtdcRCAMSInstrParameterField *pRCAMSInstrParameter, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///RCAMS品种内风险对冲参数查询响应 + virtual void OnRspQryRCAMSIntraParameter(CThostFtdcRCAMSIntraParameterField *pRCAMSIntraParameter, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///RCAMS跨品种风险折抵参数查询响应 + virtual void OnRspQryRCAMSInterParameter(CThostFtdcRCAMSInterParameterField *pRCAMSInterParameter, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///RCAMS空头期权风险调整参数查询响应 + virtual void OnRspQryRCAMSShortOptAdjustParam(CThostFtdcRCAMSShortOptAdjustParamField *pRCAMSShortOptAdjustParam, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///RCAMS策略组合持仓查询响应 + virtual void OnRspQryRCAMSInvestorCombPosition(CThostFtdcRCAMSInvestorCombPositionField *pRCAMSInvestorCombPosition, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///投资者品种RCAMS保证金查询响应 + virtual void OnRspQryInvestorProdRCAMSMargin(CThostFtdcInvestorProdRCAMSMarginField *pInvestorProdRCAMSMargin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///RULE合约保证金参数查询响应 + virtual void OnRspQryRULEInstrParameter(CThostFtdcRULEInstrParameterField *pRULEInstrParameter, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///RULE品种内对锁仓折扣参数查询响应 + virtual void OnRspQryRULEIntraParameter(CThostFtdcRULEIntraParameterField *pRULEIntraParameter, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///RULE跨品种抵扣参数查询响应 + virtual void OnRspQryRULEInterParameter(CThostFtdcRULEInterParameterField *pRULEInterParameter, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///投资者产品RULE保证金查询响应 + virtual void OnRspQryInvestorProdRULEMargin(CThostFtdcInvestorProdRULEMarginField *pInvestorProdRULEMargin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///投资者新型组合保证金开关查询响应 + virtual void OnRspQryInvestorPortfSetting(CThostFtdcInvestorPortfSettingField *pInvestorPortfSetting, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///投资者申报费阶梯收取记录查询响应 + virtual void OnRspQryInvestorInfoCommRec(CThostFtdcInvestorInfoCommRecField *pInvestorInfoCommRec, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///组合腿信息查询响应 + virtual void OnRspQryCombLeg(CThostFtdcCombLegField *pCombLeg, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///对冲设置请求响应 + virtual void OnRspOffsetSetting(CThostFtdcInputOffsetSettingField *pInputOffsetSetting, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///对冲设置撤销请求响应 + virtual void OnRspCancelOffsetSetting(CThostFtdcInputOffsetSettingField *pInputOffsetSetting, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///对冲设置通知 + virtual void OnRtnOffsetSetting(CThostFtdcOffsetSettingField *pOffsetSetting) {}; + + ///对冲设置错误回报 + virtual void OnErrRtnOffsetSetting(CThostFtdcInputOffsetSettingField *pInputOffsetSetting, CThostFtdcRspInfoField *pRspInfo) {}; + + ///对冲设置撤销错误回报 + virtual void OnErrRtnCancelOffsetSetting(CThostFtdcCancelOffsetSettingField *pCancelOffsetSetting, CThostFtdcRspInfoField *pRspInfo) {}; + + ///投资者对冲设置查询响应 + virtual void OnRspQryOffsetSetting(CThostFtdcOffsetSettingField *pOffsetSetting, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; }; class TRADER_API_EXPORT CThostFtdcTraderApi { @@ -479,6 +554,12 @@ class TRADER_API_EXPORT CThostFtdcTraderApi { ///@remark 只有登录成功后,才能得到正确的交易日 virtual const char *GetTradingDay() = 0; + ///获取已连接的前置的信息 + /// @param pFrontInfo:输入输出参数,用于存储获取到的前置信息,不能为空 + /// @remark 连接成功后,可获取正确的前置地址信息 + /// @remark 登录成功后,可获取正确的前置流控信息 + virtual void GetFrontInfo(CThostFtdcFrontInfoField *pFrontInfo) = 0; + ///注册前置机网络地址 ///@param pszFrontAddress:前置机网络地址。 ///@remark 网络地址的格式为:“protocol://ipaddress:port”,如:”tcp://127.0.0.1:17001”。 @@ -810,6 +891,72 @@ class TRADER_API_EXPORT CThostFtdcTraderApi { ///投资者产品SPBM明细查询 virtual int ReqQryInvestorProdSPBMDetail(CThostFtdcQryInvestorProdSPBMDetailField *pQryInvestorProdSPBMDetail, int nRequestID) = 0; + ///投资者商品组SPMM记录查询 + virtual int ReqQryInvestorCommoditySPMMMargin(CThostFtdcQryInvestorCommoditySPMMMarginField *pQryInvestorCommoditySPMMMargin, int nRequestID) = 0; + + ///投资者商品群SPMM记录查询 + virtual int ReqQryInvestorCommodityGroupSPMMMargin(CThostFtdcQryInvestorCommodityGroupSPMMMarginField *pQryInvestorCommodityGroupSPMMMargin, int nRequestID) = 0; + + ///SPMM合约参数查询 + virtual int ReqQrySPMMInstParam(CThostFtdcQrySPMMInstParamField *pQrySPMMInstParam, int nRequestID) = 0; + + ///SPMM产品参数查询 + virtual int ReqQrySPMMProductParam(CThostFtdcQrySPMMProductParamField *pQrySPMMProductParam, int nRequestID) = 0; + + ///SPBM附加跨品种抵扣参数查询 + virtual int ReqQrySPBMAddOnInterParameter(CThostFtdcQrySPBMAddOnInterParameterField *pQrySPBMAddOnInterParameter, int nRequestID) = 0; + + ///RCAMS产品组合信息查询 + virtual int ReqQryRCAMSCombProductInfo(CThostFtdcQryRCAMSCombProductInfoField *pQryRCAMSCombProductInfo, int nRequestID) = 0; + + ///RCAMS同合约风险对冲参数查询 + virtual int ReqQryRCAMSInstrParameter(CThostFtdcQryRCAMSInstrParameterField *pQryRCAMSInstrParameter, int nRequestID) = 0; + + ///RCAMS品种内风险对冲参数查询 + virtual int ReqQryRCAMSIntraParameter(CThostFtdcQryRCAMSIntraParameterField *pQryRCAMSIntraParameter, int nRequestID) = 0; + + ///RCAMS跨品种风险折抵参数查询 + virtual int ReqQryRCAMSInterParameter(CThostFtdcQryRCAMSInterParameterField *pQryRCAMSInterParameter, int nRequestID) = 0; + + ///RCAMS空头期权风险调整参数查询 + virtual int ReqQryRCAMSShortOptAdjustParam(CThostFtdcQryRCAMSShortOptAdjustParamField *pQryRCAMSShortOptAdjustParam, int nRequestID) = 0; + + ///RCAMS策略组合持仓查询 + virtual int ReqQryRCAMSInvestorCombPosition(CThostFtdcQryRCAMSInvestorCombPositionField *pQryRCAMSInvestorCombPosition, int nRequestID) = 0; + + ///投资者品种RCAMS保证金查询 + virtual int ReqQryInvestorProdRCAMSMargin(CThostFtdcQryInvestorProdRCAMSMarginField *pQryInvestorProdRCAMSMargin, int nRequestID) = 0; + + ///RULE合约保证金参数查询 + virtual int ReqQryRULEInstrParameter(CThostFtdcQryRULEInstrParameterField *pQryRULEInstrParameter, int nRequestID) = 0; + + ///RULE品种内对锁仓折扣参数查询 + virtual int ReqQryRULEIntraParameter(CThostFtdcQryRULEIntraParameterField *pQryRULEIntraParameter, int nRequestID) = 0; + + ///RULE跨品种抵扣参数查询 + virtual int ReqQryRULEInterParameter(CThostFtdcQryRULEInterParameterField *pQryRULEInterParameter, int nRequestID) = 0; + + ///投资者产品RULE保证金查询 + virtual int ReqQryInvestorProdRULEMargin(CThostFtdcQryInvestorProdRULEMarginField *pQryInvestorProdRULEMargin, int nRequestID) = 0; + + ///投资者新型组合保证金开关查询 + virtual int ReqQryInvestorPortfSetting(CThostFtdcQryInvestorPortfSettingField *pQryInvestorPortfSetting, int nRequestID) = 0; + + ///投资者申报费阶梯收取记录查询 + virtual int ReqQryInvestorInfoCommRec(CThostFtdcQryInvestorInfoCommRecField *pQryInvestorInfoCommRec, int nRequestID) = 0; + + ///组合腿信息查询 + virtual int ReqQryCombLeg(CThostFtdcQryCombLegField *pQryCombLeg, int nRequestID) = 0; + + ///对冲设置请求 + virtual int ReqOffsetSetting(CThostFtdcInputOffsetSettingField *pInputOffsetSetting, int nRequestID) = 0; + + ///对冲设置撤销请求 + virtual int ReqCancelOffsetSetting(CThostFtdcInputOffsetSettingField *pInputOffsetSetting, int nRequestID) = 0; + + ///投资者对冲设置查询 + virtual int ReqQryOffsetSetting(CThostFtdcQryOffsetSettingField *pQryOffsetSetting, int nRequestID) = 0; + protected: ~CThostFtdcTraderApi() {}; }; diff --git a/ctp/header/ThostFtdcUserApiDataType.h b/ctp/header/ThostFtdcUserApiDataType.h index 20103ce..f32fa53 100644 --- a/ctp/header/ThostFtdcUserApiDataType.h +++ b/ctp/header/ThostFtdcUserApiDataType.h @@ -428,6 +428,8 @@ typedef char TThostFtdcTraderConnectStatusType; #define THOST_FTDC_FC_SyncOTP 'E' ///删除未知单 #define THOST_FTDC_FC_DeleteOrder 'F' +///退出紧急状态 +#define THOST_FTDC_FC_ExitEmergency 'G' typedef char TThostFtdcFunctionCodeType; @@ -872,8 +874,14 @@ typedef char TThostFtdcOffsetFlagType; #define THOST_FTDC_FCC_Other '6' ///自然人临近交割 #define THOST_FTDC_FCC_PersonDeliv '7' -///风控强平不验证资金 +///本地强平资金不足忽略敞口 #define THOST_FTDC_FCC_Notverifycapital '8' +///本地强平资金不足 +#define THOST_FTDC_FCC_LocalLackDeposit '9' +///本地强平违规持仓忽略敞口 +#define THOST_FTDC_FCC_LocalViolationNocheck 'a' +///本地强平违规持仓 +#define THOST_FTDC_FCC_LocalViolation 'b' typedef char TThostFtdcForceCloseReasonType; @@ -1060,6 +1068,8 @@ typedef char TThostFtdcPriceSourceType; #define THOST_FTDC_IS_AuctionMatch '5' ///收盘 #define THOST_FTDC_IS_Closed '6' +///交易业务处理 +#define THOST_FTDC_IS_TransactionProcessing '7' typedef char TThostFtdcInstrumentStatusType; @@ -1538,6 +1548,14 @@ typedef char TThostFtdcSystemParamIDType; #define THOST_FTDC_TPID_LoginFailMaxNumForIP 'U' ///密码有效期 #define THOST_FTDC_TPID_PasswordPeriod 'V' +///历史密码重复限制次数 +#define THOST_FTDC_TPID_PwdHistoryCmp 'X' +///转账是否验证预留银行账户 +#define THOST_FTDC_TPID_TranferChkProperty 'i' +///非交易时间异常报单校验参数 +#define THOST_FTDC_TPID_TradeChkPhase 'j' +///其他异常报单校验参数(价格和手数) +#define THOST_FTDC_TPID_TradeChkPriceVol 'k' typedef char TThostFtdcTradeParamIDType; @@ -2585,6 +2603,8 @@ typedef char TThostFtdcClearbarchIDType[6]; #define THOST_FTDC_UET_Transfer '8' ///其他 #define THOST_FTDC_UET_Other '9' +///修改资金密码 +#define THOST_FTDC_UET_UpdateTradingAccountPassword 'a' typedef char TThostFtdcUserEventTypeType; @@ -6565,6 +6585,11 @@ typedef char TThostFtdcWeakPasswordSourceType; ///////////////////////////////////////////////////////////////////////// typedef char TThostFtdcRandomStringType[17]; +///////////////////////////////////////////////////////////////////////// +///TFtdcOrderMemoType是一个报单回显字段类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcOrderMemoType[13]; + ///////////////////////////////////////////////////////////////////////// ///TFtdcOptSelfCloseFlagType是一个期权行权的头寸是否自对冲类型 ///////////////////////////////////////////////////////////////////////// @@ -6905,6 +6930,12 @@ typedef int TThostFtdcSpreadIdType; #define THOST_FTDC_EPF_None '0' ///SPBM算法 #define THOST_FTDC_EPF_SPBM '1' +///RULE算法 +#define THOST_FTDC_EPF_RULE '2' +///SPMM算法 +#define THOST_FTDC_EPF_SPMM '3' +///RCAMS算法 +#define THOST_FTDC_EPF_RCAMS '4' typedef char TThostFtdcPortfolioType; @@ -6941,4 +6972,208 @@ typedef char TThostFtdcInvstTradingRightType; ///////////////////////////////////////////////////////////////////////// typedef int TThostFtdcThostFunctionCodeType; +///////////////////////////////////////////////////////////////////////// +///TFtdcSPMMDiscountRatioType是一个SPMM折扣率类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcSPMMDiscountRatioType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSPMMModelDescType是一个SPMM模板描述类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcSPMMModelDescType[129]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSPMMModelIDType是一个SPMM模板ID类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcSPMMModelIDType[33]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSPMMProductIDType是一个SPMM商品群商品组ID类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcSPMMProductIDType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInstMarginCalIDType是一个SPMM合约保证金算法类型 +///////////////////////////////////////////////////////////////////////// +///标准算法收取双边 +#define THOST_FTDC_IMID_BothSide '1' +///单向大边 +#define THOST_FTDC_IMID_MMSA '2' +///新组保SPMM +#define THOST_FTDC_IMID_SPMM '3' + +typedef char TThostFtdcInstMarginCalIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcProductIDType是一个产品ID类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcProductIDType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcHedgeRateType是一个HedgeRate类型类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcHedgeRateType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRCAMSPriorityType是一个优先级类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcRCAMSPriorityType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAdjustValueType是一个空头期权风险调整标准类型类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcAdjustValueType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRCAMSCombinationTypeType是一个RCAMS组合类型类型 +///////////////////////////////////////////////////////////////////////// +///牛市看涨价差组合 +#define THOST_FTDC_ERComb_BUC '0' +///熊市看涨价差组合 +#define THOST_FTDC_ERComb_BEC '1' +///熊市看跌价差组合 +#define THOST_FTDC_ERComb_BEP '2' +///牛市看跌价差组合 +#define THOST_FTDC_ERComb_BUP '3' +///日历价差组合 +#define THOST_FTDC_ERComb_CAS '4' + +typedef char TThostFtdcRCAMSCombinationTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRuleIdType是一个策略id类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcRuleIdType[51]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPortfTypeType是一个新组保算法启用类型类型 +///////////////////////////////////////////////////////////////////////// +///使用初版交易所算法 +#define THOST_FTDC_EET_None '0' +///SPBM算法V1.1.0_附加保证金调整 +#define THOST_FTDC_EET_SPBM_AddOnHedge '1' + +typedef char TThostFtdcPortfTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInstrumentClassType是一个合约类型类型 +///////////////////////////////////////////////////////////////////////// +///一般月份合约 +#define THOST_FTDC_EIC_Usual '1' +///临近交割合约 +#define THOST_FTDC_EIC_Delivery '2' +///非组合合约 +#define THOST_FTDC_EIC_NonComb '3' + +typedef char TThostFtdcInstrumentClassType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCommodityGroupIDType是一个商品群号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcCommodityGroupIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcStdPositionType是一个标准持仓类型类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcStdPositionType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcProdChangeFlagType是一个品种记录改变状态类型 +///////////////////////////////////////////////////////////////////////// +///持仓量和冻结量均无变化 +#define THOST_FTDC_PCF_None '0' +///持仓量无变化,冻结量有变化 +#define THOST_FTDC_PCF_OnlyFrozen '1' +///持仓量有变化 +#define THOST_FTDC_PCF_PositionChange '2' + +typedef char TThostFtdcProdChangeFlagType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPwdRcdSrcType是一个历史密码来源类型 +///////////////////////////////////////////////////////////////////////// +///来源于Sync初始化数据 +#define THOST_FTDC_PRS_Init '0' +///来源于实时上场数据 +#define THOST_FTDC_PRS_Sync '1' +///来源于用户修改 +#define THOST_FTDC_PRS_UserUpd '2' +///来源于超户修改,很可能来自主席同步数据 +#define THOST_FTDC_PRS_SuperUserUpd '3' +///来源于次席同步的修改 +#define THOST_FTDC_PRS_SecUpd '4' + +typedef char TThostFtdcPwdRcdSrcType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAddrSrvModeType是一个地址服务类型类型 +///////////////////////////////////////////////////////////////////////// +///交易地址 +#define THOST_FTDC_ASM_Trade '0' +///行情地址 +#define THOST_FTDC_ASM_MarketData '1' +///其他 +#define THOST_FTDC_ASM_Other '2' + +typedef char TThostFtdcAddrSrvModeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAddrVerType是一个地址版本类型 +///////////////////////////////////////////////////////////////////////// +///IPV4 +#define THOST_FTDC_ADV_V4 '0' +///IPV6 +#define THOST_FTDC_ADV_V6 '1' + +typedef char TThostFtdcAddrVerType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAddrRemarkType是一个地址备注类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAddrRemarkType[161]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAddrNameType是一个地址名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAddrNameType[65]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcIpAddrType是一个服务地址IP类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcIpAddrType[129]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTGSessionQryStatusType是一个TGATE会话查询状态类型 +///////////////////////////////////////////////////////////////////////// +///查询状态空闲 +#define THOST_FTDC_TGQS_QryIdle '1' +///查询状态频繁 +#define THOST_FTDC_TGQS_QryBusy '2' + +typedef char TThostFtdcTGSessionQryStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOffsetTypeType是一个对冲类型类型 +///////////////////////////////////////////////////////////////////////// +///期权对冲 +#define THOST_FTDC_OT_OPT_OFFSET '0' +///期货对冲 +#define THOST_FTDC_OT_FUT_OFFSET '1' +///行权后期货对冲 +#define THOST_FTDC_OT_EXEC_OFFSET '2' +///履约后期货对冲 +#define THOST_FTDC_OT_PERFORM_OFFSET '3' + +typedef char TThostFtdcOffsetTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSiteType是一个站点类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcSiteType[51]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcNetOperatorType是一个网络运营商类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcNetOperatorType[9]; + #endif diff --git a/ctp/header/ThostFtdcUserApiStruct.h b/ctp/header/ThostFtdcUserApiStruct.h index f15919e..0089692 100644 --- a/ctp/header/ThostFtdcUserApiStruct.h +++ b/ctp/header/ThostFtdcUserApiStruct.h @@ -87,6 +87,10 @@ struct CThostFtdcRspUserLoginField { TThostFtdcSysVersionType SysVersion; ///广期所时间 TThostFtdcTimeType GFEXTime; + ///当前登录中心号 + TThostFtdcDRIdentityIDType LoginDRIdentityID; + ///用户所属中心号 + TThostFtdcDRIdentityIDType UserDRIdentityID; }; ///用户登出请求 @@ -515,6 +519,10 @@ struct CThostFtdcTraderField { TThostFtdcBrokerIDType BrokerID; ///撤单时选择席位算法 TThostFtdcOrderCancelAlgType OrderCancelAlg; + ///交易报盘安装数量 + TThostFtdcInstallCountType TradeInstallCount; + ///行情报盘安装数量 + TThostFtdcInstallCountType MDInstallCount; }; ///投资者 @@ -1367,7 +1375,7 @@ struct CThostFtdcInputOrderField { TThostFtdcBusinessUnitType BusinessUnit; ///请求编号 TThostFtdcRequestIDType RequestID; - ///用户强评标志 + ///用户强平标志 TThostFtdcBoolType UserForceClose; ///互换单标志 TThostFtdcBoolType IsSwapOrder; @@ -1389,6 +1397,10 @@ struct CThostFtdcInputOrderField { TThostFtdcInstrumentIDType InstrumentID; ///IP地址 TThostFtdcIPAddressType IPAddress; + ///报单回显字段 + TThostFtdcOrderMemoType OrderMemo; + ///session上请求计数 api自动维护 + TThostFtdcSequenceNo12Type SessionReqSeq; }; ///报单 @@ -1495,7 +1507,7 @@ struct CThostFtdcOrderField { TThostFtdcProductInfoType UserProductInfo; ///状态信息 TThostFtdcErrorMsgType StatusMsg; - ///用户强评标志 + ///用户强平标志 TThostFtdcBoolType UserForceClose; ///操作用户代码 TThostFtdcUserIDType ActiveUserID; @@ -1525,6 +1537,10 @@ struct CThostFtdcOrderField { TThostFtdcExchangeInstIDType ExchangeInstID; ///IP地址 TThostFtdcIPAddressType IPAddress; + ///报单回显字段 + TThostFtdcOrderMemoType OrderMemo; + ///session上请求计数 api自动维护 + TThostFtdcSequenceNo12Type SessionReqSeq; }; ///交易所报单 @@ -1683,6 +1699,10 @@ struct CThostFtdcInputOrderActionField { TThostFtdcInstrumentIDType InstrumentID; ///IP地址 TThostFtdcIPAddressType IPAddress; + ///报单回显字段 + TThostFtdcOrderMemoType OrderMemo; + ///session上请求计数 api自动维护 + TThostFtdcSequenceNo12Type SessionReqSeq; }; ///报单操作 @@ -1749,6 +1769,10 @@ struct CThostFtdcOrderActionField { TThostFtdcInstrumentIDType InstrumentID; ///IP地址 TThostFtdcIPAddressType IPAddress; + ///报单回显字段 + TThostFtdcOrderMemoType OrderMemo; + ///session上请求计数 api自动维护 + TThostFtdcSequenceNo12Type SessionReqSeq; }; ///交易所报单操作 @@ -2025,6 +2049,8 @@ struct CThostFtdcSyncDepositField { TThostFtdcBoolType IsFromSopt; ///资金密码 TThostFtdcPasswordType TradingPassword; + ///是否二级代理商的内转 + TThostFtdcBoolType IsSecAgentTranfer; }; ///货币质押同步 @@ -2669,6 +2695,8 @@ struct CThostFtdcQryDepthMarketDataField { TThostFtdcExchangeIDType ExchangeID; ///合约代码 TThostFtdcInstrumentIDType InstrumentID; + ///产品类型 + TThostFtdcProductClassType ProductClass; }; ///查询经纪公司用户 @@ -3723,6 +3751,12 @@ struct CThostFtdcInputQuoteField { TThostFtdcIPAddressType IPAddress; ///被顶单编号 TThostFtdcOrderSysIDType ReplaceSysID; + ///有效期类型 + TThostFtdcTimeConditionType TimeCondition; + ///报单回显字段 + TThostFtdcOrderMemoType OrderMemo; + ///session上请求计数 api自动维护 + TThostFtdcSequenceNo12Type SessionReqSeq; }; ///输入报价操作 @@ -3763,6 +3797,10 @@ struct CThostFtdcInputQuoteActionField { TThostFtdcInstrumentIDType InstrumentID; ///IP地址 TThostFtdcIPAddressType IPAddress; + ///报单回显字段 + TThostFtdcOrderMemoType OrderMemo; + ///session上请求计数 api自动维护 + TThostFtdcSequenceNo12Type SessionReqSeq; }; ///报价 @@ -3875,6 +3913,12 @@ struct CThostFtdcQuoteField { TThostFtdcIPAddressType IPAddress; ///被顶单编号 TThostFtdcOrderSysIDType ReplaceSysID; + ///有效期类型 + TThostFtdcTimeConditionType TimeCondition; + ///报单回显字段 + TThostFtdcOrderMemoType OrderMemo; + ///session上请求计数 api自动维护 + TThostFtdcSequenceNo12Type SessionReqSeq; }; ///报价操作 @@ -3937,6 +3981,10 @@ struct CThostFtdcQuoteActionField { TThostFtdcInstrumentIDType InstrumentID; ///IP地址 TThostFtdcIPAddressType IPAddress; + ///报单回显字段 + TThostFtdcOrderMemoType OrderMemo; + ///session上请求计数 api自动维护 + TThostFtdcSequenceNo12Type SessionReqSeq; }; ///报价查询 @@ -4035,6 +4083,8 @@ struct CThostFtdcExchangeQuoteField { TThostFtdcExchangeInstIDType ExchangeInstID; ///IP地址 TThostFtdcIPAddressType IPAddress; + ///有效期类型 + TThostFtdcTimeConditionType TimeCondition; }; ///交易所报价查询 @@ -5863,6 +5913,10 @@ struct CThostFtdcBrokerUserEventField { TThostFtdcOldInstrumentIDType reserve1; ///合约代码 TThostFtdcInstrumentIDType InstrumentID; + ///交易中心代码 + TThostFtdcDRIdentityIDType DRIdentityID; + ///交易日 + TThostFtdcDateType TradingDay; }; ///查询签约银行请求 @@ -5981,7 +6035,7 @@ struct CThostFtdcParkedOrderField { TThostFtdcBusinessUnitType BusinessUnit; ///请求编号 TThostFtdcRequestIDType RequestID; - ///用户强评标志 + ///用户强平标志 TThostFtdcBoolType UserForceClose; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; @@ -6291,7 +6345,7 @@ struct CThostFtdcErrOrderField { TThostFtdcBusinessUnitType BusinessUnit; ///请求编号 TThostFtdcRequestIDType RequestID; - ///用户强评标志 + ///用户强平标志 TThostFtdcBoolType UserForceClose; ///错误代码 TThostFtdcErrorIDType ErrorID; @@ -6317,6 +6371,10 @@ struct CThostFtdcErrOrderField { TThostFtdcInstrumentIDType InstrumentID; ///IP地址 TThostFtdcIPAddressType IPAddress; + ///报单回显字段 + TThostFtdcOrderMemoType OrderMemo; + ///session上请求计数 api自动维护 + TThostFtdcSequenceNo12Type SessionReqSeq; }; ///查询错误报单操作 @@ -6423,7 +6481,7 @@ struct CThostFtdcErrorConditionalOrderField { TThostFtdcProductInfoType UserProductInfo; ///状态信息 TThostFtdcErrorMsgType StatusMsg; - ///用户强评标志 + ///用户强平标志 TThostFtdcBoolType UserForceClose; ///操作用户代码 TThostFtdcUserIDType ActiveUserID; @@ -6535,6 +6593,10 @@ struct CThostFtdcErrOrderActionField { TThostFtdcInstrumentIDType InstrumentID; ///IP地址 TThostFtdcIPAddressType IPAddress; + ///报单回显字段 + TThostFtdcOrderMemoType OrderMemo; + ///session上请求计数 api自动维护 + TThostFtdcSequenceNo12Type SessionReqSeq; }; ///查询交易所状态 @@ -9607,6 +9669,8 @@ struct CThostFtdcDepartmentUserField { struct CThostFtdcQueryFreqField { ///查询频率 TThostFtdcQueryFreqType QueryFreq; + ///FTD频率 + TThostFtdcQueryFreqType FTDPkgFreq; }; ///禁止认证IP @@ -9720,7 +9784,7 @@ struct CThostFtdcCombPromotionParamField { }; ///国密用户登录请求 -struct CThostFtdcReqUserLoginSCField { +struct CThostFtdcReqUserLoginSMField { ///交易日 TThostFtdcDateType TradingDay; ///经纪公司代码 @@ -9739,16 +9803,22 @@ struct CThostFtdcReqUserLoginSCField { TThostFtdcMacAddressType MacAddress; ///动态密码 TThostFtdcPasswordType OneTimePassword; - ///终端IP地址 - TThostFtdcIPAddressType ClientIPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve1; ///登录备注 TThostFtdcLoginRemarkType LoginRemark; ///终端IP端口 TThostFtdcIPPortType ClientIPPort; + ///终端IP地址 + TThostFtdcIPAddressType ClientIPAddress; + ///经纪公司名称 + TThostFtdcBrokerNameType BrokerName; ///认证码 TThostFtdcAuthCodeType AuthCode; ///App代码 TThostFtdcAppIDType AppID; + ///PIN码 + TThostFtdcPasswordType PIN; }; ///投资者风险结算持仓查询 @@ -10547,6 +10617,8 @@ struct CThostFtdcSPBMFutureParameterField { TThostFtdcRatioType AddOnRate; ///昨结算价 TThostFtdcPriceType PreSettlementPrice; + ///期货合约内部对锁仓附加费率折扣比例 + TThostFtdcRatioType AddOnLockRateX2; }; ///SPBM期权合约保证金参数 @@ -10581,6 +10653,8 @@ struct CThostFtdcSPBMIntraParameterField { TThostFtdcInstrumentIDType ProdFamilyCode; ///品种内合约间对锁仓费率折扣比例 TThostFtdcRatioType IntraRateY; + ///品种内合约间对锁仓附加费率折扣比例 + TThostFtdcRatioType AddOnIntraRateY2; }; ///SPBM跨品种抵扣参数 @@ -10679,6 +10753,8 @@ struct CThostFtdcInvestorPortfMarginRatioField { TThostFtdcExchangeIDType ExchangeID; ///会员对投资者收取的保证金和交易所对投资者收取的保证金的比例 TThostFtdcRatioType MarginRatio; + ///产品群代码 + TThostFtdcProductIDType ProductGroupID; }; ///组合保证金套餐查询 @@ -10709,6 +10785,8 @@ struct CThostFtdcQryInvestorPortfMarginRatioField { TThostFtdcInvestorIDType InvestorID; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; + ///产品群代码 + TThostFtdcProductIDType ProductGroupID; }; ///投资者产品SPBM明细 @@ -10837,5 +10915,1973 @@ struct CThostFtdcQryThostUserFunctionField { TThostFtdcUserIDType UserID; }; +///SPBM附加跨品种抵扣参数 +struct CThostFtdcSPBMAddOnInterParameterField { + ///交易日 + TThostFtdcDateType TradingDay; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///优先级 + TThostFtdcSpreadIdType SpreadId; + ///品种间对锁仓附加费率折扣比例 + TThostFtdcRatioType AddOnInterRateZ2; + ///第一腿构成品种 + TThostFtdcInstrumentIDType Leg1ProdFamilyCode; + ///第二腿构成品种 + TThostFtdcInstrumentIDType Leg2ProdFamilyCode; +}; + +///SPBM附加跨品种抵扣参数查询 +struct CThostFtdcQrySPBMAddOnInterParameterField { + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///第一腿构成品种 + TThostFtdcInstrumentIDType Leg1ProdFamilyCode; + ///第二腿构成品种 + TThostFtdcInstrumentIDType Leg2ProdFamilyCode; +}; + +///投资者商品组SPMM记录查询 +struct CThostFtdcQryInvestorCommoditySPMMMarginField { + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///商品组代码 + TThostFtdcSPMMProductIDType CommodityID; +}; + +///投资者商品群SPMM记录查询 +struct CThostFtdcQryInvestorCommodityGroupSPMMMarginField { + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///商品群代码 + TThostFtdcSPMMProductIDType CommodityGroupID; +}; + +///SPMM合约参数查询 +struct CThostFtdcQrySPMMInstParamField { + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; +}; + +///SPMM产品参数查询 +struct CThostFtdcQrySPMMProductParamField { + ///产品代码 + TThostFtdcSPMMProductIDType ProductID; +}; + +///投资者商品组SPMM记录 +struct CThostFtdcInvestorCommoditySPMMMarginField { + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///商品组代码 + TThostFtdcSPMMProductIDType CommodityID; + ///优惠仓位应收保证金 + TThostFtdcMoneyType MarginBeforeDiscount; + ///不优惠仓位应收保证金 + TThostFtdcMoneyType MarginNoDiscount; + ///多头实仓风险 + TThostFtdcMoneyType LongPosRisk; + ///多头开仓冻结风险 + TThostFtdcMoneyType LongOpenFrozenRisk; + ///多头被平冻结风险 + TThostFtdcMoneyType LongCloseFrozenRisk; + ///空头实仓风险 + TThostFtdcMoneyType ShortPosRisk; + ///空头开仓冻结风险 + TThostFtdcMoneyType ShortOpenFrozenRisk; + ///空头被平冻结风险 + TThostFtdcMoneyType ShortCloseFrozenRisk; + ///SPMM品种内跨期优惠系数 + TThostFtdcSPMMDiscountRatioType IntraCommodityRate; + ///SPMM期权优惠系数 + TThostFtdcSPMMDiscountRatioType OptionDiscountRate; + ///实仓对冲优惠金额 + TThostFtdcMoneyType PosDiscount; + ///开仓报单对冲优惠金额 + TThostFtdcMoneyType OpenFrozenDiscount; + ///品种风险净头 + TThostFtdcMoneyType NetRisk; + ///平仓冻结保证金 + TThostFtdcMoneyType CloseFrozenMargin; + ///冻结的手续费 + TThostFtdcMoneyType FrozenCommission; + ///手续费 + TThostFtdcMoneyType Commission; + ///冻结的资金 + TThostFtdcMoneyType FrozenCash; + ///资金差额 + TThostFtdcMoneyType CashIn; + ///行权冻结资金 + TThostFtdcMoneyType StrikeFrozenMargin; +}; + +///投资者商品群SPMM记录 +struct CThostFtdcInvestorCommodityGroupSPMMMarginField { + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///商品群代码 + TThostFtdcSPMMProductIDType CommodityGroupID; + ///优惠仓位应收保证金 + TThostFtdcMoneyType MarginBeforeDiscount; + ///不优惠仓位应收保证金 + TThostFtdcMoneyType MarginNoDiscount; + ///多头风险 + TThostFtdcMoneyType LongRisk; + ///空头风险 + TThostFtdcMoneyType ShortRisk; + ///商品群平仓冻结保证金 + TThostFtdcMoneyType CloseFrozenMargin; + ///SPMM跨品种优惠系数 + TThostFtdcSPMMDiscountRatioType InterCommodityRate; + ///商品群最小保证金比例 + TThostFtdcSPMMDiscountRatioType MiniMarginRatio; + ///投资者保证金和交易所保证金的比例 + TThostFtdcRatioType AdjustRatio; + ///SPMM品种内优惠汇总 + TThostFtdcMoneyType IntraCommodityDiscount; + ///SPMM跨品种优惠 + TThostFtdcMoneyType InterCommodityDiscount; + ///交易所保证金 + TThostFtdcMoneyType ExchMargin; + ///投资者保证金 + TThostFtdcMoneyType InvestorMargin; + ///冻结的手续费 + TThostFtdcMoneyType FrozenCommission; + ///手续费 + TThostFtdcMoneyType Commission; + ///冻结的资金 + TThostFtdcMoneyType FrozenCash; + ///资金差额 + TThostFtdcMoneyType CashIn; + ///行权冻结资金 + TThostFtdcMoneyType StrikeFrozenMargin; +}; + +///SPMM合约参数 +struct CThostFtdcSPMMInstParamField { + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///SPMM合约保证金算法 + TThostFtdcInstMarginCalIDType InstMarginCalID; + ///商品组代码 + TThostFtdcSPMMProductIDType CommodityID; + ///商品群代码 + TThostFtdcSPMMProductIDType CommodityGroupID; +}; + +///SPMM产品参数 +struct CThostFtdcSPMMProductParamField { + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///产品代码 + TThostFtdcSPMMProductIDType ProductID; + ///商品组代码 + TThostFtdcSPMMProductIDType CommodityID; + ///商品群代码 + TThostFtdcSPMMProductIDType CommodityGroupID; +}; + +///席位与交易中心对应关系维护查询 +struct CThostFtdcQryTraderAssignField { + ///交易员代码 + TThostFtdcTraderIDType TraderID; +}; + +///席位与交易中心对应关系 +struct CThostFtdcTraderAssignField { + ///应用单元代码 + TThostFtdcBrokerIDType BrokerID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///交易中心代码 + TThostFtdcDRIdentityIDType DRIdentityID; +}; + +///投资者申报费阶梯收取设置 +struct CThostFtdcInvestorInfoCntSettingField { + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///商品代码 + TThostFtdcProductIDType ProductID; + ///是否收取申报费 + TThostFtdcBoolType IsCalInfoComm; + ///是否限制信息量 + TThostFtdcBoolType IsLimitInfoMax; + ///信息量限制笔数 + TThostFtdcVolumeType InfoMaxLimit; +}; + +///RCAMS产品组合信息 +struct CThostFtdcRCAMSCombProductInfoField { + ///交易日 + TThostFtdcDateType TradingDay; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///产品代码 + TThostFtdcProductIDType ProductID; + ///商品组代码 + TThostFtdcProductIDType CombProductID; + ///商品群代码 + TThostFtdcProductIDType ProductGroupID; +}; + +///RCAMS同合约风险对冲参数 +struct CThostFtdcRCAMSInstrParameterField { + ///交易日 + TThostFtdcDateType TradingDay; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///产品代码 + TThostFtdcProductIDType ProductID; + ///同合约风险对冲比率 + TThostFtdcHedgeRateType HedgeRate; +}; + +///RCAMS品种内风险对冲参数 +struct CThostFtdcRCAMSIntraParameterField { + ///交易日 + TThostFtdcDateType TradingDay; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///产品组合代码 + TThostFtdcProductIDType CombProductID; + ///品种内对冲比率 + TThostFtdcHedgeRateType HedgeRate; +}; + +///RCAMS跨品种风险折抵参数 +struct CThostFtdcRCAMSInterParameterField { + ///交易日 + TThostFtdcDateType TradingDay; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///商品群代码 + TThostFtdcProductIDType ProductGroupID; + ///优先级 + TThostFtdcRCAMSPriorityType Priority; + ///折抵率 + TThostFtdcHedgeRateType CreditRate; + ///产品组合代码1 + TThostFtdcProductIDType CombProduct1; + ///产品组合代码2 + TThostFtdcProductIDType CombProduct2; +}; + +///RCAMS空头期权风险调整参数 +struct CThostFtdcRCAMSShortOptAdjustParamField { + ///交易日 + TThostFtdcDateType TradingDay; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///产品组合代码 + TThostFtdcProductIDType CombProductID; + ///投套标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///空头期权风险调整标准 + TThostFtdcAdjustValueType AdjustValue; +}; + +///RCAMS策略组合持仓 +struct CThostFtdcRCAMSInvestorCombPositionField { + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投套标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///持仓多空方向 + TThostFtdcPosiDirectionType PosiDirection; + ///组合合约代码 + TThostFtdcInstrumentIDType CombInstrumentID; + ///单腿编号 + TThostFtdcLegIDType LegID; + ///交易所组合合约代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///持仓量 + TThostFtdcVolumeType TotalAmt; + ///交易所保证金 + TThostFtdcMoneyType ExchMargin; + ///投资者保证金 + TThostFtdcMoneyType Margin; +}; + +///投资者品种RCAMS保证金 +struct CThostFtdcInvestorProdRCAMSMarginField { + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///产品组合代码 + TThostFtdcProductIDType CombProductID; + ///投套标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///商品群代码 + TThostFtdcProductIDType ProductGroupID; + ///品种组合前风险 + TThostFtdcMoneyType RiskBeforeDiscount; + ///同合约对冲风险 + TThostFtdcMoneyType IntraInstrRisk; + ///品种买持仓风险 + TThostFtdcMoneyType BPosRisk; + ///品种卖持仓风险 + TThostFtdcMoneyType SPosRisk; + ///品种内对冲风险 + TThostFtdcMoneyType IntraProdRisk; + ///品种净持仓风险 + TThostFtdcMoneyType NetRisk; + ///品种间对冲风险 + TThostFtdcMoneyType InterProdRisk; + ///空头期权风险调整 + TThostFtdcMoneyType ShortOptRiskAdj; + ///空头期权权利金 + TThostFtdcMoneyType OptionRoyalty; + ///大边组合平仓冻结保证金 + TThostFtdcMoneyType MMSACloseFrozenMargin; + ///策略组合平仓/行权冻结保证金 + TThostFtdcMoneyType CloseCombFrozenMargin; + ///平仓/行权冻结保证金 + TThostFtdcMoneyType CloseFrozenMargin; + ///大边组合开仓冻结保证金 + TThostFtdcMoneyType MMSAOpenFrozenMargin; + ///交割月期货开仓冻结保证金 + TThostFtdcMoneyType DeliveryOpenFrozenMargin; + ///开仓冻结保证金 + TThostFtdcMoneyType OpenFrozenMargin; + ///投资者冻结保证金 + TThostFtdcMoneyType UseFrozenMargin; + ///大边组合交易所持仓保证金 + TThostFtdcMoneyType MMSAExchMargin; + ///交割月期货交易所持仓保证金 + TThostFtdcMoneyType DeliveryExchMargin; + ///策略组合交易所保证金 + TThostFtdcMoneyType CombExchMargin; + ///交易所持仓保证金 + TThostFtdcMoneyType ExchMargin; + ///投资者持仓保证金 + TThostFtdcMoneyType UseMargin; +}; + +///RCAMS产品组合信息查询 +struct CThostFtdcQryRCAMSCombProductInfoField { + ///产品代码 + TThostFtdcProductIDType ProductID; + ///商品组代码 + TThostFtdcProductIDType CombProductID; + ///商品群代码 + TThostFtdcProductIDType ProductGroupID; +}; + +///RCAMS同合约风险对冲参数查询 +struct CThostFtdcQryRCAMSInstrParameterField { + ///产品代码 + TThostFtdcProductIDType ProductID; +}; + +///RCAMS品种内风险对冲参数查询 +struct CThostFtdcQryRCAMSIntraParameterField { + ///产品组合代码 + TThostFtdcProductIDType CombProductID; +}; + +///RCAMS跨品种风险折抵参数查询 +struct CThostFtdcQryRCAMSInterParameterField { + ///商品群代码 + TThostFtdcProductIDType ProductGroupID; + ///产品组合代码1 + TThostFtdcProductIDType CombProduct1; + ///产品组合代码2 + TThostFtdcProductIDType CombProduct2; +}; + +///RCAMS空头期权风险调整参数查询 +struct CThostFtdcQryRCAMSShortOptAdjustParamField { + ///产品组合代码 + TThostFtdcProductIDType CombProductID; +}; + +///RCAMS策略组合持仓查询 +struct CThostFtdcQryRCAMSInvestorCombPositionField { + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///组合合约代码 + TThostFtdcInstrumentIDType CombInstrumentID; +}; + +///投资者品种RCAMS保证金查询 +struct CThostFtdcQryInvestorProdRCAMSMarginField { + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///产品组合代码 + TThostFtdcProductIDType CombProductID; + ///商品群代码 + TThostFtdcProductIDType ProductGroupID; +}; + +///RULE合约保证金参数 +struct CThostFtdcRULEInstrParameterField { + ///交易日 + TThostFtdcDateType TradingDay; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///合约类型 + TThostFtdcInstrumentClassType InstrumentClass; + ///标准合约 + TThostFtdcInstrumentIDType StdInstrumentID; + ///投机买折算系数 + TThostFtdcRatioType BSpecRatio; + ///投机卖折算系数 + TThostFtdcRatioType SSpecRatio; + ///套保买折算系数 + TThostFtdcRatioType BHedgeRatio; + ///套保卖折算系数 + TThostFtdcRatioType SHedgeRatio; + ///买附加风险保证金 + TThostFtdcMoneyType BAddOnMargin; + ///卖附加风险保证金 + TThostFtdcMoneyType SAddOnMargin; + ///商品群号 + TThostFtdcCommodityGroupIDType CommodityGroupID; +}; + +///RULE品种内对锁仓折扣参数 +struct CThostFtdcRULEIntraParameterField { + ///交易日 + TThostFtdcDateType TradingDay; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///品种代码 + TThostFtdcInstrumentIDType ProdFamilyCode; + ///标准合约 + TThostFtdcInstrumentIDType StdInstrumentID; + ///标准合约保证金 + TThostFtdcMoneyType StdInstrMargin; + ///一般月份合约组合保证金系数 + TThostFtdcRatioType UsualIntraRate; + ///临近交割合约组合保证金系数 + TThostFtdcRatioType DeliveryIntraRate; +}; + +///RULE跨品种抵扣参数 +struct CThostFtdcRULEInterParameterField { + ///交易日 + TThostFtdcDateType TradingDay; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///优先级 + TThostFtdcSpreadIdType SpreadId; + ///品种间对锁仓费率折扣比例 + TThostFtdcRatioType InterRate; + ///第一腿构成品种 + TThostFtdcInstrumentIDType Leg1ProdFamilyCode; + ///第二腿构成品种 + TThostFtdcInstrumentIDType Leg2ProdFamilyCode; + ///腿1比例系数 + TThostFtdcCommonIntType Leg1PropFactor; + ///腿2比例系数 + TThostFtdcCommonIntType Leg2PropFactor; + ///商品群号 + TThostFtdcCommodityGroupIDType CommodityGroupID; + ///商品群名称 + TThostFtdcInstrumentNameType CommodityGroupName; +}; + +///RULE合约保证金参数查询 +struct CThostFtdcQryRULEInstrParameterField { + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; +}; + +///RULE品种内对锁仓折扣参数查询 +struct CThostFtdcQryRULEIntraParameterField { + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///品种代码 + TThostFtdcInstrumentIDType ProdFamilyCode; +}; + +///RULE跨品种抵扣参数查询 +struct CThostFtdcQryRULEInterParameterField { + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///第一腿构成品种 + TThostFtdcInstrumentIDType Leg1ProdFamilyCode; + ///第二腿构成品种 + TThostFtdcInstrumentIDType Leg2ProdFamilyCode; + ///商品群号 + TThostFtdcCommodityGroupIDType CommodityGroupID; +}; + +///投资者产品RULE保证金 +struct CThostFtdcInvestorProdRULEMarginField { + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///品种代码 + TThostFtdcInstrumentIDType ProdFamilyCode; + ///合约类型 + TThostFtdcInstrumentClassType InstrumentClass; + ///商品群号 + TThostFtdcCommodityGroupIDType CommodityGroupID; + ///买标准持仓 + TThostFtdcStdPositionType BStdPosition; + ///卖标准持仓 + TThostFtdcStdPositionType SStdPosition; + ///买标准开仓冻结 + TThostFtdcStdPositionType BStdOpenFrozen; + ///卖标准开仓冻结 + TThostFtdcStdPositionType SStdOpenFrozen; + ///买标准平仓冻结 + TThostFtdcStdPositionType BStdCloseFrozen; + ///卖标准平仓冻结 + TThostFtdcStdPositionType SStdCloseFrozen; + ///品种内对冲标准持仓 + TThostFtdcStdPositionType IntraProdStdPosition; + ///品种内单腿标准持仓 + TThostFtdcStdPositionType NetStdPosition; + ///品种间对冲标准持仓 + TThostFtdcStdPositionType InterProdStdPosition; + ///单腿标准持仓 + TThostFtdcStdPositionType SingleStdPosition; + ///品种内对锁保证金 + TThostFtdcMoneyType IntraProdMargin; + ///品种间对锁保证金 + TThostFtdcMoneyType InterProdMargin; + ///跨品种单腿保证金 + TThostFtdcMoneyType SingleMargin; + ///非组合合约保证金 + TThostFtdcMoneyType NonCombMargin; + ///附加保证金 + TThostFtdcMoneyType AddOnMargin; + ///交易所保证金 + TThostFtdcMoneyType ExchMargin; + ///附加冻结保证金 + TThostFtdcMoneyType AddOnFrozenMargin; + ///开仓冻结保证金 + TThostFtdcMoneyType OpenFrozenMargin; + ///平仓冻结保证金 + TThostFtdcMoneyType CloseFrozenMargin; + ///品种保证金 + TThostFtdcMoneyType Margin; + ///冻结保证金 + TThostFtdcMoneyType FrozenMargin; +}; + +///投资者产品RULE保证金查询 +struct CThostFtdcQryInvestorProdRULEMarginField { + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///品种代码 + TThostFtdcInstrumentIDType ProdFamilyCode; + ///商品群号 + TThostFtdcCommodityGroupIDType CommodityGroupID; +}; + +///风险结算追平SPBM组合保证金套餐 +struct CThostFtdcSyncDeltaSPBMPortfDefinitionField { + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///组合保证金套餐代码 + TThostFtdcPortfolioDefIDType PortfolioDefID; + ///品种代码 + TThostFtdcInstrumentIDType ProdFamilyCode; + ///是否启用SPBM + TThostFtdcBoolType IsSPBM; + ///操作标志 + TThostFtdcActionDirectionType ActionDirection; + ///追平序号 + TThostFtdcSequenceNoType SyncDeltaSequenceNo; +}; + +///风险结算追平投资者SPBM套餐选择 +struct CThostFtdcSyncDeltaSPBMInvstPortfDefField { + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///组合保证金套餐代码 + TThostFtdcPortfolioDefIDType PortfolioDefID; + ///操作标志 + TThostFtdcActionDirectionType ActionDirection; + ///追平序号 + TThostFtdcSequenceNoType SyncDeltaSequenceNo; +}; + +///风险结算追平SPBM期货合约保证金参数 +struct CThostFtdcSyncDeltaSPBMFutureParameterField { + ///交易日 + TThostFtdcDateType TradingDay; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///品种代码 + TThostFtdcInstrumentIDType ProdFamilyCode; + ///期货合约因子 + TThostFtdcVolumeMultipleType Cvf; + ///阶段标识 + TThostFtdcTimeRangeType TimeRange; + ///品种保证金标准 + TThostFtdcRatioType MarginRate; + ///期货合约内部对锁仓费率折扣比例 + TThostFtdcRatioType LockRateX; + ///提高保证金标准 + TThostFtdcRatioType AddOnRate; + ///昨结算价 + TThostFtdcPriceType PreSettlementPrice; + ///期货合约内部对锁仓附加费率折扣比例 + TThostFtdcRatioType AddOnLockRateX2; + ///操作标志 + TThostFtdcActionDirectionType ActionDirection; + ///追平序号 + TThostFtdcSequenceNoType SyncDeltaSequenceNo; +}; + +///风险结算追平SPBM期权合约保证金参数 +struct CThostFtdcSyncDeltaSPBMOptionParameterField { + ///交易日 + TThostFtdcDateType TradingDay; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///品种代码 + TThostFtdcInstrumentIDType ProdFamilyCode; + ///期权合约因子 + TThostFtdcVolumeMultipleType Cvf; + ///期权冲抵价格 + TThostFtdcPriceType DownPrice; + ///Delta值 + TThostFtdcDeltaType Delta; + ///卖方期权风险转换最低值 + TThostFtdcDeltaType SlimiDelta; + ///昨结算价 + TThostFtdcPriceType PreSettlementPrice; + ///操作标志 + TThostFtdcActionDirectionType ActionDirection; + ///追平序号 + TThostFtdcSequenceNoType SyncDeltaSequenceNo; +}; + +///风险结算追平SPBM品种内对锁仓折扣参数 +struct CThostFtdcSyncDeltaSPBMIntraParameterField { + ///交易日 + TThostFtdcDateType TradingDay; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///品种代码 + TThostFtdcInstrumentIDType ProdFamilyCode; + ///品种内合约间对锁仓费率折扣比例 + TThostFtdcRatioType IntraRateY; + ///品种内合约间对锁仓附加费率折扣比例 + TThostFtdcRatioType AddOnIntraRateY2; + ///操作标志 + TThostFtdcActionDirectionType ActionDirection; + ///追平序号 + TThostFtdcSequenceNoType SyncDeltaSequenceNo; +}; + +///风险结算追平SPBM跨品种抵扣参数 +struct CThostFtdcSyncDeltaSPBMInterParameterField { + ///交易日 + TThostFtdcDateType TradingDay; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///优先级 + TThostFtdcSpreadIdType SpreadId; + ///品种间对锁仓费率折扣比例 + TThostFtdcRatioType InterRateZ; + ///第一腿构成品种 + TThostFtdcInstrumentIDType Leg1ProdFamilyCode; + ///第二腿构成品种 + TThostFtdcInstrumentIDType Leg2ProdFamilyCode; + ///操作标志 + TThostFtdcActionDirectionType ActionDirection; + ///追平序号 + TThostFtdcSequenceNoType SyncDeltaSequenceNo; +}; + +///风险结算追平SPBM附加跨品种抵扣参数 +struct CThostFtdcSyncDeltaSPBMAddOnInterParamField { + ///交易日 + TThostFtdcDateType TradingDay; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///优先级 + TThostFtdcSpreadIdType SpreadId; + ///品种间对锁仓附加费率折扣比例 + TThostFtdcRatioType AddOnInterRateZ2; + ///第一腿构成品种 + TThostFtdcInstrumentIDType Leg1ProdFamilyCode; + ///第二腿构成品种 + TThostFtdcInstrumentIDType Leg2ProdFamilyCode; + ///操作标志 + TThostFtdcActionDirectionType ActionDirection; + ///追平序号 + TThostFtdcSequenceNoType SyncDeltaSequenceNo; +}; + +///风险结算追平SPMM合约参数 +struct CThostFtdcSyncDeltaSPMMInstParamField { + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///SPMM合约保证金算法 + TThostFtdcInstMarginCalIDType InstMarginCalID; + ///商品组代码 + TThostFtdcSPMMProductIDType CommodityID; + ///商品群代码 + TThostFtdcSPMMProductIDType CommodityGroupID; + ///操作标志 + TThostFtdcActionDirectionType ActionDirection; + ///追平序号 + TThostFtdcSequenceNoType SyncDeltaSequenceNo; +}; + +///风险结算追平SPMM产品相关参数 +struct CThostFtdcSyncDeltaSPMMProductParamField { + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///产品代码 + TThostFtdcSPMMProductIDType ProductID; + ///商品组代码 + TThostFtdcSPMMProductIDType CommodityID; + ///商品群代码 + TThostFtdcSPMMProductIDType CommodityGroupID; + ///操作标志 + TThostFtdcActionDirectionType ActionDirection; + ///追平序号 + TThostFtdcSequenceNoType SyncDeltaSequenceNo; +}; + +///风险结算追平投资者SPMM模板选择 +struct CThostFtdcSyncDeltaInvestorSPMMModelField { + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///SPMM模板ID + TThostFtdcSPMMModelIDType SPMMModelID; + ///操作标志 + TThostFtdcActionDirectionType ActionDirection; + ///追平序号 + TThostFtdcSequenceNoType SyncDeltaSequenceNo; +}; + +///风险结算追平SPMM模板参数设置 +struct CThostFtdcSyncDeltaSPMMModelParamField { + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///SPMM模板ID + TThostFtdcSPMMModelIDType SPMMModelID; + ///商品群代码 + TThostFtdcSPMMProductIDType CommodityGroupID; + ///SPMM品种内跨期优惠系数 + TThostFtdcSPMMDiscountRatioType IntraCommodityRate; + ///SPMM品种间优惠系数 + TThostFtdcSPMMDiscountRatioType InterCommodityRate; + ///SPMM期权优惠系数 + TThostFtdcSPMMDiscountRatioType OptionDiscountRate; + ///商品群最小保证金比例 + TThostFtdcSPMMDiscountRatioType MiniMarginRatio; + ///操作标志 + TThostFtdcActionDirectionType ActionDirection; + ///追平序号 + TThostFtdcSequenceNoType SyncDeltaSequenceNo; +}; + +///风险结算追平RCAMS产品组合信息 +struct CThostFtdcSyncDeltaRCAMSCombProdInfoField { + ///交易日 + TThostFtdcDateType TradingDay; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///产品代码 + TThostFtdcProductIDType ProductID; + ///商品组代码 + TThostFtdcProductIDType CombProductID; + ///商品群代码 + TThostFtdcProductIDType ProductGroupID; + ///操作标志 + TThostFtdcActionDirectionType ActionDirection; + ///追平序号 + TThostFtdcSequenceNoType SyncDeltaSequenceNo; +}; + +///风险结算追平RCAMS同合约风险对冲参数 +struct CThostFtdcSyncDeltaRCAMSInstrParameterField { + ///交易日 + TThostFtdcDateType TradingDay; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///产品代码 + TThostFtdcProductIDType ProductID; + ///同合约风险对冲比率 + TThostFtdcHedgeRateType HedgeRate; + ///操作标志 + TThostFtdcActionDirectionType ActionDirection; + ///追平序号 + TThostFtdcSequenceNoType SyncDeltaSequenceNo; +}; + +///风险结算追平RCAMS品种内风险对冲参数 +struct CThostFtdcSyncDeltaRCAMSIntraParameterField { + ///交易日 + TThostFtdcDateType TradingDay; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///产品组合代码 + TThostFtdcProductIDType CombProductID; + ///品种内对冲比率 + TThostFtdcHedgeRateType HedgeRate; + ///操作标志 + TThostFtdcActionDirectionType ActionDirection; + ///追平序号 + TThostFtdcSequenceNoType SyncDeltaSequenceNo; +}; + +///风险结算追平RCAMS跨品种风险折抵参数 +struct CThostFtdcSyncDeltaRCAMSInterParameterField { + ///交易日 + TThostFtdcDateType TradingDay; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///商品群代码 + TThostFtdcProductIDType ProductGroupID; + ///优先级 + TThostFtdcRCAMSPriorityType Priority; + ///折抵率 + TThostFtdcHedgeRateType CreditRate; + ///产品组合代码1 + TThostFtdcProductIDType CombProduct1; + ///产品组合代码2 + TThostFtdcProductIDType CombProduct2; + ///操作标志 + TThostFtdcActionDirectionType ActionDirection; + ///追平序号 + TThostFtdcSequenceNoType SyncDeltaSequenceNo; +}; + +///风险结算追平RCAMS空头期权风险调整参数 +struct CThostFtdcSyncDeltaRCAMSSOptAdjParamField { + ///交易日 + TThostFtdcDateType TradingDay; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///产品组合代码 + TThostFtdcProductIDType CombProductID; + ///投套标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///空头期权风险调整标准 + TThostFtdcAdjustValueType AdjustValue; + ///操作标志 + TThostFtdcActionDirectionType ActionDirection; + ///追平序号 + TThostFtdcSequenceNoType SyncDeltaSequenceNo; +}; + +///风险结算追平RCAMS策略组合规则明细 +struct CThostFtdcSyncDeltaRCAMSCombRuleDtlField { + ///交易日 + TThostFtdcDateType TradingDay; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///策略产品 + TThostFtdcProductIDType ProdGroup; + ///策略id + TThostFtdcRuleIdType RuleId; + ///优先级 + TThostFtdcRCAMSPriorityType Priority; + ///投套标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///组合保证金标准 + TThostFtdcMoneyType CombMargin; + ///交易所组合合约代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///单腿编号 + TThostFtdcLegIDType LegID; + ///单腿合约代码 + TThostFtdcInstrumentIDType LegInstrumentID; + ///买卖方向 + TThostFtdcDirectionType Direction; + ///单腿乘数 + TThostFtdcLegMultipleType LegMultiple; + ///操作标志 + TThostFtdcActionDirectionType ActionDirection; + ///追平序号 + TThostFtdcSequenceNoType SyncDeltaSequenceNo; +}; + +///风险结算追平RCAMS策略组合持仓 +struct CThostFtdcSyncDeltaRCAMSInvstCombPosField { + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投套标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///持仓多空方向 + TThostFtdcPosiDirectionType PosiDirection; + ///组合合约代码 + TThostFtdcInstrumentIDType CombInstrumentID; + ///单腿编号 + TThostFtdcLegIDType LegID; + ///交易所组合合约代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///持仓量 + TThostFtdcVolumeType TotalAmt; + ///交易所保证金 + TThostFtdcMoneyType ExchMargin; + ///投资者保证金 + TThostFtdcMoneyType Margin; + ///操作标志 + TThostFtdcActionDirectionType ActionDirection; + ///追平序号 + TThostFtdcSequenceNoType SyncDeltaSequenceNo; +}; + +///风险结算追平RULE合约保证金参数 +struct CThostFtdcSyncDeltaRULEInstrParameterField { + ///交易日 + TThostFtdcDateType TradingDay; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///合约类型 + TThostFtdcInstrumentClassType InstrumentClass; + ///标准合约 + TThostFtdcInstrumentIDType StdInstrumentID; + ///投机买折算系数 + TThostFtdcRatioType BSpecRatio; + ///投机卖折算系数 + TThostFtdcRatioType SSpecRatio; + ///套保买折算系数 + TThostFtdcRatioType BHedgeRatio; + ///套保卖折算系数 + TThostFtdcRatioType SHedgeRatio; + ///买附加风险保证金 + TThostFtdcMoneyType BAddOnMargin; + ///卖附加风险保证金 + TThostFtdcMoneyType SAddOnMargin; + ///商品群号 + TThostFtdcCommodityGroupIDType CommodityGroupID; + ///操作标志 + TThostFtdcActionDirectionType ActionDirection; + ///追平序号 + TThostFtdcSequenceNoType SyncDeltaSequenceNo; +}; + +///风险结算追平RULE品种内对锁仓折扣参数 +struct CThostFtdcSyncDeltaRULEIntraParameterField { + ///交易日 + TThostFtdcDateType TradingDay; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///品种代码 + TThostFtdcInstrumentIDType ProdFamilyCode; + ///标准合约 + TThostFtdcInstrumentIDType StdInstrumentID; + ///标准合约保证金 + TThostFtdcMoneyType StdInstrMargin; + ///一般月份合约组合保证金系数 + TThostFtdcRatioType UsualIntraRate; + ///临近交割合约组合保证金系数 + TThostFtdcRatioType DeliveryIntraRate; + ///操作标志 + TThostFtdcActionDirectionType ActionDirection; + ///追平序号 + TThostFtdcSequenceNoType SyncDeltaSequenceNo; +}; + +///风险结算追平RULE跨品种抵扣参数 +struct CThostFtdcSyncDeltaRULEInterParameterField { + ///交易日 + TThostFtdcDateType TradingDay; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///优先级 + TThostFtdcSpreadIdType SpreadId; + ///品种间对锁仓费率折扣比例 + TThostFtdcRatioType InterRate; + ///第一腿构成品种 + TThostFtdcInstrumentIDType Leg1ProdFamilyCode; + ///第二腿构成品种 + TThostFtdcInstrumentIDType Leg2ProdFamilyCode; + ///腿1比例系数 + TThostFtdcCommonIntType Leg1PropFactor; + ///腿2比例系数 + TThostFtdcCommonIntType Leg2PropFactor; + ///商品群号 + TThostFtdcCommodityGroupIDType CommodityGroupID; + ///商品群名称 + TThostFtdcInstrumentNameType CommodityGroupName; + ///操作标志 + TThostFtdcActionDirectionType ActionDirection; + ///追平序号 + TThostFtdcSequenceNoType SyncDeltaSequenceNo; +}; + +///服务地址参数 +struct CThostFtdcIpAddrParamField { + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///服务地址 + TThostFtdcIpAddrType Address; + ///交易中心代码 + TThostFtdcDRIdentityIDType DRIdentityID; + ///交易中心名称 + TThostFtdcDRIdentityNameType DRIdentityName; + ///交易地址OR行情地址 + TThostFtdcAddrSrvModeType AddrSrvMode; + ///地址版本 + TThostFtdcAddrVerType AddrVer; + ///服务地址编号 + TThostFtdcCommonIntType AddrNo; + ///服务地址名称 + TThostFtdcAddrNameType AddrName; + ///是否是国密地址 + TThostFtdcBoolType IsSM; + ///是否是内网地址 + TThostFtdcBoolType IsLocalAddr; + ///地址补充信息 + TThostFtdcAddrRemarkType Remark; + ///站点 + TThostFtdcSiteType Site; + ///网络运营商 + TThostFtdcNetOperatorType NetOperator; +}; + +///服务地址参数查询 +struct CThostFtdcQryIpAddrParamField { + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; +}; + +///服务地址参数 +struct CThostFtdcTGIpAddrParamField { + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///服务地址 + TThostFtdcIpAddrType Address; + ///交易中心代码 + TThostFtdcDRIdentityIDType DRIdentityID; + ///交易中心名称 + TThostFtdcDRIdentityNameType DRIdentityName; + ///交易地址OR行情地址 + TThostFtdcAddrSrvModeType AddrSrvMode; + ///地址版本 + TThostFtdcAddrVerType AddrVer; + ///服务地址编号 + TThostFtdcCommonIntType AddrNo; + ///服务地址名称 + TThostFtdcAddrNameType AddrName; + ///是否是国密地址 + TThostFtdcBoolType IsSM; + ///是否是内网地址 + TThostFtdcBoolType IsLocalAddr; + ///地址补充信息 + TThostFtdcAddrRemarkType Remark; + ///站点 + TThostFtdcSiteType Site; + ///网络运营商 + TThostFtdcNetOperatorType NetOperator; +}; + +///服务地址参数查询 +struct CThostFtdcQryTGIpAddrParamField { + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///App代码 + TThostFtdcAppIDType AppID; +}; + +///TGate会话查询状态 +struct CThostFtdcTGSessionQryStatusField { + ///最近30s的查询频率 + TThostFtdcCommonIntType LastQryFreq; + ///查询状态 + TThostFtdcTGSessionQryStatusType QryStatus; +}; + +///内网地址配置 +struct CThostFtdcLocalAddrConfigField { + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///对端地址 + TThostFtdcIpAddrType PeerAddr; + ///子网掩码 + TThostFtdcIpAddrType NetMask; + ///交易中心代码 + TThostFtdcDRIdentityIDType DRIdentityID; + ///内网服务地址 + TThostFtdcIpAddrType LocalAddress; +}; + +///内网地址配置查询 +struct CThostFtdcQryLocalAddrConfigField { + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; +}; + +///次席查询银行资金帐户信息请求 +struct CThostFtdcReqQueryBankAccountBySecField { + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///客户姓名 + TThostFtdcIndividualNameType CustomerName; + ///证件类型 + TThostFtdcIdCardTypeType IdCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///客户类型 + TThostFtdcCustTypeType CustType; + ///银行帐号 + TThostFtdcBankAccountType BankAccount; + ///银行密码 + TThostFtdcPasswordType BankPassWord; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///期货密码 + TThostFtdcPasswordType Password; + ///期货公司流水号 + TThostFtdcFutureSerialType FutureSerial; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///用户标识 + TThostFtdcUserIDType UserID; + ///验证客户证件号码标志 + TThostFtdcYesNoIndicatorType VerifyCertNoFlag; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///摘要 + TThostFtdcDigestType Digest; + ///银行帐号类型 + TThostFtdcBankAccTypeType BankAccType; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货单位帐号类型 + TThostFtdcBankAccTypeType BankSecuAccType; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///期货单位帐号 + TThostFtdcBankAccountType BankSecuAcc; + ///银行密码标志 + TThostFtdcPwdFlagType BankPwdFlag; + ///期货资金密码核对标志 + TThostFtdcPwdFlagType SecuPwdFlag; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///交易ID + TThostFtdcTIDType TID; + ///长客户姓名 + TThostFtdcLongIndividualNameType LongCustomerName; + ///交易中心代码 + TThostFtdcDRIdentityIDType DRIdentityID; + ///次中心发起转账期货公司流水号 + TThostFtdcFutureSerialType SecFutureSerial; +}; + +///次席查询银行资金帐户信息回报 +struct CThostFtdcRspQueryBankAccountBySecField { + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///客户姓名 + TThostFtdcIndividualNameType CustomerName; + ///证件类型 + TThostFtdcIdCardTypeType IdCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///客户类型 + TThostFtdcCustTypeType CustType; + ///银行帐号 + TThostFtdcBankAccountType BankAccount; + ///银行密码 + TThostFtdcPasswordType BankPassWord; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///期货密码 + TThostFtdcPasswordType Password; + ///期货公司流水号 + TThostFtdcFutureSerialType FutureSerial; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///用户标识 + TThostFtdcUserIDType UserID; + ///验证客户证件号码标志 + TThostFtdcYesNoIndicatorType VerifyCertNoFlag; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///摘要 + TThostFtdcDigestType Digest; + ///银行帐号类型 + TThostFtdcBankAccTypeType BankAccType; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货单位帐号类型 + TThostFtdcBankAccTypeType BankSecuAccType; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///期货单位帐号 + TThostFtdcBankAccountType BankSecuAcc; + ///银行密码标志 + TThostFtdcPwdFlagType BankPwdFlag; + ///期货资金密码核对标志 + TThostFtdcPwdFlagType SecuPwdFlag; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///交易ID + TThostFtdcTIDType TID; + ///银行可用金额 + TThostFtdcTradeAmountType BankUseAmount; + ///银行可取金额 + TThostFtdcTradeAmountType BankFetchAmount; + ///长客户姓名 + TThostFtdcLongIndividualNameType LongCustomerName; + ///交易中心代码 + TThostFtdcDRIdentityIDType DRIdentityID; + ///次中心发起转账期货公司流水号 + TThostFtdcFutureSerialType SecFutureSerial; +}; + +///次中心发起的转帐交易 +struct CThostFtdcReqTransferBySecField { + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///客户姓名 + TThostFtdcIndividualNameType CustomerName; + ///证件类型 + TThostFtdcIdCardTypeType IdCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///客户类型 + TThostFtdcCustTypeType CustType; + ///银行帐号 + TThostFtdcBankAccountType BankAccount; + ///银行密码 + TThostFtdcPasswordType BankPassWord; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///期货密码 + TThostFtdcPasswordType Password; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///期货公司流水号 + TThostFtdcFutureSerialType FutureSerial; + ///用户标识 + TThostFtdcUserIDType UserID; + ///验证客户证件号码标志 + TThostFtdcYesNoIndicatorType VerifyCertNoFlag; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///转帐金额 + TThostFtdcTradeAmountType TradeAmount; + ///期货可取金额 + TThostFtdcTradeAmountType FutureFetchAmount; + ///费用支付标志 + TThostFtdcFeePayFlagType FeePayFlag; + ///应收客户费用 + TThostFtdcCustFeeType CustFee; + ///应收期货公司费用 + TThostFtdcFutureFeeType BrokerFee; + ///发送方给接收方的消息 + TThostFtdcAddInfoType Message; + ///摘要 + TThostFtdcDigestType Digest; + ///银行帐号类型 + TThostFtdcBankAccTypeType BankAccType; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货单位帐号类型 + TThostFtdcBankAccTypeType BankSecuAccType; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///期货单位帐号 + TThostFtdcBankAccountType BankSecuAcc; + ///银行密码标志 + TThostFtdcPwdFlagType BankPwdFlag; + ///期货资金密码核对标志 + TThostFtdcPwdFlagType SecuPwdFlag; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///交易ID + TThostFtdcTIDType TID; + ///转账交易状态 + TThostFtdcTransferStatusType TransferStatus; + ///长客户姓名 + TThostFtdcLongIndividualNameType LongCustomerName; + ///交易中心代码 + TThostFtdcDRIdentityIDType DRIdentityID; + ///次中心发起转账期货公司流水号 + TThostFtdcFutureSerialType SecFutureSerial; +}; + +///次中心发起的转帐交易回报 +struct CThostFtdcRspTransferBySecField { + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///客户姓名 + TThostFtdcIndividualNameType CustomerName; + ///证件类型 + TThostFtdcIdCardTypeType IdCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///客户类型 + TThostFtdcCustTypeType CustType; + ///银行帐号 + TThostFtdcBankAccountType BankAccount; + ///银行密码 + TThostFtdcPasswordType BankPassWord; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///期货密码 + TThostFtdcPasswordType Password; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///期货公司流水号 + TThostFtdcFutureSerialType FutureSerial; + ///用户标识 + TThostFtdcUserIDType UserID; + ///验证客户证件号码标志 + TThostFtdcYesNoIndicatorType VerifyCertNoFlag; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///转帐金额 + TThostFtdcTradeAmountType TradeAmount; + ///期货可取金额 + TThostFtdcTradeAmountType FutureFetchAmount; + ///费用支付标志 + TThostFtdcFeePayFlagType FeePayFlag; + ///应收客户费用 + TThostFtdcCustFeeType CustFee; + ///应收期货公司费用 + TThostFtdcFutureFeeType BrokerFee; + ///发送方给接收方的消息 + TThostFtdcAddInfoType Message; + ///摘要 + TThostFtdcDigestType Digest; + ///银行帐号类型 + TThostFtdcBankAccTypeType BankAccType; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货单位帐号类型 + TThostFtdcBankAccTypeType BankSecuAccType; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///期货单位帐号 + TThostFtdcBankAccountType BankSecuAcc; + ///银行密码标志 + TThostFtdcPwdFlagType BankPwdFlag; + ///期货资金密码核对标志 + TThostFtdcPwdFlagType SecuPwdFlag; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///交易ID + TThostFtdcTIDType TID; + ///转账交易状态 + TThostFtdcTransferStatusType TransferStatus; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; + ///长客户姓名 + TThostFtdcLongIndividualNameType LongCustomerName; + ///交易中心代码 + TThostFtdcDRIdentityIDType DRIdentityID; + ///次中心发起转账期货公司流水号 + TThostFtdcFutureSerialType SecFutureSerial; +}; + +///查询银行资金帐户信息通知 要发往次席 +struct CThostFtdcNotifyQueryFutureAccountBySecField { + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///客户姓名 + TThostFtdcIndividualNameType CustomerName; + ///证件类型 + TThostFtdcIdCardTypeType IdCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///客户类型 + TThostFtdcCustTypeType CustType; + ///银行帐号 + TThostFtdcBankAccountType BankAccount; + ///银行密码 + TThostFtdcPasswordType BankPassWord; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///期货密码 + TThostFtdcPasswordType Password; + ///期货公司流水号 + TThostFtdcFutureSerialType FutureSerial; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///用户标识 + TThostFtdcUserIDType UserID; + ///验证客户证件号码标志 + TThostFtdcYesNoIndicatorType VerifyCertNoFlag; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///摘要 + TThostFtdcDigestType Digest; + ///银行帐号类型 + TThostFtdcBankAccTypeType BankAccType; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货单位帐号类型 + TThostFtdcBankAccTypeType BankSecuAccType; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///期货单位帐号 + TThostFtdcBankAccountType BankSecuAcc; + ///银行密码标志 + TThostFtdcPwdFlagType BankPwdFlag; + ///期货资金密码核对标志 + TThostFtdcPwdFlagType SecuPwdFlag; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///交易ID + TThostFtdcTIDType TID; + ///银行可用金额 + TThostFtdcTradeAmountType BankUseAmount; + ///银行可取金额 + TThostFtdcTradeAmountType BankFetchAmount; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; + ///长客户姓名 + TThostFtdcLongIndividualNameType LongCustomerName; + ///交易中心代码 + TThostFtdcDRIdentityIDType DRIdentityID; + ///次中心发起转账期货公司流水号 + TThostFtdcFutureSerialType SecFutureSerial; +}; + +///退出紧急状态参数 +struct CThostFtdcExitEmergencyField { + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; +}; + +///新组保保证金系数投资者模板对应关系 +struct CThostFtdcInvestorPortfMarginModelField { + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///保证金系数模板 + TThostFtdcInvestorIDType MarginModelID; +}; + +///投资者新组保设置 +struct CThostFtdcInvestorPortfSettingField { + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者编号 + TThostFtdcInvestorIDType InvestorID; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///是否开启新组保 + TThostFtdcBoolType UsePortf; +}; + +///投资者新组保设置查询 +struct CThostFtdcQryInvestorPortfSettingField { + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者编号 + TThostFtdcInvestorIDType InvestorID; +}; + +///来自次席的用户口令变更 +struct CThostFtdcUserPasswordUpdateFromSecField { + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///原来的口令 + TThostFtdcPasswordType OldPassword; + ///新的口令 + TThostFtdcPasswordType NewPassword; + ///次席的交易中心代码 + TThostFtdcDRIdentityIDType FromSec; +}; + +///来自次席的结算结果确认 +struct CThostFtdcSettlementInfoConfirmFromSecField { + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///确认日期 + TThostFtdcDateType ConfirmDate; + ///确认时间 + TThostFtdcTimeType ConfirmTime; + ///次席的交易中心代码 + TThostFtdcDRIdentityIDType FromSec; +}; + +///来自次席的资金账户口令变更 +struct CThostFtdcTradingAccountPasswordUpdateFromSecField { + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///原来的口令 + TThostFtdcPasswordType OldPassword; + ///新的口令 + TThostFtdcPasswordType NewPassword; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///次席的交易中心代码 + TThostFtdcDRIdentityIDType FromSec; +}; + +///风控禁止的合约交易权限 +struct CThostFtdcRiskForbiddenRightField { + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者编号 + TThostFtdcInvestorIDType InvestorID; + ///合约/产品代码 + TThostFtdcInstrumentIDType InstrumentID; + ///用户代码 + TThostFtdcUserIDType UserID; +}; + +///投资者申报费阶梯收取记录 +struct CThostFtdcInvestorInfoCommRecField { + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///商品代码 + TThostFtdcInstrumentIDType InstrumentID; + ///报单总笔数 + TThostFtdcVolumeType OrderCount; + ///撤单总笔数 + TThostFtdcVolumeType OrderActionCount; + ///询价总次数 + TThostFtdcVolumeType ForQuoteCnt; + ///申报费 + TThostFtdcMoneyType InfoComm; + ///是否期权系列 + TThostFtdcBoolType IsOptSeries; + ///品种代码 + TThostFtdcProductIDType ProductID; + ///信息量总量 + TThostFtdcVolumeType InfoCnt; +}; + +///投资者申报费阶梯收取记录查询 +struct CThostFtdcQryInvestorInfoCommRecField { + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///商品代码 + TThostFtdcInstrumentIDType InstrumentID; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; +}; + +///组合腿信息 +struct CThostFtdcCombLegField { + ///组合合约代码 + TThostFtdcInstrumentIDType CombInstrumentID; + ///单腿编号 + TThostFtdcLegIDType LegID; + ///单腿合约代码 + TThostFtdcInstrumentIDType LegInstrumentID; + ///买卖方向 + TThostFtdcDirectionType Direction; + ///单腿乘数 + TThostFtdcLegMultipleType LegMultiple; + ///派生层数 + TThostFtdcImplyLevelType ImplyLevel; +}; + +///组合腿信息查询 +struct CThostFtdcQryCombLegField { + ///单腿合约代码 + TThostFtdcInstrumentIDType LegInstrumentID; +}; + +///输入的对冲设置 +struct CThostFtdcInputOffsetSettingField { + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///标的期货合约代码 + TThostFtdcInstrumentIDType UnderlyingInstrID; + ///产品代码 + TThostFtdcProductIDType ProductID; + ///对冲类型 + TThostFtdcOffsetTypeType OffsetType; + ///申请对冲的合约数量 + TThostFtdcVolumeType Volume; + ///是否对冲 + TThostFtdcBoolType IsOffset; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///IP地址 + TThostFtdcIPAddressType IPAddress; + ///Mac地址 + TThostFtdcMacAddressType MacAddress; +}; + +///对冲设置 +struct CThostFtdcOffsetSettingField { + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///标的期货合约代码 + TThostFtdcInstrumentIDType UnderlyingInstrID; + ///产品代码 + TThostFtdcProductIDType ProductID; + ///对冲类型 + TThostFtdcOffsetTypeType OffsetType; + ///申请对冲的合约数量 + TThostFtdcVolumeType Volume; + ///是否对冲 + TThostFtdcBoolType IsOffset; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///IP地址 + TThostFtdcIPAddressType IPAddress; + ///Mac地址 + TThostFtdcMacAddressType MacAddress; + ///交易所合约代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///交易所期权系列号 + TThostFtdcExchangeInstIDType ExchangeSerialNo; + ///交易所产品代码 + TThostFtdcProductIDType ExchangeProductID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///对冲提交状态 + TThostFtdcOrderSubmitStatusType OrderSubmitStatus; + ///交易日 + TThostFtdcDateType TradingDay; + ///结算编号 + TThostFtdcSettlementIDType SettlementID; + ///报单日期 + TThostFtdcDateType InsertDate; + ///插入时间 + TThostFtdcTimeType InsertTime; + ///撤销时间 + TThostFtdcTimeType CancelTime; + ///对冲设置结果 + TThostFtdcExecResultType ExecResult; + ///序号 + TThostFtdcSequenceNoType SequenceNo; + ///前置编号 + TThostFtdcFrontIDType FrontID; + ///会话编号 + TThostFtdcSessionIDType SessionID; + ///状态信息 + TThostFtdcErrorMsgType StatusMsg; + ///操作用户代码 + TThostFtdcUserIDType ActiveUserID; + ///经纪公司报单编号 + TThostFtdcSequenceNoType BrokerOffsetSettingSeq; +}; + +///撤销对冲设置 +struct CThostFtdcCancelOffsetSettingField { + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///标的期货合约代码 + TThostFtdcInstrumentIDType UnderlyingInstrID; + ///产品代码 + TThostFtdcProductIDType ProductID; + ///对冲类型 + TThostFtdcOffsetTypeType OffsetType; + ///申请对冲的合约数量 + TThostFtdcVolumeType Volume; + ///是否对冲 + TThostFtdcBoolType IsOffset; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///IP地址 + TThostFtdcIPAddressType IPAddress; + ///Mac地址 + TThostFtdcMacAddressType MacAddress; + ///交易所合约代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///交易所期权系列号 + TThostFtdcExchangeInstIDType ExchangeSerialNo; + ///交易所产品代码 + TThostFtdcProductIDType ExchangeProductID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///报单操作状态 + TThostFtdcOrderActionStatusType OrderActionStatus; + ///状态信息 + TThostFtdcErrorMsgType StatusMsg; + ///操作本地编号 + TThostFtdcOrderLocalIDType ActionLocalID; + ///操作日期 + TThostFtdcDateType ActionDate; + ///操作时间 + TThostFtdcTimeType ActionTime; +}; + +///查询对冲设置 +struct CThostFtdcQryOffsetSettingField { + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///产品代码 + TThostFtdcProductIDType ProductID; + ///对冲类型 + TThostFtdcOffsetTypeType OffsetType; +}; + +///服务地址和AppID的关系 +struct CThostFtdcAddrAppIDRelationField { + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///服务地址 + TThostFtdcIpAddrType Address; + ///交易中心代码 + TThostFtdcDRIdentityIDType DRIdentityID; + ///App代码 + TThostFtdcAppIDType AppID; +}; + +///服务地址和AppID的关系查询 +struct CThostFtdcQryAddrAppIDRelationField { + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; +}; + + +///前置信息 +struct CThostFtdcFrontInfoField { + ///前置地址 + TThostFtdcAddressType FrontAddr; + ///查询流控 + TThostFtdcQueryFreqType QryFreq; + ///FTD流控 + TThostFtdcQueryFreqType FTDPkgFreq; +}; #endif diff --git a/ctp/header/error.dtd b/ctp/header/error.dtd index 7c7276c..d384c38 100644 --- a/ctp/header/error.dtd +++ b/ctp/header/error.dtd @@ -1,4 +1,4 @@ - + - + @@ -99,9 +99,12 @@ - - - + + + + + + @@ -111,6 +114,7 @@ + @@ -128,8 +132,17 @@ - + + + + + + + + + @@ -177,6 +190,7 @@ + @@ -193,7 +207,9 @@ + + @@ -216,7 +232,7 @@ - ~ + @@ -251,20 +267,39 @@ - - + + + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ctp/linux/libLinuxDataCollect.so b/ctp/linux/libLinuxDataCollect.so old mode 100755 new mode 100644 index b149024..254fd53 Binary files a/ctp/linux/libLinuxDataCollect.so and b/ctp/linux/libLinuxDataCollect.so differ diff --git a/ctp/linux/libthostmduserapi_se.so b/ctp/linux/libthostmduserapi_se.so old mode 100755 new mode 100644 index b55a5ea..bad4bac Binary files a/ctp/linux/libthostmduserapi_se.so and b/ctp/linux/libthostmduserapi_se.so differ diff --git a/ctp/linux/libthosttraderapi_se.so b/ctp/linux/libthosttraderapi_se.so old mode 100755 new mode 100644 index a57d067..d718c76 Binary files a/ctp/linux/libthosttraderapi_se.so and b/ctp/linux/libthosttraderapi_se.so differ diff --git a/ctp/version.txt b/ctp/version.txt index 29a19b2..d831ec2 100644 --- a/ctp/version.txt +++ b/ctp/version.txt @@ -1,3 +1,3 @@ -V6.6.9 +V6.7.9 windows-64x linux-64x \ No newline at end of file diff --git a/ctp/win/thostmduserapi_se.dll b/ctp/win/thostmduserapi_se.dll index 626f6a2..376826f 100644 Binary files a/ctp/win/thostmduserapi_se.dll and b/ctp/win/thostmduserapi_se.dll differ diff --git a/ctp/win/thostmduserapi_se.lib b/ctp/win/thostmduserapi_se.lib index e04d7c2..6fd41b6 100644 Binary files a/ctp/win/thostmduserapi_se.lib and b/ctp/win/thostmduserapi_se.lib differ diff --git a/ctp/win/thosttraderapi_se.dll b/ctp/win/thosttraderapi_se.dll index 2d6a5d6..ae04f3e 100644 Binary files a/ctp/win/thosttraderapi_se.dll and b/ctp/win/thosttraderapi_se.dll differ diff --git a/ctp/win/thosttraderapi_se.lib b/ctp/win/thosttraderapi_se.lib index 9282a46..3c43c82 100644 Binary files a/ctp/win/thosttraderapi_se.lib and b/ctp/win/thosttraderapi_se.lib differ diff --git a/ctpwrapper/ApiStructure.py b/ctpwrapper/ApiStructure.py index 28fa299..3cab840 100644 --- a/ctpwrapper/ApiStructure.py +++ b/ctpwrapper/ApiStructure.py @@ -34,8 +34,10 @@ class ReqUserLoginField(Base): ('ClientIPAddress', ctypes.c_char * 33), # 终端IP地址 ] - def __init__(self, TradingDay: str = '', BrokerID: str = '', UserID: str = '', Password: str = '', UserProductInfo: str = '', InterfaceProductInfo: str = '', ProtocolInfo: str = '', - MacAddress: str = '', OneTimePassword: str = '', reserve1: str = '', LoginRemark: str = '', ClientIPPort: int = 0, ClientIPAddress: str = ''): + def __init__(self, TradingDay: str = '', BrokerID: str = '', UserID: str = '', Password: str = '', + UserProductInfo: str = '', InterfaceProductInfo: str = '', ProtocolInfo: str = '', + MacAddress: str = '', OneTimePassword: str = '', reserve1: str = '', LoginRemark: str = '', + ClientIPPort: int = 0, ClientIPAddress: str = ''): super(ReqUserLoginField, self).__init__() self.TradingDay = self._to_bytes(TradingDay) self.BrokerID = self._to_bytes(BrokerID) @@ -70,10 +72,14 @@ class RspUserLoginField(Base): ('INETime', ctypes.c_char * 9), # 能源中心时间 ('SysVersion', ctypes.c_char * 41), # 后台版本信息 ('GFEXTime', ctypes.c_char * 9), # 广期所时间 + ('LoginDRIdentityID', ctypes.c_int), # 当前登录中心号 + ('UserDRIdentityID', ctypes.c_int), # 用户所属中心号 ] - def __init__(self, TradingDay: str = '', LoginTime: str = '', BrokerID: str = '', UserID: str = '', SystemName: str = '', FrontID: int = 0, SessionID: int = 0, MaxOrderRef: str = '', - SHFETime: str = '', DCETime: str = '', CZCETime: str = '', FFEXTime: str = '', INETime: str = '', SysVersion: str = '', GFEXTime: str = ''): + def __init__(self, TradingDay: str = '', LoginTime: str = '', BrokerID: str = '', UserID: str = '', + SystemName: str = '', FrontID: int = 0, SessionID: int = 0, MaxOrderRef: str = '', SHFETime: str = '', + DCETime: str = '', CZCETime: str = '', FFEXTime: str = '', INETime: str = '', SysVersion: str = '', + GFEXTime: str = '', LoginDRIdentityID: int = 0, UserDRIdentityID: int = 0): super(RspUserLoginField, self).__init__() self.TradingDay = self._to_bytes(TradingDay) self.LoginTime = self._to_bytes(LoginTime) @@ -90,6 +96,8 @@ def __init__(self, TradingDay: str = '', LoginTime: str = '', BrokerID: str = '' self.INETime = self._to_bytes(INETime) self.SysVersion = self._to_bytes(SysVersion) self.GFEXTime = self._to_bytes(GFEXTime) + self.LoginDRIdentityID = int(LoginDRIdentityID) + self.UserDRIdentityID = int(UserDRIdentityID) class UserLogoutField(Base): @@ -128,7 +136,8 @@ class ReqAuthenticateField(Base): ('AppID', ctypes.c_char * 33), # App代码 ] - def __init__(self, BrokerID: str = '', UserID: str = '', UserProductInfo: str = '', AuthCode: str = '', AppID: str = ''): + def __init__(self, BrokerID: str = '', UserID: str = '', UserProductInfo: str = '', AuthCode: str = '', + AppID: str = ''): super(ReqAuthenticateField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.UserID = self._to_bytes(UserID) @@ -147,7 +156,8 @@ class RspAuthenticateField(Base): ('AppType', ctypes.c_char), # App类型 ] - def __init__(self, BrokerID: str = '', UserID: str = '', UserProductInfo: str = '', AppID: str = '', AppType: str = ''): + def __init__(self, BrokerID: str = '', UserID: str = '', UserProductInfo: str = '', AppID: str = '', + AppType: str = ''): super(RspAuthenticateField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.UserID = self._to_bytes(UserID) @@ -170,8 +180,8 @@ class AuthenticationInfoField(Base): ('ClientIPAddress', ctypes.c_char * 33), # 终端IP地址 ] - def __init__(self, BrokerID: str = '', UserID: str = '', UserProductInfo: str = '', AuthInfo: str = '', IsResult: int = 0, AppID: str = '', AppType: str = '', reserve1: str = '', - ClientIPAddress: str = ''): + def __init__(self, BrokerID: str = '', UserID: str = '', UserProductInfo: str = '', AuthInfo: str = '', + IsResult: int = 0, AppID: str = '', AppType: str = '', reserve1: str = '', ClientIPAddress: str = ''): super(AuthenticationInfoField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.UserID = self._to_bytes(UserID) @@ -203,8 +213,9 @@ class RspUserLogin2Field(Base): ('RandomString', ctypes.c_char * 17), # 随机串 ] - def __init__(self, TradingDay: str = '', LoginTime: str = '', BrokerID: str = '', UserID: str = '', SystemName: str = '', FrontID: int = 0, SessionID: int = 0, MaxOrderRef: str = '', - SHFETime: str = '', DCETime: str = '', CZCETime: str = '', FFEXTime: str = '', INETime: str = '', RandomString: str = ''): + def __init__(self, TradingDay: str = '', LoginTime: str = '', BrokerID: str = '', UserID: str = '', + SystemName: str = '', FrontID: int = 0, SessionID: int = 0, MaxOrderRef: str = '', SHFETime: str = '', + DCETime: str = '', CZCETime: str = '', FFEXTime: str = '', INETime: str = '', RandomString: str = ''): super(RspUserLogin2Field, self).__init__() self.TradingDay = self._to_bytes(TradingDay) self.LoginTime = self._to_bytes(LoginTime) @@ -240,8 +251,9 @@ class TransferHeaderField(Base): ('RequestID', ctypes.c_int), # 请求编号,N/A ] - def __init__(self, Version: str = '', TradeCode: str = '', TradeDate: str = '', TradeTime: str = '', TradeSerial: str = '', FutureID: str = '', BankID: str = '', BankBrchID: str = '', - OperNo: str = '', DeviceID: str = '', RecordNum: str = '', SessionID: int = 0, RequestID: int = 0): + def __init__(self, Version: str = '', TradeCode: str = '', TradeDate: str = '', TradeTime: str = '', + TradeSerial: str = '', FutureID: str = '', BankID: str = '', BankBrchID: str = '', OperNo: str = '', + DeviceID: str = '', RecordNum: str = '', SessionID: int = 0, RequestID: int = 0): super(TransferHeaderField, self).__init__() self.Version = self._to_bytes(Version) self.TradeCode = self._to_bytes(TradeCode) @@ -269,7 +281,8 @@ class TransferBankToFutureReqField(Base): ('CurrencyCode', ctypes.c_char * 4), # 币种:RMB-人民币 USD-美圆 HKD-港元 ] - def __init__(self, FutureAccount: str = '', FuturePwdFlag: str = '', FutureAccPwd: str = '', TradeAmt: float = 0.0, CustFee: float = 0.0, CurrencyCode: str = ''): + def __init__(self, FutureAccount: str = '', FuturePwdFlag: str = '', FutureAccPwd: str = '', TradeAmt: float = 0.0, + CustFee: float = 0.0, CurrencyCode: str = ''): super(TransferBankToFutureReqField, self).__init__() self.FutureAccount = self._to_bytes(FutureAccount) self.FuturePwdFlag = self._to_bytes(FuturePwdFlag) @@ -290,7 +303,8 @@ class TransferBankToFutureRspField(Base): ('CurrencyCode', ctypes.c_char * 4), # 币种 ] - def __init__(self, RetCode: str = '', RetInfo: str = '', FutureAccount: str = '', TradeAmt: float = 0.0, CustFee: float = 0.0, CurrencyCode: str = ''): + def __init__(self, RetCode: str = '', RetInfo: str = '', FutureAccount: str = '', TradeAmt: float = 0.0, + CustFee: float = 0.0, CurrencyCode: str = ''): super(TransferBankToFutureRspField, self).__init__() self.RetCode = self._to_bytes(RetCode) self.RetInfo = self._to_bytes(RetInfo) @@ -311,7 +325,8 @@ class TransferFutureToBankReqField(Base): ('CurrencyCode', ctypes.c_char * 4), # 币种:RMB-人民币 USD-美圆 HKD-港元 ] - def __init__(self, FutureAccount: str = '', FuturePwdFlag: str = '', FutureAccPwd: str = '', TradeAmt: float = 0.0, CustFee: float = 0.0, CurrencyCode: str = ''): + def __init__(self, FutureAccount: str = '', FuturePwdFlag: str = '', FutureAccPwd: str = '', TradeAmt: float = 0.0, + CustFee: float = 0.0, CurrencyCode: str = ''): super(TransferFutureToBankReqField, self).__init__() self.FutureAccount = self._to_bytes(FutureAccount) self.FuturePwdFlag = self._to_bytes(FuturePwdFlag) @@ -332,7 +347,8 @@ class TransferFutureToBankRspField(Base): ('CurrencyCode', ctypes.c_char * 4), # 币种 ] - def __init__(self, RetCode: str = '', RetInfo: str = '', FutureAccount: str = '', TradeAmt: float = 0.0, CustFee: float = 0.0, CurrencyCode: str = ''): + def __init__(self, RetCode: str = '', RetInfo: str = '', FutureAccount: str = '', TradeAmt: float = 0.0, + CustFee: float = 0.0, CurrencyCode: str = ''): super(TransferFutureToBankRspField, self).__init__() self.RetCode = self._to_bytes(RetCode) self.RetInfo = self._to_bytes(RetInfo) @@ -351,7 +367,8 @@ class TransferQryBankReqField(Base): ('CurrencyCode', ctypes.c_char * 4), # 币种:RMB-人民币 USD-美圆 HKD-港元 ] - def __init__(self, FutureAccount: str = '', FuturePwdFlag: str = '', FutureAccPwd: str = '', CurrencyCode: str = ''): + def __init__(self, FutureAccount: str = '', FuturePwdFlag: str = '', FutureAccPwd: str = '', + CurrencyCode: str = ''): super(TransferQryBankReqField, self).__init__() self.FutureAccount = self._to_bytes(FutureAccount) self.FuturePwdFlag = self._to_bytes(FuturePwdFlag) @@ -371,7 +388,8 @@ class TransferQryBankRspField(Base): ('CurrencyCode', ctypes.c_char * 4), # 币种 ] - def __init__(self, RetCode: str = '', RetInfo: str = '', FutureAccount: str = '', TradeAmt: float = 0.0, UseAmt: float = 0.0, FetchAmt: float = 0.0, CurrencyCode: str = ''): + def __init__(self, RetCode: str = '', RetInfo: str = '', FutureAccount: str = '', TradeAmt: float = 0.0, + UseAmt: float = 0.0, FetchAmt: float = 0.0, CurrencyCode: str = ''): super(TransferQryBankRspField, self).__init__() self.RetCode = self._to_bytes(RetCode) self.RetInfo = self._to_bytes(RetInfo) @@ -412,8 +430,10 @@ class TransferQryDetailRspField(Base): ('Flag', ctypes.c_char), # 有效标志 ] - def __init__(self, TradeDate: str = '', TradeTime: str = '', TradeCode: str = '', FutureSerial: int = 0, FutureID: str = '', FutureAccount: str = '', BankSerial: int = 0, BankID: str = '', - BankBrchID: str = '', BankAccount: str = '', CertCode: str = '', CurrencyCode: str = '', TxAmount: float = 0.0, Flag: str = ''): + def __init__(self, TradeDate: str = '', TradeTime: str = '', TradeCode: str = '', FutureSerial: int = 0, + FutureID: str = '', FutureAccount: str = '', BankSerial: int = 0, BankID: str = '', + BankBrchID: str = '', BankAccount: str = '', CertCode: str = '', CurrencyCode: str = '', + TxAmount: float = 0.0, Flag: str = ''): super(TransferQryDetailRspField, self).__init__() self.TradeDate = self._to_bytes(TradeDate) self.TradeTime = self._to_bytes(TradeTime) @@ -485,10 +505,13 @@ class ProductField(Base): ('OrderFreqControlLevel', ctypes.c_char), # 报单频率控制粒度 ] - def __init__(self, reserve1: str = '', ProductName: str = '', ExchangeID: str = '', ProductClass: str = '', VolumeMultiple: int = 0, PriceTick: float = 0.0, MaxMarketOrderVolume: int = 0, - MinMarketOrderVolume: int = 0, MaxLimitOrderVolume: int = 0, MinLimitOrderVolume: int = 0, PositionType: str = '', PositionDateType: str = '', CloseDealType: str = '', - TradeCurrencyID: str = '', MortgageFundUseRange: str = '', reserve2: str = '', UnderlyingMultiple: float = 0.0, ProductID: str = '', ExchangeProductID: str = '', - OpenLimitControlLevel: str = '', OrderFreqControlLevel: str = ''): + def __init__(self, reserve1: str = '', ProductName: str = '', ExchangeID: str = '', ProductClass: str = '', + VolumeMultiple: int = 0, PriceTick: float = 0.0, MaxMarketOrderVolume: int = 0, + MinMarketOrderVolume: int = 0, MaxLimitOrderVolume: int = 0, MinLimitOrderVolume: int = 0, + PositionType: str = '', PositionDateType: str = '', CloseDealType: str = '', TradeCurrencyID: str = '', + MortgageFundUseRange: str = '', reserve2: str = '', UnderlyingMultiple: float = 0.0, + ProductID: str = '', ExchangeProductID: str = '', OpenLimitControlLevel: str = '', + OrderFreqControlLevel: str = ''): super(ProductField, self).__init__() self.reserve1 = self._to_bytes(reserve1) self.ProductName = self._to_bytes(ProductName) @@ -553,11 +576,15 @@ class InstrumentField(Base): ('UnderlyingInstrID', ctypes.c_char * 81), # 基础商品代码 ] - def __init__(self, reserve1: str = '', ExchangeID: str = '', InstrumentName: str = '', reserve2: str = '', reserve3: str = '', ProductClass: str = '', DeliveryYear: int = 0, - DeliveryMonth: int = 0, MaxMarketOrderVolume: int = 0, MinMarketOrderVolume: int = 0, MaxLimitOrderVolume: int = 0, MinLimitOrderVolume: int = 0, VolumeMultiple: int = 0, - PriceTick: float = 0.0, CreateDate: str = '', OpenDate: str = '', ExpireDate: str = '', StartDelivDate: str = '', EndDelivDate: str = '', InstLifePhase: str = '', IsTrading: int = 0, - PositionType: str = '', PositionDateType: str = '', LongMarginRatio: float = 0.0, ShortMarginRatio: float = 0.0, MaxMarginSideAlgorithm: str = '', reserve4: str = '', - StrikePrice: float = 0.0, OptionsType: str = '', UnderlyingMultiple: float = 0.0, CombinationType: str = '', InstrumentID: str = '', ExchangeInstID: str = '', ProductID: str = '', + def __init__(self, reserve1: str = '', ExchangeID: str = '', InstrumentName: str = '', reserve2: str = '', + reserve3: str = '', ProductClass: str = '', DeliveryYear: int = 0, DeliveryMonth: int = 0, + MaxMarketOrderVolume: int = 0, MinMarketOrderVolume: int = 0, MaxLimitOrderVolume: int = 0, + MinLimitOrderVolume: int = 0, VolumeMultiple: int = 0, PriceTick: float = 0.0, CreateDate: str = '', + OpenDate: str = '', ExpireDate: str = '', StartDelivDate: str = '', EndDelivDate: str = '', + InstLifePhase: str = '', IsTrading: int = 0, PositionType: str = '', PositionDateType: str = '', + LongMarginRatio: float = 0.0, ShortMarginRatio: float = 0.0, MaxMarginSideAlgorithm: str = '', + reserve4: str = '', StrikePrice: float = 0.0, OptionsType: str = '', UnderlyingMultiple: float = 0.0, + CombinationType: str = '', InstrumentID: str = '', ExchangeInstID: str = '', ProductID: str = '', UnderlyingInstrID: str = ''): super(InstrumentField, self).__init__() self.reserve1 = self._to_bytes(reserve1) @@ -624,9 +651,13 @@ class TraderField(Base): ('InstallCount', ctypes.c_int), # 安装数量 ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('OrderCancelAlg', ctypes.c_char), # 撤单时选择席位算法 + ('TradeInstallCount', ctypes.c_int), # 交易报盘安装数量 + ('MDInstallCount', ctypes.c_int), # 行情报盘安装数量 ] - def __init__(self, ExchangeID: str = '', TraderID: str = '', ParticipantID: str = '', Password: str = '', InstallCount: int = 0, BrokerID: str = '', OrderCancelAlg: str = ''): + def __init__(self, ExchangeID: str = '', TraderID: str = '', ParticipantID: str = '', Password: str = '', + InstallCount: int = 0, BrokerID: str = '', OrderCancelAlg: str = '', TradeInstallCount: int = 0, + MDInstallCount: int = 0): super(TraderField, self).__init__() self.ExchangeID = self._to_bytes(ExchangeID) self.TraderID = self._to_bytes(TraderID) @@ -635,6 +666,8 @@ def __init__(self, ExchangeID: str = '', TraderID: str = '', ParticipantID: str self.InstallCount = int(InstallCount) self.BrokerID = self._to_bytes(BrokerID) self.OrderCancelAlg = self._to_bytes(OrderCancelAlg) + self.TradeInstallCount = int(TradeInstallCount) + self.MDInstallCount = int(MDInstallCount) class InvestorField(Base): @@ -657,8 +690,10 @@ class InvestorField(Base): ('IsOpenVolLimit', ctypes.c_char), # 是否开仓限制 ] - def __init__(self, InvestorID: str = '', BrokerID: str = '', InvestorGroupID: str = '', InvestorName: str = '', IdentifiedCardType: str = '', IdentifiedCardNo: str = '', IsActive: int = 0, - Telephone: str = '', Address: str = '', OpenDate: str = '', Mobile: str = '', CommModelID: str = '', MarginModelID: str = '', IsOrderFreq: str = '', IsOpenVolLimit: str = ''): + def __init__(self, InvestorID: str = '', BrokerID: str = '', InvestorGroupID: str = '', InvestorName: str = '', + IdentifiedCardType: str = '', IdentifiedCardNo: str = '', IsActive: int = 0, Telephone: str = '', + Address: str = '', OpenDate: str = '', Mobile: str = '', CommModelID: str = '', + MarginModelID: str = '', IsOrderFreq: str = '', IsOpenVolLimit: str = ''): super(InvestorField, self).__init__() self.InvestorID = self._to_bytes(InvestorID) self.BrokerID = self._to_bytes(BrokerID) @@ -691,7 +726,8 @@ class TradingCodeField(Base): ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 ] - def __init__(self, InvestorID: str = '', BrokerID: str = '', ExchangeID: str = '', ClientID: str = '', IsActive: int = 0, ClientIDType: str = '', BranchID: str = '', BizType: str = '', + def __init__(self, InvestorID: str = '', BrokerID: str = '', ExchangeID: str = '', ClientID: str = '', + IsActive: int = 0, ClientIDType: str = '', BranchID: str = '', BizType: str = '', InvestUnitID: str = ''): super(TradingCodeField, self).__init__() self.InvestorID = self._to_bytes(InvestorID) @@ -821,15 +857,21 @@ class TradingAccountField(Base): ('RemainSwap', ctypes.c_double), # 剩余换汇额度 ] - def __init__(self, BrokerID: str = '', AccountID: str = '', PreMortgage: float = 0.0, PreCredit: float = 0.0, PreDeposit: float = 0.0, PreBalance: float = 0.0, PreMargin: float = 0.0, - InterestBase: float = 0.0, Interest: float = 0.0, Deposit: float = 0.0, Withdraw: float = 0.0, FrozenMargin: float = 0.0, FrozenCash: float = 0.0, FrozenCommission: float = 0.0, - CurrMargin: float = 0.0, CashIn: float = 0.0, Commission: float = 0.0, CloseProfit: float = 0.0, PositionProfit: float = 0.0, Balance: float = 0.0, Available: float = 0.0, - WithdrawQuota: float = 0.0, Reserve: float = 0.0, TradingDay: str = '', SettlementID: int = 0, Credit: float = 0.0, Mortgage: float = 0.0, ExchangeMargin: float = 0.0, - DeliveryMargin: float = 0.0, ExchangeDeliveryMargin: float = 0.0, ReserveBalance: float = 0.0, CurrencyID: str = '', PreFundMortgageIn: float = 0.0, PreFundMortgageOut: float = 0.0, - FundMortgageIn: float = 0.0, FundMortgageOut: float = 0.0, FundMortgageAvailable: float = 0.0, MortgageableFund: float = 0.0, SpecProductMargin: float = 0.0, - SpecProductFrozenMargin: float = 0.0, SpecProductCommission: float = 0.0, SpecProductFrozenCommission: float = 0.0, SpecProductPositionProfit: float = 0.0, - SpecProductCloseProfit: float = 0.0, SpecProductPositionProfitByAlg: float = 0.0, SpecProductExchangeMargin: float = 0.0, BizType: str = '', FrozenSwap: float = 0.0, - RemainSwap: float = 0.0): + def __init__(self, BrokerID: str = '', AccountID: str = '', PreMortgage: float = 0.0, PreCredit: float = 0.0, + PreDeposit: float = 0.0, PreBalance: float = 0.0, PreMargin: float = 0.0, InterestBase: float = 0.0, + Interest: float = 0.0, Deposit: float = 0.0, Withdraw: float = 0.0, FrozenMargin: float = 0.0, + FrozenCash: float = 0.0, FrozenCommission: float = 0.0, CurrMargin: float = 0.0, CashIn: float = 0.0, + Commission: float = 0.0, CloseProfit: float = 0.0, PositionProfit: float = 0.0, Balance: float = 0.0, + Available: float = 0.0, WithdrawQuota: float = 0.0, Reserve: float = 0.0, TradingDay: str = '', + SettlementID: int = 0, Credit: float = 0.0, Mortgage: float = 0.0, ExchangeMargin: float = 0.0, + DeliveryMargin: float = 0.0, ExchangeDeliveryMargin: float = 0.0, ReserveBalance: float = 0.0, + CurrencyID: str = '', PreFundMortgageIn: float = 0.0, PreFundMortgageOut: float = 0.0, + FundMortgageIn: float = 0.0, FundMortgageOut: float = 0.0, FundMortgageAvailable: float = 0.0, + MortgageableFund: float = 0.0, SpecProductMargin: float = 0.0, SpecProductFrozenMargin: float = 0.0, + SpecProductCommission: float = 0.0, SpecProductFrozenCommission: float = 0.0, + SpecProductPositionProfit: float = 0.0, SpecProductCloseProfit: float = 0.0, + SpecProductPositionProfitByAlg: float = 0.0, SpecProductExchangeMargin: float = 0.0, BizType: str = '', + FrozenSwap: float = 0.0, RemainSwap: float = 0.0): super(TradingAccountField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.AccountID = self._to_bytes(AccountID) @@ -937,14 +979,21 @@ class InvestorPositionField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, reserve1: str = '', BrokerID: str = '', InvestorID: str = '', PosiDirection: str = '', HedgeFlag: str = '', PositionDate: str = '', YdPosition: int = 0, Position: int = 0, - LongFrozen: int = 0, ShortFrozen: int = 0, LongFrozenAmount: float = 0.0, ShortFrozenAmount: float = 0.0, OpenVolume: int = 0, CloseVolume: int = 0, OpenAmount: float = 0.0, - CloseAmount: float = 0.0, PositionCost: float = 0.0, PreMargin: float = 0.0, UseMargin: float = 0.0, FrozenMargin: float = 0.0, FrozenCash: float = 0.0, FrozenCommission: float = 0.0, - CashIn: float = 0.0, Commission: float = 0.0, CloseProfit: float = 0.0, PositionProfit: float = 0.0, PreSettlementPrice: float = 0.0, SettlementPrice: float = 0.0, - TradingDay: str = '', SettlementID: int = 0, OpenCost: float = 0.0, ExchangeMargin: float = 0.0, CombPosition: int = 0, CombLongFrozen: int = 0, CombShortFrozen: int = 0, - CloseProfitByDate: float = 0.0, CloseProfitByTrade: float = 0.0, TodayPosition: int = 0, MarginRateByMoney: float = 0.0, MarginRateByVolume: float = 0.0, StrikeFrozen: int = 0, - StrikeFrozenAmount: float = 0.0, AbandonFrozen: int = 0, ExchangeID: str = '', YdStrikeFrozen: int = 0, InvestUnitID: str = '', PositionCostOffset: float = 0.0, TasPosition: int = 0, - TasPositionCost: float = 0.0, InstrumentID: str = ''): + def __init__(self, reserve1: str = '', BrokerID: str = '', InvestorID: str = '', PosiDirection: str = '', + HedgeFlag: str = '', PositionDate: str = '', YdPosition: int = 0, Position: int = 0, + LongFrozen: int = 0, ShortFrozen: int = 0, LongFrozenAmount: float = 0.0, + ShortFrozenAmount: float = 0.0, OpenVolume: int = 0, CloseVolume: int = 0, OpenAmount: float = 0.0, + CloseAmount: float = 0.0, PositionCost: float = 0.0, PreMargin: float = 0.0, UseMargin: float = 0.0, + FrozenMargin: float = 0.0, FrozenCash: float = 0.0, FrozenCommission: float = 0.0, CashIn: float = 0.0, + Commission: float = 0.0, CloseProfit: float = 0.0, PositionProfit: float = 0.0, + PreSettlementPrice: float = 0.0, SettlementPrice: float = 0.0, TradingDay: str = '', + SettlementID: int = 0, OpenCost: float = 0.0, ExchangeMargin: float = 0.0, CombPosition: int = 0, + CombLongFrozen: int = 0, CombShortFrozen: int = 0, CloseProfitByDate: float = 0.0, + CloseProfitByTrade: float = 0.0, TodayPosition: int = 0, MarginRateByMoney: float = 0.0, + MarginRateByVolume: float = 0.0, StrikeFrozen: int = 0, StrikeFrozenAmount: float = 0.0, + AbandonFrozen: int = 0, ExchangeID: str = '', YdStrikeFrozen: int = 0, InvestUnitID: str = '', + PositionCostOffset: float = 0.0, TasPosition: int = 0, TasPositionCost: float = 0.0, + InstrumentID: str = ''): super(InvestorPositionField, self).__init__() self.reserve1 = self._to_bytes(reserve1) self.BrokerID = self._to_bytes(BrokerID) @@ -1016,9 +1065,10 @@ class InstrumentMarginRateField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, reserve1: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', HedgeFlag: str = '', LongMarginRatioByMoney: float = 0.0, - LongMarginRatioByVolume: float = 0.0, ShortMarginRatioByMoney: float = 0.0, ShortMarginRatioByVolume: float = 0.0, IsRelative: int = 0, ExchangeID: str = '', InvestUnitID: str = '', - InstrumentID: str = ''): + def __init__(self, reserve1: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', + HedgeFlag: str = '', LongMarginRatioByMoney: float = 0.0, LongMarginRatioByVolume: float = 0.0, + ShortMarginRatioByMoney: float = 0.0, ShortMarginRatioByVolume: float = 0.0, IsRelative: int = 0, + ExchangeID: str = '', InvestUnitID: str = '', InstrumentID: str = ''): super(InstrumentMarginRateField, self).__init__() self.reserve1 = self._to_bytes(reserve1) self.InvestorRange = self._to_bytes(InvestorRange) @@ -1054,9 +1104,11 @@ class InstrumentCommissionRateField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, reserve1: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', OpenRatioByMoney: float = 0.0, OpenRatioByVolume: float = 0.0, - CloseRatioByMoney: float = 0.0, CloseRatioByVolume: float = 0.0, CloseTodayRatioByMoney: float = 0.0, CloseTodayRatioByVolume: float = 0.0, ExchangeID: str = '', BizType: str = '', - InvestUnitID: str = '', InstrumentID: str = ''): + def __init__(self, reserve1: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', + OpenRatioByMoney: float = 0.0, OpenRatioByVolume: float = 0.0, CloseRatioByMoney: float = 0.0, + CloseRatioByVolume: float = 0.0, CloseTodayRatioByMoney: float = 0.0, + CloseTodayRatioByVolume: float = 0.0, ExchangeID: str = '', BizType: str = '', InvestUnitID: str = '', + InstrumentID: str = ''): super(InstrumentCommissionRateField, self).__init__() self.reserve1 = self._to_bytes(reserve1) self.InvestorRange = self._to_bytes(InvestorRange) @@ -1127,12 +1179,18 @@ class DepthMarketDataField(Base): ('BandingLowerPrice', ctypes.c_double), # 下带价 ] - def __init__(self, TradingDay: str = '', reserve1: str = '', ExchangeID: str = '', reserve2: str = '', LastPrice: float = 0.0, PreSettlementPrice: float = 0.0, PreClosePrice: float = 0.0, - PreOpenInterest: float = 0.0, OpenPrice: float = 0.0, HighestPrice: float = 0.0, LowestPrice: float = 0.0, Volume: int = 0, Turnover: float = 0.0, OpenInterest: float = 0.0, - ClosePrice: float = 0.0, SettlementPrice: float = 0.0, UpperLimitPrice: float = 0.0, LowerLimitPrice: float = 0.0, PreDelta: float = 0.0, CurrDelta: float = 0.0, UpdateTime: str = '', - UpdateMillisec: int = 0, BidPrice1: float = 0.0, BidVolume1: int = 0, AskPrice1: float = 0.0, AskVolume1: int = 0, BidPrice2: float = 0.0, BidVolume2: int = 0, AskPrice2: float = 0.0, - AskVolume2: int = 0, BidPrice3: float = 0.0, BidVolume3: int = 0, AskPrice3: float = 0.0, AskVolume3: int = 0, BidPrice4: float = 0.0, BidVolume4: int = 0, AskPrice4: float = 0.0, - AskVolume4: int = 0, BidPrice5: float = 0.0, BidVolume5: int = 0, AskPrice5: float = 0.0, AskVolume5: int = 0, AveragePrice: float = 0.0, ActionDay: str = '', InstrumentID: str = '', + def __init__(self, TradingDay: str = '', reserve1: str = '', ExchangeID: str = '', reserve2: str = '', + LastPrice: float = 0.0, PreSettlementPrice: float = 0.0, PreClosePrice: float = 0.0, + PreOpenInterest: float = 0.0, OpenPrice: float = 0.0, HighestPrice: float = 0.0, + LowestPrice: float = 0.0, Volume: int = 0, Turnover: float = 0.0, OpenInterest: float = 0.0, + ClosePrice: float = 0.0, SettlementPrice: float = 0.0, UpperLimitPrice: float = 0.0, + LowerLimitPrice: float = 0.0, PreDelta: float = 0.0, CurrDelta: float = 0.0, UpdateTime: str = '', + UpdateMillisec: int = 0, BidPrice1: float = 0.0, BidVolume1: int = 0, AskPrice1: float = 0.0, + AskVolume1: int = 0, BidPrice2: float = 0.0, BidVolume2: int = 0, AskPrice2: float = 0.0, + AskVolume2: int = 0, BidPrice3: float = 0.0, BidVolume3: int = 0, AskPrice3: float = 0.0, + AskVolume3: int = 0, BidPrice4: float = 0.0, BidVolume4: int = 0, AskPrice4: float = 0.0, + AskVolume4: int = 0, BidPrice5: float = 0.0, BidVolume5: int = 0, AskPrice5: float = 0.0, + AskVolume5: int = 0, AveragePrice: float = 0.0, ActionDay: str = '', InstrumentID: str = '', ExchangeInstID: str = '', BandingUpperPrice: float = 0.0, BandingLowerPrice: float = 0.0): super(DepthMarketDataField, self).__init__() self.TradingDay = self._to_bytes(TradingDay) @@ -1196,7 +1254,8 @@ class InstrumentTradingRightField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, reserve1: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', TradingRight: str = '', InstrumentID: str = ''): + def __init__(self, reserve1: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', + TradingRight: str = '', InstrumentID: str = ''): super(InstrumentTradingRightField, self).__init__() self.reserve1 = self._to_bytes(reserve1) self.InvestorRange = self._to_bytes(InvestorRange) @@ -1218,7 +1277,8 @@ class BrokerUserField(Base): ('IsAuthForce', ctypes.c_int), # 是否强制终端认证 ] - def __init__(self, BrokerID: str = '', UserID: str = '', UserName: str = '', UserType: str = '', IsActive: int = 0, IsUsingOTP: int = 0, IsAuthForce: int = 0): + def __init__(self, BrokerID: str = '', UserID: str = '', UserName: str = '', UserType: str = '', IsActive: int = 0, + IsUsingOTP: int = 0, IsAuthForce: int = 0): super(BrokerUserField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.UserID = self._to_bytes(UserID) @@ -1241,7 +1301,8 @@ class BrokerUserPasswordField(Base): ('WeakExpireDate', ctypes.c_char * 9), # 弱密码过期时间 ] - def __init__(self, BrokerID: str = '', UserID: str = '', Password: str = '', LastUpdateTime: str = '', LastLoginTime: str = '', ExpireDate: str = '', WeakExpireDate: str = ''): + def __init__(self, BrokerID: str = '', UserID: str = '', Password: str = '', LastUpdateTime: str = '', + LastLoginTime: str = '', ExpireDate: str = '', WeakExpireDate: str = ''): super(BrokerUserPasswordField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.UserID = self._to_bytes(UserID) @@ -1292,9 +1353,12 @@ class TraderOfferField(Base): ('OrderCancelAlg', ctypes.c_char), # 撤单时选择席位算法 ] - def __init__(self, ExchangeID: str = '', TraderID: str = '', ParticipantID: str = '', Password: str = '', InstallID: int = 0, OrderLocalID: str = '', TraderConnectStatus: str = '', - ConnectRequestDate: str = '', ConnectRequestTime: str = '', LastReportDate: str = '', LastReportTime: str = '', ConnectDate: str = '', ConnectTime: str = '', StartDate: str = '', - StartTime: str = '', TradingDay: str = '', BrokerID: str = '', MaxTradeID: str = '', MaxOrderMessageReference: str = '', OrderCancelAlg: str = ''): + def __init__(self, ExchangeID: str = '', TraderID: str = '', ParticipantID: str = '', Password: str = '', + InstallID: int = 0, OrderLocalID: str = '', TraderConnectStatus: str = '', + ConnectRequestDate: str = '', ConnectRequestTime: str = '', LastReportDate: str = '', + LastReportTime: str = '', ConnectDate: str = '', ConnectTime: str = '', StartDate: str = '', + StartTime: str = '', TradingDay: str = '', BrokerID: str = '', MaxTradeID: str = '', + MaxOrderMessageReference: str = '', OrderCancelAlg: str = ''): super(TraderOfferField, self).__init__() self.ExchangeID = self._to_bytes(ExchangeID) self.TraderID = self._to_bytes(TraderID) @@ -1331,7 +1395,8 @@ class SettlementInfoField(Base): ('CurrencyID', ctypes.c_char * 4), # 币种代码 ] - def __init__(self, TradingDay: str = '', SettlementID: int = 0, BrokerID: str = '', InvestorID: str = '', SequenceNo: int = 0, Content: str = '', AccountID: str = '', CurrencyID: str = ''): + def __init__(self, TradingDay: str = '', SettlementID: int = 0, BrokerID: str = '', InvestorID: str = '', + SequenceNo: int = 0, Content: str = '', AccountID: str = '', CurrencyID: str = ''): super(SettlementInfoField, self).__init__() self.TradingDay = self._to_bytes(TradingDay) self.SettlementID = int(SettlementID) @@ -1359,8 +1424,10 @@ class InstrumentMarginRateAdjustField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, reserve1: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', HedgeFlag: str = '', LongMarginRatioByMoney: float = 0.0, - LongMarginRatioByVolume: float = 0.0, ShortMarginRatioByMoney: float = 0.0, ShortMarginRatioByVolume: float = 0.0, IsRelative: int = 0, InstrumentID: str = ''): + def __init__(self, reserve1: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', + HedgeFlag: str = '', LongMarginRatioByMoney: float = 0.0, LongMarginRatioByVolume: float = 0.0, + ShortMarginRatioByMoney: float = 0.0, ShortMarginRatioByVolume: float = 0.0, IsRelative: int = 0, + InstrumentID: str = ''): super(InstrumentMarginRateAdjustField, self).__init__() self.reserve1 = self._to_bytes(reserve1) self.InvestorRange = self._to_bytes(InvestorRange) @@ -1389,7 +1456,8 @@ class ExchangeMarginRateField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID: str = '', reserve1: str = '', HedgeFlag: str = '', LongMarginRatioByMoney: float = 0.0, LongMarginRatioByVolume: float = 0.0, ShortMarginRatioByMoney: float = 0.0, + def __init__(self, BrokerID: str = '', reserve1: str = '', HedgeFlag: str = '', LongMarginRatioByMoney: float = 0.0, + LongMarginRatioByVolume: float = 0.0, ShortMarginRatioByMoney: float = 0.0, ShortMarginRatioByVolume: float = 0.0, ExchangeID: str = '', InstrumentID: str = ''): super(ExchangeMarginRateField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) @@ -1424,9 +1492,12 @@ class ExchangeMarginRateAdjustField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID: str = '', reserve1: str = '', HedgeFlag: str = '', LongMarginRatioByMoney: float = 0.0, LongMarginRatioByVolume: float = 0.0, ShortMarginRatioByMoney: float = 0.0, - ShortMarginRatioByVolume: float = 0.0, ExchLongMarginRatioByMoney: float = 0.0, ExchLongMarginRatioByVolume: float = 0.0, ExchShortMarginRatioByMoney: float = 0.0, - ExchShortMarginRatioByVolume: float = 0.0, NoLongMarginRatioByMoney: float = 0.0, NoLongMarginRatioByVolume: float = 0.0, NoShortMarginRatioByMoney: float = 0.0, + def __init__(self, BrokerID: str = '', reserve1: str = '', HedgeFlag: str = '', LongMarginRatioByMoney: float = 0.0, + LongMarginRatioByVolume: float = 0.0, ShortMarginRatioByMoney: float = 0.0, + ShortMarginRatioByVolume: float = 0.0, ExchLongMarginRatioByMoney: float = 0.0, + ExchLongMarginRatioByVolume: float = 0.0, ExchShortMarginRatioByMoney: float = 0.0, + ExchShortMarginRatioByVolume: float = 0.0, NoLongMarginRatioByMoney: float = 0.0, + NoLongMarginRatioByVolume: float = 0.0, NoShortMarginRatioByMoney: float = 0.0, NoShortMarginRatioByVolume: float = 0.0, InstrumentID: str = ''): super(ExchangeMarginRateAdjustField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) @@ -1457,7 +1528,8 @@ class ExchangeRateField(Base): ('ExchangeRate', ctypes.c_double), # 汇率 ] - def __init__(self, BrokerID: str = '', FromCurrencyID: str = '', FromCurrencyUnit: float = 0.0, ToCurrencyID: str = '', ExchangeRate: float = 0.0): + def __init__(self, BrokerID: str = '', FromCurrencyID: str = '', FromCurrencyUnit: float = 0.0, + ToCurrencyID: str = '', ExchangeRate: float = 0.0): super(ExchangeRateField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.FromCurrencyID = self._to_bytes(FromCurrencyID) @@ -1540,10 +1612,12 @@ class LoginInfoField(Base): ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, FrontID: int = 0, SessionID: int = 0, BrokerID: str = '', UserID: str = '', LoginDate: str = '', LoginTime: str = '', reserve1: str = '', UserProductInfo: str = '', - InterfaceProductInfo: str = '', ProtocolInfo: str = '', SystemName: str = '', PasswordDeprecated: str = '', MaxOrderRef: str = '', SHFETime: str = '', DCETime: str = '', - CZCETime: str = '', FFEXTime: str = '', MacAddress: str = '', OneTimePassword: str = '', INETime: str = '', IsQryControl: int = 0, LoginRemark: str = '', Password: str = '', - IPAddress: str = ''): + def __init__(self, FrontID: int = 0, SessionID: int = 0, BrokerID: str = '', UserID: str = '', LoginDate: str = '', + LoginTime: str = '', reserve1: str = '', UserProductInfo: str = '', InterfaceProductInfo: str = '', + ProtocolInfo: str = '', SystemName: str = '', PasswordDeprecated: str = '', MaxOrderRef: str = '', + SHFETime: str = '', DCETime: str = '', CZCETime: str = '', FFEXTime: str = '', MacAddress: str = '', + OneTimePassword: str = '', INETime: str = '', IsQryControl: int = 0, LoginRemark: str = '', + Password: str = '', IPAddress: str = ''): super(LoginInfoField, self).__init__() self.FrontID = int(FrontID) self.SessionID = int(SessionID) @@ -1644,7 +1718,7 @@ class InputOrderField(Base): ('IsAutoSuspend', ctypes.c_int), # 自动挂起标志 ('BusinessUnit', ctypes.c_char * 21), # 业务单元 ('RequestID', ctypes.c_int), # 请求编号 - ('UserForceClose', ctypes.c_int), # 用户强评标志 + ('UserForceClose', ctypes.c_int), # 用户强平标志 ('IsSwapOrder', ctypes.c_int), # 互换单标志 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 @@ -1655,13 +1729,19 @@ class InputOrderField(Base): ('MacAddress', ctypes.c_char * 21), # Mac地址 ('InstrumentID', ctypes.c_char * 81), # 合约代码 ('IPAddress', ctypes.c_char * 33), # IP地址 - ] - - def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', OrderRef: str = '', UserID: str = '', OrderPriceType: str = '', Direction: str = '', CombOffsetFlag: str = '', - CombHedgeFlag: str = '', LimitPrice: float = 0.0, VolumeTotalOriginal: int = 0, TimeCondition: str = '', GTDDate: str = '', VolumeCondition: str = '', MinVolume: int = 0, - ContingentCondition: str = '', StopPrice: float = 0.0, ForceCloseReason: str = '', IsAutoSuspend: int = 0, BusinessUnit: str = '', RequestID: int = 0, UserForceClose: int = 0, - IsSwapOrder: int = 0, ExchangeID: str = '', InvestUnitID: str = '', AccountID: str = '', CurrencyID: str = '', ClientID: str = '', reserve2: str = '', MacAddress: str = '', - InstrumentID: str = '', IPAddress: str = ''): + ('OrderMemo', ctypes.c_char * 13), # 报单回显字段 + ('SessionReqSeq', ctypes.c_int), # session上请求计数 api自动维护 + ] + + def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', OrderRef: str = '', + UserID: str = '', OrderPriceType: str = '', Direction: str = '', CombOffsetFlag: str = '', + CombHedgeFlag: str = '', LimitPrice: float = 0.0, VolumeTotalOriginal: int = 0, + TimeCondition: str = '', GTDDate: str = '', VolumeCondition: str = '', MinVolume: int = 0, + ContingentCondition: str = '', StopPrice: float = 0.0, ForceCloseReason: str = '', + IsAutoSuspend: int = 0, BusinessUnit: str = '', RequestID: int = 0, UserForceClose: int = 0, + IsSwapOrder: int = 0, ExchangeID: str = '', InvestUnitID: str = '', AccountID: str = '', + CurrencyID: str = '', ClientID: str = '', reserve2: str = '', MacAddress: str = '', + InstrumentID: str = '', IPAddress: str = '', OrderMemo: str = '', SessionReqSeq: int = 0): super(InputOrderField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -1695,6 +1775,8 @@ def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', self.MacAddress = self._to_bytes(MacAddress) self.InstrumentID = self._to_bytes(InstrumentID) self.IPAddress = self._to_bytes(IPAddress) + self.OrderMemo = self._to_bytes(OrderMemo) + self.SessionReqSeq = int(SessionReqSeq) class OrderField(Base): @@ -1751,7 +1833,7 @@ class OrderField(Base): ('SessionID', ctypes.c_int), # 会话编号 ('UserProductInfo', ctypes.c_char * 11), # 用户端产品信息 ('StatusMsg', ctypes.c_char * 81), # 状态信息 - ('UserForceClose', ctypes.c_int), # 用户强评标志 + ('UserForceClose', ctypes.c_int), # 用户强平标志 ('ActiveUserID', ctypes.c_char * 16), # 操作用户代码 ('BrokerOrderSeq', ctypes.c_int), # 经纪公司报单编号 ('RelativeOrderSysID', ctypes.c_char * 21), # 相关报单 @@ -1766,17 +1848,28 @@ class OrderField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ('ExchangeInstID', ctypes.c_char * 81), # 合约在交易所的代码 ('IPAddress', ctypes.c_char * 33), # IP地址 - ] - - def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', OrderRef: str = '', UserID: str = '', OrderPriceType: str = '', Direction: str = '', CombOffsetFlag: str = '', - CombHedgeFlag: str = '', LimitPrice: float = 0.0, VolumeTotalOriginal: int = 0, TimeCondition: str = '', GTDDate: str = '', VolumeCondition: str = '', MinVolume: int = 0, - ContingentCondition: str = '', StopPrice: float = 0.0, ForceCloseReason: str = '', IsAutoSuspend: int = 0, BusinessUnit: str = '', RequestID: int = 0, OrderLocalID: str = '', - ExchangeID: str = '', ParticipantID: str = '', ClientID: str = '', reserve2: str = '', TraderID: str = '', InstallID: int = 0, OrderSubmitStatus: str = '', NotifySequence: int = 0, - TradingDay: str = '', SettlementID: int = 0, OrderSysID: str = '', OrderSource: str = '', OrderStatus: str = '', OrderType: str = '', VolumeTraded: int = 0, VolumeTotal: int = 0, - InsertDate: str = '', InsertTime: str = '', ActiveTime: str = '', SuspendTime: str = '', UpdateTime: str = '', CancelTime: str = '', ActiveTraderID: str = '', - ClearingPartID: str = '', SequenceNo: int = 0, FrontID: int = 0, SessionID: int = 0, UserProductInfo: str = '', StatusMsg: str = '', UserForceClose: int = 0, ActiveUserID: str = '', - BrokerOrderSeq: int = 0, RelativeOrderSysID: str = '', ZCETotalTradedVolume: int = 0, IsSwapOrder: int = 0, BranchID: str = '', InvestUnitID: str = '', AccountID: str = '', - CurrencyID: str = '', reserve3: str = '', MacAddress: str = '', InstrumentID: str = '', ExchangeInstID: str = '', IPAddress: str = ''): + ('OrderMemo', ctypes.c_char * 13), # 报单回显字段 + ('SessionReqSeq', ctypes.c_int), # session上请求计数 api自动维护 + ] + + def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', OrderRef: str = '', + UserID: str = '', OrderPriceType: str = '', Direction: str = '', CombOffsetFlag: str = '', + CombHedgeFlag: str = '', LimitPrice: float = 0.0, VolumeTotalOriginal: int = 0, + TimeCondition: str = '', GTDDate: str = '', VolumeCondition: str = '', MinVolume: int = 0, + ContingentCondition: str = '', StopPrice: float = 0.0, ForceCloseReason: str = '', + IsAutoSuspend: int = 0, BusinessUnit: str = '', RequestID: int = 0, OrderLocalID: str = '', + ExchangeID: str = '', ParticipantID: str = '', ClientID: str = '', reserve2: str = '', + TraderID: str = '', InstallID: int = 0, OrderSubmitStatus: str = '', NotifySequence: int = 0, + TradingDay: str = '', SettlementID: int = 0, OrderSysID: str = '', OrderSource: str = '', + OrderStatus: str = '', OrderType: str = '', VolumeTraded: int = 0, VolumeTotal: int = 0, + InsertDate: str = '', InsertTime: str = '', ActiveTime: str = '', SuspendTime: str = '', + UpdateTime: str = '', CancelTime: str = '', ActiveTraderID: str = '', ClearingPartID: str = '', + SequenceNo: int = 0, FrontID: int = 0, SessionID: int = 0, UserProductInfo: str = '', + StatusMsg: str = '', UserForceClose: int = 0, ActiveUserID: str = '', BrokerOrderSeq: int = 0, + RelativeOrderSysID: str = '', ZCETotalTradedVolume: int = 0, IsSwapOrder: int = 0, BranchID: str = '', + InvestUnitID: str = '', AccountID: str = '', CurrencyID: str = '', reserve3: str = '', + MacAddress: str = '', InstrumentID: str = '', ExchangeInstID: str = '', IPAddress: str = '', + OrderMemo: str = '', SessionReqSeq: int = 0): super(OrderField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -1844,6 +1937,8 @@ def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', self.InstrumentID = self._to_bytes(InstrumentID) self.ExchangeInstID = self._to_bytes(ExchangeInstID) self.IPAddress = self._to_bytes(IPAddress) + self.OrderMemo = self._to_bytes(OrderMemo) + self.SessionReqSeq = int(SessionReqSeq) class ExchangeOrderField(Base): @@ -1898,13 +1993,18 @@ class ExchangeOrderField(Base): ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, OrderPriceType: str = '', Direction: str = '', CombOffsetFlag: str = '', CombHedgeFlag: str = '', LimitPrice: float = 0.0, VolumeTotalOriginal: int = 0, TimeCondition: str = '', - GTDDate: str = '', VolumeCondition: str = '', MinVolume: int = 0, ContingentCondition: str = '', StopPrice: float = 0.0, ForceCloseReason: str = '', IsAutoSuspend: int = 0, - BusinessUnit: str = '', RequestID: int = 0, OrderLocalID: str = '', ExchangeID: str = '', ParticipantID: str = '', ClientID: str = '', reserve1: str = '', TraderID: str = '', - InstallID: int = 0, OrderSubmitStatus: str = '', NotifySequence: int = 0, TradingDay: str = '', SettlementID: int = 0, OrderSysID: str = '', OrderSource: str = '', - OrderStatus: str = '', OrderType: str = '', VolumeTraded: int = 0, VolumeTotal: int = 0, InsertDate: str = '', InsertTime: str = '', ActiveTime: str = '', SuspendTime: str = '', - UpdateTime: str = '', CancelTime: str = '', ActiveTraderID: str = '', ClearingPartID: str = '', SequenceNo: int = 0, BranchID: str = '', reserve2: str = '', MacAddress: str = '', - ExchangeInstID: str = '', IPAddress: str = ''): + def __init__(self, OrderPriceType: str = '', Direction: str = '', CombOffsetFlag: str = '', CombHedgeFlag: str = '', + LimitPrice: float = 0.0, VolumeTotalOriginal: int = 0, TimeCondition: str = '', GTDDate: str = '', + VolumeCondition: str = '', MinVolume: int = 0, ContingentCondition: str = '', StopPrice: float = 0.0, + ForceCloseReason: str = '', IsAutoSuspend: int = 0, BusinessUnit: str = '', RequestID: int = 0, + OrderLocalID: str = '', ExchangeID: str = '', ParticipantID: str = '', ClientID: str = '', + reserve1: str = '', TraderID: str = '', InstallID: int = 0, OrderSubmitStatus: str = '', + NotifySequence: int = 0, TradingDay: str = '', SettlementID: int = 0, OrderSysID: str = '', + OrderSource: str = '', OrderStatus: str = '', OrderType: str = '', VolumeTraded: int = 0, + VolumeTotal: int = 0, InsertDate: str = '', InsertTime: str = '', ActiveTime: str = '', + SuspendTime: str = '', UpdateTime: str = '', CancelTime: str = '', ActiveTraderID: str = '', + ClearingPartID: str = '', SequenceNo: int = 0, BranchID: str = '', reserve2: str = '', + MacAddress: str = '', ExchangeInstID: str = '', IPAddress: str = ''): super(ExchangeOrderField, self).__init__() self.OrderPriceType = self._to_bytes(OrderPriceType) self.Direction = self._to_bytes(Direction) @@ -1967,7 +2067,8 @@ class ExchangeOrderInsertErrorField(Base): ('ErrorMsg', ctypes.c_char * 81), # 错误信息 ] - def __init__(self, ExchangeID: str = '', ParticipantID: str = '', TraderID: str = '', InstallID: int = 0, OrderLocalID: str = '', ErrorID: int = 0, ErrorMsg: str = ''): + def __init__(self, ExchangeID: str = '', ParticipantID: str = '', TraderID: str = '', InstallID: int = 0, + OrderLocalID: str = '', ErrorID: int = 0, ErrorMsg: str = ''): super(ExchangeOrderInsertErrorField, self).__init__() self.ExchangeID = self._to_bytes(ExchangeID) self.ParticipantID = self._to_bytes(ParticipantID) @@ -2000,11 +2101,15 @@ class InputOrderActionField(Base): ('MacAddress', ctypes.c_char * 21), # Mac地址 ('InstrumentID', ctypes.c_char * 81), # 合约代码 ('IPAddress', ctypes.c_char * 33), # IP地址 + ('OrderMemo', ctypes.c_char * 13), # 报单回显字段 + ('SessionReqSeq', ctypes.c_int), # session上请求计数 api自动维护 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', OrderActionRef: int = 0, OrderRef: str = '', RequestID: int = 0, FrontID: int = 0, SessionID: int = 0, ExchangeID: str = '', - OrderSysID: str = '', ActionFlag: str = '', LimitPrice: float = 0.0, VolumeChange: int = 0, UserID: str = '', reserve1: str = '', InvestUnitID: str = '', reserve2: str = '', - MacAddress: str = '', InstrumentID: str = '', IPAddress: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', OrderActionRef: int = 0, OrderRef: str = '', + RequestID: int = 0, FrontID: int = 0, SessionID: int = 0, ExchangeID: str = '', OrderSysID: str = '', + ActionFlag: str = '', LimitPrice: float = 0.0, VolumeChange: int = 0, UserID: str = '', + reserve1: str = '', InvestUnitID: str = '', reserve2: str = '', MacAddress: str = '', + InstrumentID: str = '', IPAddress: str = '', OrderMemo: str = '', SessionReqSeq: int = 0): super(InputOrderActionField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -2025,6 +2130,8 @@ def __init__(self, BrokerID: str = '', InvestorID: str = '', OrderActionRef: int self.MacAddress = self._to_bytes(MacAddress) self.InstrumentID = self._to_bytes(InstrumentID) self.IPAddress = self._to_bytes(IPAddress) + self.OrderMemo = self._to_bytes(OrderMemo) + self.SessionReqSeq = int(SessionReqSeq) class OrderActionField(Base): @@ -2061,12 +2168,18 @@ class OrderActionField(Base): ('MacAddress', ctypes.c_char * 21), # Mac地址 ('InstrumentID', ctypes.c_char * 81), # 合约代码 ('IPAddress', ctypes.c_char * 33), # IP地址 - ] - - def __init__(self, BrokerID: str = '', InvestorID: str = '', OrderActionRef: int = 0, OrderRef: str = '', RequestID: int = 0, FrontID: int = 0, SessionID: int = 0, ExchangeID: str = '', - OrderSysID: str = '', ActionFlag: str = '', LimitPrice: float = 0.0, VolumeChange: int = 0, ActionDate: str = '', ActionTime: str = '', TraderID: str = '', InstallID: int = 0, - OrderLocalID: str = '', ActionLocalID: str = '', ParticipantID: str = '', ClientID: str = '', BusinessUnit: str = '', OrderActionStatus: str = '', UserID: str = '', - StatusMsg: str = '', reserve1: str = '', BranchID: str = '', InvestUnitID: str = '', reserve2: str = '', MacAddress: str = '', InstrumentID: str = '', IPAddress: str = ''): + ('OrderMemo', ctypes.c_char * 13), # 报单回显字段 + ('SessionReqSeq', ctypes.c_int), # session上请求计数 api自动维护 + ] + + def __init__(self, BrokerID: str = '', InvestorID: str = '', OrderActionRef: int = 0, OrderRef: str = '', + RequestID: int = 0, FrontID: int = 0, SessionID: int = 0, ExchangeID: str = '', OrderSysID: str = '', + ActionFlag: str = '', LimitPrice: float = 0.0, VolumeChange: int = 0, ActionDate: str = '', + ActionTime: str = '', TraderID: str = '', InstallID: int = 0, OrderLocalID: str = '', + ActionLocalID: str = '', ParticipantID: str = '', ClientID: str = '', BusinessUnit: str = '', + OrderActionStatus: str = '', UserID: str = '', StatusMsg: str = '', reserve1: str = '', + BranchID: str = '', InvestUnitID: str = '', reserve2: str = '', MacAddress: str = '', + InstrumentID: str = '', IPAddress: str = '', OrderMemo: str = '', SessionReqSeq: int = 0): super(OrderActionField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -2099,6 +2212,8 @@ def __init__(self, BrokerID: str = '', InvestorID: str = '', OrderActionRef: int self.MacAddress = self._to_bytes(MacAddress) self.InstrumentID = self._to_bytes(InstrumentID) self.IPAddress = self._to_bytes(IPAddress) + self.OrderMemo = self._to_bytes(OrderMemo) + self.SessionReqSeq = int(SessionReqSeq) class ExchangeOrderActionField(Base): @@ -2126,9 +2241,11 @@ class ExchangeOrderActionField(Base): ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, ExchangeID: str = '', OrderSysID: str = '', ActionFlag: str = '', LimitPrice: float = 0.0, VolumeChange: int = 0, ActionDate: str = '', ActionTime: str = '', TraderID: str = '', - InstallID: int = 0, OrderLocalID: str = '', ActionLocalID: str = '', ParticipantID: str = '', ClientID: str = '', BusinessUnit: str = '', OrderActionStatus: str = '', - UserID: str = '', BranchID: str = '', reserve1: str = '', MacAddress: str = '', IPAddress: str = ''): + def __init__(self, ExchangeID: str = '', OrderSysID: str = '', ActionFlag: str = '', LimitPrice: float = 0.0, + VolumeChange: int = 0, ActionDate: str = '', ActionTime: str = '', TraderID: str = '', + InstallID: int = 0, OrderLocalID: str = '', ActionLocalID: str = '', ParticipantID: str = '', + ClientID: str = '', BusinessUnit: str = '', OrderActionStatus: str = '', UserID: str = '', + BranchID: str = '', reserve1: str = '', MacAddress: str = '', IPAddress: str = ''): super(ExchangeOrderActionField, self).__init__() self.ExchangeID = self._to_bytes(ExchangeID) self.OrderSysID = self._to_bytes(OrderSysID) @@ -2165,7 +2282,8 @@ class ExchangeOrderActionErrorField(Base): ('ErrorMsg', ctypes.c_char * 81), # 错误信息 ] - def __init__(self, ExchangeID: str = '', OrderSysID: str = '', TraderID: str = '', InstallID: int = 0, OrderLocalID: str = '', ActionLocalID: str = '', ErrorID: int = 0, ErrorMsg: str = ''): + def __init__(self, ExchangeID: str = '', OrderSysID: str = '', TraderID: str = '', InstallID: int = 0, + OrderLocalID: str = '', ActionLocalID: str = '', ErrorID: int = 0, ErrorMsg: str = ''): super(ExchangeOrderActionErrorField, self).__init__() self.ExchangeID = self._to_bytes(ExchangeID) self.OrderSysID = self._to_bytes(OrderSysID) @@ -2205,9 +2323,12 @@ class ExchangeTradeField(Base): ('ExchangeInstID', ctypes.c_char * 81), # 合约在交易所的代码 ] - def __init__(self, ExchangeID: str = '', TradeID: str = '', Direction: str = '', OrderSysID: str = '', ParticipantID: str = '', ClientID: str = '', TradingRole: str = '', reserve1: str = '', - OffsetFlag: str = '', HedgeFlag: str = '', Price: float = 0.0, Volume: int = 0, TradeDate: str = '', TradeTime: str = '', TradeType: str = '', PriceSource: str = '', - TraderID: str = '', OrderLocalID: str = '', ClearingPartID: str = '', BusinessUnit: str = '', SequenceNo: int = 0, TradeSource: str = '', ExchangeInstID: str = ''): + def __init__(self, ExchangeID: str = '', TradeID: str = '', Direction: str = '', OrderSysID: str = '', + ParticipantID: str = '', ClientID: str = '', TradingRole: str = '', reserve1: str = '', + OffsetFlag: str = '', HedgeFlag: str = '', Price: float = 0.0, Volume: int = 0, TradeDate: str = '', + TradeTime: str = '', TradeType: str = '', PriceSource: str = '', TraderID: str = '', + OrderLocalID: str = '', ClearingPartID: str = '', BusinessUnit: str = '', SequenceNo: int = 0, + TradeSource: str = '', ExchangeInstID: str = ''): super(ExchangeTradeField, self).__init__() self.ExchangeID = self._to_bytes(ExchangeID) self.TradeID = self._to_bytes(TradeID) @@ -2272,11 +2393,14 @@ class TradeField(Base): ('ExchangeInstID', ctypes.c_char * 81), # 合约在交易所的代码 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', OrderRef: str = '', UserID: str = '', ExchangeID: str = '', TradeID: str = '', Direction: str = '', - OrderSysID: str = '', ParticipantID: str = '', ClientID: str = '', TradingRole: str = '', reserve2: str = '', OffsetFlag: str = '', HedgeFlag: str = '', Price: float = 0.0, - Volume: int = 0, TradeDate: str = '', TradeTime: str = '', TradeType: str = '', PriceSource: str = '', TraderID: str = '', OrderLocalID: str = '', ClearingPartID: str = '', - BusinessUnit: str = '', SequenceNo: int = 0, TradingDay: str = '', SettlementID: int = 0, BrokerOrderSeq: int = 0, TradeSource: str = '', InvestUnitID: str = '', - InstrumentID: str = '', ExchangeInstID: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', OrderRef: str = '', + UserID: str = '', ExchangeID: str = '', TradeID: str = '', Direction: str = '', OrderSysID: str = '', + ParticipantID: str = '', ClientID: str = '', TradingRole: str = '', reserve2: str = '', + OffsetFlag: str = '', HedgeFlag: str = '', Price: float = 0.0, Volume: int = 0, TradeDate: str = '', + TradeTime: str = '', TradeType: str = '', PriceSource: str = '', TraderID: str = '', + OrderLocalID: str = '', ClearingPartID: str = '', BusinessUnit: str = '', SequenceNo: int = 0, + TradingDay: str = '', SettlementID: int = 0, BrokerOrderSeq: int = 0, TradeSource: str = '', + InvestUnitID: str = '', InstrumentID: str = '', ExchangeInstID: str = ''): super(TradeField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -2331,8 +2455,9 @@ class UserSessionField(Base): ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, FrontID: int = 0, SessionID: int = 0, BrokerID: str = '', UserID: str = '', LoginDate: str = '', LoginTime: str = '', reserve1: str = '', UserProductInfo: str = '', - InterfaceProductInfo: str = '', ProtocolInfo: str = '', MacAddress: str = '', LoginRemark: str = '', IPAddress: str = ''): + def __init__(self, FrontID: int = 0, SessionID: int = 0, BrokerID: str = '', UserID: str = '', LoginDate: str = '', + LoginTime: str = '', reserve1: str = '', UserProductInfo: str = '', InterfaceProductInfo: str = '', + ProtocolInfo: str = '', MacAddress: str = '', LoginRemark: str = '', IPAddress: str = ''): super(UserSessionField, self).__init__() self.FrontID = int(FrontID) self.SessionID = int(SessionID) @@ -2364,7 +2489,8 @@ class QryMaxOrderVolumeField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', Direction: str = '', OffsetFlag: str = '', HedgeFlag: str = '', MaxVolume: int = 0, ExchangeID: str = '', + def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', Direction: str = '', + OffsetFlag: str = '', HedgeFlag: str = '', MaxVolume: int = 0, ExchangeID: str = '', InvestUnitID: str = '', InstrumentID: str = ''): super(QryMaxOrderVolumeField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) @@ -2391,7 +2517,8 @@ class SettlementInfoConfirmField(Base): ('CurrencyID', ctypes.c_char * 4), # 币种代码 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', ConfirmDate: str = '', ConfirmTime: str = '', SettlementID: int = 0, AccountID: str = '', CurrencyID: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', ConfirmDate: str = '', ConfirmTime: str = '', + SettlementID: int = 0, AccountID: str = '', CurrencyID: str = ''): super(SettlementInfoConfirmField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -2413,9 +2540,12 @@ class SyncDepositField(Base): ('CurrencyID', ctypes.c_char * 4), # 币种代码 ('IsFromSopt', ctypes.c_int), # 是否是个股期权内转 ('TradingPassword', ctypes.c_char * 41), # 资金密码 + ('IsSecAgentTranfer', ctypes.c_int), # 是否二级代理商的内转 ] - def __init__(self, DepositSeqNo: str = '', BrokerID: str = '', InvestorID: str = '', Deposit: float = 0.0, IsForce: int = 0, CurrencyID: str = '', IsFromSopt: int = 0, TradingPassword: str = ''): + def __init__(self, DepositSeqNo: str = '', BrokerID: str = '', InvestorID: str = '', Deposit: float = 0.0, + IsForce: int = 0, CurrencyID: str = '', IsFromSopt: int = 0, TradingPassword: str = '', + IsSecAgentTranfer: int = 0): super(SyncDepositField, self).__init__() self.DepositSeqNo = self._to_bytes(DepositSeqNo) self.BrokerID = self._to_bytes(BrokerID) @@ -2425,6 +2555,7 @@ def __init__(self, DepositSeqNo: str = '', BrokerID: str = '', InvestorID: str = self.CurrencyID = self._to_bytes(CurrencyID) self.IsFromSopt = int(IsFromSopt) self.TradingPassword = self._to_bytes(TradingPassword) + self.IsSecAgentTranfer = int(IsSecAgentTranfer) class SyncFundMortgageField(Base): @@ -2438,7 +2569,8 @@ class SyncFundMortgageField(Base): ('ToCurrencyID', ctypes.c_char * 4), # 目标币种 ] - def __init__(self, MortgageSeqNo: str = '', BrokerID: str = '', InvestorID: str = '', FromCurrencyID: str = '', MortgageAmount: float = 0.0, ToCurrencyID: str = ''): + def __init__(self, MortgageSeqNo: str = '', BrokerID: str = '', InvestorID: str = '', FromCurrencyID: str = '', + MortgageAmount: float = 0.0, ToCurrencyID: str = ''): super(SyncFundMortgageField, self).__init__() self.MortgageSeqNo = self._to_bytes(MortgageSeqNo) self.BrokerID = self._to_bytes(BrokerID) @@ -2479,8 +2611,10 @@ class SyncingInvestorField(Base): ('IsOpenVolLimit', ctypes.c_char), # 是否开仓限制 ] - def __init__(self, InvestorID: str = '', BrokerID: str = '', InvestorGroupID: str = '', InvestorName: str = '', IdentifiedCardType: str = '', IdentifiedCardNo: str = '', IsActive: int = 0, - Telephone: str = '', Address: str = '', OpenDate: str = '', Mobile: str = '', CommModelID: str = '', MarginModelID: str = '', IsOrderFreq: str = '', IsOpenVolLimit: str = ''): + def __init__(self, InvestorID: str = '', BrokerID: str = '', InvestorGroupID: str = '', InvestorName: str = '', + IdentifiedCardType: str = '', IdentifiedCardNo: str = '', IsActive: int = 0, Telephone: str = '', + Address: str = '', OpenDate: str = '', Mobile: str = '', CommModelID: str = '', + MarginModelID: str = '', IsOrderFreq: str = '', IsOpenVolLimit: str = ''): super(SyncingInvestorField, self).__init__() self.InvestorID = self._to_bytes(InvestorID) self.BrokerID = self._to_bytes(BrokerID) @@ -2510,7 +2644,8 @@ class SyncingTradingCodeField(Base): ('ClientIDType', ctypes.c_char), # 交易编码类型 ] - def __init__(self, InvestorID: str = '', BrokerID: str = '', ExchangeID: str = '', ClientID: str = '', IsActive: int = 0, ClientIDType: str = ''): + def __init__(self, InvestorID: str = '', BrokerID: str = '', ExchangeID: str = '', ClientID: str = '', + IsActive: int = 0, ClientIDType: str = ''): super(SyncingTradingCodeField, self).__init__() self.InvestorID = self._to_bytes(InvestorID) self.BrokerID = self._to_bytes(BrokerID) @@ -2588,14 +2723,21 @@ class SyncingTradingAccountField(Base): ('RemainSwap', ctypes.c_double), # 剩余换汇额度 ] - def __init__(self, BrokerID: str = '', AccountID: str = '', PreMortgage: float = 0.0, PreCredit: float = 0.0, PreDeposit: float = 0.0, PreBalance: float = 0.0, PreMargin: float = 0.0, - InterestBase: float = 0.0, Interest: float = 0.0, Deposit: float = 0.0, Withdraw: float = 0.0, FrozenMargin: float = 0.0, FrozenCash: float = 0.0, FrozenCommission: float = 0.0, - CurrMargin: float = 0.0, CashIn: float = 0.0, Commission: float = 0.0, CloseProfit: float = 0.0, PositionProfit: float = 0.0, Balance: float = 0.0, Available: float = 0.0, - WithdrawQuota: float = 0.0, Reserve: float = 0.0, TradingDay: str = '', SettlementID: int = 0, Credit: float = 0.0, Mortgage: float = 0.0, ExchangeMargin: float = 0.0, - DeliveryMargin: float = 0.0, ExchangeDeliveryMargin: float = 0.0, ReserveBalance: float = 0.0, CurrencyID: str = '', PreFundMortgageIn: float = 0.0, PreFundMortgageOut: float = 0.0, - FundMortgageIn: float = 0.0, FundMortgageOut: float = 0.0, FundMortgageAvailable: float = 0.0, MortgageableFund: float = 0.0, SpecProductMargin: float = 0.0, - SpecProductFrozenMargin: float = 0.0, SpecProductCommission: float = 0.0, SpecProductFrozenCommission: float = 0.0, SpecProductPositionProfit: float = 0.0, - SpecProductCloseProfit: float = 0.0, SpecProductPositionProfitByAlg: float = 0.0, SpecProductExchangeMargin: float = 0.0, FrozenSwap: float = 0.0, RemainSwap: float = 0.0): + def __init__(self, BrokerID: str = '', AccountID: str = '', PreMortgage: float = 0.0, PreCredit: float = 0.0, + PreDeposit: float = 0.0, PreBalance: float = 0.0, PreMargin: float = 0.0, InterestBase: float = 0.0, + Interest: float = 0.0, Deposit: float = 0.0, Withdraw: float = 0.0, FrozenMargin: float = 0.0, + FrozenCash: float = 0.0, FrozenCommission: float = 0.0, CurrMargin: float = 0.0, CashIn: float = 0.0, + Commission: float = 0.0, CloseProfit: float = 0.0, PositionProfit: float = 0.0, Balance: float = 0.0, + Available: float = 0.0, WithdrawQuota: float = 0.0, Reserve: float = 0.0, TradingDay: str = '', + SettlementID: int = 0, Credit: float = 0.0, Mortgage: float = 0.0, ExchangeMargin: float = 0.0, + DeliveryMargin: float = 0.0, ExchangeDeliveryMargin: float = 0.0, ReserveBalance: float = 0.0, + CurrencyID: str = '', PreFundMortgageIn: float = 0.0, PreFundMortgageOut: float = 0.0, + FundMortgageIn: float = 0.0, FundMortgageOut: float = 0.0, FundMortgageAvailable: float = 0.0, + MortgageableFund: float = 0.0, SpecProductMargin: float = 0.0, SpecProductFrozenMargin: float = 0.0, + SpecProductCommission: float = 0.0, SpecProductFrozenCommission: float = 0.0, + SpecProductPositionProfit: float = 0.0, SpecProductCloseProfit: float = 0.0, + SpecProductPositionProfitByAlg: float = 0.0, SpecProductExchangeMargin: float = 0.0, + FrozenSwap: float = 0.0, RemainSwap: float = 0.0): super(SyncingTradingAccountField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.AccountID = self._to_bytes(AccountID) @@ -2702,14 +2844,21 @@ class SyncingInvestorPositionField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, reserve1: str = '', BrokerID: str = '', InvestorID: str = '', PosiDirection: str = '', HedgeFlag: str = '', PositionDate: str = '', YdPosition: int = 0, Position: int = 0, - LongFrozen: int = 0, ShortFrozen: int = 0, LongFrozenAmount: float = 0.0, ShortFrozenAmount: float = 0.0, OpenVolume: int = 0, CloseVolume: int = 0, OpenAmount: float = 0.0, - CloseAmount: float = 0.0, PositionCost: float = 0.0, PreMargin: float = 0.0, UseMargin: float = 0.0, FrozenMargin: float = 0.0, FrozenCash: float = 0.0, FrozenCommission: float = 0.0, - CashIn: float = 0.0, Commission: float = 0.0, CloseProfit: float = 0.0, PositionProfit: float = 0.0, PreSettlementPrice: float = 0.0, SettlementPrice: float = 0.0, - TradingDay: str = '', SettlementID: int = 0, OpenCost: float = 0.0, ExchangeMargin: float = 0.0, CombPosition: int = 0, CombLongFrozen: int = 0, CombShortFrozen: int = 0, - CloseProfitByDate: float = 0.0, CloseProfitByTrade: float = 0.0, TodayPosition: int = 0, MarginRateByMoney: float = 0.0, MarginRateByVolume: float = 0.0, StrikeFrozen: int = 0, - StrikeFrozenAmount: float = 0.0, AbandonFrozen: int = 0, ExchangeID: str = '', YdStrikeFrozen: int = 0, InvestUnitID: str = '', PositionCostOffset: float = 0.0, TasPosition: int = 0, - TasPositionCost: float = 0.0, InstrumentID: str = ''): + def __init__(self, reserve1: str = '', BrokerID: str = '', InvestorID: str = '', PosiDirection: str = '', + HedgeFlag: str = '', PositionDate: str = '', YdPosition: int = 0, Position: int = 0, + LongFrozen: int = 0, ShortFrozen: int = 0, LongFrozenAmount: float = 0.0, + ShortFrozenAmount: float = 0.0, OpenVolume: int = 0, CloseVolume: int = 0, OpenAmount: float = 0.0, + CloseAmount: float = 0.0, PositionCost: float = 0.0, PreMargin: float = 0.0, UseMargin: float = 0.0, + FrozenMargin: float = 0.0, FrozenCash: float = 0.0, FrozenCommission: float = 0.0, CashIn: float = 0.0, + Commission: float = 0.0, CloseProfit: float = 0.0, PositionProfit: float = 0.0, + PreSettlementPrice: float = 0.0, SettlementPrice: float = 0.0, TradingDay: str = '', + SettlementID: int = 0, OpenCost: float = 0.0, ExchangeMargin: float = 0.0, CombPosition: int = 0, + CombLongFrozen: int = 0, CombShortFrozen: int = 0, CloseProfitByDate: float = 0.0, + CloseProfitByTrade: float = 0.0, TodayPosition: int = 0, MarginRateByMoney: float = 0.0, + MarginRateByVolume: float = 0.0, StrikeFrozen: int = 0, StrikeFrozenAmount: float = 0.0, + AbandonFrozen: int = 0, ExchangeID: str = '', YdStrikeFrozen: int = 0, InvestUnitID: str = '', + PositionCostOffset: float = 0.0, TasPosition: int = 0, TasPositionCost: float = 0.0, + InstrumentID: str = ''): super(SyncingInvestorPositionField, self).__init__() self.reserve1 = self._to_bytes(reserve1) self.BrokerID = self._to_bytes(BrokerID) @@ -2779,8 +2928,10 @@ class SyncingInstrumentMarginRateField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, reserve1: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', HedgeFlag: str = '', LongMarginRatioByMoney: float = 0.0, - LongMarginRatioByVolume: float = 0.0, ShortMarginRatioByMoney: float = 0.0, ShortMarginRatioByVolume: float = 0.0, IsRelative: int = 0, InstrumentID: str = ''): + def __init__(self, reserve1: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', + HedgeFlag: str = '', LongMarginRatioByMoney: float = 0.0, LongMarginRatioByVolume: float = 0.0, + ShortMarginRatioByMoney: float = 0.0, ShortMarginRatioByVolume: float = 0.0, IsRelative: int = 0, + InstrumentID: str = ''): super(SyncingInstrumentMarginRateField, self).__init__() self.reserve1 = self._to_bytes(reserve1) self.InvestorRange = self._to_bytes(InvestorRange) @@ -2811,8 +2962,10 @@ class SyncingInstrumentCommissionRateField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, reserve1: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', OpenRatioByMoney: float = 0.0, OpenRatioByVolume: float = 0.0, - CloseRatioByMoney: float = 0.0, CloseRatioByVolume: float = 0.0, CloseTodayRatioByMoney: float = 0.0, CloseTodayRatioByVolume: float = 0.0, InstrumentID: str = ''): + def __init__(self, reserve1: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', + OpenRatioByMoney: float = 0.0, OpenRatioByVolume: float = 0.0, CloseRatioByMoney: float = 0.0, + CloseRatioByVolume: float = 0.0, CloseTodayRatioByMoney: float = 0.0, + CloseTodayRatioByVolume: float = 0.0, InstrumentID: str = ''): super(SyncingInstrumentCommissionRateField, self).__init__() self.reserve1 = self._to_bytes(reserve1) self.InvestorRange = self._to_bytes(InvestorRange) @@ -2838,7 +2991,8 @@ class SyncingInstrumentTradingRightField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, reserve1: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', TradingRight: str = '', InstrumentID: str = ''): + def __init__(self, reserve1: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', + TradingRight: str = '', InstrumentID: str = ''): super(SyncingInstrumentTradingRightField, self).__init__() self.reserve1 = self._to_bytes(reserve1) self.InvestorRange = self._to_bytes(InvestorRange) @@ -2862,8 +3016,9 @@ class QryOrderField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', ExchangeID: str = '', OrderSysID: str = '', InsertTimeStart: str = '', InsertTimeEnd: str = '', - InvestUnitID: str = '', InstrumentID: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', ExchangeID: str = '', + OrderSysID: str = '', InsertTimeStart: str = '', InsertTimeEnd: str = '', InvestUnitID: str = '', + InstrumentID: str = ''): super(QryOrderField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -2890,7 +3045,8 @@ class QryTradeField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', ExchangeID: str = '', TradeID: str = '', TradeTimeStart: str = '', TradeTimeEnd: str = '', InvestUnitID: str = '', + def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', ExchangeID: str = '', + TradeID: str = '', TradeTimeStart: str = '', TradeTimeEnd: str = '', InvestUnitID: str = '', InstrumentID: str = ''): super(QryTradeField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) @@ -2915,7 +3071,8 @@ class QryInvestorPositionField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', ExchangeID: str = '', InvestUnitID: str = '', InstrumentID: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', ExchangeID: str = '', + InvestUnitID: str = '', InstrumentID: str = ''): super(QryInvestorPositionField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -2935,7 +3092,8 @@ class QryTradingAccountField(Base): ('AccountID', ctypes.c_char * 13), # 投资者帐号 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', CurrencyID: str = '', BizType: str = '', AccountID: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', CurrencyID: str = '', BizType: str = '', + AccountID: str = ''): super(QryTradingAccountField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -2968,7 +3126,8 @@ class QryTradingCodeField(Base): ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', ExchangeID: str = '', ClientID: str = '', ClientIDType: str = '', InvestUnitID: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', ExchangeID: str = '', ClientID: str = '', + ClientIDType: str = '', InvestUnitID: str = ''): super(QryTradingCodeField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -3001,7 +3160,8 @@ class QryInstrumentMarginRateField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', HedgeFlag: str = '', ExchangeID: str = '', InvestUnitID: str = '', InstrumentID: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', HedgeFlag: str = '', + ExchangeID: str = '', InvestUnitID: str = '', InstrumentID: str = ''): super(QryInstrumentMarginRateField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -3023,7 +3183,8 @@ class QryInstrumentCommissionRateField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', ExchangeID: str = '', InvestUnitID: str = '', InstrumentID: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', ExchangeID: str = '', + InvestUnitID: str = '', InstrumentID: str = ''): super(QryInstrumentCommissionRateField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -3141,7 +3302,8 @@ class QryExchangeOrderField(Base): ('ExchangeInstID', ctypes.c_char * 81), # 合约在交易所的代码 ] - def __init__(self, ParticipantID: str = '', ClientID: str = '', reserve1: str = '', ExchangeID: str = '', TraderID: str = '', ExchangeInstID: str = ''): + def __init__(self, ParticipantID: str = '', ClientID: str = '', reserve1: str = '', ExchangeID: str = '', + TraderID: str = '', ExchangeInstID: str = ''): super(QryExchangeOrderField, self).__init__() self.ParticipantID = self._to_bytes(ParticipantID) self.ClientID = self._to_bytes(ClientID) @@ -3234,7 +3396,8 @@ class QryInstrumentField(Base): ('ProductID', ctypes.c_char * 81), # 产品代码 ] - def __init__(self, reserve1: str = '', ExchangeID: str = '', reserve2: str = '', reserve3: str = '', InstrumentID: str = '', ExchangeInstID: str = '', ProductID: str = ''): + def __init__(self, reserve1: str = '', ExchangeID: str = '', reserve2: str = '', reserve3: str = '', + InstrumentID: str = '', ExchangeInstID: str = '', ProductID: str = ''): super(QryInstrumentField, self).__init__() self.reserve1 = self._to_bytes(reserve1) self.ExchangeID = self._to_bytes(ExchangeID) @@ -3251,13 +3414,15 @@ class QryDepthMarketDataField(Base): ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('ProductClass', ctypes.c_char), # 产品类型 ] - def __init__(self, reserve1: str = '', ExchangeID: str = '', InstrumentID: str = ''): + def __init__(self, reserve1: str = '', ExchangeID: str = '', InstrumentID: str = '', ProductClass: str = ''): super(QryDepthMarketDataField, self).__init__() self.reserve1 = self._to_bytes(reserve1) self.ExchangeID = self._to_bytes(ExchangeID) self.InstrumentID = self._to_bytes(InstrumentID) + self.ProductClass = self._to_bytes(ProductClass) class QryBrokerUserField(Base): @@ -3324,7 +3489,8 @@ class QrySettlementInfoField(Base): ('CurrencyID', ctypes.c_char * 4), # 币种代码 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', TradingDay: str = '', AccountID: str = '', CurrencyID: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', TradingDay: str = '', AccountID: str = '', + CurrencyID: str = ''): super(QrySettlementInfoField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -3343,7 +3509,8 @@ class QryExchangeMarginRateField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID: str = '', reserve1: str = '', HedgeFlag: str = '', ExchangeID: str = '', InstrumentID: str = ''): + def __init__(self, BrokerID: str = '', reserve1: str = '', HedgeFlag: str = '', ExchangeID: str = '', + InstrumentID: str = ''): super(QryExchangeMarginRateField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.reserve1 = self._to_bytes(reserve1) @@ -3412,8 +3579,9 @@ class QryHisOrderField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', ExchangeID: str = '', OrderSysID: str = '', InsertTimeStart: str = '', InsertTimeEnd: str = '', - TradingDay: str = '', SettlementID: int = 0, InstrumentID: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', ExchangeID: str = '', + OrderSysID: str = '', InsertTimeStart: str = '', InsertTimeEnd: str = '', TradingDay: str = '', + SettlementID: int = 0, InstrumentID: str = ''): super(QryHisOrderField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -3440,8 +3608,8 @@ class OptionInstrMiniMarginField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, reserve1: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', MinMargin: float = 0.0, ValueMethod: str = '', IsRelative: int = 0, - InstrumentID: str = ''): + def __init__(self, reserve1: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', + MinMargin: float = 0.0, ValueMethod: str = '', IsRelative: int = 0, InstrumentID: str = ''): super(OptionInstrMiniMarginField, self).__init__() self.reserve1 = self._to_bytes(reserve1) self.InvestorRange = self._to_bytes(InvestorRange) @@ -3472,8 +3640,10 @@ class OptionInstrMarginAdjustField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, reserve1: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', SShortMarginRatioByMoney: float = 0.0, SShortMarginRatioByVolume: float = 0.0, - HShortMarginRatioByMoney: float = 0.0, HShortMarginRatioByVolume: float = 0.0, AShortMarginRatioByMoney: float = 0.0, AShortMarginRatioByVolume: float = 0.0, IsRelative: int = 0, + def __init__(self, reserve1: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', + SShortMarginRatioByMoney: float = 0.0, SShortMarginRatioByVolume: float = 0.0, + HShortMarginRatioByMoney: float = 0.0, HShortMarginRatioByVolume: float = 0.0, + AShortMarginRatioByMoney: float = 0.0, AShortMarginRatioByVolume: float = 0.0, IsRelative: int = 0, MShortMarginRatioByMoney: float = 0.0, MShortMarginRatioByVolume: float = 0.0, InstrumentID: str = ''): super(OptionInstrMarginAdjustField, self).__init__() self.reserve1 = self._to_bytes(reserve1) @@ -3512,9 +3682,12 @@ class OptionInstrCommRateField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, reserve1: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', OpenRatioByMoney: float = 0.0, OpenRatioByVolume: float = 0.0, - CloseRatioByMoney: float = 0.0, CloseRatioByVolume: float = 0.0, CloseTodayRatioByMoney: float = 0.0, CloseTodayRatioByVolume: float = 0.0, StrikeRatioByMoney: float = 0.0, - StrikeRatioByVolume: float = 0.0, ExchangeID: str = '', InvestUnitID: str = '', InstrumentID: str = ''): + def __init__(self, reserve1: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', + OpenRatioByMoney: float = 0.0, OpenRatioByVolume: float = 0.0, CloseRatioByMoney: float = 0.0, + CloseRatioByVolume: float = 0.0, CloseTodayRatioByMoney: float = 0.0, + CloseTodayRatioByVolume: float = 0.0, StrikeRatioByMoney: float = 0.0, + StrikeRatioByVolume: float = 0.0, ExchangeID: str = '', InvestUnitID: str = '', + InstrumentID: str = ''): super(OptionInstrCommRateField, self).__init__() self.reserve1 = self._to_bytes(reserve1) self.InvestorRange = self._to_bytes(InvestorRange) @@ -3550,8 +3723,9 @@ class OptionInstrTradeCostField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', HedgeFlag: str = '', FixedMargin: float = 0.0, MiniMargin: float = 0.0, Royalty: float = 0.0, - ExchFixedMargin: float = 0.0, ExchMiniMargin: float = 0.0, ExchangeID: str = '', InvestUnitID: str = '', InstrumentID: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', HedgeFlag: str = '', + FixedMargin: float = 0.0, MiniMargin: float = 0.0, Royalty: float = 0.0, ExchFixedMargin: float = 0.0, + ExchMiniMargin: float = 0.0, ExchangeID: str = '', InvestUnitID: str = '', InstrumentID: str = ''): super(OptionInstrTradeCostField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -3581,8 +3755,9 @@ class QryOptionInstrTradeCostField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', HedgeFlag: str = '', InputPrice: float = 0.0, UnderlyingPrice: float = 0.0, ExchangeID: str = '', - InvestUnitID: str = '', InstrumentID: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', HedgeFlag: str = '', + InputPrice: float = 0.0, UnderlyingPrice: float = 0.0, ExchangeID: str = '', InvestUnitID: str = '', + InstrumentID: str = ''): super(QryOptionInstrTradeCostField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -3606,7 +3781,8 @@ class QryOptionInstrCommRateField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', ExchangeID: str = '', InvestUnitID: str = '', InstrumentID: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', ExchangeID: str = '', + InvestUnitID: str = '', InstrumentID: str = ''): super(QryOptionInstrCommRateField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -3661,9 +3837,12 @@ class InputExecOrderField(Base): ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', ExecOrderRef: str = '', UserID: str = '', Volume: int = 0, RequestID: int = 0, BusinessUnit: str = '', - OffsetFlag: str = '', HedgeFlag: str = '', ActionType: str = '', PosiDirection: str = '', ReservePositionFlag: str = '', CloseFlag: str = '', ExchangeID: str = '', - InvestUnitID: str = '', AccountID: str = '', CurrencyID: str = '', ClientID: str = '', reserve2: str = '', MacAddress: str = '', InstrumentID: str = '', IPAddress: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', ExecOrderRef: str = '', + UserID: str = '', Volume: int = 0, RequestID: int = 0, BusinessUnit: str = '', OffsetFlag: str = '', + HedgeFlag: str = '', ActionType: str = '', PosiDirection: str = '', ReservePositionFlag: str = '', + CloseFlag: str = '', ExchangeID: str = '', InvestUnitID: str = '', AccountID: str = '', + CurrencyID: str = '', ClientID: str = '', reserve2: str = '', MacAddress: str = '', + InstrumentID: str = '', IPAddress: str = ''): super(InputExecOrderField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -3712,8 +3891,10 @@ class InputExecOrderActionField(Base): ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', ExecOrderActionRef: int = 0, ExecOrderRef: str = '', RequestID: int = 0, FrontID: int = 0, SessionID: int = 0, ExchangeID: str = '', - ExecOrderSysID: str = '', ActionFlag: str = '', UserID: str = '', reserve1: str = '', InvestUnitID: str = '', reserve2: str = '', MacAddress: str = '', InstrumentID: str = '', + def __init__(self, BrokerID: str = '', InvestorID: str = '', ExecOrderActionRef: int = 0, ExecOrderRef: str = '', + RequestID: int = 0, FrontID: int = 0, SessionID: int = 0, ExchangeID: str = '', + ExecOrderSysID: str = '', ActionFlag: str = '', UserID: str = '', reserve1: str = '', + InvestUnitID: str = '', reserve2: str = '', MacAddress: str = '', InstrumentID: str = '', IPAddress: str = ''): super(InputExecOrderActionField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) @@ -3787,12 +3968,17 @@ class ExecOrderField(Base): ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', ExecOrderRef: str = '', UserID: str = '', Volume: int = 0, RequestID: int = 0, BusinessUnit: str = '', - OffsetFlag: str = '', HedgeFlag: str = '', ActionType: str = '', PosiDirection: str = '', ReservePositionFlag: str = '', CloseFlag: str = '', ExecOrderLocalID: str = '', - ExchangeID: str = '', ParticipantID: str = '', ClientID: str = '', reserve2: str = '', TraderID: str = '', InstallID: int = 0, OrderSubmitStatus: str = '', NotifySequence: int = 0, - TradingDay: str = '', SettlementID: int = 0, ExecOrderSysID: str = '', InsertDate: str = '', InsertTime: str = '', CancelTime: str = '', ExecResult: str = '', - ClearingPartID: str = '', SequenceNo: int = 0, FrontID: int = 0, SessionID: int = 0, UserProductInfo: str = '', StatusMsg: str = '', ActiveUserID: str = '', - BrokerExecOrderSeq: int = 0, BranchID: str = '', InvestUnitID: str = '', AccountID: str = '', CurrencyID: str = '', reserve3: str = '', MacAddress: str = '', InstrumentID: str = '', + def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', ExecOrderRef: str = '', + UserID: str = '', Volume: int = 0, RequestID: int = 0, BusinessUnit: str = '', OffsetFlag: str = '', + HedgeFlag: str = '', ActionType: str = '', PosiDirection: str = '', ReservePositionFlag: str = '', + CloseFlag: str = '', ExecOrderLocalID: str = '', ExchangeID: str = '', ParticipantID: str = '', + ClientID: str = '', reserve2: str = '', TraderID: str = '', InstallID: int = 0, + OrderSubmitStatus: str = '', NotifySequence: int = 0, TradingDay: str = '', SettlementID: int = 0, + ExecOrderSysID: str = '', InsertDate: str = '', InsertTime: str = '', CancelTime: str = '', + ExecResult: str = '', ClearingPartID: str = '', SequenceNo: int = 0, FrontID: int = 0, + SessionID: int = 0, UserProductInfo: str = '', StatusMsg: str = '', ActiveUserID: str = '', + BrokerExecOrderSeq: int = 0, BranchID: str = '', InvestUnitID: str = '', AccountID: str = '', + CurrencyID: str = '', reserve3: str = '', MacAddress: str = '', InstrumentID: str = '', ExchangeInstID: str = '', IPAddress: str = ''): super(ExecOrderField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) @@ -3879,10 +4065,14 @@ class ExecOrderActionField(Base): ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', ExecOrderActionRef: int = 0, ExecOrderRef: str = '', RequestID: int = 0, FrontID: int = 0, SessionID: int = 0, ExchangeID: str = '', - ExecOrderSysID: str = '', ActionFlag: str = '', ActionDate: str = '', ActionTime: str = '', TraderID: str = '', InstallID: int = 0, ExecOrderLocalID: str = '', - ActionLocalID: str = '', ParticipantID: str = '', ClientID: str = '', BusinessUnit: str = '', OrderActionStatus: str = '', UserID: str = '', ActionType: str = '', StatusMsg: str = '', - reserve1: str = '', BranchID: str = '', InvestUnitID: str = '', reserve2: str = '', MacAddress: str = '', InstrumentID: str = '', IPAddress: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', ExecOrderActionRef: int = 0, ExecOrderRef: str = '', + RequestID: int = 0, FrontID: int = 0, SessionID: int = 0, ExchangeID: str = '', + ExecOrderSysID: str = '', ActionFlag: str = '', ActionDate: str = '', ActionTime: str = '', + TraderID: str = '', InstallID: int = 0, ExecOrderLocalID: str = '', ActionLocalID: str = '', + ParticipantID: str = '', ClientID: str = '', BusinessUnit: str = '', OrderActionStatus: str = '', + UserID: str = '', ActionType: str = '', StatusMsg: str = '', reserve1: str = '', BranchID: str = '', + InvestUnitID: str = '', reserve2: str = '', MacAddress: str = '', InstrumentID: str = '', + IPAddress: str = ''): super(ExecOrderActionField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -3929,8 +4119,8 @@ class QryExecOrderField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', ExchangeID: str = '', ExecOrderSysID: str = '', InsertTimeStart: str = '', InsertTimeEnd: str = '', - InstrumentID: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', ExchangeID: str = '', + ExecOrderSysID: str = '', InsertTimeStart: str = '', InsertTimeEnd: str = '', InstrumentID: str = ''): super(QryExecOrderField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -3979,11 +4169,14 @@ class ExchangeExecOrderField(Base): ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, Volume: int = 0, RequestID: int = 0, BusinessUnit: str = '', OffsetFlag: str = '', HedgeFlag: str = '', ActionType: str = '', PosiDirection: str = '', - ReservePositionFlag: str = '', CloseFlag: str = '', ExecOrderLocalID: str = '', ExchangeID: str = '', ParticipantID: str = '', ClientID: str = '', reserve1: str = '', - TraderID: str = '', InstallID: int = 0, OrderSubmitStatus: str = '', NotifySequence: int = 0, TradingDay: str = '', SettlementID: int = 0, ExecOrderSysID: str = '', - InsertDate: str = '', InsertTime: str = '', CancelTime: str = '', ExecResult: str = '', ClearingPartID: str = '', SequenceNo: int = 0, BranchID: str = '', reserve2: str = '', - MacAddress: str = '', ExchangeInstID: str = '', IPAddress: str = ''): + def __init__(self, Volume: int = 0, RequestID: int = 0, BusinessUnit: str = '', OffsetFlag: str = '', + HedgeFlag: str = '', ActionType: str = '', PosiDirection: str = '', ReservePositionFlag: str = '', + CloseFlag: str = '', ExecOrderLocalID: str = '', ExchangeID: str = '', ParticipantID: str = '', + ClientID: str = '', reserve1: str = '', TraderID: str = '', InstallID: int = 0, + OrderSubmitStatus: str = '', NotifySequence: int = 0, TradingDay: str = '', SettlementID: int = 0, + ExecOrderSysID: str = '', InsertDate: str = '', InsertTime: str = '', CancelTime: str = '', + ExecResult: str = '', ClearingPartID: str = '', SequenceNo: int = 0, BranchID: str = '', + reserve2: str = '', MacAddress: str = '', ExchangeInstID: str = '', IPAddress: str = ''): super(ExchangeExecOrderField, self).__init__() self.Volume = int(Volume) self.RequestID = int(RequestID) @@ -4030,7 +4223,8 @@ class QryExchangeExecOrderField(Base): ('ExchangeInstID', ctypes.c_char * 81), # 合约在交易所的代码 ] - def __init__(self, ParticipantID: str = '', ClientID: str = '', reserve1: str = '', ExchangeID: str = '', TraderID: str = '', ExchangeInstID: str = ''): + def __init__(self, ParticipantID: str = '', ClientID: str = '', reserve1: str = '', ExchangeID: str = '', + TraderID: str = '', ExchangeInstID: str = ''): super(QryExchangeExecOrderField, self).__init__() self.ParticipantID = self._to_bytes(ParticipantID) self.ClientID = self._to_bytes(ClientID) @@ -4082,9 +4276,12 @@ class ExchangeExecOrderActionField(Base): ('ExchangeInstID', ctypes.c_char * 81), # 合约在交易所的代码 ] - def __init__(self, ExchangeID: str = '', ExecOrderSysID: str = '', ActionFlag: str = '', ActionDate: str = '', ActionTime: str = '', TraderID: str = '', InstallID: int = 0, - ExecOrderLocalID: str = '', ActionLocalID: str = '', ParticipantID: str = '', ClientID: str = '', BusinessUnit: str = '', OrderActionStatus: str = '', UserID: str = '', - ActionType: str = '', BranchID: str = '', reserve1: str = '', MacAddress: str = '', reserve2: str = '', Volume: int = 0, IPAddress: str = '', ExchangeInstID: str = ''): + def __init__(self, ExchangeID: str = '', ExecOrderSysID: str = '', ActionFlag: str = '', ActionDate: str = '', + ActionTime: str = '', TraderID: str = '', InstallID: int = 0, ExecOrderLocalID: str = '', + ActionLocalID: str = '', ParticipantID: str = '', ClientID: str = '', BusinessUnit: str = '', + OrderActionStatus: str = '', UserID: str = '', ActionType: str = '', BranchID: str = '', + reserve1: str = '', MacAddress: str = '', reserve2: str = '', Volume: int = 0, IPAddress: str = '', + ExchangeInstID: str = ''): super(ExchangeExecOrderActionField, self).__init__() self.ExchangeID = self._to_bytes(ExchangeID) self.ExecOrderSysID = self._to_bytes(ExecOrderSysID) @@ -4157,10 +4354,12 @@ class ErrExecOrderField(Base): ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', ExecOrderRef: str = '', UserID: str = '', Volume: int = 0, RequestID: int = 0, BusinessUnit: str = '', - OffsetFlag: str = '', HedgeFlag: str = '', ActionType: str = '', PosiDirection: str = '', ReservePositionFlag: str = '', CloseFlag: str = '', ExchangeID: str = '', - InvestUnitID: str = '', AccountID: str = '', CurrencyID: str = '', ClientID: str = '', reserve2: str = '', MacAddress: str = '', ErrorID: int = 0, ErrorMsg: str = '', - InstrumentID: str = '', IPAddress: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', ExecOrderRef: str = '', + UserID: str = '', Volume: int = 0, RequestID: int = 0, BusinessUnit: str = '', OffsetFlag: str = '', + HedgeFlag: str = '', ActionType: str = '', PosiDirection: str = '', ReservePositionFlag: str = '', + CloseFlag: str = '', ExchangeID: str = '', InvestUnitID: str = '', AccountID: str = '', + CurrencyID: str = '', ClientID: str = '', reserve2: str = '', MacAddress: str = '', ErrorID: int = 0, + ErrorMsg: str = '', InstrumentID: str = '', IPAddress: str = ''): super(ErrExecOrderField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -4226,9 +4425,11 @@ class ErrExecOrderActionField(Base): ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', ExecOrderActionRef: int = 0, ExecOrderRef: str = '', RequestID: int = 0, FrontID: int = 0, SessionID: int = 0, ExchangeID: str = '', - ExecOrderSysID: str = '', ActionFlag: str = '', UserID: str = '', reserve1: str = '', InvestUnitID: str = '', reserve2: str = '', MacAddress: str = '', ErrorID: int = 0, - ErrorMsg: str = '', InstrumentID: str = '', IPAddress: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', ExecOrderActionRef: int = 0, ExecOrderRef: str = '', + RequestID: int = 0, FrontID: int = 0, SessionID: int = 0, ExchangeID: str = '', + ExecOrderSysID: str = '', ActionFlag: str = '', UserID: str = '', reserve1: str = '', + InvestUnitID: str = '', reserve2: str = '', MacAddress: str = '', ErrorID: int = 0, ErrorMsg: str = '', + InstrumentID: str = '', IPAddress: str = ''): super(ErrExecOrderActionField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -4276,7 +4477,8 @@ class OptionInstrTradingRightField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, reserve1: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', Direction: str = '', TradingRight: str = '', InstrumentID: str = ''): + def __init__(self, reserve1: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', + Direction: str = '', TradingRight: str = '', InstrumentID: str = ''): super(OptionInstrTradingRightField, self).__init__() self.reserve1 = self._to_bytes(reserve1) self.InvestorRange = self._to_bytes(InvestorRange) @@ -4297,7 +4499,8 @@ class QryOptionInstrTradingRightField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', Direction: str = '', InstrumentID: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', Direction: str = '', + InstrumentID: str = ''): super(QryOptionInstrTradingRightField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -4322,7 +4525,8 @@ class InputForQuoteField(Base): ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', ForQuoteRef: str = '', UserID: str = '', ExchangeID: str = '', InvestUnitID: str = '', reserve2: str = '', + def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', ForQuoteRef: str = '', + UserID: str = '', ExchangeID: str = '', InvestUnitID: str = '', reserve2: str = '', MacAddress: str = '', InstrumentID: str = '', IPAddress: str = ''): super(InputForQuoteField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) @@ -4369,10 +4573,13 @@ class ForQuoteField(Base): ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', ForQuoteRef: str = '', UserID: str = '', ForQuoteLocalID: str = '', ExchangeID: str = '', ParticipantID: str = '', - ClientID: str = '', reserve2: str = '', TraderID: str = '', InstallID: int = 0, InsertDate: str = '', InsertTime: str = '', ForQuoteStatus: str = '', FrontID: int = 0, - SessionID: int = 0, StatusMsg: str = '', ActiveUserID: str = '', BrokerForQutoSeq: int = 0, InvestUnitID: str = '', reserve3: str = '', MacAddress: str = '', InstrumentID: str = '', - ExchangeInstID: str = '', IPAddress: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', ForQuoteRef: str = '', + UserID: str = '', ForQuoteLocalID: str = '', ExchangeID: str = '', ParticipantID: str = '', + ClientID: str = '', reserve2: str = '', TraderID: str = '', InstallID: int = 0, InsertDate: str = '', + InsertTime: str = '', ForQuoteStatus: str = '', FrontID: int = 0, SessionID: int = 0, + StatusMsg: str = '', ActiveUserID: str = '', BrokerForQutoSeq: int = 0, InvestUnitID: str = '', + reserve3: str = '', MacAddress: str = '', InstrumentID: str = '', ExchangeInstID: str = '', + IPAddress: str = ''): super(ForQuoteField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -4415,8 +4622,8 @@ class QryForQuoteField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', ExchangeID: str = '', InsertTimeStart: str = '', InsertTimeEnd: str = '', InvestUnitID: str = '', - InstrumentID: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', ExchangeID: str = '', + InsertTimeStart: str = '', InsertTimeEnd: str = '', InvestUnitID: str = '', InstrumentID: str = ''): super(QryForQuoteField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -4447,8 +4654,10 @@ class ExchangeForQuoteField(Base): ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, ForQuoteLocalID: str = '', ExchangeID: str = '', ParticipantID: str = '', ClientID: str = '', reserve1: str = '', TraderID: str = '', InstallID: int = 0, InsertDate: str = '', - InsertTime: str = '', ForQuoteStatus: str = '', reserve2: str = '', MacAddress: str = '', ExchangeInstID: str = '', IPAddress: str = ''): + def __init__(self, ForQuoteLocalID: str = '', ExchangeID: str = '', ParticipantID: str = '', ClientID: str = '', + reserve1: str = '', TraderID: str = '', InstallID: int = 0, InsertDate: str = '', InsertTime: str = '', + ForQuoteStatus: str = '', reserve2: str = '', MacAddress: str = '', ExchangeInstID: str = '', + IPAddress: str = ''): super(ExchangeForQuoteField, self).__init__() self.ForQuoteLocalID = self._to_bytes(ForQuoteLocalID) self.ExchangeID = self._to_bytes(ExchangeID) @@ -4477,7 +4686,8 @@ class QryExchangeForQuoteField(Base): ('ExchangeInstID', ctypes.c_char * 81), # 合约在交易所的代码 ] - def __init__(self, ParticipantID: str = '', ClientID: str = '', reserve1: str = '', ExchangeID: str = '', TraderID: str = '', ExchangeInstID: str = ''): + def __init__(self, ParticipantID: str = '', ClientID: str = '', reserve1: str = '', ExchangeID: str = '', + TraderID: str = '', ExchangeInstID: str = ''): super(QryExchangeForQuoteField, self).__init__() self.ParticipantID = self._to_bytes(ParticipantID) self.ClientID = self._to_bytes(ClientID) @@ -4516,12 +4726,18 @@ class InputQuoteField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ('IPAddress', ctypes.c_char * 33), # IP地址 ('ReplaceSysID', ctypes.c_char * 21), # 被顶单编号 + ('TimeCondition', ctypes.c_char), # 有效期类型 + ('OrderMemo', ctypes.c_char * 13), # 报单回显字段 + ('SessionReqSeq', ctypes.c_int), # session上请求计数 api自动维护 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', QuoteRef: str = '', UserID: str = '', AskPrice: float = 0.0, BidPrice: float = 0.0, AskVolume: int = 0, - BidVolume: int = 0, RequestID: int = 0, BusinessUnit: str = '', AskOffsetFlag: str = '', BidOffsetFlag: str = '', AskHedgeFlag: str = '', BidHedgeFlag: str = '', - AskOrderRef: str = '', BidOrderRef: str = '', ForQuoteSysID: str = '', ExchangeID: str = '', InvestUnitID: str = '', ClientID: str = '', reserve2: str = '', MacAddress: str = '', - InstrumentID: str = '', IPAddress: str = '', ReplaceSysID: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', QuoteRef: str = '', + UserID: str = '', AskPrice: float = 0.0, BidPrice: float = 0.0, AskVolume: int = 0, BidVolume: int = 0, + RequestID: int = 0, BusinessUnit: str = '', AskOffsetFlag: str = '', BidOffsetFlag: str = '', + AskHedgeFlag: str = '', BidHedgeFlag: str = '', AskOrderRef: str = '', BidOrderRef: str = '', + ForQuoteSysID: str = '', ExchangeID: str = '', InvestUnitID: str = '', ClientID: str = '', + reserve2: str = '', MacAddress: str = '', InstrumentID: str = '', IPAddress: str = '', + ReplaceSysID: str = '', TimeCondition: str = '', OrderMemo: str = '', SessionReqSeq: int = 0): super(InputQuoteField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -4549,6 +4765,9 @@ def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', self.InstrumentID = self._to_bytes(InstrumentID) self.IPAddress = self._to_bytes(IPAddress) self.ReplaceSysID = self._to_bytes(ReplaceSysID) + self.TimeCondition = self._to_bytes(TimeCondition) + self.OrderMemo = self._to_bytes(OrderMemo) + self.SessionReqSeq = int(SessionReqSeq) class InputQuoteActionField(Base): @@ -4572,11 +4791,15 @@ class InputQuoteActionField(Base): ('MacAddress', ctypes.c_char * 21), # Mac地址 ('InstrumentID', ctypes.c_char * 81), # 合约代码 ('IPAddress', ctypes.c_char * 33), # IP地址 + ('OrderMemo', ctypes.c_char * 13), # 报单回显字段 + ('SessionReqSeq', ctypes.c_int), # session上请求计数 api自动维护 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', QuoteActionRef: int = 0, QuoteRef: str = '', RequestID: int = 0, FrontID: int = 0, SessionID: int = 0, ExchangeID: str = '', - QuoteSysID: str = '', ActionFlag: str = '', UserID: str = '', reserve1: str = '', InvestUnitID: str = '', ClientID: str = '', reserve2: str = '', MacAddress: str = '', - InstrumentID: str = '', IPAddress: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', QuoteActionRef: int = 0, QuoteRef: str = '', + RequestID: int = 0, FrontID: int = 0, SessionID: int = 0, ExchangeID: str = '', QuoteSysID: str = '', + ActionFlag: str = '', UserID: str = '', reserve1: str = '', InvestUnitID: str = '', ClientID: str = '', + reserve2: str = '', MacAddress: str = '', InstrumentID: str = '', IPAddress: str = '', + OrderMemo: str = '', SessionReqSeq: int = 0): super(InputQuoteActionField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -4596,6 +4819,8 @@ def __init__(self, BrokerID: str = '', InvestorID: str = '', QuoteActionRef: int self.MacAddress = self._to_bytes(MacAddress) self.InstrumentID = self._to_bytes(InstrumentID) self.IPAddress = self._to_bytes(IPAddress) + self.OrderMemo = self._to_bytes(OrderMemo) + self.SessionReqSeq = int(SessionReqSeq) class QuoteField(Base): @@ -4655,16 +4880,25 @@ class QuoteField(Base): ('ExchangeInstID', ctypes.c_char * 81), # 合约在交易所的代码 ('IPAddress', ctypes.c_char * 33), # IP地址 ('ReplaceSysID', ctypes.c_char * 21), # 被顶单编号 - ] - - def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', QuoteRef: str = '', UserID: str = '', AskPrice: float = 0.0, BidPrice: float = 0.0, AskVolume: int = 0, - BidVolume: int = 0, RequestID: int = 0, BusinessUnit: str = '', AskOffsetFlag: str = '', BidOffsetFlag: str = '', AskHedgeFlag: str = '', BidHedgeFlag: str = '', - QuoteLocalID: str = '', ExchangeID: str = '', ParticipantID: str = '', ClientID: str = '', reserve2: str = '', TraderID: str = '', InstallID: int = 0, NotifySequence: int = 0, - OrderSubmitStatus: str = '', TradingDay: str = '', SettlementID: int = 0, QuoteSysID: str = '', InsertDate: str = '', InsertTime: str = '', CancelTime: str = '', - QuoteStatus: str = '', ClearingPartID: str = '', SequenceNo: int = 0, AskOrderSysID: str = '', BidOrderSysID: str = '', FrontID: int = 0, SessionID: int = 0, - UserProductInfo: str = '', StatusMsg: str = '', ActiveUserID: str = '', BrokerQuoteSeq: int = 0, AskOrderRef: str = '', BidOrderRef: str = '', ForQuoteSysID: str = '', - BranchID: str = '', InvestUnitID: str = '', AccountID: str = '', CurrencyID: str = '', reserve3: str = '', MacAddress: str = '', InstrumentID: str = '', ExchangeInstID: str = '', - IPAddress: str = '', ReplaceSysID: str = ''): + ('TimeCondition', ctypes.c_char), # 有效期类型 + ('OrderMemo', ctypes.c_char * 13), # 报单回显字段 + ('SessionReqSeq', ctypes.c_int), # session上请求计数 api自动维护 + ] + + def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', QuoteRef: str = '', + UserID: str = '', AskPrice: float = 0.0, BidPrice: float = 0.0, AskVolume: int = 0, BidVolume: int = 0, + RequestID: int = 0, BusinessUnit: str = '', AskOffsetFlag: str = '', BidOffsetFlag: str = '', + AskHedgeFlag: str = '', BidHedgeFlag: str = '', QuoteLocalID: str = '', ExchangeID: str = '', + ParticipantID: str = '', ClientID: str = '', reserve2: str = '', TraderID: str = '', + InstallID: int = 0, NotifySequence: int = 0, OrderSubmitStatus: str = '', TradingDay: str = '', + SettlementID: int = 0, QuoteSysID: str = '', InsertDate: str = '', InsertTime: str = '', + CancelTime: str = '', QuoteStatus: str = '', ClearingPartID: str = '', SequenceNo: int = 0, + AskOrderSysID: str = '', BidOrderSysID: str = '', FrontID: int = 0, SessionID: int = 0, + UserProductInfo: str = '', StatusMsg: str = '', ActiveUserID: str = '', BrokerQuoteSeq: int = 0, + AskOrderRef: str = '', BidOrderRef: str = '', ForQuoteSysID: str = '', BranchID: str = '', + InvestUnitID: str = '', AccountID: str = '', CurrencyID: str = '', reserve3: str = '', + MacAddress: str = '', InstrumentID: str = '', ExchangeInstID: str = '', IPAddress: str = '', + ReplaceSysID: str = '', TimeCondition: str = '', OrderMemo: str = '', SessionReqSeq: int = 0): super(QuoteField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -4720,6 +4954,9 @@ def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', self.ExchangeInstID = self._to_bytes(ExchangeInstID) self.IPAddress = self._to_bytes(IPAddress) self.ReplaceSysID = self._to_bytes(ReplaceSysID) + self.TimeCondition = self._to_bytes(TimeCondition) + self.OrderMemo = self._to_bytes(OrderMemo) + self.SessionReqSeq = int(SessionReqSeq) class QuoteActionField(Base): @@ -4754,12 +4991,18 @@ class QuoteActionField(Base): ('MacAddress', ctypes.c_char * 21), # Mac地址 ('InstrumentID', ctypes.c_char * 81), # 合约代码 ('IPAddress', ctypes.c_char * 33), # IP地址 - ] - - def __init__(self, BrokerID: str = '', InvestorID: str = '', QuoteActionRef: int = 0, QuoteRef: str = '', RequestID: int = 0, FrontID: int = 0, SessionID: int = 0, ExchangeID: str = '', - QuoteSysID: str = '', ActionFlag: str = '', ActionDate: str = '', ActionTime: str = '', TraderID: str = '', InstallID: int = 0, QuoteLocalID: str = '', ActionLocalID: str = '', - ParticipantID: str = '', ClientID: str = '', BusinessUnit: str = '', OrderActionStatus: str = '', UserID: str = '', StatusMsg: str = '', reserve1: str = '', BranchID: str = '', - InvestUnitID: str = '', reserve2: str = '', MacAddress: str = '', InstrumentID: str = '', IPAddress: str = ''): + ('OrderMemo', ctypes.c_char * 13), # 报单回显字段 + ('SessionReqSeq', ctypes.c_int), # session上请求计数 api自动维护 + ] + + def __init__(self, BrokerID: str = '', InvestorID: str = '', QuoteActionRef: int = 0, QuoteRef: str = '', + RequestID: int = 0, FrontID: int = 0, SessionID: int = 0, ExchangeID: str = '', QuoteSysID: str = '', + ActionFlag: str = '', ActionDate: str = '', ActionTime: str = '', TraderID: str = '', + InstallID: int = 0, QuoteLocalID: str = '', ActionLocalID: str = '', ParticipantID: str = '', + ClientID: str = '', BusinessUnit: str = '', OrderActionStatus: str = '', UserID: str = '', + StatusMsg: str = '', reserve1: str = '', BranchID: str = '', InvestUnitID: str = '', + reserve2: str = '', MacAddress: str = '', InstrumentID: str = '', IPAddress: str = '', + OrderMemo: str = '', SessionReqSeq: int = 0): super(QuoteActionField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -4790,6 +5033,8 @@ def __init__(self, BrokerID: str = '', InvestorID: str = '', QuoteActionRef: int self.MacAddress = self._to_bytes(MacAddress) self.InstrumentID = self._to_bytes(InstrumentID) self.IPAddress = self._to_bytes(IPAddress) + self.OrderMemo = self._to_bytes(OrderMemo) + self.SessionReqSeq = int(SessionReqSeq) class QryQuoteField(Base): @@ -4806,8 +5051,9 @@ class QryQuoteField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', ExchangeID: str = '', QuoteSysID: str = '', InsertTimeStart: str = '', InsertTimeEnd: str = '', - InvestUnitID: str = '', InstrumentID: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', ExchangeID: str = '', + QuoteSysID: str = '', InsertTimeStart: str = '', InsertTimeEnd: str = '', InvestUnitID: str = '', + InstrumentID: str = ''): super(QryQuoteField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -4859,13 +5105,19 @@ class ExchangeQuoteField(Base): ('MacAddress', ctypes.c_char * 21), # Mac地址 ('ExchangeInstID', ctypes.c_char * 81), # 合约在交易所的代码 ('IPAddress', ctypes.c_char * 33), # IP地址 + ('TimeCondition', ctypes.c_char), # 有效期类型 ] - def __init__(self, AskPrice: float = 0.0, BidPrice: float = 0.0, AskVolume: int = 0, BidVolume: int = 0, RequestID: int = 0, BusinessUnit: str = '', AskOffsetFlag: str = '', - BidOffsetFlag: str = '', AskHedgeFlag: str = '', BidHedgeFlag: str = '', QuoteLocalID: str = '', ExchangeID: str = '', ParticipantID: str = '', ClientID: str = '', reserve1: str = '', - TraderID: str = '', InstallID: int = 0, NotifySequence: int = 0, OrderSubmitStatus: str = '', TradingDay: str = '', SettlementID: int = 0, QuoteSysID: str = '', InsertDate: str = '', - InsertTime: str = '', CancelTime: str = '', QuoteStatus: str = '', ClearingPartID: str = '', SequenceNo: int = 0, AskOrderSysID: str = '', BidOrderSysID: str = '', - ForQuoteSysID: str = '', BranchID: str = '', reserve2: str = '', MacAddress: str = '', ExchangeInstID: str = '', IPAddress: str = ''): + def __init__(self, AskPrice: float = 0.0, BidPrice: float = 0.0, AskVolume: int = 0, BidVolume: int = 0, + RequestID: int = 0, BusinessUnit: str = '', AskOffsetFlag: str = '', BidOffsetFlag: str = '', + AskHedgeFlag: str = '', BidHedgeFlag: str = '', QuoteLocalID: str = '', ExchangeID: str = '', + ParticipantID: str = '', ClientID: str = '', reserve1: str = '', TraderID: str = '', + InstallID: int = 0, NotifySequence: int = 0, OrderSubmitStatus: str = '', TradingDay: str = '', + SettlementID: int = 0, QuoteSysID: str = '', InsertDate: str = '', InsertTime: str = '', + CancelTime: str = '', QuoteStatus: str = '', ClearingPartID: str = '', SequenceNo: int = 0, + AskOrderSysID: str = '', BidOrderSysID: str = '', ForQuoteSysID: str = '', BranchID: str = '', + reserve2: str = '', MacAddress: str = '', ExchangeInstID: str = '', IPAddress: str = '', + TimeCondition: str = ''): super(ExchangeQuoteField, self).__init__() self.AskPrice = float(AskPrice) self.BidPrice = float(BidPrice) @@ -4903,6 +5155,7 @@ def __init__(self, AskPrice: float = 0.0, BidPrice: float = 0.0, AskVolume: int self.MacAddress = self._to_bytes(MacAddress) self.ExchangeInstID = self._to_bytes(ExchangeInstID) self.IPAddress = self._to_bytes(IPAddress) + self.TimeCondition = self._to_bytes(TimeCondition) class QryExchangeQuoteField(Base): @@ -4916,7 +5169,8 @@ class QryExchangeQuoteField(Base): ('ExchangeInstID', ctypes.c_char * 81), # 合约在交易所的代码 ] - def __init__(self, ParticipantID: str = '', ClientID: str = '', reserve1: str = '', ExchangeID: str = '', TraderID: str = '', ExchangeInstID: str = ''): + def __init__(self, ParticipantID: str = '', ClientID: str = '', reserve1: str = '', ExchangeID: str = '', + TraderID: str = '', ExchangeInstID: str = ''): super(QryExchangeQuoteField, self).__init__() self.ParticipantID = self._to_bytes(ParticipantID) self.ClientID = self._to_bytes(ClientID) @@ -4963,8 +5217,10 @@ class ExchangeQuoteActionField(Base): ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, ExchangeID: str = '', QuoteSysID: str = '', ActionFlag: str = '', ActionDate: str = '', ActionTime: str = '', TraderID: str = '', InstallID: int = 0, QuoteLocalID: str = '', - ActionLocalID: str = '', ParticipantID: str = '', ClientID: str = '', BusinessUnit: str = '', OrderActionStatus: str = '', UserID: str = '', reserve1: str = '', MacAddress: str = '', + def __init__(self, ExchangeID: str = '', QuoteSysID: str = '', ActionFlag: str = '', ActionDate: str = '', + ActionTime: str = '', TraderID: str = '', InstallID: int = 0, QuoteLocalID: str = '', + ActionLocalID: str = '', ParticipantID: str = '', ClientID: str = '', BusinessUnit: str = '', + OrderActionStatus: str = '', UserID: str = '', reserve1: str = '', MacAddress: str = '', IPAddress: str = ''): super(ExchangeQuoteActionField, self).__init__() self.ExchangeID = self._to_bytes(ExchangeID) @@ -5014,7 +5270,8 @@ class OptionInstrDeltaField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, reserve1: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', Delta: float = 0.0, InstrumentID: str = ''): + def __init__(self, reserve1: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', + Delta: float = 0.0, InstrumentID: str = ''): super(OptionInstrDeltaField, self).__init__() self.reserve1 = self._to_bytes(reserve1) self.InvestorRange = self._to_bytes(InvestorRange) @@ -5036,7 +5293,8 @@ class ForQuoteRspField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, TradingDay: str = '', reserve1: str = '', ForQuoteSysID: str = '', ForQuoteTime: str = '', ActionDay: str = '', ExchangeID: str = '', InstrumentID: str = ''): + def __init__(self, TradingDay: str = '', reserve1: str = '', ForQuoteSysID: str = '', ForQuoteTime: str = '', + ActionDay: str = '', ExchangeID: str = '', InstrumentID: str = ''): super(ForQuoteRspField, self).__init__() self.TradingDay = self._to_bytes(TradingDay) self.reserve1 = self._to_bytes(reserve1) @@ -5059,7 +5317,8 @@ class StrikeOffsetField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, reserve1: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', Offset: float = 0.0, OffsetType: str = '', InstrumentID: str = ''): + def __init__(self, reserve1: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', + Offset: float = 0.0, OffsetType: str = '', InstrumentID: str = ''): super(StrikeOffsetField, self).__init__() self.reserve1 = self._to_bytes(reserve1) self.InvestorRange = self._to_bytes(InvestorRange) @@ -5104,8 +5363,9 @@ class InputBatchOrderActionField(Base): ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', OrderActionRef: int = 0, RequestID: int = 0, FrontID: int = 0, SessionID: int = 0, ExchangeID: str = '', UserID: str = '', - InvestUnitID: str = '', reserve1: str = '', MacAddress: str = '', IPAddress: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', OrderActionRef: int = 0, RequestID: int = 0, + FrontID: int = 0, SessionID: int = 0, ExchangeID: str = '', UserID: str = '', InvestUnitID: str = '', + reserve1: str = '', MacAddress: str = '', IPAddress: str = ''): super(InputBatchOrderActionField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -5148,9 +5408,12 @@ class BatchOrderActionField(Base): ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', OrderActionRef: int = 0, RequestID: int = 0, FrontID: int = 0, SessionID: int = 0, ExchangeID: str = '', ActionDate: str = '', - ActionTime: str = '', TraderID: str = '', InstallID: int = 0, ActionLocalID: str = '', ParticipantID: str = '', ClientID: str = '', BusinessUnit: str = '', - OrderActionStatus: str = '', UserID: str = '', StatusMsg: str = '', InvestUnitID: str = '', reserve1: str = '', MacAddress: str = '', IPAddress: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', OrderActionRef: int = 0, RequestID: int = 0, + FrontID: int = 0, SessionID: int = 0, ExchangeID: str = '', ActionDate: str = '', ActionTime: str = '', + TraderID: str = '', InstallID: int = 0, ActionLocalID: str = '', ParticipantID: str = '', + ClientID: str = '', BusinessUnit: str = '', OrderActionStatus: str = '', UserID: str = '', + StatusMsg: str = '', InvestUnitID: str = '', reserve1: str = '', MacAddress: str = '', + IPAddress: str = ''): super(BatchOrderActionField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -5195,8 +5458,10 @@ class ExchangeBatchOrderActionField(Base): ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, ExchangeID: str = '', ActionDate: str = '', ActionTime: str = '', TraderID: str = '', InstallID: int = 0, ActionLocalID: str = '', ParticipantID: str = '', ClientID: str = '', - BusinessUnit: str = '', OrderActionStatus: str = '', UserID: str = '', reserve1: str = '', MacAddress: str = '', IPAddress: str = ''): + def __init__(self, ExchangeID: str = '', ActionDate: str = '', ActionTime: str = '', TraderID: str = '', + InstallID: int = 0, ActionLocalID: str = '', ParticipantID: str = '', ClientID: str = '', + BusinessUnit: str = '', OrderActionStatus: str = '', UserID: str = '', reserve1: str = '', + MacAddress: str = '', IPAddress: str = ''): super(ExchangeBatchOrderActionField, self).__init__() self.ExchangeID = self._to_bytes(ExchangeID) self.ActionDate = self._to_bytes(ActionDate) @@ -5239,7 +5504,8 @@ class CombInstrumentGuardField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID: str = '', reserve1: str = '', GuarantRatio: float = 0.0, ExchangeID: str = '', InstrumentID: str = ''): + def __init__(self, BrokerID: str = '', reserve1: str = '', GuarantRatio: float = 0.0, ExchangeID: str = '', + InstrumentID: str = ''): super(CombInstrumentGuardField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.reserve1 = self._to_bytes(reserve1) @@ -5287,9 +5553,10 @@ class InputCombActionField(Base): ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', CombActionRef: str = '', UserID: str = '', Direction: str = '', Volume: int = 0, CombDirection: str = '', - HedgeFlag: str = '', ExchangeID: str = '', reserve2: str = '', MacAddress: str = '', InvestUnitID: str = '', FrontID: int = 0, SessionID: int = 0, InstrumentID: str = '', - IPAddress: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', CombActionRef: str = '', + UserID: str = '', Direction: str = '', Volume: int = 0, CombDirection: str = '', HedgeFlag: str = '', + ExchangeID: str = '', reserve2: str = '', MacAddress: str = '', InvestUnitID: str = '', + FrontID: int = 0, SessionID: int = 0, InstrumentID: str = '', IPAddress: str = ''): super(InputCombActionField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -5348,11 +5615,14 @@ class CombActionField(Base): ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', CombActionRef: str = '', UserID: str = '', Direction: str = '', Volume: int = 0, CombDirection: str = '', - HedgeFlag: str = '', ActionLocalID: str = '', ExchangeID: str = '', ParticipantID: str = '', ClientID: str = '', reserve2: str = '', TraderID: str = '', InstallID: int = 0, - ActionStatus: str = '', NotifySequence: int = 0, TradingDay: str = '', SettlementID: int = 0, SequenceNo: int = 0, FrontID: int = 0, SessionID: int = 0, UserProductInfo: str = '', - StatusMsg: str = '', reserve3: str = '', MacAddress: str = '', ComTradeID: str = '', BranchID: str = '', InvestUnitID: str = '', InstrumentID: str = '', ExchangeInstID: str = '', - IPAddress: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', CombActionRef: str = '', + UserID: str = '', Direction: str = '', Volume: int = 0, CombDirection: str = '', HedgeFlag: str = '', + ActionLocalID: str = '', ExchangeID: str = '', ParticipantID: str = '', ClientID: str = '', + reserve2: str = '', TraderID: str = '', InstallID: int = 0, ActionStatus: str = '', + NotifySequence: int = 0, TradingDay: str = '', SettlementID: int = 0, SequenceNo: int = 0, + FrontID: int = 0, SessionID: int = 0, UserProductInfo: str = '', StatusMsg: str = '', + reserve3: str = '', MacAddress: str = '', ComTradeID: str = '', BranchID: str = '', + InvestUnitID: str = '', InstrumentID: str = '', ExchangeInstID: str = '', IPAddress: str = ''): super(CombActionField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -5400,7 +5670,8 @@ class QryCombActionField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', ExchangeID: str = '', InvestUnitID: str = '', InstrumentID: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', ExchangeID: str = '', + InvestUnitID: str = '', InstrumentID: str = ''): super(QryCombActionField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -5437,9 +5708,12 @@ class ExchangeCombActionField(Base): ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, Direction: str = '', Volume: int = 0, CombDirection: str = '', HedgeFlag: str = '', ActionLocalID: str = '', ExchangeID: str = '', ParticipantID: str = '', ClientID: str = '', - reserve1: str = '', TraderID: str = '', InstallID: int = 0, ActionStatus: str = '', NotifySequence: int = 0, TradingDay: str = '', SettlementID: int = 0, SequenceNo: int = 0, - reserve2: str = '', MacAddress: str = '', ComTradeID: str = '', BranchID: str = '', ExchangeInstID: str = '', IPAddress: str = ''): + def __init__(self, Direction: str = '', Volume: int = 0, CombDirection: str = '', HedgeFlag: str = '', + ActionLocalID: str = '', ExchangeID: str = '', ParticipantID: str = '', ClientID: str = '', + reserve1: str = '', TraderID: str = '', InstallID: int = 0, ActionStatus: str = '', + NotifySequence: int = 0, TradingDay: str = '', SettlementID: int = 0, SequenceNo: int = 0, + reserve2: str = '', MacAddress: str = '', ComTradeID: str = '', BranchID: str = '', + ExchangeInstID: str = '', IPAddress: str = ''): super(ExchangeCombActionField, self).__init__() self.Direction = self._to_bytes(Direction) self.Volume = int(Volume) @@ -5476,7 +5750,8 @@ class QryExchangeCombActionField(Base): ('ExchangeInstID', ctypes.c_char * 81), # 合约在交易所的代码 ] - def __init__(self, ParticipantID: str = '', ClientID: str = '', reserve1: str = '', ExchangeID: str = '', TraderID: str = '', ExchangeInstID: str = ''): + def __init__(self, ParticipantID: str = '', ClientID: str = '', reserve1: str = '', ExchangeID: str = '', + TraderID: str = '', ExchangeInstID: str = ''): super(QryExchangeCombActionField, self).__init__() self.ParticipantID = self._to_bytes(ParticipantID) self.ClientID = self._to_bytes(ClientID) @@ -5496,7 +5771,8 @@ class ProductExchRateField(Base): ('ProductID', ctypes.c_char * 81), # 产品代码 ] - def __init__(self, reserve1: str = '', QuoteCurrencyID: str = '', ExchangeRate: float = 0.0, ExchangeID: str = '', ProductID: str = ''): + def __init__(self, reserve1: str = '', QuoteCurrencyID: str = '', ExchangeRate: float = 0.0, ExchangeID: str = '', + ProductID: str = ''): super(ProductExchRateField, self).__init__() self.reserve1 = self._to_bytes(reserve1) self.QuoteCurrencyID = self._to_bytes(QuoteCurrencyID) @@ -5548,7 +5824,8 @@ class ForQuoteParamField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID: str = '', reserve1: str = '', ExchangeID: str = '', LastPrice: float = 0.0, PriceInterval: float = 0.0, InstrumentID: str = ''): + def __init__(self, BrokerID: str = '', reserve1: str = '', ExchangeID: str = '', LastPrice: float = 0.0, + PriceInterval: float = 0.0, InstrumentID: str = ''): super(ForQuoteParamField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.reserve1 = self._to_bytes(reserve1) @@ -5576,8 +5853,10 @@ class MMOptionInstrCommRateField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, reserve1: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', OpenRatioByMoney: float = 0.0, OpenRatioByVolume: float = 0.0, - CloseRatioByMoney: float = 0.0, CloseRatioByVolume: float = 0.0, CloseTodayRatioByMoney: float = 0.0, CloseTodayRatioByVolume: float = 0.0, StrikeRatioByMoney: float = 0.0, + def __init__(self, reserve1: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', + OpenRatioByMoney: float = 0.0, OpenRatioByVolume: float = 0.0, CloseRatioByMoney: float = 0.0, + CloseRatioByVolume: float = 0.0, CloseTodayRatioByMoney: float = 0.0, + CloseTodayRatioByVolume: float = 0.0, StrikeRatioByMoney: float = 0.0, StrikeRatioByVolume: float = 0.0, InstrumentID: str = ''): super(MMOptionInstrCommRateField, self).__init__() self.reserve1 = self._to_bytes(reserve1) @@ -5628,8 +5907,10 @@ class MMInstrumentCommissionRateField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, reserve1: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', OpenRatioByMoney: float = 0.0, OpenRatioByVolume: float = 0.0, - CloseRatioByMoney: float = 0.0, CloseRatioByVolume: float = 0.0, CloseTodayRatioByMoney: float = 0.0, CloseTodayRatioByVolume: float = 0.0, InstrumentID: str = ''): + def __init__(self, reserve1: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', + OpenRatioByMoney: float = 0.0, OpenRatioByVolume: float = 0.0, CloseRatioByMoney: float = 0.0, + CloseRatioByVolume: float = 0.0, CloseTodayRatioByMoney: float = 0.0, + CloseTodayRatioByVolume: float = 0.0, InstrumentID: str = ''): super(MMInstrumentCommissionRateField, self).__init__() self.reserve1 = self._to_bytes(reserve1) self.InvestorRange = self._to_bytes(InvestorRange) @@ -5678,8 +5959,10 @@ class InstrumentOrderCommRateField(Base): ('OrderActionCommByTrade', ctypes.c_double), # 撤单手续费 ] - def __init__(self, reserve1: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', HedgeFlag: str = '', OrderCommByVolume: float = 0.0, OrderActionCommByVolume: float = 0.0, - ExchangeID: str = '', InvestUnitID: str = '', InstrumentID: str = '', OrderCommByTrade: float = 0.0, OrderActionCommByTrade: float = 0.0): + def __init__(self, reserve1: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', + HedgeFlag: str = '', OrderCommByVolume: float = 0.0, OrderActionCommByVolume: float = 0.0, + ExchangeID: str = '', InvestUnitID: str = '', InstrumentID: str = '', OrderCommByTrade: float = 0.0, + OrderActionCommByTrade: float = 0.0): super(InstrumentOrderCommRateField, self).__init__() self.reserve1 = self._to_bytes(reserve1) self.InvestorRange = self._to_bytes(InvestorRange) @@ -5744,8 +6027,9 @@ class InstrumentMarginRateULField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, reserve1: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', HedgeFlag: str = '', LongMarginRatioByMoney: float = 0.0, - LongMarginRatioByVolume: float = 0.0, ShortMarginRatioByMoney: float = 0.0, ShortMarginRatioByVolume: float = 0.0, InstrumentID: str = ''): + def __init__(self, reserve1: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', + HedgeFlag: str = '', LongMarginRatioByMoney: float = 0.0, LongMarginRatioByVolume: float = 0.0, + ShortMarginRatioByMoney: float = 0.0, ShortMarginRatioByVolume: float = 0.0, InstrumentID: str = ''): super(InstrumentMarginRateULField, self).__init__() self.reserve1 = self._to_bytes(reserve1) self.InvestorRange = self._to_bytes(InvestorRange) @@ -5772,8 +6056,8 @@ class FutureLimitPosiParamField(Base): ('ProductID', ctypes.c_char * 81), # 产品代码 ] - def __init__(self, InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', reserve1: str = '', SpecOpenVolume: int = 0, ArbiOpenVolume: int = 0, OpenVolume: int = 0, - ProductID: str = ''): + def __init__(self, InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', reserve1: str = '', + SpecOpenVolume: int = 0, ArbiOpenVolume: int = 0, OpenVolume: int = 0, ProductID: str = ''): super(FutureLimitPosiParamField, self).__init__() self.InvestorRange = self._to_bytes(InvestorRange) self.BrokerID = self._to_bytes(BrokerID) @@ -5837,9 +6121,11 @@ class InputOptionSelfCloseField(Base): ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', OptionSelfCloseRef: str = '', UserID: str = '', Volume: int = 0, RequestID: int = 0, BusinessUnit: str = '', - HedgeFlag: str = '', OptSelfCloseFlag: str = '', ExchangeID: str = '', InvestUnitID: str = '', AccountID: str = '', CurrencyID: str = '', ClientID: str = '', reserve2: str = '', - MacAddress: str = '', InstrumentID: str = '', IPAddress: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', OptionSelfCloseRef: str = '', + UserID: str = '', Volume: int = 0, RequestID: int = 0, BusinessUnit: str = '', HedgeFlag: str = '', + OptSelfCloseFlag: str = '', ExchangeID: str = '', InvestUnitID: str = '', AccountID: str = '', + CurrencyID: str = '', ClientID: str = '', reserve2: str = '', MacAddress: str = '', + InstrumentID: str = '', IPAddress: str = ''): super(InputOptionSelfCloseField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -5884,8 +6170,10 @@ class InputOptionSelfCloseActionField(Base): ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', OptionSelfCloseActionRef: int = 0, OptionSelfCloseRef: str = '', RequestID: int = 0, FrontID: int = 0, SessionID: int = 0, - ExchangeID: str = '', OptionSelfCloseSysID: str = '', ActionFlag: str = '', UserID: str = '', reserve1: str = '', InvestUnitID: str = '', reserve2: str = '', MacAddress: str = '', + def __init__(self, BrokerID: str = '', InvestorID: str = '', OptionSelfCloseActionRef: int = 0, + OptionSelfCloseRef: str = '', RequestID: int = 0, FrontID: int = 0, SessionID: int = 0, + ExchangeID: str = '', OptionSelfCloseSysID: str = '', ActionFlag: str = '', UserID: str = '', + reserve1: str = '', InvestUnitID: str = '', reserve2: str = '', MacAddress: str = '', InstrumentID: str = '', IPAddress: str = ''): super(InputOptionSelfCloseActionField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) @@ -5955,12 +6243,17 @@ class OptionSelfCloseField(Base): ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', OptionSelfCloseRef: str = '', UserID: str = '', Volume: int = 0, RequestID: int = 0, BusinessUnit: str = '', - HedgeFlag: str = '', OptSelfCloseFlag: str = '', OptionSelfCloseLocalID: str = '', ExchangeID: str = '', ParticipantID: str = '', ClientID: str = '', reserve2: str = '', - TraderID: str = '', InstallID: int = 0, OrderSubmitStatus: str = '', NotifySequence: int = 0, TradingDay: str = '', SettlementID: int = 0, OptionSelfCloseSysID: str = '', - InsertDate: str = '', InsertTime: str = '', CancelTime: str = '', ExecResult: str = '', ClearingPartID: str = '', SequenceNo: int = 0, FrontID: int = 0, SessionID: int = 0, - UserProductInfo: str = '', StatusMsg: str = '', ActiveUserID: str = '', BrokerOptionSelfCloseSeq: int = 0, BranchID: str = '', InvestUnitID: str = '', AccountID: str = '', - CurrencyID: str = '', reserve3: str = '', MacAddress: str = '', InstrumentID: str = '', ExchangeInstID: str = '', IPAddress: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', OptionSelfCloseRef: str = '', + UserID: str = '', Volume: int = 0, RequestID: int = 0, BusinessUnit: str = '', HedgeFlag: str = '', + OptSelfCloseFlag: str = '', OptionSelfCloseLocalID: str = '', ExchangeID: str = '', + ParticipantID: str = '', ClientID: str = '', reserve2: str = '', TraderID: str = '', + InstallID: int = 0, OrderSubmitStatus: str = '', NotifySequence: int = 0, TradingDay: str = '', + SettlementID: int = 0, OptionSelfCloseSysID: str = '', InsertDate: str = '', InsertTime: str = '', + CancelTime: str = '', ExecResult: str = '', ClearingPartID: str = '', SequenceNo: int = 0, + FrontID: int = 0, SessionID: int = 0, UserProductInfo: str = '', StatusMsg: str = '', + ActiveUserID: str = '', BrokerOptionSelfCloseSeq: int = 0, BranchID: str = '', InvestUnitID: str = '', + AccountID: str = '', CurrencyID: str = '', reserve3: str = '', MacAddress: str = '', + InstrumentID: str = '', ExchangeInstID: str = '', IPAddress: str = ''): super(OptionSelfCloseField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -6041,10 +6334,14 @@ class OptionSelfCloseActionField(Base): ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', OptionSelfCloseActionRef: int = 0, OptionSelfCloseRef: str = '', RequestID: int = 0, FrontID: int = 0, SessionID: int = 0, - ExchangeID: str = '', OptionSelfCloseSysID: str = '', ActionFlag: str = '', ActionDate: str = '', ActionTime: str = '', TraderID: str = '', InstallID: int = 0, - OptionSelfCloseLocalID: str = '', ActionLocalID: str = '', ParticipantID: str = '', ClientID: str = '', BusinessUnit: str = '', OrderActionStatus: str = '', UserID: str = '', - StatusMsg: str = '', reserve1: str = '', BranchID: str = '', InvestUnitID: str = '', reserve2: str = '', MacAddress: str = '', InstrumentID: str = '', IPAddress: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', OptionSelfCloseActionRef: int = 0, + OptionSelfCloseRef: str = '', RequestID: int = 0, FrontID: int = 0, SessionID: int = 0, + ExchangeID: str = '', OptionSelfCloseSysID: str = '', ActionFlag: str = '', ActionDate: str = '', + ActionTime: str = '', TraderID: str = '', InstallID: int = 0, OptionSelfCloseLocalID: str = '', + ActionLocalID: str = '', ParticipantID: str = '', ClientID: str = '', BusinessUnit: str = '', + OrderActionStatus: str = '', UserID: str = '', StatusMsg: str = '', reserve1: str = '', + BranchID: str = '', InvestUnitID: str = '', reserve2: str = '', MacAddress: str = '', + InstrumentID: str = '', IPAddress: str = ''): super(OptionSelfCloseActionField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -6090,7 +6387,8 @@ class QryOptionSelfCloseField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', ExchangeID: str = '', OptionSelfCloseSysID: str = '', InsertTimeStart: str = '', InsertTimeEnd: str = '', + def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', ExchangeID: str = '', + OptionSelfCloseSysID: str = '', InsertTimeStart: str = '', InsertTimeEnd: str = '', InstrumentID: str = ''): super(QryOptionSelfCloseField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) @@ -6136,10 +6434,14 @@ class ExchangeOptionSelfCloseField(Base): ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, Volume: int = 0, RequestID: int = 0, BusinessUnit: str = '', HedgeFlag: str = '', OptSelfCloseFlag: str = '', OptionSelfCloseLocalID: str = '', ExchangeID: str = '', - ParticipantID: str = '', ClientID: str = '', reserve1: str = '', TraderID: str = '', InstallID: int = 0, OrderSubmitStatus: str = '', NotifySequence: int = 0, TradingDay: str = '', - SettlementID: int = 0, OptionSelfCloseSysID: str = '', InsertDate: str = '', InsertTime: str = '', CancelTime: str = '', ExecResult: str = '', ClearingPartID: str = '', - SequenceNo: int = 0, BranchID: str = '', reserve2: str = '', MacAddress: str = '', ExchangeInstID: str = '', IPAddress: str = ''): + def __init__(self, Volume: int = 0, RequestID: int = 0, BusinessUnit: str = '', HedgeFlag: str = '', + OptSelfCloseFlag: str = '', OptionSelfCloseLocalID: str = '', ExchangeID: str = '', + ParticipantID: str = '', ClientID: str = '', reserve1: str = '', TraderID: str = '', + InstallID: int = 0, OrderSubmitStatus: str = '', NotifySequence: int = 0, TradingDay: str = '', + SettlementID: int = 0, OptionSelfCloseSysID: str = '', InsertDate: str = '', InsertTime: str = '', + CancelTime: str = '', ExecResult: str = '', ClearingPartID: str = '', SequenceNo: int = 0, + BranchID: str = '', reserve2: str = '', MacAddress: str = '', ExchangeInstID: str = '', + IPAddress: str = ''): super(ExchangeOptionSelfCloseField, self).__init__() self.Volume = int(Volume) self.RequestID = int(RequestID) @@ -6212,9 +6514,12 @@ class ExchangeOptionSelfCloseActionField(Base): ('ExchangeInstID', ctypes.c_char * 81), # 合约在交易所的代码 ] - def __init__(self, ExchangeID: str = '', OptionSelfCloseSysID: str = '', ActionFlag: str = '', ActionDate: str = '', ActionTime: str = '', TraderID: str = '', InstallID: int = 0, - OptionSelfCloseLocalID: str = '', ActionLocalID: str = '', ParticipantID: str = '', ClientID: str = '', BusinessUnit: str = '', OrderActionStatus: str = '', UserID: str = '', - BranchID: str = '', reserve1: str = '', MacAddress: str = '', reserve2: str = '', OptSelfCloseFlag: str = '', IPAddress: str = '', ExchangeInstID: str = ''): + def __init__(self, ExchangeID: str = '', OptionSelfCloseSysID: str = '', ActionFlag: str = '', ActionDate: str = '', + ActionTime: str = '', TraderID: str = '', InstallID: int = 0, OptionSelfCloseLocalID: str = '', + ActionLocalID: str = '', ParticipantID: str = '', ClientID: str = '', BusinessUnit: str = '', + OrderActionStatus: str = '', UserID: str = '', BranchID: str = '', reserve1: str = '', + MacAddress: str = '', reserve2: str = '', OptSelfCloseFlag: str = '', IPAddress: str = '', + ExchangeInstID: str = ''): super(ExchangeOptionSelfCloseActionField, self).__init__() self.ExchangeID = self._to_bytes(ExchangeID) self.OptionSelfCloseSysID = self._to_bytes(OptionSelfCloseSysID) @@ -6255,7 +6560,8 @@ class SyncDelaySwapField(Base): ('IsAllRemainSetZero', ctypes.c_int), # 是否将所有外币的剩余换汇额度设置为0 ] - def __init__(self, DelaySwapSeqNo: str = '', BrokerID: str = '', InvestorID: str = '', FromCurrencyID: str = '', FromAmount: float = 0.0, FromFrozenSwap: float = 0.0, FromRemainSwap: float = 0.0, + def __init__(self, DelaySwapSeqNo: str = '', BrokerID: str = '', InvestorID: str = '', FromCurrencyID: str = '', + FromAmount: float = 0.0, FromFrozenSwap: float = 0.0, FromRemainSwap: float = 0.0, ToCurrencyID: str = '', ToAmount: float = 0.0, IsManualSwap: int = 0, IsAllRemainSetZero: int = 0): super(SyncDelaySwapField, self).__init__() self.DelaySwapSeqNo = self._to_bytes(DelaySwapSeqNo) @@ -6298,8 +6604,9 @@ class InvestUnitField(Base): ('CurrencyID', ctypes.c_char * 4), # 币种代码 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', InvestUnitID: str = '', InvestorUnitName: str = '', InvestorGroupID: str = '', CommModelID: str = '', MarginModelID: str = '', - AccountID: str = '', CurrencyID: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', InvestUnitID: str = '', InvestorUnitName: str = '', + InvestorGroupID: str = '', CommModelID: str = '', MarginModelID: str = '', AccountID: str = '', + CurrencyID: str = ''): super(InvestUnitField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -6337,7 +6644,8 @@ class SecAgentCheckModeField(Base): ('CheckSelfAccount', ctypes.c_int), # 是否需要校验自己的资金账户 ] - def __init__(self, InvestorID: str = '', BrokerID: str = '', CurrencyID: str = '', BrokerSecAgentID: str = '', CheckSelfAccount: int = 0): + def __init__(self, InvestorID: str = '', BrokerID: str = '', CurrencyID: str = '', BrokerSecAgentID: str = '', + CheckSelfAccount: int = 0): super(SecAgentCheckModeField, self).__init__() self.InvestorID = self._to_bytes(InvestorID) self.BrokerID = self._to_bytes(BrokerID) @@ -6355,7 +6663,8 @@ class SecAgentTradeInfoField(Base): ('LongCustomerName', ctypes.c_char * 161), # 二级代理商姓名 ] - def __init__(self, BrokerID: str = '', BrokerSecAgentID: str = '', InvestorID: str = '', LongCustomerName: str = ''): + def __init__(self, BrokerID: str = '', BrokerSecAgentID: str = '', InvestorID: str = '', + LongCustomerName: str = ''): super(SecAgentTradeInfoField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.BrokerSecAgentID = self._to_bytes(BrokerSecAgentID) @@ -6393,9 +6702,12 @@ class MarketDataField(Base): ('ExchangeInstID', ctypes.c_char * 81), # 合约在交易所的代码 ] - def __init__(self, TradingDay: str = '', reserve1: str = '', ExchangeID: str = '', reserve2: str = '', LastPrice: float = 0.0, PreSettlementPrice: float = 0.0, PreClosePrice: float = 0.0, - PreOpenInterest: float = 0.0, OpenPrice: float = 0.0, HighestPrice: float = 0.0, LowestPrice: float = 0.0, Volume: int = 0, Turnover: float = 0.0, OpenInterest: float = 0.0, - ClosePrice: float = 0.0, SettlementPrice: float = 0.0, UpperLimitPrice: float = 0.0, LowerLimitPrice: float = 0.0, PreDelta: float = 0.0, CurrDelta: float = 0.0, UpdateTime: str = '', + def __init__(self, TradingDay: str = '', reserve1: str = '', ExchangeID: str = '', reserve2: str = '', + LastPrice: float = 0.0, PreSettlementPrice: float = 0.0, PreClosePrice: float = 0.0, + PreOpenInterest: float = 0.0, OpenPrice: float = 0.0, HighestPrice: float = 0.0, + LowestPrice: float = 0.0, Volume: int = 0, Turnover: float = 0.0, OpenInterest: float = 0.0, + ClosePrice: float = 0.0, SettlementPrice: float = 0.0, UpperLimitPrice: float = 0.0, + LowerLimitPrice: float = 0.0, PreDelta: float = 0.0, CurrDelta: float = 0.0, UpdateTime: str = '', UpdateMillisec: int = 0, ActionDay: str = '', InstrumentID: str = '', ExchangeInstID: str = ''): super(MarketDataField, self).__init__() self.TradingDay = self._to_bytes(TradingDay) @@ -6435,7 +6747,8 @@ class MarketDataBaseField(Base): ('PreDelta', ctypes.c_double), # 昨虚实度 ] - def __init__(self, TradingDay: str = '', PreSettlementPrice: float = 0.0, PreClosePrice: float = 0.0, PreOpenInterest: float = 0.0, PreDelta: float = 0.0): + def __init__(self, TradingDay: str = '', PreSettlementPrice: float = 0.0, PreClosePrice: float = 0.0, + PreOpenInterest: float = 0.0, PreDelta: float = 0.0): super(MarketDataBaseField, self).__init__() self.TradingDay = self._to_bytes(TradingDay) self.PreSettlementPrice = float(PreSettlementPrice) @@ -6457,7 +6770,8 @@ class MarketDataStaticField(Base): ('CurrDelta', ctypes.c_double), # 今虚实度 ] - def __init__(self, OpenPrice: float = 0.0, HighestPrice: float = 0.0, LowestPrice: float = 0.0, ClosePrice: float = 0.0, UpperLimitPrice: float = 0.0, LowerLimitPrice: float = 0.0, + def __init__(self, OpenPrice: float = 0.0, HighestPrice: float = 0.0, LowestPrice: float = 0.0, + ClosePrice: float = 0.0, UpperLimitPrice: float = 0.0, LowerLimitPrice: float = 0.0, SettlementPrice: float = 0.0, CurrDelta: float = 0.0): super(MarketDataStaticField, self).__init__() self.OpenPrice = float(OpenPrice) @@ -6582,7 +6896,8 @@ class MarketDataUpdateTimeField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, reserve1: str = '', UpdateTime: str = '', UpdateMillisec: int = 0, ActionDay: str = '', InstrumentID: str = ''): + def __init__(self, reserve1: str = '', UpdateTime: str = '', UpdateMillisec: int = 0, ActionDay: str = '', + InstrumentID: str = ''): super(MarketDataUpdateTimeField, self).__init__() self.reserve1 = self._to_bytes(reserve1) self.UpdateTime = self._to_bytes(UpdateTime) @@ -6643,8 +6958,9 @@ class InstrumentStatusField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, ExchangeID: str = '', reserve1: str = '', SettlementGroupID: str = '', reserve2: str = '', InstrumentStatus: str = '', TradingSegmentSN: int = 0, EnterTime: str = '', - EnterReason: str = '', ExchangeInstID: str = '', InstrumentID: str = ''): + def __init__(self, ExchangeID: str = '', reserve1: str = '', SettlementGroupID: str = '', reserve2: str = '', + InstrumentStatus: str = '', TradingSegmentSN: int = 0, EnterTime: str = '', EnterReason: str = '', + ExchangeInstID: str = '', InstrumentID: str = ''): super(InstrumentStatusField, self).__init__() self.ExchangeID = self._to_bytes(ExchangeID) self.reserve1 = self._to_bytes(reserve1) @@ -6700,7 +7016,8 @@ class PositionProfitAlgorithmField(Base): ('CurrencyID', ctypes.c_char * 4), # 币种代码 ] - def __init__(self, BrokerID: str = '', AccountID: str = '', Algorithm: str = '', Memo: str = '', CurrencyID: str = ''): + def __init__(self, BrokerID: str = '', AccountID: str = '', Algorithm: str = '', Memo: str = '', + CurrencyID: str = ''): super(PositionProfitAlgorithmField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.AccountID = self._to_bytes(AccountID) @@ -6767,7 +7084,8 @@ class QryInvestorPositionDetailField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', ExchangeID: str = '', InvestUnitID: str = '', InstrumentID: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', ExchangeID: str = '', + InvestUnitID: str = '', InstrumentID: str = ''): super(QryInvestorPositionDetailField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -6813,11 +7131,15 @@ class InvestorPositionDetailField(Base): ('CombInstrumentID', ctypes.c_char * 81), # 组合合约代码 ] - def __init__(self, reserve1: str = '', BrokerID: str = '', InvestorID: str = '', HedgeFlag: str = '', Direction: str = '', OpenDate: str = '', TradeID: str = '', Volume: int = 0, - OpenPrice: float = 0.0, TradingDay: str = '', SettlementID: int = 0, TradeType: str = '', reserve2: str = '', ExchangeID: str = '', CloseProfitByDate: float = 0.0, - CloseProfitByTrade: float = 0.0, PositionProfitByDate: float = 0.0, PositionProfitByTrade: float = 0.0, Margin: float = 0.0, ExchMargin: float = 0.0, MarginRateByMoney: float = 0.0, - MarginRateByVolume: float = 0.0, LastSettlementPrice: float = 0.0, SettlementPrice: float = 0.0, CloseVolume: int = 0, CloseAmount: float = 0.0, TimeFirstVolume: int = 0, - InvestUnitID: str = '', SpecPosiType: str = '', InstrumentID: str = '', CombInstrumentID: str = ''): + def __init__(self, reserve1: str = '', BrokerID: str = '', InvestorID: str = '', HedgeFlag: str = '', + Direction: str = '', OpenDate: str = '', TradeID: str = '', Volume: int = 0, OpenPrice: float = 0.0, + TradingDay: str = '', SettlementID: int = 0, TradeType: str = '', reserve2: str = '', + ExchangeID: str = '', CloseProfitByDate: float = 0.0, CloseProfitByTrade: float = 0.0, + PositionProfitByDate: float = 0.0, PositionProfitByTrade: float = 0.0, Margin: float = 0.0, + ExchMargin: float = 0.0, MarginRateByMoney: float = 0.0, MarginRateByVolume: float = 0.0, + LastSettlementPrice: float = 0.0, SettlementPrice: float = 0.0, CloseVolume: int = 0, + CloseAmount: float = 0.0, TimeFirstVolume: int = 0, InvestUnitID: str = '', SpecPosiType: str = '', + InstrumentID: str = '', CombInstrumentID: str = ''): super(InvestorPositionDetailField, self).__init__() self.reserve1 = self._to_bytes(reserve1) self.BrokerID = self._to_bytes(BrokerID) @@ -6894,9 +7216,12 @@ class MDTraderOfferField(Base): ('OrderCancelAlg', ctypes.c_char), # 撤单时选择席位算法 ] - def __init__(self, ExchangeID: str = '', TraderID: str = '', ParticipantID: str = '', Password: str = '', InstallID: int = 0, OrderLocalID: str = '', TraderConnectStatus: str = '', - ConnectRequestDate: str = '', ConnectRequestTime: str = '', LastReportDate: str = '', LastReportTime: str = '', ConnectDate: str = '', ConnectTime: str = '', StartDate: str = '', - StartTime: str = '', TradingDay: str = '', BrokerID: str = '', MaxTradeID: str = '', MaxOrderMessageReference: str = '', OrderCancelAlg: str = ''): + def __init__(self, ExchangeID: str = '', TraderID: str = '', ParticipantID: str = '', Password: str = '', + InstallID: int = 0, OrderLocalID: str = '', TraderConnectStatus: str = '', + ConnectRequestDate: str = '', ConnectRequestTime: str = '', LastReportDate: str = '', + LastReportTime: str = '', ConnectDate: str = '', ConnectTime: str = '', StartDate: str = '', + StartTime: str = '', TradingDay: str = '', BrokerID: str = '', MaxTradeID: str = '', + MaxOrderMessageReference: str = '', OrderCancelAlg: str = ''): super(MDTraderOfferField, self).__init__() self.ExchangeID = self._to_bytes(ExchangeID) self.TraderID = self._to_bytes(TraderID) @@ -7021,8 +7346,10 @@ class BrokerWithdrawAlgorithmField(Base): ('BalanceAlgorithm', ctypes.c_char), # 权益算法 ] - def __init__(self, BrokerID: str = '', WithdrawAlgorithm: str = '', UsingRatio: float = 0.0, IncludeCloseProfit: str = '', AllWithoutTrade: str = '', AvailIncludeCloseProfit: str = '', - IsBrokerUserEvent: int = 0, CurrencyID: str = '', FundMortgageRatio: float = 0.0, BalanceAlgorithm: str = ''): + def __init__(self, BrokerID: str = '', WithdrawAlgorithm: str = '', UsingRatio: float = 0.0, + IncludeCloseProfit: str = '', AllWithoutTrade: str = '', AvailIncludeCloseProfit: str = '', + IsBrokerUserEvent: int = 0, CurrencyID: str = '', FundMortgageRatio: float = 0.0, + BalanceAlgorithm: str = ''): super(BrokerWithdrawAlgorithmField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.WithdrawAlgorithm = self._to_bytes(WithdrawAlgorithm) @@ -7063,7 +7390,8 @@ class TradingAccountPasswordUpdateField(Base): ('CurrencyID', ctypes.c_char * 4), # 币种代码 ] - def __init__(self, BrokerID: str = '', AccountID: str = '', OldPassword: str = '', NewPassword: str = '', CurrencyID: str = ''): + def __init__(self, BrokerID: str = '', AccountID: str = '', OldPassword: str = '', NewPassword: str = '', + CurrencyID: str = ''): super(TradingAccountPasswordUpdateField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.AccountID = self._to_bytes(AccountID) @@ -7082,7 +7410,8 @@ class QryCombinationLegField(Base): ('LegInstrumentID', ctypes.c_char * 81), # 单腿合约代码 ] - def __init__(self, reserve1: str = '', LegID: int = 0, reserve2: str = '', CombInstrumentID: str = '', LegInstrumentID: str = ''): + def __init__(self, reserve1: str = '', LegID: int = 0, reserve2: str = '', CombInstrumentID: str = '', + LegInstrumentID: str = ''): super(QryCombinationLegField, self).__init__() self.reserve1 = self._to_bytes(reserve1) self.LegID = int(LegID) @@ -7115,7 +7444,8 @@ class CombinationLegField(Base): ('LegInstrumentID', ctypes.c_char * 81), # 单腿合约代码 ] - def __init__(self, reserve1: str = '', LegID: int = 0, reserve2: str = '', Direction: str = '', LegMultiple: int = 0, ImplyLevel: int = 0, CombInstrumentID: str = '', LegInstrumentID: str = ''): + def __init__(self, reserve1: str = '', LegID: int = 0, reserve2: str = '', Direction: str = '', + LegMultiple: int = 0, ImplyLevel: int = 0, CombInstrumentID: str = '', LegInstrumentID: str = ''): super(CombinationLegField, self).__init__() self.reserve1 = self._to_bytes(reserve1) self.LegID = int(LegID) @@ -7170,8 +7500,9 @@ class LinkManField(Base): ('PersonFullName', ctypes.c_char * 101), # 全称 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', PersonType: str = '', IdentifiedCardType: str = '', IdentifiedCardNo: str = '', PersonName: str = '', Telephone: str = '', - Address: str = '', ZipCode: str = '', Priority: int = 0, UOAZipCode: str = '', PersonFullName: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', PersonType: str = '', IdentifiedCardType: str = '', + IdentifiedCardNo: str = '', PersonName: str = '', Telephone: str = '', Address: str = '', + ZipCode: str = '', Priority: int = 0, UOAZipCode: str = '', PersonFullName: str = ''): super(LinkManField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -7215,10 +7546,13 @@ class BrokerUserEventField(Base): ('InvestorID', ctypes.c_char * 13), # 投资者代码 ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('DRIdentityID', ctypes.c_int), # 交易中心代码 + ('TradingDay', ctypes.c_char * 9), # 交易日 ] - def __init__(self, BrokerID: str = '', UserID: str = '', UserEventType: str = '', EventSequenceNo: int = 0, EventDate: str = '', EventTime: str = '', UserEventInfo: str = '', InvestorID: str = '', - reserve1: str = '', InstrumentID: str = ''): + def __init__(self, BrokerID: str = '', UserID: str = '', UserEventType: str = '', EventSequenceNo: int = 0, + EventDate: str = '', EventTime: str = '', UserEventInfo: str = '', InvestorID: str = '', + reserve1: str = '', InstrumentID: str = '', DRIdentityID: int = 0, TradingDay: str = ''): super(BrokerUserEventField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.UserID = self._to_bytes(UserID) @@ -7230,6 +7564,8 @@ def __init__(self, BrokerID: str = '', UserID: str = '', UserEventType: str = '' self.InvestorID = self._to_bytes(InvestorID) self.reserve1 = self._to_bytes(reserve1) self.InstrumentID = self._to_bytes(InstrumentID) + self.DRIdentityID = int(DRIdentityID) + self.TradingDay = self._to_bytes(TradingDay) class QryContractBankField(Base): @@ -7292,10 +7628,12 @@ class InvestorPositionCombineDetailField(Base): ('CombInstrumentID', ctypes.c_char * 81), # 组合持仓合约编码 ] - def __init__(self, TradingDay: str = '', OpenDate: str = '', ExchangeID: str = '', SettlementID: int = 0, BrokerID: str = '', InvestorID: str = '', ComTradeID: str = '', TradeID: str = '', - reserve1: str = '', HedgeFlag: str = '', Direction: str = '', TotalAmt: int = 0, Margin: float = 0.0, ExchMargin: float = 0.0, MarginRateByMoney: float = 0.0, - MarginRateByVolume: float = 0.0, LegID: int = 0, LegMultiple: int = 0, reserve2: str = '', TradeGroupID: int = 0, InvestUnitID: str = '', InstrumentID: str = '', - CombInstrumentID: str = ''): + def __init__(self, TradingDay: str = '', OpenDate: str = '', ExchangeID: str = '', SettlementID: int = 0, + BrokerID: str = '', InvestorID: str = '', ComTradeID: str = '', TradeID: str = '', reserve1: str = '', + HedgeFlag: str = '', Direction: str = '', TotalAmt: int = 0, Margin: float = 0.0, + ExchMargin: float = 0.0, MarginRateByMoney: float = 0.0, MarginRateByVolume: float = 0.0, + LegID: int = 0, LegMultiple: int = 0, reserve2: str = '', TradeGroupID: int = 0, + InvestUnitID: str = '', InstrumentID: str = '', CombInstrumentID: str = ''): super(InvestorPositionCombineDetailField, self).__init__() self.TradingDay = self._to_bytes(TradingDay) self.OpenDate = self._to_bytes(OpenDate) @@ -7346,7 +7684,7 @@ class ParkedOrderField(Base): ('IsAutoSuspend', ctypes.c_int), # 自动挂起标志 ('BusinessUnit', ctypes.c_char * 21), # 业务单元 ('RequestID', ctypes.c_int), # 请求编号 - ('UserForceClose', ctypes.c_int), # 用户强评标志 + ('UserForceClose', ctypes.c_int), # 用户强平标志 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('ParkedOrderID', ctypes.c_char * 13), # 预埋报单编号 ('UserType', ctypes.c_char), # 用户类型 @@ -7364,11 +7702,16 @@ class ParkedOrderField(Base): ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', OrderRef: str = '', UserID: str = '', OrderPriceType: str = '', Direction: str = '', CombOffsetFlag: str = '', - CombHedgeFlag: str = '', LimitPrice: float = 0.0, VolumeTotalOriginal: int = 0, TimeCondition: str = '', GTDDate: str = '', VolumeCondition: str = '', MinVolume: int = 0, - ContingentCondition: str = '', StopPrice: float = 0.0, ForceCloseReason: str = '', IsAutoSuspend: int = 0, BusinessUnit: str = '', RequestID: int = 0, UserForceClose: int = 0, - ExchangeID: str = '', ParkedOrderID: str = '', UserType: str = '', Status: str = '', ErrorID: int = 0, ErrorMsg: str = '', IsSwapOrder: int = 0, AccountID: str = '', - CurrencyID: str = '', ClientID: str = '', InvestUnitID: str = '', reserve2: str = '', MacAddress: str = '', InstrumentID: str = '', IPAddress: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', OrderRef: str = '', + UserID: str = '', OrderPriceType: str = '', Direction: str = '', CombOffsetFlag: str = '', + CombHedgeFlag: str = '', LimitPrice: float = 0.0, VolumeTotalOriginal: int = 0, + TimeCondition: str = '', GTDDate: str = '', VolumeCondition: str = '', MinVolume: int = 0, + ContingentCondition: str = '', StopPrice: float = 0.0, ForceCloseReason: str = '', + IsAutoSuspend: int = 0, BusinessUnit: str = '', RequestID: int = 0, UserForceClose: int = 0, + ExchangeID: str = '', ParkedOrderID: str = '', UserType: str = '', Status: str = '', ErrorID: int = 0, + ErrorMsg: str = '', IsSwapOrder: int = 0, AccountID: str = '', CurrencyID: str = '', + ClientID: str = '', InvestUnitID: str = '', reserve2: str = '', MacAddress: str = '', + InstrumentID: str = '', IPAddress: str = ''): super(ParkedOrderField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -7438,9 +7781,12 @@ class ParkedOrderActionField(Base): ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', OrderActionRef: int = 0, OrderRef: str = '', RequestID: int = 0, FrontID: int = 0, SessionID: int = 0, ExchangeID: str = '', - OrderSysID: str = '', ActionFlag: str = '', LimitPrice: float = 0.0, VolumeChange: int = 0, UserID: str = '', reserve1: str = '', ParkedOrderActionID: str = '', UserType: str = '', - Status: str = '', ErrorID: int = 0, ErrorMsg: str = '', InvestUnitID: str = '', reserve2: str = '', MacAddress: str = '', InstrumentID: str = '', IPAddress: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', OrderActionRef: int = 0, OrderRef: str = '', + RequestID: int = 0, FrontID: int = 0, SessionID: int = 0, ExchangeID: str = '', OrderSysID: str = '', + ActionFlag: str = '', LimitPrice: float = 0.0, VolumeChange: int = 0, UserID: str = '', + reserve1: str = '', ParkedOrderActionID: str = '', UserType: str = '', Status: str = '', + ErrorID: int = 0, ErrorMsg: str = '', InvestUnitID: str = '', reserve2: str = '', MacAddress: str = '', + InstrumentID: str = '', IPAddress: str = ''): super(ParkedOrderActionField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -7479,7 +7825,8 @@ class QryParkedOrderField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', ExchangeID: str = '', InvestUnitID: str = '', InstrumentID: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', ExchangeID: str = '', + InvestUnitID: str = '', InstrumentID: str = ''): super(QryParkedOrderField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -7500,7 +7847,8 @@ class QryParkedOrderActionField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', ExchangeID: str = '', InvestUnitID: str = '', InstrumentID: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', ExchangeID: str = '', + InvestUnitID: str = '', InstrumentID: str = ''): super(QryParkedOrderActionField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -7555,7 +7903,8 @@ class InvestorWithdrawAlgorithmField(Base): ('FundMortgageRatio', ctypes.c_double), # 货币质押比率 ] - def __init__(self, BrokerID: str = '', InvestorRange: str = '', InvestorID: str = '', UsingRatio: float = 0.0, CurrencyID: str = '', FundMortgageRatio: float = 0.0): + def __init__(self, BrokerID: str = '', InvestorRange: str = '', InvestorID: str = '', UsingRatio: float = 0.0, + CurrencyID: str = '', FundMortgageRatio: float = 0.0): super(InvestorWithdrawAlgorithmField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorRange = self._to_bytes(InvestorRange) @@ -7576,7 +7925,8 @@ class QryInvestorPositionCombineDetailField(Base): ('CombInstrumentID', ctypes.c_char * 81), # 组合持仓合约编码 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', ExchangeID: str = '', InvestUnitID: str = '', CombInstrumentID: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', ExchangeID: str = '', + InvestUnitID: str = '', CombInstrumentID: str = ''): super(QryInvestorPositionCombineDetailField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -7624,7 +7974,8 @@ class UserIPField(Base): ('IPMask', ctypes.c_char * 33), # IP地址掩码 ] - def __init__(self, BrokerID: str = '', UserID: str = '', reserve1: str = '', reserve2: str = '', MacAddress: str = '', IPAddress: str = '', IPMask: str = ''): + def __init__(self, BrokerID: str = '', UserID: str = '', reserve1: str = '', reserve2: str = '', + MacAddress: str = '', IPAddress: str = '', IPMask: str = ''): super(UserIPField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.UserID = self._to_bytes(UserID) @@ -7647,7 +7998,8 @@ class TradingNoticeInfoField(Base): ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', SendTime: str = '', FieldContent: str = '', SequenceSeries: int = 0, SequenceNo: int = 0, InvestUnitID: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', SendTime: str = '', FieldContent: str = '', + SequenceSeries: int = 0, SequenceNo: int = 0, InvestUnitID: str = ''): super(TradingNoticeInfoField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -7672,7 +8024,8 @@ class TradingNoticeField(Base): ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 ] - def __init__(self, BrokerID: str = '', InvestorRange: str = '', InvestorID: str = '', SequenceSeries: int = 0, UserID: str = '', SendTime: str = '', SequenceNo: int = 0, FieldContent: str = '', + def __init__(self, BrokerID: str = '', InvestorRange: str = '', InvestorID: str = '', SequenceSeries: int = 0, + UserID: str = '', SendTime: str = '', SequenceNo: int = 0, FieldContent: str = '', InvestUnitID: str = ''): super(TradingNoticeField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) @@ -7738,7 +8091,7 @@ class ErrOrderField(Base): ('IsAutoSuspend', ctypes.c_int), # 自动挂起标志 ('BusinessUnit', ctypes.c_char * 21), # 业务单元 ('RequestID', ctypes.c_int), # 请求编号 - ('UserForceClose', ctypes.c_int), # 用户强评标志 + ('UserForceClose', ctypes.c_int), # 用户强平标志 ('ErrorID', ctypes.c_int), # 错误代码 ('ErrorMsg', ctypes.c_char * 81), # 错误信息 ('IsSwapOrder', ctypes.c_int), # 互换单标志 @@ -7751,13 +8104,20 @@ class ErrOrderField(Base): ('MacAddress', ctypes.c_char * 21), # Mac地址 ('InstrumentID', ctypes.c_char * 81), # 合约代码 ('IPAddress', ctypes.c_char * 33), # IP地址 - ] - - def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', OrderRef: str = '', UserID: str = '', OrderPriceType: str = '', Direction: str = '', CombOffsetFlag: str = '', - CombHedgeFlag: str = '', LimitPrice: float = 0.0, VolumeTotalOriginal: int = 0, TimeCondition: str = '', GTDDate: str = '', VolumeCondition: str = '', MinVolume: int = 0, - ContingentCondition: str = '', StopPrice: float = 0.0, ForceCloseReason: str = '', IsAutoSuspend: int = 0, BusinessUnit: str = '', RequestID: int = 0, UserForceClose: int = 0, - ErrorID: int = 0, ErrorMsg: str = '', IsSwapOrder: int = 0, ExchangeID: str = '', InvestUnitID: str = '', AccountID: str = '', CurrencyID: str = '', ClientID: str = '', - reserve2: str = '', MacAddress: str = '', InstrumentID: str = '', IPAddress: str = ''): + ('OrderMemo', ctypes.c_char * 13), # 报单回显字段 + ('SessionReqSeq', ctypes.c_int), # session上请求计数 api自动维护 + ] + + def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', OrderRef: str = '', + UserID: str = '', OrderPriceType: str = '', Direction: str = '', CombOffsetFlag: str = '', + CombHedgeFlag: str = '', LimitPrice: float = 0.0, VolumeTotalOriginal: int = 0, + TimeCondition: str = '', GTDDate: str = '', VolumeCondition: str = '', MinVolume: int = 0, + ContingentCondition: str = '', StopPrice: float = 0.0, ForceCloseReason: str = '', + IsAutoSuspend: int = 0, BusinessUnit: str = '', RequestID: int = 0, UserForceClose: int = 0, + ErrorID: int = 0, ErrorMsg: str = '', IsSwapOrder: int = 0, ExchangeID: str = '', + InvestUnitID: str = '', AccountID: str = '', CurrencyID: str = '', ClientID: str = '', + reserve2: str = '', MacAddress: str = '', InstrumentID: str = '', IPAddress: str = '', + OrderMemo: str = '', SessionReqSeq: int = 0): super(ErrOrderField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -7793,6 +8153,8 @@ def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', self.MacAddress = self._to_bytes(MacAddress) self.InstrumentID = self._to_bytes(InstrumentID) self.IPAddress = self._to_bytes(IPAddress) + self.OrderMemo = self._to_bytes(OrderMemo) + self.SessionReqSeq = int(SessionReqSeq) class ErrorConditionalOrderField(Base): @@ -7849,7 +8211,7 @@ class ErrorConditionalOrderField(Base): ('SessionID', ctypes.c_int), # 会话编号 ('UserProductInfo', ctypes.c_char * 11), # 用户端产品信息 ('StatusMsg', ctypes.c_char * 81), # 状态信息 - ('UserForceClose', ctypes.c_int), # 用户强评标志 + ('UserForceClose', ctypes.c_int), # 用户强平标志 ('ActiveUserID', ctypes.c_char * 16), # 操作用户代码 ('BrokerOrderSeq', ctypes.c_int), # 经纪公司报单编号 ('RelativeOrderSysID', ctypes.c_char * 21), # 相关报单 @@ -7868,15 +8230,24 @@ class ErrorConditionalOrderField(Base): ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', OrderRef: str = '', UserID: str = '', OrderPriceType: str = '', Direction: str = '', CombOffsetFlag: str = '', - CombHedgeFlag: str = '', LimitPrice: float = 0.0, VolumeTotalOriginal: int = 0, TimeCondition: str = '', GTDDate: str = '', VolumeCondition: str = '', MinVolume: int = 0, - ContingentCondition: str = '', StopPrice: float = 0.0, ForceCloseReason: str = '', IsAutoSuspend: int = 0, BusinessUnit: str = '', RequestID: int = 0, OrderLocalID: str = '', - ExchangeID: str = '', ParticipantID: str = '', ClientID: str = '', reserve2: str = '', TraderID: str = '', InstallID: int = 0, OrderSubmitStatus: str = '', NotifySequence: int = 0, - TradingDay: str = '', SettlementID: int = 0, OrderSysID: str = '', OrderSource: str = '', OrderStatus: str = '', OrderType: str = '', VolumeTraded: int = 0, VolumeTotal: int = 0, - InsertDate: str = '', InsertTime: str = '', ActiveTime: str = '', SuspendTime: str = '', UpdateTime: str = '', CancelTime: str = '', ActiveTraderID: str = '', - ClearingPartID: str = '', SequenceNo: int = 0, FrontID: int = 0, SessionID: int = 0, UserProductInfo: str = '', StatusMsg: str = '', UserForceClose: int = 0, ActiveUserID: str = '', - BrokerOrderSeq: int = 0, RelativeOrderSysID: str = '', ZCETotalTradedVolume: int = 0, ErrorID: int = 0, ErrorMsg: str = '', IsSwapOrder: int = 0, BranchID: str = '', - InvestUnitID: str = '', AccountID: str = '', CurrencyID: str = '', reserve3: str = '', MacAddress: str = '', InstrumentID: str = '', ExchangeInstID: str = '', IPAddress: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', OrderRef: str = '', + UserID: str = '', OrderPriceType: str = '', Direction: str = '', CombOffsetFlag: str = '', + CombHedgeFlag: str = '', LimitPrice: float = 0.0, VolumeTotalOriginal: int = 0, + TimeCondition: str = '', GTDDate: str = '', VolumeCondition: str = '', MinVolume: int = 0, + ContingentCondition: str = '', StopPrice: float = 0.0, ForceCloseReason: str = '', + IsAutoSuspend: int = 0, BusinessUnit: str = '', RequestID: int = 0, OrderLocalID: str = '', + ExchangeID: str = '', ParticipantID: str = '', ClientID: str = '', reserve2: str = '', + TraderID: str = '', InstallID: int = 0, OrderSubmitStatus: str = '', NotifySequence: int = 0, + TradingDay: str = '', SettlementID: int = 0, OrderSysID: str = '', OrderSource: str = '', + OrderStatus: str = '', OrderType: str = '', VolumeTraded: int = 0, VolumeTotal: int = 0, + InsertDate: str = '', InsertTime: str = '', ActiveTime: str = '', SuspendTime: str = '', + UpdateTime: str = '', CancelTime: str = '', ActiveTraderID: str = '', ClearingPartID: str = '', + SequenceNo: int = 0, FrontID: int = 0, SessionID: int = 0, UserProductInfo: str = '', + StatusMsg: str = '', UserForceClose: int = 0, ActiveUserID: str = '', BrokerOrderSeq: int = 0, + RelativeOrderSysID: str = '', ZCETotalTradedVolume: int = 0, ErrorID: int = 0, ErrorMsg: str = '', + IsSwapOrder: int = 0, BranchID: str = '', InvestUnitID: str = '', AccountID: str = '', + CurrencyID: str = '', reserve3: str = '', MacAddress: str = '', InstrumentID: str = '', + ExchangeInstID: str = '', IPAddress: str = ''): super(ErrorConditionalOrderField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -7997,13 +8368,19 @@ class ErrOrderActionField(Base): ('ErrorMsg', ctypes.c_char * 81), # 错误信息 ('InstrumentID', ctypes.c_char * 81), # 合约代码 ('IPAddress', ctypes.c_char * 33), # IP地址 - ] - - def __init__(self, BrokerID: str = '', InvestorID: str = '', OrderActionRef: int = 0, OrderRef: str = '', RequestID: int = 0, FrontID: int = 0, SessionID: int = 0, ExchangeID: str = '', - OrderSysID: str = '', ActionFlag: str = '', LimitPrice: float = 0.0, VolumeChange: int = 0, ActionDate: str = '', ActionTime: str = '', TraderID: str = '', InstallID: int = 0, - OrderLocalID: str = '', ActionLocalID: str = '', ParticipantID: str = '', ClientID: str = '', BusinessUnit: str = '', OrderActionStatus: str = '', UserID: str = '', - StatusMsg: str = '', reserve1: str = '', BranchID: str = '', InvestUnitID: str = '', reserve2: str = '', MacAddress: str = '', ErrorID: int = 0, ErrorMsg: str = '', - InstrumentID: str = '', IPAddress: str = ''): + ('OrderMemo', ctypes.c_char * 13), # 报单回显字段 + ('SessionReqSeq', ctypes.c_int), # session上请求计数 api自动维护 + ] + + def __init__(self, BrokerID: str = '', InvestorID: str = '', OrderActionRef: int = 0, OrderRef: str = '', + RequestID: int = 0, FrontID: int = 0, SessionID: int = 0, ExchangeID: str = '', OrderSysID: str = '', + ActionFlag: str = '', LimitPrice: float = 0.0, VolumeChange: int = 0, ActionDate: str = '', + ActionTime: str = '', TraderID: str = '', InstallID: int = 0, OrderLocalID: str = '', + ActionLocalID: str = '', ParticipantID: str = '', ClientID: str = '', BusinessUnit: str = '', + OrderActionStatus: str = '', UserID: str = '', StatusMsg: str = '', reserve1: str = '', + BranchID: str = '', InvestUnitID: str = '', reserve2: str = '', MacAddress: str = '', ErrorID: int = 0, + ErrorMsg: str = '', InstrumentID: str = '', IPAddress: str = '', OrderMemo: str = '', + SessionReqSeq: int = 0): super(ErrOrderActionField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -8038,6 +8415,8 @@ def __init__(self, BrokerID: str = '', InvestorID: str = '', OrderActionRef: int self.ErrorMsg = self._to_bytes(ErrorMsg) self.InstrumentID = self._to_bytes(InstrumentID) self.IPAddress = self._to_bytes(IPAddress) + self.OrderMemo = self._to_bytes(OrderMemo) + self.SessionReqSeq = int(SessionReqSeq) class QryExchangeSequenceField(Base): @@ -8082,7 +8461,8 @@ class QryMaxOrderVolumeWithPriceField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', Direction: str = '', OffsetFlag: str = '', HedgeFlag: str = '', MaxVolume: int = 0, Price: float = 0.0, + def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', Direction: str = '', + OffsetFlag: str = '', HedgeFlag: str = '', MaxVolume: int = 0, Price: float = 0.0, ExchangeID: str = '', InvestUnitID: str = '', InstrumentID: str = ''): super(QryMaxOrderVolumeWithPriceField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) @@ -8128,8 +8508,9 @@ class BrokerTradingParamsField(Base): ('AccountID', ctypes.c_char * 13), # 投资者帐号 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', MarginPriceType: str = '', Algorithm: str = '', AvailIncludeCloseProfit: str = '', CurrencyID: str = '', - OptionRoyaltyPriceType: str = '', AccountID: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', MarginPriceType: str = '', Algorithm: str = '', + AvailIncludeCloseProfit: str = '', CurrencyID: str = '', OptionRoyaltyPriceType: str = '', + AccountID: str = ''): super(BrokerTradingParamsField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -8170,8 +8551,8 @@ class BrokerTradingAlgosField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID: str = '', ExchangeID: str = '', reserve1: str = '', HandlePositionAlgoID: str = '', FindMarginRateAlgoID: str = '', HandleTradingAccountAlgoID: str = '', - InstrumentID: str = ''): + def __init__(self, BrokerID: str = '', ExchangeID: str = '', reserve1: str = '', HandlePositionAlgoID: str = '', + FindMarginRateAlgoID: str = '', HandleTradingAccountAlgoID: str = '', InstrumentID: str = ''): super(BrokerTradingAlgosField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.ExchangeID = self._to_bytes(ExchangeID) @@ -8213,8 +8594,10 @@ class BrokerDepositField(Base): ('FrozenMargin', ctypes.c_double), # 冻结的保证金 ] - def __init__(self, TradingDay: str = '', BrokerID: str = '', ParticipantID: str = '', ExchangeID: str = '', PreBalance: float = 0.0, CurrMargin: float = 0.0, CloseProfit: float = 0.0, - Balance: float = 0.0, Deposit: float = 0.0, Withdraw: float = 0.0, Available: float = 0.0, Reserve: float = 0.0, FrozenMargin: float = 0.0): + def __init__(self, TradingDay: str = '', BrokerID: str = '', ParticipantID: str = '', ExchangeID: str = '', + PreBalance: float = 0.0, CurrMargin: float = 0.0, CloseProfit: float = 0.0, Balance: float = 0.0, + Deposit: float = 0.0, Withdraw: float = 0.0, Available: float = 0.0, Reserve: float = 0.0, + FrozenMargin: float = 0.0): super(BrokerDepositField, self).__init__() self.TradingDay = self._to_bytes(TradingDay) self.BrokerID = self._to_bytes(BrokerID) @@ -8254,7 +8637,8 @@ class CFMMCBrokerKeyField(Base): ('KeyKind', ctypes.c_char), # 动态密钥类型 ] - def __init__(self, BrokerID: str = '', ParticipantID: str = '', CreateDate: str = '', CreateTime: str = '', KeyID: int = 0, CurrentKey: str = '', KeyKind: str = ''): + def __init__(self, BrokerID: str = '', ParticipantID: str = '', CreateDate: str = '', CreateTime: str = '', + KeyID: int = 0, CurrentKey: str = '', KeyKind: str = ''): super(CFMMCBrokerKeyField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.ParticipantID = self._to_bytes(ParticipantID) @@ -8275,7 +8659,8 @@ class CFMMCTradingAccountKeyField(Base): ('CurrentKey', ctypes.c_char * 21), # 动态密钥 ] - def __init__(self, BrokerID: str = '', ParticipantID: str = '', AccountID: str = '', KeyID: int = 0, CurrentKey: str = ''): + def __init__(self, BrokerID: str = '', ParticipantID: str = '', AccountID: str = '', KeyID: int = 0, + CurrentKey: str = ''): super(CFMMCTradingAccountKeyField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.ParticipantID = self._to_bytes(ParticipantID) @@ -8310,7 +8695,8 @@ class BrokerUserOTPParamField(Base): ('OTPType', ctypes.c_char), # 动态令牌类型 ] - def __init__(self, BrokerID: str = '', UserID: str = '', OTPVendorsID: str = '', SerialNumber: str = '', AuthKey: str = '', LastDrift: int = 0, LastSuccess: int = 0, OTPType: str = ''): + def __init__(self, BrokerID: str = '', UserID: str = '', OTPVendorsID: str = '', SerialNumber: str = '', + AuthKey: str = '', LastDrift: int = 0, LastSuccess: int = 0, OTPType: str = ''): super(BrokerUserOTPParamField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.UserID = self._to_bytes(UserID) @@ -8332,7 +8718,8 @@ class ManualSyncBrokerUserOTPField(Base): ('SecondOTP', ctypes.c_char * 41), # 第二个动态密码 ] - def __init__(self, BrokerID: str = '', UserID: str = '', OTPType: str = '', FirstOTP: str = '', SecondOTP: str = ''): + def __init__(self, BrokerID: str = '', UserID: str = '', OTPType: str = '', FirstOTP: str = '', + SecondOTP: str = ''): super(ManualSyncBrokerUserOTPField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.UserID = self._to_bytes(UserID) @@ -8412,8 +8799,9 @@ class EWarrantOffsetField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, TradingDay: str = '', BrokerID: str = '', InvestorID: str = '', ExchangeID: str = '', reserve1: str = '', Direction: str = '', HedgeFlag: str = '', Volume: int = 0, - InvestUnitID: str = '', InstrumentID: str = ''): + def __init__(self, TradingDay: str = '', BrokerID: str = '', InvestorID: str = '', ExchangeID: str = '', + reserve1: str = '', Direction: str = '', HedgeFlag: str = '', Volume: int = 0, InvestUnitID: str = '', + InstrumentID: str = ''): super(EWarrantOffsetField, self).__init__() self.TradingDay = self._to_bytes(TradingDay) self.BrokerID = self._to_bytes(BrokerID) @@ -8438,7 +8826,8 @@ class QryEWarrantOffsetField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', ExchangeID: str = '', reserve1: str = '', InvestUnitID: str = '', InstrumentID: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', ExchangeID: str = '', reserve1: str = '', + InvestUnitID: str = '', InstrumentID: str = ''): super(QryEWarrantOffsetField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -8460,7 +8849,8 @@ class QryInvestorProductGroupMarginField(Base): ('ProductGroupID', ctypes.c_char * 81), # 品种/跨品种标示 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', HedgeFlag: str = '', ExchangeID: str = '', InvestUnitID: str = '', ProductGroupID: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', reserve1: str = '', HedgeFlag: str = '', + ExchangeID: str = '', InvestUnitID: str = '', ProductGroupID: str = ''): super(QryInvestorProductGroupMarginField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -8506,11 +8896,15 @@ class InvestorProductGroupMarginField(Base): ('ProductGroupID', ctypes.c_char * 81), # 品种/跨品种标示 ] - def __init__(self, reserve1: str = '', BrokerID: str = '', InvestorID: str = '', TradingDay: str = '', SettlementID: int = 0, FrozenMargin: float = 0.0, LongFrozenMargin: float = 0.0, - ShortFrozenMargin: float = 0.0, UseMargin: float = 0.0, LongUseMargin: float = 0.0, ShortUseMargin: float = 0.0, ExchMargin: float = 0.0, LongExchMargin: float = 0.0, - ShortExchMargin: float = 0.0, CloseProfit: float = 0.0, FrozenCommission: float = 0.0, Commission: float = 0.0, FrozenCash: float = 0.0, CashIn: float = 0.0, - PositionProfit: float = 0.0, OffsetAmount: float = 0.0, LongOffsetAmount: float = 0.0, ShortOffsetAmount: float = 0.0, ExchOffsetAmount: float = 0.0, - LongExchOffsetAmount: float = 0.0, ShortExchOffsetAmount: float = 0.0, HedgeFlag: str = '', ExchangeID: str = '', InvestUnitID: str = '', ProductGroupID: str = ''): + def __init__(self, reserve1: str = '', BrokerID: str = '', InvestorID: str = '', TradingDay: str = '', + SettlementID: int = 0, FrozenMargin: float = 0.0, LongFrozenMargin: float = 0.0, + ShortFrozenMargin: float = 0.0, UseMargin: float = 0.0, LongUseMargin: float = 0.0, + ShortUseMargin: float = 0.0, ExchMargin: float = 0.0, LongExchMargin: float = 0.0, + ShortExchMargin: float = 0.0, CloseProfit: float = 0.0, FrozenCommission: float = 0.0, + Commission: float = 0.0, FrozenCash: float = 0.0, CashIn: float = 0.0, PositionProfit: float = 0.0, + OffsetAmount: float = 0.0, LongOffsetAmount: float = 0.0, ShortOffsetAmount: float = 0.0, + ExchOffsetAmount: float = 0.0, LongExchOffsetAmount: float = 0.0, ShortExchOffsetAmount: float = 0.0, + HedgeFlag: str = '', ExchangeID: str = '', InvestUnitID: str = '', ProductGroupID: str = ''): super(InvestorProductGroupMarginField, self).__init__() self.reserve1 = self._to_bytes(reserve1) self.BrokerID = self._to_bytes(BrokerID) @@ -8569,7 +8963,8 @@ class CFMMCTradingAccountTokenField(Base): ('Token', ctypes.c_char * 21), # 动态令牌 ] - def __init__(self, BrokerID: str = '', ParticipantID: str = '', AccountID: str = '', KeyID: int = 0, Token: str = ''): + def __init__(self, BrokerID: str = '', ParticipantID: str = '', AccountID: str = '', KeyID: int = 0, + Token: str = ''): super(CFMMCTradingAccountTokenField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.ParticipantID = self._to_bytes(ParticipantID) @@ -8603,7 +8998,8 @@ class ProductGroupField(Base): ('ProductGroupID', ctypes.c_char * 81), # 产品组代码 ] - def __init__(self, reserve1: str = '', ExchangeID: str = '', reserve2: str = '', ProductID: str = '', ProductGroupID: str = ''): + def __init__(self, reserve1: str = '', ExchangeID: str = '', reserve2: str = '', ProductID: str = '', + ProductGroupID: str = ''): super(ProductGroupField, self).__init__() self.reserve1 = self._to_bytes(reserve1) self.ExchangeID = self._to_bytes(ExchangeID) @@ -8629,8 +9025,9 @@ class BulletinField(Base): ('MarketID', ctypes.c_char * 31), # 市场代码 ] - def __init__(self, ExchangeID: str = '', TradingDay: str = '', BulletinID: int = 0, SequenceNo: int = 0, NewsType: str = '', NewsUrgency: str = '', SendTime: str = '', Abstract: str = '', - ComeFrom: str = '', Content: str = '', URLLink: str = '', MarketID: str = ''): + def __init__(self, ExchangeID: str = '', TradingDay: str = '', BulletinID: int = 0, SequenceNo: int = 0, + NewsType: str = '', NewsUrgency: str = '', SendTime: str = '', Abstract: str = '', ComeFrom: str = '', + Content: str = '', URLLink: str = '', MarketID: str = ''): super(BulletinField, self).__init__() self.ExchangeID = self._to_bytes(ExchangeID) self.TradingDay = self._to_bytes(TradingDay) @@ -8656,7 +9053,8 @@ class QryBulletinField(Base): ('NewsUrgency', ctypes.c_char), # 紧急程度 ] - def __init__(self, ExchangeID: str = '', BulletinID: int = 0, SequenceNo: int = 0, NewsType: str = '', NewsUrgency: str = ''): + def __init__(self, ExchangeID: str = '', BulletinID: int = 0, SequenceNo: int = 0, NewsType: str = '', + NewsUrgency: str = ''): super(QryBulletinField, self).__init__() self.ExchangeID = self._to_bytes(ExchangeID) self.BulletinID = int(BulletinID) @@ -8677,7 +9075,8 @@ class MulticastInstrumentField(Base): ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, TopicID: int = 0, reserve1: str = '', InstrumentNo: int = 0, CodePrice: float = 0.0, VolumeMultiple: int = 0, PriceTick: float = 0.0, InstrumentID: str = ''): + def __init__(self, TopicID: int = 0, reserve1: str = '', InstrumentNo: int = 0, CodePrice: float = 0.0, + VolumeMultiple: int = 0, PriceTick: float = 0.0, InstrumentID: str = ''): super(MulticastInstrumentField, self).__init__() self.TopicID = int(TopicID) self.reserve1 = self._to_bytes(reserve1) @@ -8768,12 +9167,17 @@ class ReqOpenAccountField(Base): ('LongCustomerName', ctypes.c_char * 161), # 长客户姓名 ] - def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', - TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, CustomerName: str = '', IdCardType: str = '', IdentifiedCardNo: str = '', Gender: str = '', - CountryCode: str = '', CustType: str = '', Address: str = '', ZipCode: str = '', Telephone: str = '', MobilePhone: str = '', Fax: str = '', EMail: str = '', - MoneyAccountStatus: str = '', BankAccount: str = '', BankPassWord: str = '', AccountID: str = '', Password: str = '', InstallID: int = 0, VerifyCertNoFlag: str = '', - CurrencyID: str = '', CashExchangeCode: str = '', Digest: str = '', BankAccType: str = '', DeviceID: str = '', BankSecuAccType: str = '', BrokerIDByBank: str = '', - BankSecuAcc: str = '', BankPwdFlag: str = '', SecuPwdFlag: str = '', OperNo: str = '', TID: int = 0, UserID: str = '', LongCustomerName: str = ''): + def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', + BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', + TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, + CustomerName: str = '', IdCardType: str = '', IdentifiedCardNo: str = '', Gender: str = '', + CountryCode: str = '', CustType: str = '', Address: str = '', ZipCode: str = '', Telephone: str = '', + MobilePhone: str = '', Fax: str = '', EMail: str = '', MoneyAccountStatus: str = '', + BankAccount: str = '', BankPassWord: str = '', AccountID: str = '', Password: str = '', + InstallID: int = 0, VerifyCertNoFlag: str = '', CurrencyID: str = '', CashExchangeCode: str = '', + Digest: str = '', BankAccType: str = '', DeviceID: str = '', BankSecuAccType: str = '', + BrokerIDByBank: str = '', BankSecuAcc: str = '', BankPwdFlag: str = '', SecuPwdFlag: str = '', + OperNo: str = '', TID: int = 0, UserID: str = '', LongCustomerName: str = ''): super(ReqOpenAccountField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -8872,12 +9276,17 @@ class ReqCancelAccountField(Base): ('LongCustomerName', ctypes.c_char * 161), # 长客户姓名 ] - def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', - TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, CustomerName: str = '', IdCardType: str = '', IdentifiedCardNo: str = '', Gender: str = '', - CountryCode: str = '', CustType: str = '', Address: str = '', ZipCode: str = '', Telephone: str = '', MobilePhone: str = '', Fax: str = '', EMail: str = '', - MoneyAccountStatus: str = '', BankAccount: str = '', BankPassWord: str = '', AccountID: str = '', Password: str = '', InstallID: int = 0, VerifyCertNoFlag: str = '', - CurrencyID: str = '', CashExchangeCode: str = '', Digest: str = '', BankAccType: str = '', DeviceID: str = '', BankSecuAccType: str = '', BrokerIDByBank: str = '', - BankSecuAcc: str = '', BankPwdFlag: str = '', SecuPwdFlag: str = '', OperNo: str = '', TID: int = 0, UserID: str = '', LongCustomerName: str = ''): + def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', + BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', + TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, + CustomerName: str = '', IdCardType: str = '', IdentifiedCardNo: str = '', Gender: str = '', + CountryCode: str = '', CustType: str = '', Address: str = '', ZipCode: str = '', Telephone: str = '', + MobilePhone: str = '', Fax: str = '', EMail: str = '', MoneyAccountStatus: str = '', + BankAccount: str = '', BankPassWord: str = '', AccountID: str = '', Password: str = '', + InstallID: int = 0, VerifyCertNoFlag: str = '', CurrencyID: str = '', CashExchangeCode: str = '', + Digest: str = '', BankAccType: str = '', DeviceID: str = '', BankSecuAccType: str = '', + BrokerIDByBank: str = '', BankSecuAcc: str = '', BankPwdFlag: str = '', SecuPwdFlag: str = '', + OperNo: str = '', TID: int = 0, UserID: str = '', LongCustomerName: str = ''): super(ReqCancelAccountField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -8972,12 +9381,16 @@ class ReqChangeAccountField(Base): ('LongCustomerName', ctypes.c_char * 161), # 长客户姓名 ] - def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', - TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, CustomerName: str = '', IdCardType: str = '', IdentifiedCardNo: str = '', Gender: str = '', - CountryCode: str = '', CustType: str = '', Address: str = '', ZipCode: str = '', Telephone: str = '', MobilePhone: str = '', Fax: str = '', EMail: str = '', - MoneyAccountStatus: str = '', BankAccount: str = '', BankPassWord: str = '', NewBankAccount: str = '', NewBankPassWord: str = '', AccountID: str = '', Password: str = '', - BankAccType: str = '', InstallID: int = 0, VerifyCertNoFlag: str = '', CurrencyID: str = '', BrokerIDByBank: str = '', BankPwdFlag: str = '', SecuPwdFlag: str = '', TID: int = 0, - Digest: str = '', LongCustomerName: str = ''): + def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', + BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', + TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, + CustomerName: str = '', IdCardType: str = '', IdentifiedCardNo: str = '', Gender: str = '', + CountryCode: str = '', CustType: str = '', Address: str = '', ZipCode: str = '', Telephone: str = '', + MobilePhone: str = '', Fax: str = '', EMail: str = '', MoneyAccountStatus: str = '', + BankAccount: str = '', BankPassWord: str = '', NewBankAccount: str = '', NewBankPassWord: str = '', + AccountID: str = '', Password: str = '', BankAccType: str = '', InstallID: int = 0, + VerifyCertNoFlag: str = '', CurrencyID: str = '', BrokerIDByBank: str = '', BankPwdFlag: str = '', + SecuPwdFlag: str = '', TID: int = 0, Digest: str = '', LongCustomerName: str = ''): super(ReqChangeAccountField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -9071,12 +9484,17 @@ class ReqTransferField(Base): ('LongCustomerName', ctypes.c_char * 161), # 长客户姓名 ] - def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', - TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, CustomerName: str = '', IdCardType: str = '', IdentifiedCardNo: str = '', CustType: str = '', - BankAccount: str = '', BankPassWord: str = '', AccountID: str = '', Password: str = '', InstallID: int = 0, FutureSerial: int = 0, UserID: str = '', VerifyCertNoFlag: str = '', - CurrencyID: str = '', TradeAmount: float = 0.0, FutureFetchAmount: float = 0.0, FeePayFlag: str = '', CustFee: float = 0.0, BrokerFee: float = 0.0, Message: str = '', - Digest: str = '', BankAccType: str = '', DeviceID: str = '', BankSecuAccType: str = '', BrokerIDByBank: str = '', BankSecuAcc: str = '', BankPwdFlag: str = '', SecuPwdFlag: str = '', - OperNo: str = '', RequestID: int = 0, TID: int = 0, TransferStatus: str = '', LongCustomerName: str = ''): + def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', + BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', + TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, + CustomerName: str = '', IdCardType: str = '', IdentifiedCardNo: str = '', CustType: str = '', + BankAccount: str = '', BankPassWord: str = '', AccountID: str = '', Password: str = '', + InstallID: int = 0, FutureSerial: int = 0, UserID: str = '', VerifyCertNoFlag: str = '', + CurrencyID: str = '', TradeAmount: float = 0.0, FutureFetchAmount: float = 0.0, FeePayFlag: str = '', + CustFee: float = 0.0, BrokerFee: float = 0.0, Message: str = '', Digest: str = '', + BankAccType: str = '', DeviceID: str = '', BankSecuAccType: str = '', BrokerIDByBank: str = '', + BankSecuAcc: str = '', BankPwdFlag: str = '', SecuPwdFlag: str = '', OperNo: str = '', + RequestID: int = 0, TID: int = 0, TransferStatus: str = '', LongCustomerName: str = ''): super(ReqTransferField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -9175,12 +9593,18 @@ class RspTransferField(Base): ('LongCustomerName', ctypes.c_char * 161), # 长客户姓名 ] - def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', - TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, CustomerName: str = '', IdCardType: str = '', IdentifiedCardNo: str = '', CustType: str = '', - BankAccount: str = '', BankPassWord: str = '', AccountID: str = '', Password: str = '', InstallID: int = 0, FutureSerial: int = 0, UserID: str = '', VerifyCertNoFlag: str = '', - CurrencyID: str = '', TradeAmount: float = 0.0, FutureFetchAmount: float = 0.0, FeePayFlag: str = '', CustFee: float = 0.0, BrokerFee: float = 0.0, Message: str = '', - Digest: str = '', BankAccType: str = '', DeviceID: str = '', BankSecuAccType: str = '', BrokerIDByBank: str = '', BankSecuAcc: str = '', BankPwdFlag: str = '', SecuPwdFlag: str = '', - OperNo: str = '', RequestID: int = 0, TID: int = 0, TransferStatus: str = '', ErrorID: int = 0, ErrorMsg: str = '', LongCustomerName: str = ''): + def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', + BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', + TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, + CustomerName: str = '', IdCardType: str = '', IdentifiedCardNo: str = '', CustType: str = '', + BankAccount: str = '', BankPassWord: str = '', AccountID: str = '', Password: str = '', + InstallID: int = 0, FutureSerial: int = 0, UserID: str = '', VerifyCertNoFlag: str = '', + CurrencyID: str = '', TradeAmount: float = 0.0, FutureFetchAmount: float = 0.0, FeePayFlag: str = '', + CustFee: float = 0.0, BrokerFee: float = 0.0, Message: str = '', Digest: str = '', + BankAccType: str = '', DeviceID: str = '', BankSecuAccType: str = '', BrokerIDByBank: str = '', + BankSecuAcc: str = '', BankPwdFlag: str = '', SecuPwdFlag: str = '', OperNo: str = '', + RequestID: int = 0, TID: int = 0, TransferStatus: str = '', ErrorID: int = 0, ErrorMsg: str = '', + LongCustomerName: str = ''): super(RspTransferField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -9286,13 +9710,20 @@ class ReqRepealField(Base): ('LongCustomerName', ctypes.c_char * 161), # 长客户姓名 ] - def __init__(self, RepealTimeInterval: int = 0, RepealedTimes: int = 0, BankRepealFlag: str = '', BrokerRepealFlag: str = '', PlateRepealSerial: int = 0, BankRepealSerial: str = '', - FutureRepealSerial: int = 0, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', - BankSerial: str = '', TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, CustomerName: str = '', IdCardType: str = '', IdentifiedCardNo: str = '', - CustType: str = '', BankAccount: str = '', BankPassWord: str = '', AccountID: str = '', Password: str = '', InstallID: int = 0, FutureSerial: int = 0, UserID: str = '', - VerifyCertNoFlag: str = '', CurrencyID: str = '', TradeAmount: float = 0.0, FutureFetchAmount: float = 0.0, FeePayFlag: str = '', CustFee: float = 0.0, BrokerFee: float = 0.0, - Message: str = '', Digest: str = '', BankAccType: str = '', DeviceID: str = '', BankSecuAccType: str = '', BrokerIDByBank: str = '', BankSecuAcc: str = '', BankPwdFlag: str = '', - SecuPwdFlag: str = '', OperNo: str = '', RequestID: int = 0, TID: int = 0, TransferStatus: str = '', LongCustomerName: str = ''): + def __init__(self, RepealTimeInterval: int = 0, RepealedTimes: int = 0, BankRepealFlag: str = '', + BrokerRepealFlag: str = '', PlateRepealSerial: int = 0, BankRepealSerial: str = '', + FutureRepealSerial: int = 0, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', + BrokerID: str = '', BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', + BankSerial: str = '', TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', + SessionID: int = 0, CustomerName: str = '', IdCardType: str = '', IdentifiedCardNo: str = '', + CustType: str = '', BankAccount: str = '', BankPassWord: str = '', AccountID: str = '', + Password: str = '', InstallID: int = 0, FutureSerial: int = 0, UserID: str = '', + VerifyCertNoFlag: str = '', CurrencyID: str = '', TradeAmount: float = 0.0, + FutureFetchAmount: float = 0.0, FeePayFlag: str = '', CustFee: float = 0.0, BrokerFee: float = 0.0, + Message: str = '', Digest: str = '', BankAccType: str = '', DeviceID: str = '', + BankSecuAccType: str = '', BrokerIDByBank: str = '', BankSecuAcc: str = '', BankPwdFlag: str = '', + SecuPwdFlag: str = '', OperNo: str = '', RequestID: int = 0, TID: int = 0, TransferStatus: str = '', + LongCustomerName: str = ''): super(ReqRepealField, self).__init__() self.RepealTimeInterval = int(RepealTimeInterval) self.RepealedTimes = int(RepealedTimes) @@ -9405,13 +9836,20 @@ class RspRepealField(Base): ('LongCustomerName', ctypes.c_char * 161), # 长客户姓名 ] - def __init__(self, RepealTimeInterval: int = 0, RepealedTimes: int = 0, BankRepealFlag: str = '', BrokerRepealFlag: str = '', PlateRepealSerial: int = 0, BankRepealSerial: str = '', - FutureRepealSerial: int = 0, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', - BankSerial: str = '', TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, CustomerName: str = '', IdCardType: str = '', IdentifiedCardNo: str = '', - CustType: str = '', BankAccount: str = '', BankPassWord: str = '', AccountID: str = '', Password: str = '', InstallID: int = 0, FutureSerial: int = 0, UserID: str = '', - VerifyCertNoFlag: str = '', CurrencyID: str = '', TradeAmount: float = 0.0, FutureFetchAmount: float = 0.0, FeePayFlag: str = '', CustFee: float = 0.0, BrokerFee: float = 0.0, - Message: str = '', Digest: str = '', BankAccType: str = '', DeviceID: str = '', BankSecuAccType: str = '', BrokerIDByBank: str = '', BankSecuAcc: str = '', BankPwdFlag: str = '', - SecuPwdFlag: str = '', OperNo: str = '', RequestID: int = 0, TID: int = 0, TransferStatus: str = '', ErrorID: int = 0, ErrorMsg: str = '', LongCustomerName: str = ''): + def __init__(self, RepealTimeInterval: int = 0, RepealedTimes: int = 0, BankRepealFlag: str = '', + BrokerRepealFlag: str = '', PlateRepealSerial: int = 0, BankRepealSerial: str = '', + FutureRepealSerial: int = 0, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', + BrokerID: str = '', BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', + BankSerial: str = '', TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', + SessionID: int = 0, CustomerName: str = '', IdCardType: str = '', IdentifiedCardNo: str = '', + CustType: str = '', BankAccount: str = '', BankPassWord: str = '', AccountID: str = '', + Password: str = '', InstallID: int = 0, FutureSerial: int = 0, UserID: str = '', + VerifyCertNoFlag: str = '', CurrencyID: str = '', TradeAmount: float = 0.0, + FutureFetchAmount: float = 0.0, FeePayFlag: str = '', CustFee: float = 0.0, BrokerFee: float = 0.0, + Message: str = '', Digest: str = '', BankAccType: str = '', DeviceID: str = '', + BankSecuAccType: str = '', BrokerIDByBank: str = '', BankSecuAcc: str = '', BankPwdFlag: str = '', + SecuPwdFlag: str = '', OperNo: str = '', RequestID: int = 0, TID: int = 0, TransferStatus: str = '', + ErrorID: int = 0, ErrorMsg: str = '', LongCustomerName: str = ''): super(RspRepealField, self).__init__() self.RepealTimeInterval = int(RepealTimeInterval) self.RepealedTimes = int(RepealedTimes) @@ -9510,10 +9948,14 @@ class ReqQueryAccountField(Base): ('LongCustomerName', ctypes.c_char * 161), # 长客户姓名 ] - def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', - TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, CustomerName: str = '', IdCardType: str = '', IdentifiedCardNo: str = '', CustType: str = '', - BankAccount: str = '', BankPassWord: str = '', AccountID: str = '', Password: str = '', FutureSerial: int = 0, InstallID: int = 0, UserID: str = '', VerifyCertNoFlag: str = '', - CurrencyID: str = '', Digest: str = '', BankAccType: str = '', DeviceID: str = '', BankSecuAccType: str = '', BrokerIDByBank: str = '', BankSecuAcc: str = '', BankPwdFlag: str = '', + def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', + BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', + TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, + CustomerName: str = '', IdCardType: str = '', IdentifiedCardNo: str = '', CustType: str = '', + BankAccount: str = '', BankPassWord: str = '', AccountID: str = '', Password: str = '', + FutureSerial: int = 0, InstallID: int = 0, UserID: str = '', VerifyCertNoFlag: str = '', + CurrencyID: str = '', Digest: str = '', BankAccType: str = '', DeviceID: str = '', + BankSecuAccType: str = '', BrokerIDByBank: str = '', BankSecuAcc: str = '', BankPwdFlag: str = '', SecuPwdFlag: str = '', OperNo: str = '', RequestID: int = 0, TID: int = 0, LongCustomerName: str = ''): super(ReqQueryAccountField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) @@ -9599,11 +10041,16 @@ class RspQueryAccountField(Base): ('LongCustomerName', ctypes.c_char * 161), # 长客户姓名 ] - def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', - TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, CustomerName: str = '', IdCardType: str = '', IdentifiedCardNo: str = '', CustType: str = '', - BankAccount: str = '', BankPassWord: str = '', AccountID: str = '', Password: str = '', FutureSerial: int = 0, InstallID: int = 0, UserID: str = '', VerifyCertNoFlag: str = '', - CurrencyID: str = '', Digest: str = '', BankAccType: str = '', DeviceID: str = '', BankSecuAccType: str = '', BrokerIDByBank: str = '', BankSecuAcc: str = '', BankPwdFlag: str = '', - SecuPwdFlag: str = '', OperNo: str = '', RequestID: int = 0, TID: int = 0, BankUseAmount: float = 0.0, BankFetchAmount: float = 0.0, LongCustomerName: str = ''): + def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', + BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', + TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, + CustomerName: str = '', IdCardType: str = '', IdentifiedCardNo: str = '', CustType: str = '', + BankAccount: str = '', BankPassWord: str = '', AccountID: str = '', Password: str = '', + FutureSerial: int = 0, InstallID: int = 0, UserID: str = '', VerifyCertNoFlag: str = '', + CurrencyID: str = '', Digest: str = '', BankAccType: str = '', DeviceID: str = '', + BankSecuAccType: str = '', BrokerIDByBank: str = '', BankSecuAcc: str = '', BankPwdFlag: str = '', + SecuPwdFlag: str = '', OperNo: str = '', RequestID: int = 0, TID: int = 0, BankUseAmount: float = 0.0, + BankFetchAmount: float = 0.0, LongCustomerName: str = ''): super(RspQueryAccountField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -9672,9 +10119,11 @@ class FutureSignIOField(Base): ('TID', ctypes.c_int), # 交易ID ] - def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', - TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, InstallID: int = 0, UserID: str = '', Digest: str = '', CurrencyID: str = '', - DeviceID: str = '', BrokerIDByBank: str = '', OperNo: str = '', RequestID: int = 0, TID: int = 0): + def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', + BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', + TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, + InstallID: int = 0, UserID: str = '', Digest: str = '', CurrencyID: str = '', DeviceID: str = '', + BrokerIDByBank: str = '', OperNo: str = '', RequestID: int = 0, TID: int = 0): super(FutureSignIOField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -9729,9 +10178,12 @@ class RspFutureSignInField(Base): ('MacKey', ctypes.c_char * 129), # MAC密钥 ] - def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', - TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, InstallID: int = 0, UserID: str = '', Digest: str = '', CurrencyID: str = '', - DeviceID: str = '', BrokerIDByBank: str = '', OperNo: str = '', RequestID: int = 0, TID: int = 0, ErrorID: int = 0, ErrorMsg: str = '', PinKey: str = '', MacKey: str = ''): + def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', + BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', + TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, + InstallID: int = 0, UserID: str = '', Digest: str = '', CurrencyID: str = '', DeviceID: str = '', + BrokerIDByBank: str = '', OperNo: str = '', RequestID: int = 0, TID: int = 0, ErrorID: int = 0, + ErrorMsg: str = '', PinKey: str = '', MacKey: str = ''): super(RspFutureSignInField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -9786,9 +10238,11 @@ class ReqFutureSignOutField(Base): ('TID', ctypes.c_int), # 交易ID ] - def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', - TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, InstallID: int = 0, UserID: str = '', Digest: str = '', CurrencyID: str = '', - DeviceID: str = '', BrokerIDByBank: str = '', OperNo: str = '', RequestID: int = 0, TID: int = 0): + def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', + BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', + TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, + InstallID: int = 0, UserID: str = '', Digest: str = '', CurrencyID: str = '', DeviceID: str = '', + BrokerIDByBank: str = '', OperNo: str = '', RequestID: int = 0, TID: int = 0): super(ReqFutureSignOutField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -9841,9 +10295,12 @@ class RspFutureSignOutField(Base): ('ErrorMsg', ctypes.c_char * 81), # 错误信息 ] - def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', - TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, InstallID: int = 0, UserID: str = '', Digest: str = '', CurrencyID: str = '', - DeviceID: str = '', BrokerIDByBank: str = '', OperNo: str = '', RequestID: int = 0, TID: int = 0, ErrorID: int = 0, ErrorMsg: str = ''): + def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', + BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', + TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, + InstallID: int = 0, UserID: str = '', Digest: str = '', CurrencyID: str = '', DeviceID: str = '', + BrokerIDByBank: str = '', OperNo: str = '', RequestID: int = 0, TID: int = 0, ErrorID: int = 0, + ErrorMsg: str = ''): super(RspFutureSignOutField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -9902,10 +10359,13 @@ class ReqQueryTradeResultBySerialField(Base): ('LongCustomerName', ctypes.c_char * 161), # 长客户姓名 ] - def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', - TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, Reference: int = 0, RefrenceIssureType: str = '', RefrenceIssure: str = '', - CustomerName: str = '', IdCardType: str = '', IdentifiedCardNo: str = '', CustType: str = '', BankAccount: str = '', BankPassWord: str = '', AccountID: str = '', Password: str = '', - CurrencyID: str = '', TradeAmount: float = 0.0, Digest: str = '', LongCustomerName: str = ''): + def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', + BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', + TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, + Reference: int = 0, RefrenceIssureType: str = '', RefrenceIssure: str = '', CustomerName: str = '', + IdCardType: str = '', IdentifiedCardNo: str = '', CustType: str = '', BankAccount: str = '', + BankPassWord: str = '', AccountID: str = '', Password: str = '', CurrencyID: str = '', + TradeAmount: float = 0.0, Digest: str = '', LongCustomerName: str = ''): super(ReqQueryTradeResultBySerialField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -9967,9 +10427,12 @@ class RspQueryTradeResultBySerialField(Base): ('Digest', ctypes.c_char * 36), # 摘要 ] - def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', - TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, ErrorID: int = 0, ErrorMsg: str = '', Reference: int = 0, RefrenceIssureType: str = '', - RefrenceIssure: str = '', OriginReturnCode: str = '', OriginDescrInfoForReturnCode: str = '', BankAccount: str = '', BankPassWord: str = '', AccountID: str = '', Password: str = '', + def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', + BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', + TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, + ErrorID: int = 0, ErrorMsg: str = '', Reference: int = 0, RefrenceIssureType: str = '', + RefrenceIssure: str = '', OriginReturnCode: str = '', OriginDescrInfoForReturnCode: str = '', + BankAccount: str = '', BankPassWord: str = '', AccountID: str = '', Password: str = '', CurrencyID: str = '', TradeAmount: float = 0.0, Digest: str = ''): super(RspQueryTradeResultBySerialField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) @@ -10019,8 +10482,10 @@ class ReqDayEndFileReadyField(Base): ('Digest', ctypes.c_char * 36), # 摘要 ] - def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', - TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, FileBusinessCode: str = '', Digest: str = ''): + def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', + BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', + TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, + FileBusinessCode: str = '', Digest: str = ''): super(ReqDayEndFileReadyField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -10075,8 +10540,10 @@ class VerifyFuturePasswordField(Base): ('CurrencyID', ctypes.c_char * 4), # 币种代码 ] - def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', - TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, AccountID: str = '', Password: str = '', BankAccount: str = '', BankPassWord: str = '', + def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', + BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', + TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, + AccountID: str = '', Password: str = '', BankAccount: str = '', BankPassWord: str = '', InstallID: int = 0, TID: int = 0, CurrencyID: str = ''): super(VerifyFuturePasswordField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) @@ -10110,7 +10577,8 @@ class VerifyCustInfoField(Base): ('LongCustomerName', ctypes.c_char * 161), # 长客户姓名 ] - def __init__(self, CustomerName: str = '', IdCardType: str = '', IdentifiedCardNo: str = '', CustType: str = '', LongCustomerName: str = ''): + def __init__(self, CustomerName: str = '', IdCardType: str = '', IdentifiedCardNo: str = '', CustType: str = '', + LongCustomerName: str = ''): super(VerifyCustInfoField, self).__init__() self.CustomerName = self._to_bytes(CustomerName) self.IdCardType = self._to_bytes(IdCardType) @@ -10132,8 +10600,8 @@ class VerifyFuturePasswordAndCustInfoField(Base): ('LongCustomerName', ctypes.c_char * 161), # 长客户姓名 ] - def __init__(self, CustomerName: str = '', IdCardType: str = '', IdentifiedCardNo: str = '', CustType: str = '', AccountID: str = '', Password: str = '', CurrencyID: str = '', - LongCustomerName: str = ''): + def __init__(self, CustomerName: str = '', IdCardType: str = '', IdentifiedCardNo: str = '', CustType: str = '', + AccountID: str = '', Password: str = '', CurrencyID: str = '', LongCustomerName: str = ''): super(VerifyFuturePasswordAndCustInfoField, self).__init__() self.CustomerName = self._to_bytes(CustomerName) self.IdCardType = self._to_bytes(IdCardType) @@ -10157,7 +10625,8 @@ class DepositResultInformField(Base): ('DescrInfoForReturnCode', ctypes.c_char * 129), # 返回码描述 ] - def __init__(self, DepositSeqNo: str = '', BrokerID: str = '', InvestorID: str = '', Deposit: float = 0.0, RequestID: int = 0, ReturnCode: str = '', DescrInfoForReturnCode: str = ''): + def __init__(self, DepositSeqNo: str = '', BrokerID: str = '', InvestorID: str = '', Deposit: float = 0.0, + RequestID: int = 0, ReturnCode: str = '', DescrInfoForReturnCode: str = ''): super(DepositResultInformField, self).__init__() self.DepositSeqNo = self._to_bytes(DepositSeqNo) self.BrokerID = self._to_bytes(BrokerID) @@ -10193,9 +10662,11 @@ class ReqSyncKeyField(Base): ('TID', ctypes.c_int), # 交易ID ] - def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', - TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, InstallID: int = 0, UserID: str = '', Message: str = '', DeviceID: str = '', - BrokerIDByBank: str = '', OperNo: str = '', RequestID: int = 0, TID: int = 0): + def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', + BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', + TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, + InstallID: int = 0, UserID: str = '', Message: str = '', DeviceID: str = '', BrokerIDByBank: str = '', + OperNo: str = '', RequestID: int = 0, TID: int = 0): super(ReqSyncKeyField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -10246,9 +10717,11 @@ class RspSyncKeyField(Base): ('ErrorMsg', ctypes.c_char * 81), # 错误信息 ] - def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', - TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, InstallID: int = 0, UserID: str = '', Message: str = '', DeviceID: str = '', - BrokerIDByBank: str = '', OperNo: str = '', RequestID: int = 0, TID: int = 0, ErrorID: int = 0, ErrorMsg: str = ''): + def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', + BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', + TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, + InstallID: int = 0, UserID: str = '', Message: str = '', DeviceID: str = '', BrokerIDByBank: str = '', + OperNo: str = '', RequestID: int = 0, TID: int = 0, ErrorID: int = 0, ErrorMsg: str = ''): super(RspSyncKeyField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -10320,12 +10793,16 @@ class NotifyQueryAccountField(Base): ('LongCustomerName', ctypes.c_char * 161), # 长客户姓名 ] - def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', - TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, CustomerName: str = '', IdCardType: str = '', IdentifiedCardNo: str = '', CustType: str = '', - BankAccount: str = '', BankPassWord: str = '', AccountID: str = '', Password: str = '', FutureSerial: int = 0, InstallID: int = 0, UserID: str = '', VerifyCertNoFlag: str = '', - CurrencyID: str = '', Digest: str = '', BankAccType: str = '', DeviceID: str = '', BankSecuAccType: str = '', BrokerIDByBank: str = '', BankSecuAcc: str = '', BankPwdFlag: str = '', - SecuPwdFlag: str = '', OperNo: str = '', RequestID: int = 0, TID: int = 0, BankUseAmount: float = 0.0, BankFetchAmount: float = 0.0, ErrorID: int = 0, ErrorMsg: str = '', - LongCustomerName: str = ''): + def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', + BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', + TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, + CustomerName: str = '', IdCardType: str = '', IdentifiedCardNo: str = '', CustType: str = '', + BankAccount: str = '', BankPassWord: str = '', AccountID: str = '', Password: str = '', + FutureSerial: int = 0, InstallID: int = 0, UserID: str = '', VerifyCertNoFlag: str = '', + CurrencyID: str = '', Digest: str = '', BankAccType: str = '', DeviceID: str = '', + BankSecuAccType: str = '', BrokerIDByBank: str = '', BankSecuAcc: str = '', BankPwdFlag: str = '', + SecuPwdFlag: str = '', OperNo: str = '', RequestID: int = 0, TID: int = 0, BankUseAmount: float = 0.0, + BankFetchAmount: float = 0.0, ErrorID: int = 0, ErrorMsg: str = '', LongCustomerName: str = ''): super(NotifyQueryAccountField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -10403,10 +10880,13 @@ class TransferSerialField(Base): ('ErrorMsg', ctypes.c_char * 81), # 错误信息 ] - def __init__(self, PlateSerial: int = 0, TradeDate: str = '', TradingDay: str = '', TradeTime: str = '', TradeCode: str = '', SessionID: int = 0, BankID: str = '', BankBranchID: str = '', - BankAccType: str = '', BankAccount: str = '', BankSerial: str = '', BrokerID: str = '', BrokerBranchID: str = '', FutureAccType: str = '', AccountID: str = '', InvestorID: str = '', - FutureSerial: int = 0, IdCardType: str = '', IdentifiedCardNo: str = '', CurrencyID: str = '', TradeAmount: float = 0.0, CustFee: float = 0.0, BrokerFee: float = 0.0, - AvailabilityFlag: str = '', OperatorCode: str = '', BankNewAccount: str = '', ErrorID: int = 0, ErrorMsg: str = ''): + def __init__(self, PlateSerial: int = 0, TradeDate: str = '', TradingDay: str = '', TradeTime: str = '', + TradeCode: str = '', SessionID: int = 0, BankID: str = '', BankBranchID: str = '', + BankAccType: str = '', BankAccount: str = '', BankSerial: str = '', BrokerID: str = '', + BrokerBranchID: str = '', FutureAccType: str = '', AccountID: str = '', InvestorID: str = '', + FutureSerial: int = 0, IdCardType: str = '', IdentifiedCardNo: str = '', CurrencyID: str = '', + TradeAmount: float = 0.0, CustFee: float = 0.0, BrokerFee: float = 0.0, AvailabilityFlag: str = '', + OperatorCode: str = '', BankNewAccount: str = '', ErrorID: int = 0, ErrorMsg: str = ''): super(TransferSerialField, self).__init__() self.PlateSerial = int(PlateSerial) self.TradeDate = self._to_bytes(TradeDate) @@ -10485,9 +10965,12 @@ class NotifyFutureSignInField(Base): ('MacKey', ctypes.c_char * 129), # MAC密钥 ] - def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', - TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, InstallID: int = 0, UserID: str = '', Digest: str = '', CurrencyID: str = '', - DeviceID: str = '', BrokerIDByBank: str = '', OperNo: str = '', RequestID: int = 0, TID: int = 0, ErrorID: int = 0, ErrorMsg: str = '', PinKey: str = '', MacKey: str = ''): + def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', + BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', + TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, + InstallID: int = 0, UserID: str = '', Digest: str = '', CurrencyID: str = '', DeviceID: str = '', + BrokerIDByBank: str = '', OperNo: str = '', RequestID: int = 0, TID: int = 0, ErrorID: int = 0, + ErrorMsg: str = '', PinKey: str = '', MacKey: str = ''): super(NotifyFutureSignInField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -10544,9 +11027,12 @@ class NotifyFutureSignOutField(Base): ('ErrorMsg', ctypes.c_char * 81), # 错误信息 ] - def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', - TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, InstallID: int = 0, UserID: str = '', Digest: str = '', CurrencyID: str = '', - DeviceID: str = '', BrokerIDByBank: str = '', OperNo: str = '', RequestID: int = 0, TID: int = 0, ErrorID: int = 0, ErrorMsg: str = ''): + def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', + BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', + TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, + InstallID: int = 0, UserID: str = '', Digest: str = '', CurrencyID: str = '', DeviceID: str = '', + BrokerIDByBank: str = '', OperNo: str = '', RequestID: int = 0, TID: int = 0, ErrorID: int = 0, + ErrorMsg: str = ''): super(NotifyFutureSignOutField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -10600,9 +11086,11 @@ class NotifySyncKeyField(Base): ('ErrorMsg', ctypes.c_char * 81), # 错误信息 ] - def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', - TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, InstallID: int = 0, UserID: str = '', Message: str = '', DeviceID: str = '', - BrokerIDByBank: str = '', OperNo: str = '', RequestID: int = 0, TID: int = 0, ErrorID: int = 0, ErrorMsg: str = ''): + def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', + BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', + TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, + InstallID: int = 0, UserID: str = '', Message: str = '', DeviceID: str = '', BrokerIDByBank: str = '', + OperNo: str = '', RequestID: int = 0, TID: int = 0, ErrorID: int = 0, ErrorMsg: str = ''): super(NotifySyncKeyField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -10638,7 +11126,8 @@ class QryAccountregisterField(Base): ('CurrencyID', ctypes.c_char * 4), # 币种代码 ] - def __init__(self, BrokerID: str = '', AccountID: str = '', BankID: str = '', BankBranchID: str = '', CurrencyID: str = ''): + def __init__(self, BrokerID: str = '', AccountID: str = '', BankID: str = '', BankBranchID: str = '', + CurrencyID: str = ''): super(QryAccountregisterField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.AccountID = self._to_bytes(AccountID) @@ -10670,9 +11159,11 @@ class AccountregisterField(Base): ('LongCustomerName', ctypes.c_char * 161), # 长客户姓名 ] - def __init__(self, TradeDay: str = '', BankID: str = '', BankBranchID: str = '', BankAccount: str = '', BrokerID: str = '', BrokerBranchID: str = '', AccountID: str = '', IdCardType: str = '', - IdentifiedCardNo: str = '', CustomerName: str = '', CurrencyID: str = '', OpenOrDestroy: str = '', RegDate: str = '', OutDate: str = '', TID: int = 0, CustType: str = '', - BankAccType: str = '', LongCustomerName: str = ''): + def __init__(self, TradeDay: str = '', BankID: str = '', BankBranchID: str = '', BankAccount: str = '', + BrokerID: str = '', BrokerBranchID: str = '', AccountID: str = '', IdCardType: str = '', + IdentifiedCardNo: str = '', CustomerName: str = '', CurrencyID: str = '', OpenOrDestroy: str = '', + RegDate: str = '', OutDate: str = '', TID: int = 0, CustType: str = '', BankAccType: str = '', + LongCustomerName: str = ''): super(AccountregisterField, self).__init__() self.TradeDay = self._to_bytes(TradeDay) self.BankID = self._to_bytes(BankID) @@ -10746,12 +11237,17 @@ class OpenAccountField(Base): ('LongCustomerName', ctypes.c_char * 161), # 长客户姓名 ] - def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', - TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, CustomerName: str = '', IdCardType: str = '', IdentifiedCardNo: str = '', Gender: str = '', - CountryCode: str = '', CustType: str = '', Address: str = '', ZipCode: str = '', Telephone: str = '', MobilePhone: str = '', Fax: str = '', EMail: str = '', - MoneyAccountStatus: str = '', BankAccount: str = '', BankPassWord: str = '', AccountID: str = '', Password: str = '', InstallID: int = 0, VerifyCertNoFlag: str = '', - CurrencyID: str = '', CashExchangeCode: str = '', Digest: str = '', BankAccType: str = '', DeviceID: str = '', BankSecuAccType: str = '', BrokerIDByBank: str = '', - BankSecuAcc: str = '', BankPwdFlag: str = '', SecuPwdFlag: str = '', OperNo: str = '', TID: int = 0, UserID: str = '', ErrorID: int = 0, ErrorMsg: str = '', + def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', + BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', + TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, + CustomerName: str = '', IdCardType: str = '', IdentifiedCardNo: str = '', Gender: str = '', + CountryCode: str = '', CustType: str = '', Address: str = '', ZipCode: str = '', Telephone: str = '', + MobilePhone: str = '', Fax: str = '', EMail: str = '', MoneyAccountStatus: str = '', + BankAccount: str = '', BankPassWord: str = '', AccountID: str = '', Password: str = '', + InstallID: int = 0, VerifyCertNoFlag: str = '', CurrencyID: str = '', CashExchangeCode: str = '', + Digest: str = '', BankAccType: str = '', DeviceID: str = '', BankSecuAccType: str = '', + BrokerIDByBank: str = '', BankSecuAcc: str = '', BankPwdFlag: str = '', SecuPwdFlag: str = '', + OperNo: str = '', TID: int = 0, UserID: str = '', ErrorID: int = 0, ErrorMsg: str = '', LongCustomerName: str = ''): super(OpenAccountField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) @@ -10855,12 +11351,17 @@ class CancelAccountField(Base): ('LongCustomerName', ctypes.c_char * 161), # 长客户姓名 ] - def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', - TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, CustomerName: str = '', IdCardType: str = '', IdentifiedCardNo: str = '', Gender: str = '', - CountryCode: str = '', CustType: str = '', Address: str = '', ZipCode: str = '', Telephone: str = '', MobilePhone: str = '', Fax: str = '', EMail: str = '', - MoneyAccountStatus: str = '', BankAccount: str = '', BankPassWord: str = '', AccountID: str = '', Password: str = '', InstallID: int = 0, VerifyCertNoFlag: str = '', - CurrencyID: str = '', CashExchangeCode: str = '', Digest: str = '', BankAccType: str = '', DeviceID: str = '', BankSecuAccType: str = '', BrokerIDByBank: str = '', - BankSecuAcc: str = '', BankPwdFlag: str = '', SecuPwdFlag: str = '', OperNo: str = '', TID: int = 0, UserID: str = '', ErrorID: int = 0, ErrorMsg: str = '', + def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', + BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', + TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, + CustomerName: str = '', IdCardType: str = '', IdentifiedCardNo: str = '', Gender: str = '', + CountryCode: str = '', CustType: str = '', Address: str = '', ZipCode: str = '', Telephone: str = '', + MobilePhone: str = '', Fax: str = '', EMail: str = '', MoneyAccountStatus: str = '', + BankAccount: str = '', BankPassWord: str = '', AccountID: str = '', Password: str = '', + InstallID: int = 0, VerifyCertNoFlag: str = '', CurrencyID: str = '', CashExchangeCode: str = '', + Digest: str = '', BankAccType: str = '', DeviceID: str = '', BankSecuAccType: str = '', + BrokerIDByBank: str = '', BankSecuAcc: str = '', BankPwdFlag: str = '', SecuPwdFlag: str = '', + OperNo: str = '', TID: int = 0, UserID: str = '', ErrorID: int = 0, ErrorMsg: str = '', LongCustomerName: str = ''): super(CancelAccountField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) @@ -10960,12 +11461,17 @@ class ChangeAccountField(Base): ('LongCustomerName', ctypes.c_char * 161), # 长客户姓名 ] - def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', - TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, CustomerName: str = '', IdCardType: str = '', IdentifiedCardNo: str = '', Gender: str = '', - CountryCode: str = '', CustType: str = '', Address: str = '', ZipCode: str = '', Telephone: str = '', MobilePhone: str = '', Fax: str = '', EMail: str = '', - MoneyAccountStatus: str = '', BankAccount: str = '', BankPassWord: str = '', NewBankAccount: str = '', NewBankPassWord: str = '', AccountID: str = '', Password: str = '', - BankAccType: str = '', InstallID: int = 0, VerifyCertNoFlag: str = '', CurrencyID: str = '', BrokerIDByBank: str = '', BankPwdFlag: str = '', SecuPwdFlag: str = '', TID: int = 0, - Digest: str = '', ErrorID: int = 0, ErrorMsg: str = '', LongCustomerName: str = ''): + def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', + BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', + TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, + CustomerName: str = '', IdCardType: str = '', IdentifiedCardNo: str = '', Gender: str = '', + CountryCode: str = '', CustType: str = '', Address: str = '', ZipCode: str = '', Telephone: str = '', + MobilePhone: str = '', Fax: str = '', EMail: str = '', MoneyAccountStatus: str = '', + BankAccount: str = '', BankPassWord: str = '', NewBankAccount: str = '', NewBankPassWord: str = '', + AccountID: str = '', Password: str = '', BankAccType: str = '', InstallID: int = 0, + VerifyCertNoFlag: str = '', CurrencyID: str = '', BrokerIDByBank: str = '', BankPwdFlag: str = '', + SecuPwdFlag: str = '', TID: int = 0, Digest: str = '', ErrorID: int = 0, ErrorMsg: str = '', + LongCustomerName: str = ''): super(ChangeAccountField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -11022,7 +11528,8 @@ class SecAgentACIDMapField(Base): ('BrokerSecAgentID', ctypes.c_char * 13), # 境外中介机构资金帐号 ] - def __init__(self, BrokerID: str = '', UserID: str = '', AccountID: str = '', CurrencyID: str = '', BrokerSecAgentID: str = ''): + def __init__(self, BrokerID: str = '', UserID: str = '', AccountID: str = '', CurrencyID: str = '', + BrokerSecAgentID: str = ''): super(SecAgentACIDMapField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.UserID = self._to_bytes(UserID) @@ -11087,7 +11594,8 @@ class DRTransferField(Base): ('DestBrokerID', ctypes.c_char * 11), # 目标易用单元代码 ] - def __init__(self, OrigDRIdentityID: int = 0, DestDRIdentityID: int = 0, OrigBrokerID: str = '', DestBrokerID: str = ''): + def __init__(self, OrigDRIdentityID: int = 0, DestDRIdentityID: int = 0, OrigBrokerID: str = '', + DestBrokerID: str = ''): super(DRTransferField, self).__init__() self.OrigDRIdentityID = int(OrigDRIdentityID) self.DestDRIdentityID = int(DestDRIdentityID) @@ -11234,7 +11742,7 @@ class ReserveOpenAccountConfirmField(Base): ('MobilePhone', ctypes.c_char * 21), # 手机 ('Fax', ctypes.c_char * 41), # 传真 ('EMail', ctypes.c_char * 41), # 电子邮件 - ('MoneyAccountStatus', ctypes.c_char), # 资金账户状态 + ('MoneyAccountStatus', ctypes.c_char), # 资金账户状态 ('BankAccount', ctypes.c_char * 41), # 银行帐号 ('BankPassWord', ctypes.c_char * 41), # 银行密码 ('InstallID', ctypes.c_int), # 安装编号 @@ -11253,12 +11761,16 @@ class ReserveOpenAccountConfirmField(Base): ('ErrorMsg', ctypes.c_char * 81), # 错误信息 ] - def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', - TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, CustomerName: str = '', IdCardType: str = '', IdentifiedCardNo: str = '', Gender: str = '', - CountryCode: str = '', CustType: str = '', Address: str = '', ZipCode: str = '', Telephone: str = '', MobilePhone: str = '', Fax: str = '', EMail: str = '', - MoneyAccountStatus: str = '', BankAccount: str = '', BankPassWord: str = '', InstallID: int = 0, VerifyCertNoFlag: str = '', CurrencyID: str = '', Digest: str = '', - BankAccType: str = '', BrokerIDByBank: str = '', TID: int = 0, AccountID: str = '', Password: str = '', BankReserveOpenSeq: str = '', BookDate: str = '', BookPsw: str = '', - ErrorID: int = 0, ErrorMsg: str = ''): + def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', + BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', + TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, + CustomerName: str = '', IdCardType: str = '', IdentifiedCardNo: str = '', Gender: str = '', + CountryCode: str = '', CustType: str = '', Address: str = '', ZipCode: str = '', Telephone: str = '', + MobilePhone: str = '', Fax: str = '', EMail: str = '', MoneyAccountStatus: str = '', + BankAccount: str = '', BankPassWord: str = '', InstallID: int = 0, VerifyCertNoFlag: str = '', + CurrencyID: str = '', Digest: str = '', BankAccType: str = '', BrokerIDByBank: str = '', TID: int = 0, + AccountID: str = '', Password: str = '', BankReserveOpenSeq: str = '', BookDate: str = '', + BookPsw: str = '', ErrorID: int = 0, ErrorMsg: str = ''): super(ReserveOpenAccountConfirmField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -11345,11 +11857,15 @@ class ReserveOpenAccountField(Base): ('ErrorMsg', ctypes.c_char * 81), # 错误信息 ] - def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', - TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, CustomerName: str = '', IdCardType: str = '', IdentifiedCardNo: str = '', Gender: str = '', - CountryCode: str = '', CustType: str = '', Address: str = '', ZipCode: str = '', Telephone: str = '', MobilePhone: str = '', Fax: str = '', EMail: str = '', - MoneyAccountStatus: str = '', BankAccount: str = '', BankPassWord: str = '', InstallID: int = 0, VerifyCertNoFlag: str = '', CurrencyID: str = '', Digest: str = '', - BankAccType: str = '', BrokerIDByBank: str = '', TID: int = 0, ReserveOpenAccStas: str = '', ErrorID: int = 0, ErrorMsg: str = ''): + def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', + BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', + TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, + CustomerName: str = '', IdCardType: str = '', IdentifiedCardNo: str = '', Gender: str = '', + CountryCode: str = '', CustType: str = '', Address: str = '', ZipCode: str = '', Telephone: str = '', + MobilePhone: str = '', Fax: str = '', EMail: str = '', MoneyAccountStatus: str = '', + BankAccount: str = '', BankPassWord: str = '', InstallID: int = 0, VerifyCertNoFlag: str = '', + CurrencyID: str = '', Digest: str = '', BankAccType: str = '', BrokerIDByBank: str = '', TID: int = 0, + ReserveOpenAccStas: str = '', ErrorID: int = 0, ErrorMsg: str = ''): super(ReserveOpenAccountField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -11409,8 +11925,10 @@ class AccountPropertyField(Base): ('CurrencyID', ctypes.c_char * 4), # 币种代码 ] - def __init__(self, BrokerID: str = '', AccountID: str = '', BankID: str = '', BankAccount: str = '', OpenName: str = '', OpenBank: str = '', IsActive: int = 0, AccountSourceType: str = '', - OpenDate: str = '', CancelDate: str = '', OperatorID: str = '', OperateDate: str = '', OperateTime: str = '', CurrencyID: str = ''): + def __init__(self, BrokerID: str = '', AccountID: str = '', BankID: str = '', BankAccount: str = '', + OpenName: str = '', OpenBank: str = '', IsActive: int = 0, AccountSourceType: str = '', + OpenDate: str = '', CancelDate: str = '', OperatorID: str = '', OperateDate: str = '', + OperateTime: str = '', CurrencyID: str = ''): super(AccountPropertyField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.AccountID = self._to_bytes(AccountID) @@ -11578,8 +12096,10 @@ class ReqUserLoginWithCaptchaField(Base): ('ClientIPAddress', ctypes.c_char * 33), # 终端IP地址 ] - def __init__(self, TradingDay: str = '', BrokerID: str = '', UserID: str = '', Password: str = '', UserProductInfo: str = '', InterfaceProductInfo: str = '', ProtocolInfo: str = '', - MacAddress: str = '', reserve1: str = '', LoginRemark: str = '', Captcha: str = '', ClientIPPort: int = 0, ClientIPAddress: str = ''): + def __init__(self, TradingDay: str = '', BrokerID: str = '', UserID: str = '', Password: str = '', + UserProductInfo: str = '', InterfaceProductInfo: str = '', ProtocolInfo: str = '', + MacAddress: str = '', reserve1: str = '', LoginRemark: str = '', Captcha: str = '', + ClientIPPort: int = 0, ClientIPAddress: str = ''): super(ReqUserLoginWithCaptchaField, self).__init__() self.TradingDay = self._to_bytes(TradingDay) self.BrokerID = self._to_bytes(BrokerID) @@ -11614,8 +12134,10 @@ class ReqUserLoginWithTextField(Base): ('ClientIPAddress', ctypes.c_char * 33), # 终端IP地址 ] - def __init__(self, TradingDay: str = '', BrokerID: str = '', UserID: str = '', Password: str = '', UserProductInfo: str = '', InterfaceProductInfo: str = '', ProtocolInfo: str = '', - MacAddress: str = '', reserve1: str = '', LoginRemark: str = '', Text: str = '', ClientIPPort: int = 0, ClientIPAddress: str = ''): + def __init__(self, TradingDay: str = '', BrokerID: str = '', UserID: str = '', Password: str = '', + UserProductInfo: str = '', InterfaceProductInfo: str = '', ProtocolInfo: str = '', + MacAddress: str = '', reserve1: str = '', LoginRemark: str = '', Text: str = '', ClientIPPort: int = 0, + ClientIPAddress: str = ''): super(ReqUserLoginWithTextField, self).__init__() self.TradingDay = self._to_bytes(TradingDay) self.BrokerID = self._to_bytes(BrokerID) @@ -11650,8 +12172,10 @@ class ReqUserLoginWithOTPField(Base): ('ClientIPAddress', ctypes.c_char * 33), # 终端IP地址 ] - def __init__(self, TradingDay: str = '', BrokerID: str = '', UserID: str = '', Password: str = '', UserProductInfo: str = '', InterfaceProductInfo: str = '', ProtocolInfo: str = '', - MacAddress: str = '', reserve1: str = '', LoginRemark: str = '', OTPPassword: str = '', ClientIPPort: int = 0, ClientIPAddress: str = ''): + def __init__(self, TradingDay: str = '', BrokerID: str = '', UserID: str = '', Password: str = '', + UserProductInfo: str = '', InterfaceProductInfo: str = '', ProtocolInfo: str = '', + MacAddress: str = '', reserve1: str = '', LoginRemark: str = '', OTPPassword: str = '', + ClientIPPort: int = 0, ClientIPAddress: str = ''): super(ReqUserLoginWithOTPField, self).__init__() self.TradingDay = self._to_bytes(TradingDay) self.BrokerID = self._to_bytes(BrokerID) @@ -11728,11 +12252,13 @@ class QueryFreqField(Base): """查询频率,每秒查询比数""" _fields_ = [ ('QueryFreq', ctypes.c_int), # 查询频率 + ('FTDPkgFreq', ctypes.c_int), # FTD频率 ] - def __init__(self, QueryFreq: int = 0): + def __init__(self, QueryFreq: int = 0, FTDPkgFreq: int = 0): super(QueryFreqField, self).__init__() self.QueryFreq = int(QueryFreq) + self.FTDPkgFreq = int(FTDPkgFreq) class AuthForbiddenIPField(Base): @@ -11768,7 +12294,8 @@ class SyncDelaySwapFrozenField(Base): ('IsManualSwap', ctypes.c_int), # 是否手工换汇 ] - def __init__(self, DelaySwapSeqNo: str = '', BrokerID: str = '', InvestorID: str = '', FromCurrencyID: str = '', FromRemainSwap: float = 0.0, IsManualSwap: int = 0): + def __init__(self, DelaySwapSeqNo: str = '', BrokerID: str = '', InvestorID: str = '', FromCurrencyID: str = '', + FromRemainSwap: float = 0.0, IsManualSwap: int = 0): super(SyncDelaySwapFrozenField, self).__init__() self.DelaySwapSeqNo = self._to_bytes(DelaySwapSeqNo) self.BrokerID = self._to_bytes(BrokerID) @@ -11793,8 +12320,9 @@ class UserSystemInfoField(Base): ('ClientLoginRemark', ctypes.c_char * 151), # 客户登录备注2 ] - def __init__(self, BrokerID: str = '', UserID: str = '', ClientSystemInfoLen: int = 0, ClientSystemInfo: str = '', reserve1: str = '', ClientIPPort: int = 0, ClientLoginTime: str = '', - ClientAppID: str = '', ClientPublicIP: str = '', ClientLoginRemark: str = ''): + def __init__(self, BrokerID: str = '', UserID: str = '', ClientSystemInfoLen: int = 0, ClientSystemInfo: str = '', + reserve1: str = '', ClientIPPort: int = 0, ClientLoginTime: str = '', ClientAppID: str = '', + ClientPublicIP: str = '', ClientLoginRemark: str = ''): super(UserSystemInfoField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.UserID = self._to_bytes(UserID) @@ -11851,7 +12379,8 @@ class QryClassifiedInstrumentField(Base): ('ClassType', ctypes.c_char), # 合约分类类型 ] - def __init__(self, InstrumentID: str = '', ExchangeID: str = '', ExchangeInstID: str = '', ProductID: str = '', TradingType: str = '', ClassType: str = ''): + def __init__(self, InstrumentID: str = '', ExchangeID: str = '', ExchangeInstID: str = '', ProductID: str = '', + TradingType: str = '', ClassType: str = ''): super(QryClassifiedInstrumentField, self).__init__() self.InstrumentID = self._to_bytes(InstrumentID) self.ExchangeID = self._to_bytes(ExchangeID) @@ -11891,7 +12420,7 @@ def __init__(self, ExchangeID: str = '', InstrumentID: str = '', CombHedgeFlag: self.Xparameter = float(Xparameter) -class ReqUserLoginSCField(Base): +class ReqUserLoginSMField(Base): """国密用户登录请求""" _fields_ = [ ('TradingDay', ctypes.c_char * 9), # 交易日 @@ -11903,16 +12432,22 @@ class ReqUserLoginSCField(Base): ('ProtocolInfo', ctypes.c_char * 11), # 协议信息 ('MacAddress', ctypes.c_char * 21), # Mac地址 ('OneTimePassword', ctypes.c_char * 41), # 动态密码 - ('ClientIPAddress', ctypes.c_char * 33), # 终端IP地址 + ('reserve1', ctypes.c_char * 16), # 保留的无效字段 ('LoginRemark', ctypes.c_char * 36), # 登录备注 ('ClientIPPort', ctypes.c_int), # 终端IP端口 + ('ClientIPAddress', ctypes.c_char * 33), # 终端IP地址 + ('BrokerName', ctypes.c_char * 81), # 经纪公司名称 ('AuthCode', ctypes.c_char * 17), # 认证码 ('AppID', ctypes.c_char * 33), # App代码 + ('PIN', ctypes.c_char * 41), # PIN码 ] - def __init__(self, TradingDay: str = '', BrokerID: str = '', UserID: str = '', Password: str = '', UserProductInfo: str = '', InterfaceProductInfo: str = '', ProtocolInfo: str = '', - MacAddress: str = '', OneTimePassword: str = '', ClientIPAddress: str = '', LoginRemark: str = '', ClientIPPort: int = 0, AuthCode: str = '', AppID: str = ''): - super(ReqUserLoginSCField, self).__init__() + def __init__(self, TradingDay: str = '', BrokerID: str = '', UserID: str = '', Password: str = '', + UserProductInfo: str = '', InterfaceProductInfo: str = '', ProtocolInfo: str = '', + MacAddress: str = '', OneTimePassword: str = '', reserve1: str = '', LoginRemark: str = '', + ClientIPPort: int = 0, ClientIPAddress: str = '', BrokerName: str = '', AuthCode: str = '', + AppID: str = '', PIN: str = ''): + super(ReqUserLoginSMField, self).__init__() self.TradingDay = self._to_bytes(TradingDay) self.BrokerID = self._to_bytes(BrokerID) self.UserID = self._to_bytes(UserID) @@ -11922,11 +12457,14 @@ def __init__(self, TradingDay: str = '', BrokerID: str = '', UserID: str = '', P self.ProtocolInfo = self._to_bytes(ProtocolInfo) self.MacAddress = self._to_bytes(MacAddress) self.OneTimePassword = self._to_bytes(OneTimePassword) - self.ClientIPAddress = self._to_bytes(ClientIPAddress) + self.reserve1 = self._to_bytes(reserve1) self.LoginRemark = self._to_bytes(LoginRemark) self.ClientIPPort = int(ClientIPPort) + self.ClientIPAddress = self._to_bytes(ClientIPAddress) + self.BrokerName = self._to_bytes(BrokerName) self.AuthCode = self._to_bytes(AuthCode) self.AppID = self._to_bytes(AppID) + self.PIN = self._to_bytes(PIN) class QryRiskSettleInvstPositionField(Base): @@ -12009,14 +12547,20 @@ class RiskSettleInvstPositionField(Base): ('TasPositionCost', ctypes.c_double), # tas持仓成本 ] - def __init__(self, InstrumentID: str = '', BrokerID: str = '', InvestorID: str = '', PosiDirection: str = '', HedgeFlag: str = '', PositionDate: str = '', YdPosition: int = 0, Position: int = 0, - LongFrozen: int = 0, ShortFrozen: int = 0, LongFrozenAmount: float = 0.0, ShortFrozenAmount: float = 0.0, OpenVolume: int = 0, CloseVolume: int = 0, OpenAmount: float = 0.0, - CloseAmount: float = 0.0, PositionCost: float = 0.0, PreMargin: float = 0.0, UseMargin: float = 0.0, FrozenMargin: float = 0.0, FrozenCash: float = 0.0, FrozenCommission: float = 0.0, - CashIn: float = 0.0, Commission: float = 0.0, CloseProfit: float = 0.0, PositionProfit: float = 0.0, PreSettlementPrice: float = 0.0, SettlementPrice: float = 0.0, - TradingDay: str = '', SettlementID: int = 0, OpenCost: float = 0.0, ExchangeMargin: float = 0.0, CombPosition: int = 0, CombLongFrozen: int = 0, CombShortFrozen: int = 0, - CloseProfitByDate: float = 0.0, CloseProfitByTrade: float = 0.0, TodayPosition: int = 0, MarginRateByMoney: float = 0.0, MarginRateByVolume: float = 0.0, StrikeFrozen: int = 0, - StrikeFrozenAmount: float = 0.0, AbandonFrozen: int = 0, ExchangeID: str = '', YdStrikeFrozen: int = 0, InvestUnitID: str = '', PositionCostOffset: float = 0.0, TasPosition: int = 0, - TasPositionCost: float = 0.0): + def __init__(self, InstrumentID: str = '', BrokerID: str = '', InvestorID: str = '', PosiDirection: str = '', + HedgeFlag: str = '', PositionDate: str = '', YdPosition: int = 0, Position: int = 0, + LongFrozen: int = 0, ShortFrozen: int = 0, LongFrozenAmount: float = 0.0, + ShortFrozenAmount: float = 0.0, OpenVolume: int = 0, CloseVolume: int = 0, OpenAmount: float = 0.0, + CloseAmount: float = 0.0, PositionCost: float = 0.0, PreMargin: float = 0.0, UseMargin: float = 0.0, + FrozenMargin: float = 0.0, FrozenCash: float = 0.0, FrozenCommission: float = 0.0, CashIn: float = 0.0, + Commission: float = 0.0, CloseProfit: float = 0.0, PositionProfit: float = 0.0, + PreSettlementPrice: float = 0.0, SettlementPrice: float = 0.0, TradingDay: str = '', + SettlementID: int = 0, OpenCost: float = 0.0, ExchangeMargin: float = 0.0, CombPosition: int = 0, + CombLongFrozen: int = 0, CombShortFrozen: int = 0, CloseProfitByDate: float = 0.0, + CloseProfitByTrade: float = 0.0, TodayPosition: int = 0, MarginRateByMoney: float = 0.0, + MarginRateByVolume: float = 0.0, StrikeFrozen: int = 0, StrikeFrozenAmount: float = 0.0, + AbandonFrozen: int = 0, ExchangeID: str = '', YdStrikeFrozen: int = 0, InvestUnitID: str = '', + PositionCostOffset: float = 0.0, TasPosition: int = 0, TasPositionCost: float = 0.0): super(RiskSettleInvstPositionField, self).__init__() self.InstrumentID = self._to_bytes(InstrumentID) self.BrokerID = self._to_bytes(BrokerID) @@ -12093,7 +12637,8 @@ class SyncDeltaInfoField(Base): ('IsOnlyTrdDelta', ctypes.c_int), # 是否只有资金追平 ] - def __init__(self, SyncDeltaSequenceNo: int = 0, SyncDeltaStatus: str = '', SyncDescription: str = '', IsOnlyTrdDelta: int = 0): + def __init__(self, SyncDeltaSequenceNo: int = 0, SyncDeltaStatus: str = '', SyncDescription: str = '', + IsOnlyTrdDelta: int = 0): super(SyncDeltaInfoField, self).__init__() self.SyncDeltaSequenceNo = int(SyncDeltaSequenceNo) self.SyncDeltaStatus = self._to_bytes(SyncDeltaStatus) @@ -12110,7 +12655,8 @@ class SyncDeltaProductStatusField(Base): ('ProductStatus', ctypes.c_char), # 是否允许交易 ] - def __init__(self, SyncDeltaSequenceNo: int = 0, ExchangeID: str = '', ProductID: str = '', ProductStatus: str = ''): + def __init__(self, SyncDeltaSequenceNo: int = 0, ExchangeID: str = '', ProductID: str = '', + ProductStatus: str = ''): super(SyncDeltaProductStatusField, self).__init__() self.SyncDeltaSequenceNo = int(SyncDeltaSequenceNo) self.ExchangeID = self._to_bytes(ExchangeID) @@ -12153,11 +12699,15 @@ class SyncDeltaInvstPosDtlField(Base): ('SyncDeltaSequenceNo', ctypes.c_int), # 追平序号 ] - def __init__(self, InstrumentID: str = '', BrokerID: str = '', InvestorID: str = '', HedgeFlag: str = '', Direction: str = '', OpenDate: str = '', TradeID: str = '', Volume: int = 0, - OpenPrice: float = 0.0, TradingDay: str = '', SettlementID: int = 0, TradeType: str = '', CombInstrumentID: str = '', ExchangeID: str = '', CloseProfitByDate: float = 0.0, - CloseProfitByTrade: float = 0.0, PositionProfitByDate: float = 0.0, PositionProfitByTrade: float = 0.0, Margin: float = 0.0, ExchMargin: float = 0.0, MarginRateByMoney: float = 0.0, - MarginRateByVolume: float = 0.0, LastSettlementPrice: float = 0.0, SettlementPrice: float = 0.0, CloseVolume: int = 0, CloseAmount: float = 0.0, TimeFirstVolume: int = 0, - SpecPosiType: str = '', ActionDirection: str = '', SyncDeltaSequenceNo: int = 0): + def __init__(self, InstrumentID: str = '', BrokerID: str = '', InvestorID: str = '', HedgeFlag: str = '', + Direction: str = '', OpenDate: str = '', TradeID: str = '', Volume: int = 0, OpenPrice: float = 0.0, + TradingDay: str = '', SettlementID: int = 0, TradeType: str = '', CombInstrumentID: str = '', + ExchangeID: str = '', CloseProfitByDate: float = 0.0, CloseProfitByTrade: float = 0.0, + PositionProfitByDate: float = 0.0, PositionProfitByTrade: float = 0.0, Margin: float = 0.0, + ExchMargin: float = 0.0, MarginRateByMoney: float = 0.0, MarginRateByVolume: float = 0.0, + LastSettlementPrice: float = 0.0, SettlementPrice: float = 0.0, CloseVolume: int = 0, + CloseAmount: float = 0.0, TimeFirstVolume: int = 0, SpecPosiType: str = '', ActionDirection: str = '', + SyncDeltaSequenceNo: int = 0): super(SyncDeltaInvstPosDtlField, self).__init__() self.InstrumentID = self._to_bytes(InstrumentID) self.BrokerID = self._to_bytes(BrokerID) @@ -12217,9 +12767,12 @@ class SyncDeltaInvstPosCombDtlField(Base): ('SyncDeltaSequenceNo', ctypes.c_int), # 追平序号 ] - def __init__(self, TradingDay: str = '', OpenDate: str = '', ExchangeID: str = '', SettlementID: int = 0, BrokerID: str = '', InvestorID: str = '', ComTradeID: str = '', TradeID: str = '', - InstrumentID: str = '', HedgeFlag: str = '', Direction: str = '', TotalAmt: int = 0, Margin: float = 0.0, ExchMargin: float = 0.0, MarginRateByMoney: float = 0.0, - MarginRateByVolume: float = 0.0, LegID: int = 0, LegMultiple: int = 0, TradeGroupID: int = 0, ActionDirection: str = '', SyncDeltaSequenceNo: int = 0): + def __init__(self, TradingDay: str = '', OpenDate: str = '', ExchangeID: str = '', SettlementID: int = 0, + BrokerID: str = '', InvestorID: str = '', ComTradeID: str = '', TradeID: str = '', + InstrumentID: str = '', HedgeFlag: str = '', Direction: str = '', TotalAmt: int = 0, + Margin: float = 0.0, ExchMargin: float = 0.0, MarginRateByMoney: float = 0.0, + MarginRateByVolume: float = 0.0, LegID: int = 0, LegMultiple: int = 0, TradeGroupID: int = 0, + ActionDirection: str = '', SyncDeltaSequenceNo: int = 0): super(SyncDeltaInvstPosCombDtlField, self).__init__() self.TradingDay = self._to_bytes(TradingDay) self.OpenDate = self._to_bytes(OpenDate) @@ -12298,15 +12851,21 @@ class SyncDeltaTradingAccountField(Base): ('SyncDeltaSequenceNo', ctypes.c_int), # 追平序号 ] - def __init__(self, BrokerID: str = '', AccountID: str = '', PreMortgage: float = 0.0, PreCredit: float = 0.0, PreDeposit: float = 0.0, PreBalance: float = 0.0, PreMargin: float = 0.0, - InterestBase: float = 0.0, Interest: float = 0.0, Deposit: float = 0.0, Withdraw: float = 0.0, FrozenMargin: float = 0.0, FrozenCash: float = 0.0, FrozenCommission: float = 0.0, - CurrMargin: float = 0.0, CashIn: float = 0.0, Commission: float = 0.0, CloseProfit: float = 0.0, PositionProfit: float = 0.0, Balance: float = 0.0, Available: float = 0.0, - WithdrawQuota: float = 0.0, Reserve: float = 0.0, TradingDay: str = '', SettlementID: int = 0, Credit: float = 0.0, Mortgage: float = 0.0, ExchangeMargin: float = 0.0, - DeliveryMargin: float = 0.0, ExchangeDeliveryMargin: float = 0.0, ReserveBalance: float = 0.0, CurrencyID: str = '', PreFundMortgageIn: float = 0.0, PreFundMortgageOut: float = 0.0, - FundMortgageIn: float = 0.0, FundMortgageOut: float = 0.0, FundMortgageAvailable: float = 0.0, MortgageableFund: float = 0.0, SpecProductMargin: float = 0.0, - SpecProductFrozenMargin: float = 0.0, SpecProductCommission: float = 0.0, SpecProductFrozenCommission: float = 0.0, SpecProductPositionProfit: float = 0.0, - SpecProductCloseProfit: float = 0.0, SpecProductPositionProfitByAlg: float = 0.0, SpecProductExchangeMargin: float = 0.0, FrozenSwap: float = 0.0, RemainSwap: float = 0.0, - SyncDeltaSequenceNo: int = 0): + def __init__(self, BrokerID: str = '', AccountID: str = '', PreMortgage: float = 0.0, PreCredit: float = 0.0, + PreDeposit: float = 0.0, PreBalance: float = 0.0, PreMargin: float = 0.0, InterestBase: float = 0.0, + Interest: float = 0.0, Deposit: float = 0.0, Withdraw: float = 0.0, FrozenMargin: float = 0.0, + FrozenCash: float = 0.0, FrozenCommission: float = 0.0, CurrMargin: float = 0.0, CashIn: float = 0.0, + Commission: float = 0.0, CloseProfit: float = 0.0, PositionProfit: float = 0.0, Balance: float = 0.0, + Available: float = 0.0, WithdrawQuota: float = 0.0, Reserve: float = 0.0, TradingDay: str = '', + SettlementID: int = 0, Credit: float = 0.0, Mortgage: float = 0.0, ExchangeMargin: float = 0.0, + DeliveryMargin: float = 0.0, ExchangeDeliveryMargin: float = 0.0, ReserveBalance: float = 0.0, + CurrencyID: str = '', PreFundMortgageIn: float = 0.0, PreFundMortgageOut: float = 0.0, + FundMortgageIn: float = 0.0, FundMortgageOut: float = 0.0, FundMortgageAvailable: float = 0.0, + MortgageableFund: float = 0.0, SpecProductMargin: float = 0.0, SpecProductFrozenMargin: float = 0.0, + SpecProductCommission: float = 0.0, SpecProductFrozenCommission: float = 0.0, + SpecProductPositionProfit: float = 0.0, SpecProductCloseProfit: float = 0.0, + SpecProductPositionProfitByAlg: float = 0.0, SpecProductExchangeMargin: float = 0.0, + FrozenSwap: float = 0.0, RemainSwap: float = 0.0, SyncDeltaSequenceNo: int = 0): super(SyncDeltaTradingAccountField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.AccountID = self._to_bytes(AccountID) @@ -12379,10 +12938,13 @@ class SyncDeltaInitInvstMarginField(Base): ('SyncDeltaSequenceNo', ctypes.c_int), # 追平序号 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', LastRiskTotalInvstMargin: float = 0.0, LastRiskTotalExchMargin: float = 0.0, ThisSyncInvstMargin: float = 0.0, - ThisSyncExchMargin: float = 0.0, RemainRiskInvstMargin: float = 0.0, RemainRiskExchMargin: float = 0.0, LastRiskSpecTotalInvstMargin: float = 0.0, - LastRiskSpecTotalExchMargin: float = 0.0, ThisSyncSpecInvstMargin: float = 0.0, ThisSyncSpecExchMargin: float = 0.0, RemainRiskSpecInvstMargin: float = 0.0, - RemainRiskSpecExchMargin: float = 0.0, SyncDeltaSequenceNo: int = 0): + def __init__(self, BrokerID: str = '', InvestorID: str = '', LastRiskTotalInvstMargin: float = 0.0, + LastRiskTotalExchMargin: float = 0.0, ThisSyncInvstMargin: float = 0.0, + ThisSyncExchMargin: float = 0.0, RemainRiskInvstMargin: float = 0.0, RemainRiskExchMargin: float = 0.0, + LastRiskSpecTotalInvstMargin: float = 0.0, LastRiskSpecTotalExchMargin: float = 0.0, + ThisSyncSpecInvstMargin: float = 0.0, ThisSyncSpecExchMargin: float = 0.0, + RemainRiskSpecInvstMargin: float = 0.0, RemainRiskSpecExchMargin: float = 0.0, + SyncDeltaSequenceNo: int = 0): super(SyncDeltaInitInvstMarginField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -12417,7 +12979,8 @@ class SyncDeltaDceCombInstrumentField(Base): ('SyncDeltaSequenceNo', ctypes.c_int), # 追平序号 ] - def __init__(self, CombInstrumentID: str = '', ExchangeID: str = '', ExchangeInstID: str = '', TradeGroupID: int = 0, CombHedgeFlag: str = '', CombinationType: str = '', Direction: str = '', + def __init__(self, CombInstrumentID: str = '', ExchangeID: str = '', ExchangeInstID: str = '', + TradeGroupID: int = 0, CombHedgeFlag: str = '', CombinationType: str = '', Direction: str = '', ProductID: str = '', Xparameter: float = 0.0, ActionDirection: str = '', SyncDeltaSequenceNo: int = 0): super(SyncDeltaDceCombInstrumentField, self).__init__() self.CombInstrumentID = self._to_bytes(CombInstrumentID) @@ -12450,9 +13013,10 @@ class SyncDeltaInvstMarginRateField(Base): ('SyncDeltaSequenceNo', ctypes.c_int), # 追平序号 ] - def __init__(self, InstrumentID: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', HedgeFlag: str = '', LongMarginRatioByMoney: float = 0.0, - LongMarginRatioByVolume: float = 0.0, ShortMarginRatioByMoney: float = 0.0, ShortMarginRatioByVolume: float = 0.0, IsRelative: int = 0, ActionDirection: str = '', - SyncDeltaSequenceNo: int = 0): + def __init__(self, InstrumentID: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', + HedgeFlag: str = '', LongMarginRatioByMoney: float = 0.0, LongMarginRatioByVolume: float = 0.0, + ShortMarginRatioByMoney: float = 0.0, ShortMarginRatioByVolume: float = 0.0, IsRelative: int = 0, + ActionDirection: str = '', SyncDeltaSequenceNo: int = 0): super(SyncDeltaInvstMarginRateField, self).__init__() self.InstrumentID = self._to_bytes(InstrumentID) self.InvestorRange = self._to_bytes(InvestorRange) @@ -12482,8 +13046,10 @@ class SyncDeltaExchMarginRateField(Base): ('SyncDeltaSequenceNo', ctypes.c_int), # 追平序号 ] - def __init__(self, BrokerID: str = '', InstrumentID: str = '', HedgeFlag: str = '', LongMarginRatioByMoney: float = 0.0, LongMarginRatioByVolume: float = 0.0, ShortMarginRatioByMoney: float = 0.0, - ShortMarginRatioByVolume: float = 0.0, ActionDirection: str = '', SyncDeltaSequenceNo: int = 0): + def __init__(self, BrokerID: str = '', InstrumentID: str = '', HedgeFlag: str = '', + LongMarginRatioByMoney: float = 0.0, LongMarginRatioByVolume: float = 0.0, + ShortMarginRatioByMoney: float = 0.0, ShortMarginRatioByVolume: float = 0.0, ActionDirection: str = '', + SyncDeltaSequenceNo: int = 0): super(SyncDeltaExchMarginRateField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InstrumentID = self._to_bytes(InstrumentID) @@ -12513,8 +13079,10 @@ class SyncDeltaOptExchMarginField(Base): ('SyncDeltaSequenceNo', ctypes.c_int), # 追平序号 ] - def __init__(self, BrokerID: str = '', InstrumentID: str = '', SShortMarginRatioByMoney: float = 0.0, SShortMarginRatioByVolume: float = 0.0, HShortMarginRatioByMoney: float = 0.0, - HShortMarginRatioByVolume: float = 0.0, AShortMarginRatioByMoney: float = 0.0, AShortMarginRatioByVolume: float = 0.0, MShortMarginRatioByMoney: float = 0.0, + def __init__(self, BrokerID: str = '', InstrumentID: str = '', SShortMarginRatioByMoney: float = 0.0, + SShortMarginRatioByVolume: float = 0.0, HShortMarginRatioByMoney: float = 0.0, + HShortMarginRatioByVolume: float = 0.0, AShortMarginRatioByMoney: float = 0.0, + AShortMarginRatioByVolume: float = 0.0, MShortMarginRatioByMoney: float = 0.0, MShortMarginRatioByVolume: float = 0.0, ActionDirection: str = '', SyncDeltaSequenceNo: int = 0): super(SyncDeltaOptExchMarginField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) @@ -12551,9 +13119,12 @@ class SyncDeltaOptInvstMarginField(Base): ('SyncDeltaSequenceNo', ctypes.c_int), # 追平序号 ] - def __init__(self, InstrumentID: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', SShortMarginRatioByMoney: float = 0.0, SShortMarginRatioByVolume: float = 0.0, - HShortMarginRatioByMoney: float = 0.0, HShortMarginRatioByVolume: float = 0.0, AShortMarginRatioByMoney: float = 0.0, AShortMarginRatioByVolume: float = 0.0, IsRelative: int = 0, - MShortMarginRatioByMoney: float = 0.0, MShortMarginRatioByVolume: float = 0.0, ActionDirection: str = '', SyncDeltaSequenceNo: int = 0): + def __init__(self, InstrumentID: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', + SShortMarginRatioByMoney: float = 0.0, SShortMarginRatioByVolume: float = 0.0, + HShortMarginRatioByMoney: float = 0.0, HShortMarginRatioByVolume: float = 0.0, + AShortMarginRatioByMoney: float = 0.0, AShortMarginRatioByVolume: float = 0.0, IsRelative: int = 0, + MShortMarginRatioByMoney: float = 0.0, MShortMarginRatioByVolume: float = 0.0, + ActionDirection: str = '', SyncDeltaSequenceNo: int = 0): super(SyncDeltaOptInvstMarginField, self).__init__() self.InstrumentID = self._to_bytes(InstrumentID) self.InvestorRange = self._to_bytes(InvestorRange) @@ -12588,8 +13159,10 @@ class SyncDeltaInvstMarginRateULField(Base): ('SyncDeltaSequenceNo', ctypes.c_int), # 追平序号 ] - def __init__(self, InstrumentID: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', HedgeFlag: str = '', LongMarginRatioByMoney: float = 0.0, - LongMarginRatioByVolume: float = 0.0, ShortMarginRatioByMoney: float = 0.0, ShortMarginRatioByVolume: float = 0.0, ActionDirection: str = '', SyncDeltaSequenceNo: int = 0): + def __init__(self, InstrumentID: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', + HedgeFlag: str = '', LongMarginRatioByMoney: float = 0.0, LongMarginRatioByVolume: float = 0.0, + ShortMarginRatioByMoney: float = 0.0, ShortMarginRatioByVolume: float = 0.0, ActionDirection: str = '', + SyncDeltaSequenceNo: int = 0): super(SyncDeltaInvstMarginRateULField, self).__init__() self.InstrumentID = self._to_bytes(InstrumentID) self.InvestorRange = self._to_bytes(InvestorRange) @@ -12623,8 +13196,10 @@ class SyncDeltaOptInvstCommRateField(Base): ('SyncDeltaSequenceNo', ctypes.c_int), # 追平序号 ] - def __init__(self, InstrumentID: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', OpenRatioByMoney: float = 0.0, OpenRatioByVolume: float = 0.0, - CloseRatioByMoney: float = 0.0, CloseRatioByVolume: float = 0.0, CloseTodayRatioByMoney: float = 0.0, CloseTodayRatioByVolume: float = 0.0, StrikeRatioByMoney: float = 0.0, + def __init__(self, InstrumentID: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', + OpenRatioByMoney: float = 0.0, OpenRatioByVolume: float = 0.0, CloseRatioByMoney: float = 0.0, + CloseRatioByVolume: float = 0.0, CloseTodayRatioByMoney: float = 0.0, + CloseTodayRatioByVolume: float = 0.0, StrikeRatioByMoney: float = 0.0, StrikeRatioByVolume: float = 0.0, ActionDirection: str = '', SyncDeltaSequenceNo: int = 0): super(SyncDeltaOptInvstCommRateField, self).__init__() self.InstrumentID = self._to_bytes(InstrumentID) @@ -12660,9 +13235,10 @@ class SyncDeltaInvstCommRateField(Base): ('SyncDeltaSequenceNo', ctypes.c_int), # 追平序号 ] - def __init__(self, InstrumentID: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', OpenRatioByMoney: float = 0.0, OpenRatioByVolume: float = 0.0, - CloseRatioByMoney: float = 0.0, CloseRatioByVolume: float = 0.0, CloseTodayRatioByMoney: float = 0.0, CloseTodayRatioByVolume: float = 0.0, ActionDirection: str = '', - SyncDeltaSequenceNo: int = 0): + def __init__(self, InstrumentID: str = '', InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', + OpenRatioByMoney: float = 0.0, OpenRatioByVolume: float = 0.0, CloseRatioByMoney: float = 0.0, + CloseRatioByVolume: float = 0.0, CloseTodayRatioByMoney: float = 0.0, + CloseTodayRatioByVolume: float = 0.0, ActionDirection: str = '', SyncDeltaSequenceNo: int = 0): super(SyncDeltaInvstCommRateField, self).__init__() self.InstrumentID = self._to_bytes(InstrumentID) self.InvestorRange = self._to_bytes(InvestorRange) @@ -12688,7 +13264,8 @@ class SyncDeltaProductExchRateField(Base): ('SyncDeltaSequenceNo', ctypes.c_int), # 追平序号 ] - def __init__(self, ProductID: str = '', QuoteCurrencyID: str = '', ExchangeRate: float = 0.0, ActionDirection: str = '', SyncDeltaSequenceNo: int = 0): + def __init__(self, ProductID: str = '', QuoteCurrencyID: str = '', ExchangeRate: float = 0.0, + ActionDirection: str = '', SyncDeltaSequenceNo: int = 0): super(SyncDeltaProductExchRateField, self).__init__() self.ProductID = self._to_bytes(ProductID) self.QuoteCurrencyID = self._to_bytes(QuoteCurrencyID) @@ -12750,13 +13327,19 @@ class SyncDeltaDepthMarketDataField(Base): ('SyncDeltaSequenceNo', ctypes.c_int), # 追平序号 ] - def __init__(self, TradingDay: str = '', InstrumentID: str = '', ExchangeID: str = '', ExchangeInstID: str = '', LastPrice: float = 0.0, PreSettlementPrice: float = 0.0, - PreClosePrice: float = 0.0, PreOpenInterest: float = 0.0, OpenPrice: float = 0.0, HighestPrice: float = 0.0, LowestPrice: float = 0.0, Volume: int = 0, Turnover: float = 0.0, - OpenInterest: float = 0.0, ClosePrice: float = 0.0, SettlementPrice: float = 0.0, UpperLimitPrice: float = 0.0, LowerLimitPrice: float = 0.0, PreDelta: float = 0.0, - CurrDelta: float = 0.0, UpdateTime: str = '', UpdateMillisec: int = 0, BidPrice1: float = 0.0, BidVolume1: int = 0, AskPrice1: float = 0.0, AskVolume1: int = 0, - BidPrice2: float = 0.0, BidVolume2: int = 0, AskPrice2: float = 0.0, AskVolume2: int = 0, BidPrice3: float = 0.0, BidVolume3: int = 0, AskPrice3: float = 0.0, AskVolume3: int = 0, - BidPrice4: float = 0.0, BidVolume4: int = 0, AskPrice4: float = 0.0, AskVolume4: int = 0, BidPrice5: float = 0.0, BidVolume5: int = 0, AskPrice5: float = 0.0, AskVolume5: int = 0, - AveragePrice: float = 0.0, ActionDay: str = '', BandingUpperPrice: float = 0.0, BandingLowerPrice: float = 0.0, ActionDirection: str = '', SyncDeltaSequenceNo: int = 0): + def __init__(self, TradingDay: str = '', InstrumentID: str = '', ExchangeID: str = '', ExchangeInstID: str = '', + LastPrice: float = 0.0, PreSettlementPrice: float = 0.0, PreClosePrice: float = 0.0, + PreOpenInterest: float = 0.0, OpenPrice: float = 0.0, HighestPrice: float = 0.0, + LowestPrice: float = 0.0, Volume: int = 0, Turnover: float = 0.0, OpenInterest: float = 0.0, + ClosePrice: float = 0.0, SettlementPrice: float = 0.0, UpperLimitPrice: float = 0.0, + LowerLimitPrice: float = 0.0, PreDelta: float = 0.0, CurrDelta: float = 0.0, UpdateTime: str = '', + UpdateMillisec: int = 0, BidPrice1: float = 0.0, BidVolume1: int = 0, AskPrice1: float = 0.0, + AskVolume1: int = 0, BidPrice2: float = 0.0, BidVolume2: int = 0, AskPrice2: float = 0.0, + AskVolume2: int = 0, BidPrice3: float = 0.0, BidVolume3: int = 0, AskPrice3: float = 0.0, + AskVolume3: int = 0, BidPrice4: float = 0.0, BidVolume4: int = 0, AskPrice4: float = 0.0, + AskVolume4: int = 0, BidPrice5: float = 0.0, BidVolume5: int = 0, AskPrice5: float = 0.0, + AskVolume5: int = 0, AveragePrice: float = 0.0, ActionDay: str = '', BandingUpperPrice: float = 0.0, + BandingLowerPrice: float = 0.0, ActionDirection: str = '', SyncDeltaSequenceNo: int = 0): super(SyncDeltaDepthMarketDataField, self).__init__() self.TradingDay = self._to_bytes(TradingDay) self.InstrumentID = self._to_bytes(InstrumentID) @@ -12818,7 +13401,8 @@ class SyncDeltaIndexPriceField(Base): ('SyncDeltaSequenceNo', ctypes.c_int), # 追平序号 ] - def __init__(self, BrokerID: str = '', InstrumentID: str = '', ClosePrice: float = 0.0, ActionDirection: str = '', SyncDeltaSequenceNo: int = 0): + def __init__(self, BrokerID: str = '', InstrumentID: str = '', ClosePrice: float = 0.0, ActionDirection: str = '', + SyncDeltaSequenceNo: int = 0): super(SyncDeltaIndexPriceField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InstrumentID = self._to_bytes(InstrumentID) @@ -12842,7 +13426,8 @@ class SyncDeltaEWarrantOffsetField(Base): ('SyncDeltaSequenceNo', ctypes.c_int), # 追平序号 ] - def __init__(self, TradingDay: str = '', BrokerID: str = '', InvestorID: str = '', ExchangeID: str = '', InstrumentID: str = '', Direction: str = '', HedgeFlag: str = '', Volume: int = 0, + def __init__(self, TradingDay: str = '', BrokerID: str = '', InvestorID: str = '', ExchangeID: str = '', + InstrumentID: str = '', Direction: str = '', HedgeFlag: str = '', Volume: int = 0, ActionDirection: str = '', SyncDeltaSequenceNo: int = 0): super(SyncDeltaEWarrantOffsetField, self).__init__() self.TradingDay = self._to_bytes(TradingDay) @@ -12870,10 +13455,12 @@ class SPBMFutureParameterField(Base): ('LockRateX', ctypes.c_double), # 期货合约内部对锁仓费率折扣比例 ('AddOnRate', ctypes.c_double), # 提高保证金标准 ('PreSettlementPrice', ctypes.c_double), # 昨结算价 + ('AddOnLockRateX2', ctypes.c_double), # 期货合约内部对锁仓附加费率折扣比例 ] - def __init__(self, TradingDay: str = '', ExchangeID: str = '', InstrumentID: str = '', ProdFamilyCode: str = '', Cvf: int = 0, TimeRange: str = '', MarginRate: float = 0.0, LockRateX: float = 0.0, - AddOnRate: float = 0.0, PreSettlementPrice: float = 0.0): + def __init__(self, TradingDay: str = '', ExchangeID: str = '', InstrumentID: str = '', ProdFamilyCode: str = '', + Cvf: int = 0, TimeRange: str = '', MarginRate: float = 0.0, LockRateX: float = 0.0, + AddOnRate: float = 0.0, PreSettlementPrice: float = 0.0, AddOnLockRateX2: float = 0.0): super(SPBMFutureParameterField, self).__init__() self.TradingDay = self._to_bytes(TradingDay) self.ExchangeID = self._to_bytes(ExchangeID) @@ -12885,6 +13472,7 @@ def __init__(self, TradingDay: str = '', ExchangeID: str = '', InstrumentID: str self.LockRateX = float(LockRateX) self.AddOnRate = float(AddOnRate) self.PreSettlementPrice = float(PreSettlementPrice) + self.AddOnLockRateX2 = float(AddOnLockRateX2) class SPBMOptionParameterField(Base): @@ -12901,7 +13489,8 @@ class SPBMOptionParameterField(Base): ('PreSettlementPrice', ctypes.c_double), # 昨结算价 ] - def __init__(self, TradingDay: str = '', ExchangeID: str = '', InstrumentID: str = '', ProdFamilyCode: str = '', Cvf: int = 0, DownPrice: float = 0.0, Delta: float = 0.0, SlimiDelta: float = 0.0, + def __init__(self, TradingDay: str = '', ExchangeID: str = '', InstrumentID: str = '', ProdFamilyCode: str = '', + Cvf: int = 0, DownPrice: float = 0.0, Delta: float = 0.0, SlimiDelta: float = 0.0, PreSettlementPrice: float = 0.0): super(SPBMOptionParameterField, self).__init__() self.TradingDay = self._to_bytes(TradingDay) @@ -12922,14 +13511,17 @@ class SPBMIntraParameterField(Base): ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('ProdFamilyCode', ctypes.c_char * 81), # 品种代码 ('IntraRateY', ctypes.c_double), # 品种内合约间对锁仓费率折扣比例 + ('AddOnIntraRateY2', ctypes.c_double), # 品种内合约间对锁仓附加费率折扣比例 ] - def __init__(self, TradingDay: str = '', ExchangeID: str = '', ProdFamilyCode: str = '', IntraRateY: float = 0.0): + def __init__(self, TradingDay: str = '', ExchangeID: str = '', ProdFamilyCode: str = '', IntraRateY: float = 0.0, + AddOnIntraRateY2: float = 0.0): super(SPBMIntraParameterField, self).__init__() self.TradingDay = self._to_bytes(TradingDay) self.ExchangeID = self._to_bytes(ExchangeID) self.ProdFamilyCode = self._to_bytes(ProdFamilyCode) self.IntraRateY = float(IntraRateY) + self.AddOnIntraRateY2 = float(AddOnIntraRateY2) class SPBMInterParameterField(Base): @@ -12943,7 +13535,8 @@ class SPBMInterParameterField(Base): ('Leg2ProdFamilyCode', ctypes.c_char * 81), # 第二腿构成品种 ] - def __init__(self, TradingDay: str = '', ExchangeID: str = '', SpreadId: int = 0, InterRateZ: float = 0.0, Leg1ProdFamilyCode: str = '', Leg2ProdFamilyCode: str = ''): + def __init__(self, TradingDay: str = '', ExchangeID: str = '', SpreadId: int = 0, InterRateZ: float = 0.0, + Leg1ProdFamilyCode: str = '', Leg2ProdFamilyCode: str = ''): super(SPBMInterParameterField, self).__init__() self.TradingDay = self._to_bytes(TradingDay) self.ExchangeID = self._to_bytes(ExchangeID) @@ -13064,15 +13657,18 @@ class InvestorPortfMarginRatioField(Base): ('InvestorID', ctypes.c_char * 13), # 投资者代码 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('MarginRatio', ctypes.c_double), # 会员对投资者收取的保证金和交易所对投资者收取的保证金的比例 + ('ProductGroupID', ctypes.c_char * 41), # 产品群代码 ] - def __init__(self, InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', ExchangeID: str = '', MarginRatio: float = 0.0): + def __init__(self, InvestorRange: str = '', BrokerID: str = '', InvestorID: str = '', ExchangeID: str = '', + MarginRatio: float = 0.0, ProductGroupID: str = ''): super(InvestorPortfMarginRatioField, self).__init__() self.InvestorRange = self._to_bytes(InvestorRange) self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) self.ExchangeID = self._to_bytes(ExchangeID) self.MarginRatio = float(MarginRatio) + self.ProductGroupID = self._to_bytes(ProductGroupID) class QrySPBMPortfDefinitionField(Base): @@ -13111,13 +13707,15 @@ class QryInvestorPortfMarginRatioField(Base): ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('ProductGroupID', ctypes.c_char * 41), # 产品群代码 ] - def __init__(self, BrokerID: str = '', InvestorID: str = '', ExchangeID: str = ''): + def __init__(self, BrokerID: str = '', InvestorID: str = '', ExchangeID: str = '', ProductGroupID: str = ''): super(QryInvestorPortfMarginRatioField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) self.ExchangeID = self._to_bytes(ExchangeID) + self.ProductGroupID = self._to_bytes(ProductGroupID) class InvestorProdSPBMDetailField(Base): @@ -13146,10 +13744,13 @@ class InvestorProdSPBMDetailField(Base): ('ExchMargin', ctypes.c_double), # 交易所保证金 ] - def __init__(self, ExchangeID: str = '', BrokerID: str = '', InvestorID: str = '', ProdFamilyCode: str = '', IntraInstrMargin: float = 0.0, BCollectingMargin: float = 0.0, - SCollectingMargin: float = 0.0, IntraProdMargin: float = 0.0, NetMargin: float = 0.0, InterProdMargin: float = 0.0, SingleMargin: float = 0.0, AddOnMargin: float = 0.0, - DeliveryMargin: float = 0.0, CallOptionMinRisk: float = 0.0, PutOptionMinRisk: float = 0.0, OptionMinRisk: float = 0.0, OptionValueOffset: float = 0.0, OptionRoyalty: float = 0.0, - RealOptionValueOffset: float = 0.0, Margin: float = 0.0, ExchMargin: float = 0.0): + def __init__(self, ExchangeID: str = '', BrokerID: str = '', InvestorID: str = '', ProdFamilyCode: str = '', + IntraInstrMargin: float = 0.0, BCollectingMargin: float = 0.0, SCollectingMargin: float = 0.0, + IntraProdMargin: float = 0.0, NetMargin: float = 0.0, InterProdMargin: float = 0.0, + SingleMargin: float = 0.0, AddOnMargin: float = 0.0, DeliveryMargin: float = 0.0, + CallOptionMinRisk: float = 0.0, PutOptionMinRisk: float = 0.0, OptionMinRisk: float = 0.0, + OptionValueOffset: float = 0.0, OptionRoyalty: float = 0.0, RealOptionValueOffset: float = 0.0, + Margin: float = 0.0, ExchMargin: float = 0.0): super(InvestorProdSPBMDetailField, self).__init__() self.ExchangeID = self._to_bytes(ExchangeID) self.BrokerID = self._to_bytes(BrokerID) @@ -13202,7 +13803,8 @@ class PortfTradeParamSettingField(Base): ('IsCloseVerify', ctypes.c_int), # 平仓是否验资 ] - def __init__(self, ExchangeID: str = '', BrokerID: str = '', InvestorID: str = '', Portfolio: str = '', IsActionVerify: int = 0, IsCloseVerify: int = 0): + def __init__(self, ExchangeID: str = '', BrokerID: str = '', InvestorID: str = '', Portfolio: str = '', + IsActionVerify: int = 0, IsCloseVerify: int = 0): super(PortfTradeParamSettingField, self).__init__() self.ExchangeID = self._to_bytes(ExchangeID) self.BrokerID = self._to_bytes(BrokerID) @@ -13236,7 +13838,8 @@ class MortgageParamField(Base): ('CheckMortgageRatio', ctypes.c_int), # 开仓是否验证质押配比 ] - def __init__(self, BrokerID: str = '', AccountID: str = '', MortgageBalance: float = 0.0, CheckMortgageRatio: int = 0): + def __init__(self, BrokerID: str = '', AccountID: str = '', MortgageBalance: float = 0.0, + CheckMortgageRatio: int = 0): super(MortgageParamField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.AccountID = self._to_bytes(AccountID) @@ -13253,7 +13856,8 @@ class WithDrawParamField(Base): ('WithDrawParamValue', ctypes.c_char * 41), # 参数代码值 ] - def __init__(self, BrokerID: str = '', AccountID: str = '', WithDrawParamID: str = '', WithDrawParamValue: str = ''): + def __init__(self, BrokerID: str = '', AccountID: str = '', WithDrawParamID: str = '', + WithDrawParamValue: str = ''): super(WithDrawParamField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.AccountID = self._to_bytes(AccountID) @@ -13287,3 +13891,2568 @@ def __init__(self, BrokerID: str = '', UserID: str = ''): super(QryThostUserFunctionField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.UserID = self._to_bytes(UserID) + + +class SPBMAddOnInterParameterField(Base): + """SPBM附加跨品种抵扣参数""" + _fields_ = [ + ('TradingDay', ctypes.c_char * 9), # 交易日 + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('SpreadId', ctypes.c_int), # 优先级 + ('AddOnInterRateZ2', ctypes.c_double), # 品种间对锁仓附加费率折扣比例 + ('Leg1ProdFamilyCode', ctypes.c_char * 81), # 第一腿构成品种 + ('Leg2ProdFamilyCode', ctypes.c_char * 81), # 第二腿构成品种 + ] + + def __init__(self, TradingDay: str = '', ExchangeID: str = '', SpreadId: int = 0, AddOnInterRateZ2: float = 0.0, + Leg1ProdFamilyCode: str = '', Leg2ProdFamilyCode: str = ''): + super(SPBMAddOnInterParameterField, self).__init__() + self.TradingDay = self._to_bytes(TradingDay) + self.ExchangeID = self._to_bytes(ExchangeID) + self.SpreadId = int(SpreadId) + self.AddOnInterRateZ2 = float(AddOnInterRateZ2) + self.Leg1ProdFamilyCode = self._to_bytes(Leg1ProdFamilyCode) + self.Leg2ProdFamilyCode = self._to_bytes(Leg2ProdFamilyCode) + + +class QrySPBMAddOnInterParameterField(Base): + """SPBM附加跨品种抵扣参数查询""" + _fields_ = [ + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('Leg1ProdFamilyCode', ctypes.c_char * 81), # 第一腿构成品种 + ('Leg2ProdFamilyCode', ctypes.c_char * 81), # 第二腿构成品种 + ] + + def __init__(self, ExchangeID: str = '', Leg1ProdFamilyCode: str = '', Leg2ProdFamilyCode: str = ''): + super(QrySPBMAddOnInterParameterField, self).__init__() + self.ExchangeID = self._to_bytes(ExchangeID) + self.Leg1ProdFamilyCode = self._to_bytes(Leg1ProdFamilyCode) + self.Leg2ProdFamilyCode = self._to_bytes(Leg2ProdFamilyCode) + + +class QryInvestorCommoditySPMMMarginField(Base): + """投资者商品组SPMM记录查询""" + _fields_ = [ + ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 + ('InvestorID', ctypes.c_char * 13), # 投资者代码 + ('CommodityID', ctypes.c_char * 41), # 商品组代码 + ] + + def __init__(self, BrokerID: str = '', InvestorID: str = '', CommodityID: str = ''): + super(QryInvestorCommoditySPMMMarginField, self).__init__() + self.BrokerID = self._to_bytes(BrokerID) + self.InvestorID = self._to_bytes(InvestorID) + self.CommodityID = self._to_bytes(CommodityID) + + +class QryInvestorCommodityGroupSPMMMarginField(Base): + """投资者商品群SPMM记录查询""" + _fields_ = [ + ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 + ('InvestorID', ctypes.c_char * 13), # 投资者代码 + ('CommodityGroupID', ctypes.c_char * 41), # 商品群代码 + ] + + def __init__(self, BrokerID: str = '', InvestorID: str = '', CommodityGroupID: str = ''): + super(QryInvestorCommodityGroupSPMMMarginField, self).__init__() + self.BrokerID = self._to_bytes(BrokerID) + self.InvestorID = self._to_bytes(InvestorID) + self.CommodityGroupID = self._to_bytes(CommodityGroupID) + + +class QrySPMMInstParamField(Base): + """SPMM合约参数查询""" + _fields_ = [ + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ] + + def __init__(self, InstrumentID: str = ''): + super(QrySPMMInstParamField, self).__init__() + self.InstrumentID = self._to_bytes(InstrumentID) + + +class QrySPMMProductParamField(Base): + """SPMM产品参数查询""" + _fields_ = [ + ('ProductID', ctypes.c_char * 41), # 产品代码 + ] + + def __init__(self, ProductID: str = ''): + super(QrySPMMProductParamField, self).__init__() + self.ProductID = self._to_bytes(ProductID) + + +class InvestorCommoditySPMMMarginField(Base): + """投资者商品组SPMM记录""" + _fields_ = [ + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 + ('InvestorID', ctypes.c_char * 13), # 投资者代码 + ('CommodityID', ctypes.c_char * 41), # 商品组代码 + ('MarginBeforeDiscount', ctypes.c_double), # 优惠仓位应收保证金 + ('MarginNoDiscount', ctypes.c_double), # 不优惠仓位应收保证金 + ('LongPosRisk', ctypes.c_double), # 多头实仓风险 + ('LongOpenFrozenRisk', ctypes.c_double), # 多头开仓冻结风险 + ('LongCloseFrozenRisk', ctypes.c_double), # 多头被平冻结风险 + ('ShortPosRisk', ctypes.c_double), # 空头实仓风险 + ('ShortOpenFrozenRisk', ctypes.c_double), # 空头开仓冻结风险 + ('ShortCloseFrozenRisk', ctypes.c_double), # 空头被平冻结风险 + ('IntraCommodityRate', ctypes.c_double), # SPMM品种内跨期优惠系数 + ('OptionDiscountRate', ctypes.c_double), # SPMM期权优惠系数 + ('PosDiscount', ctypes.c_double), # 实仓对冲优惠金额 + ('OpenFrozenDiscount', ctypes.c_double), # 开仓报单对冲优惠金额 + ('NetRisk', ctypes.c_double), # 品种风险净头 + ('CloseFrozenMargin', ctypes.c_double), # 平仓冻结保证金 + ('FrozenCommission', ctypes.c_double), # 冻结的手续费 + ('Commission', ctypes.c_double), # 手续费 + ('FrozenCash', ctypes.c_double), # 冻结的资金 + ('CashIn', ctypes.c_double), # 资金差额 + ('StrikeFrozenMargin', ctypes.c_double), # 行权冻结资金 + ] + + def __init__(self, ExchangeID: str = '', BrokerID: str = '', InvestorID: str = '', CommodityID: str = '', + MarginBeforeDiscount: float = 0.0, MarginNoDiscount: float = 0.0, LongPosRisk: float = 0.0, + LongOpenFrozenRisk: float = 0.0, LongCloseFrozenRisk: float = 0.0, ShortPosRisk: float = 0.0, + ShortOpenFrozenRisk: float = 0.0, ShortCloseFrozenRisk: float = 0.0, IntraCommodityRate: float = 0.0, + OptionDiscountRate: float = 0.0, PosDiscount: float = 0.0, OpenFrozenDiscount: float = 0.0, + NetRisk: float = 0.0, CloseFrozenMargin: float = 0.0, FrozenCommission: float = 0.0, + Commission: float = 0.0, FrozenCash: float = 0.0, CashIn: float = 0.0, + StrikeFrozenMargin: float = 0.0): + super(InvestorCommoditySPMMMarginField, self).__init__() + self.ExchangeID = self._to_bytes(ExchangeID) + self.BrokerID = self._to_bytes(BrokerID) + self.InvestorID = self._to_bytes(InvestorID) + self.CommodityID = self._to_bytes(CommodityID) + self.MarginBeforeDiscount = float(MarginBeforeDiscount) + self.MarginNoDiscount = float(MarginNoDiscount) + self.LongPosRisk = float(LongPosRisk) + self.LongOpenFrozenRisk = float(LongOpenFrozenRisk) + self.LongCloseFrozenRisk = float(LongCloseFrozenRisk) + self.ShortPosRisk = float(ShortPosRisk) + self.ShortOpenFrozenRisk = float(ShortOpenFrozenRisk) + self.ShortCloseFrozenRisk = float(ShortCloseFrozenRisk) + self.IntraCommodityRate = float(IntraCommodityRate) + self.OptionDiscountRate = float(OptionDiscountRate) + self.PosDiscount = float(PosDiscount) + self.OpenFrozenDiscount = float(OpenFrozenDiscount) + self.NetRisk = float(NetRisk) + self.CloseFrozenMargin = float(CloseFrozenMargin) + self.FrozenCommission = float(FrozenCommission) + self.Commission = float(Commission) + self.FrozenCash = float(FrozenCash) + self.CashIn = float(CashIn) + self.StrikeFrozenMargin = float(StrikeFrozenMargin) + + +class InvestorCommodityGroupSPMMMarginField(Base): + """投资者商品群SPMM记录""" + _fields_ = [ + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 + ('InvestorID', ctypes.c_char * 13), # 投资者代码 + ('CommodityGroupID', ctypes.c_char * 41), # 商品群代码 + ('MarginBeforeDiscount', ctypes.c_double), # 优惠仓位应收保证金 + ('MarginNoDiscount', ctypes.c_double), # 不优惠仓位应收保证金 + ('LongRisk', ctypes.c_double), # 多头风险 + ('ShortRisk', ctypes.c_double), # 空头风险 + ('CloseFrozenMargin', ctypes.c_double), # 商品群平仓冻结保证金 + ('InterCommodityRate', ctypes.c_double), # SPMM跨品种优惠系数 + ('MiniMarginRatio', ctypes.c_double), # 商品群最小保证金比例 + ('AdjustRatio', ctypes.c_double), # 投资者保证金和交易所保证金的比例 + ('IntraCommodityDiscount', ctypes.c_double), # SPMM品种内优惠汇总 + ('InterCommodityDiscount', ctypes.c_double), # SPMM跨品种优惠 + ('ExchMargin', ctypes.c_double), # 交易所保证金 + ('InvestorMargin', ctypes.c_double), # 投资者保证金 + ('FrozenCommission', ctypes.c_double), # 冻结的手续费 + ('Commission', ctypes.c_double), # 手续费 + ('FrozenCash', ctypes.c_double), # 冻结的资金 + ('CashIn', ctypes.c_double), # 资金差额 + ('StrikeFrozenMargin', ctypes.c_double), # 行权冻结资金 + ] + + def __init__(self, ExchangeID: str = '', BrokerID: str = '', InvestorID: str = '', CommodityGroupID: str = '', + MarginBeforeDiscount: float = 0.0, MarginNoDiscount: float = 0.0, LongRisk: float = 0.0, + ShortRisk: float = 0.0, CloseFrozenMargin: float = 0.0, InterCommodityRate: float = 0.0, + MiniMarginRatio: float = 0.0, AdjustRatio: float = 0.0, IntraCommodityDiscount: float = 0.0, + InterCommodityDiscount: float = 0.0, ExchMargin: float = 0.0, InvestorMargin: float = 0.0, + FrozenCommission: float = 0.0, Commission: float = 0.0, FrozenCash: float = 0.0, CashIn: float = 0.0, + StrikeFrozenMargin: float = 0.0): + super(InvestorCommodityGroupSPMMMarginField, self).__init__() + self.ExchangeID = self._to_bytes(ExchangeID) + self.BrokerID = self._to_bytes(BrokerID) + self.InvestorID = self._to_bytes(InvestorID) + self.CommodityGroupID = self._to_bytes(CommodityGroupID) + self.MarginBeforeDiscount = float(MarginBeforeDiscount) + self.MarginNoDiscount = float(MarginNoDiscount) + self.LongRisk = float(LongRisk) + self.ShortRisk = float(ShortRisk) + self.CloseFrozenMargin = float(CloseFrozenMargin) + self.InterCommodityRate = float(InterCommodityRate) + self.MiniMarginRatio = float(MiniMarginRatio) + self.AdjustRatio = float(AdjustRatio) + self.IntraCommodityDiscount = float(IntraCommodityDiscount) + self.InterCommodityDiscount = float(InterCommodityDiscount) + self.ExchMargin = float(ExchMargin) + self.InvestorMargin = float(InvestorMargin) + self.FrozenCommission = float(FrozenCommission) + self.Commission = float(Commission) + self.FrozenCash = float(FrozenCash) + self.CashIn = float(CashIn) + self.StrikeFrozenMargin = float(StrikeFrozenMargin) + + +class SPMMInstParamField(Base): + """SPMM合约参数""" + _fields_ = [ + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('InstMarginCalID', ctypes.c_char), # SPMM合约保证金算法 + ('CommodityID', ctypes.c_char * 41), # 商品组代码 + ('CommodityGroupID', ctypes.c_char * 41), # 商品群代码 + ] + + def __init__(self, ExchangeID: str = '', InstrumentID: str = '', InstMarginCalID: str = '', CommodityID: str = '', + CommodityGroupID: str = ''): + super(SPMMInstParamField, self).__init__() + self.ExchangeID = self._to_bytes(ExchangeID) + self.InstrumentID = self._to_bytes(InstrumentID) + self.InstMarginCalID = self._to_bytes(InstMarginCalID) + self.CommodityID = self._to_bytes(CommodityID) + self.CommodityGroupID = self._to_bytes(CommodityGroupID) + + +class SPMMProductParamField(Base): + """SPMM产品参数""" + _fields_ = [ + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('ProductID', ctypes.c_char * 41), # 产品代码 + ('CommodityID', ctypes.c_char * 41), # 商品组代码 + ('CommodityGroupID', ctypes.c_char * 41), # 商品群代码 + ] + + def __init__(self, ExchangeID: str = '', ProductID: str = '', CommodityID: str = '', CommodityGroupID: str = ''): + super(SPMMProductParamField, self).__init__() + self.ExchangeID = self._to_bytes(ExchangeID) + self.ProductID = self._to_bytes(ProductID) + self.CommodityID = self._to_bytes(CommodityID) + self.CommodityGroupID = self._to_bytes(CommodityGroupID) + + +class QryTraderAssignField(Base): + """席位与交易中心对应关系维护查询""" + _fields_ = [ + ('TraderID', ctypes.c_char * 21), # 交易员代码 + ] + + def __init__(self, TraderID: str = ''): + super(QryTraderAssignField, self).__init__() + self.TraderID = self._to_bytes(TraderID) + + +class TraderAssignField(Base): + """席位与交易中心对应关系""" + _fields_ = [ + ('BrokerID', ctypes.c_char * 11), # 应用单元代码 + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('TraderID', ctypes.c_char * 21), # 交易所交易员代码 + ('ParticipantID', ctypes.c_char * 11), # 会员代码 + ('DRIdentityID', ctypes.c_int), # 交易中心代码 + ] + + def __init__(self, BrokerID: str = '', ExchangeID: str = '', TraderID: str = '', ParticipantID: str = '', + DRIdentityID: int = 0): + super(TraderAssignField, self).__init__() + self.BrokerID = self._to_bytes(BrokerID) + self.ExchangeID = self._to_bytes(ExchangeID) + self.TraderID = self._to_bytes(TraderID) + self.ParticipantID = self._to_bytes(ParticipantID) + self.DRIdentityID = int(DRIdentityID) + + +class InvestorInfoCntSettingField(Base): + """投资者申报费阶梯收取设置""" + _fields_ = [ + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 + ('InvestorID', ctypes.c_char * 13), # 投资者代码 + ('ProductID', ctypes.c_char * 41), # 商品代码 + ('IsCalInfoComm', ctypes.c_int), # 是否收取申报费 + ('IsLimitInfoMax', ctypes.c_int), # 是否限制信息量 + ('InfoMaxLimit', ctypes.c_int), # 信息量限制笔数 + ] + + def __init__(self, ExchangeID: str = '', BrokerID: str = '', InvestorID: str = '', ProductID: str = '', + IsCalInfoComm: int = 0, IsLimitInfoMax: int = 0, InfoMaxLimit: int = 0): + super(InvestorInfoCntSettingField, self).__init__() + self.ExchangeID = self._to_bytes(ExchangeID) + self.BrokerID = self._to_bytes(BrokerID) + self.InvestorID = self._to_bytes(InvestorID) + self.ProductID = self._to_bytes(ProductID) + self.IsCalInfoComm = int(IsCalInfoComm) + self.IsLimitInfoMax = int(IsLimitInfoMax) + self.InfoMaxLimit = int(InfoMaxLimit) + + +class RCAMSCombProductInfoField(Base): + """RCAMS产品组合信息""" + _fields_ = [ + ('TradingDay', ctypes.c_char * 9), # 交易日 + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('ProductID', ctypes.c_char * 41), # 产品代码 + ('CombProductID', ctypes.c_char * 41), # 商品组代码 + ('ProductGroupID', ctypes.c_char * 41), # 商品群代码 + ] + + def __init__(self, TradingDay: str = '', ExchangeID: str = '', ProductID: str = '', CombProductID: str = '', + ProductGroupID: str = ''): + super(RCAMSCombProductInfoField, self).__init__() + self.TradingDay = self._to_bytes(TradingDay) + self.ExchangeID = self._to_bytes(ExchangeID) + self.ProductID = self._to_bytes(ProductID) + self.CombProductID = self._to_bytes(CombProductID) + self.ProductGroupID = self._to_bytes(ProductGroupID) + + +class RCAMSInstrParameterField(Base): + """RCAMS同合约风险对冲参数""" + _fields_ = [ + ('TradingDay', ctypes.c_char * 9), # 交易日 + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('ProductID', ctypes.c_char * 41), # 产品代码 + ('HedgeRate', ctypes.c_double), # 同合约风险对冲比率 + ] + + def __init__(self, TradingDay: str = '', ExchangeID: str = '', ProductID: str = '', HedgeRate: float = 0.0): + super(RCAMSInstrParameterField, self).__init__() + self.TradingDay = self._to_bytes(TradingDay) + self.ExchangeID = self._to_bytes(ExchangeID) + self.ProductID = self._to_bytes(ProductID) + self.HedgeRate = float(HedgeRate) + + +class RCAMSIntraParameterField(Base): + """RCAMS品种内风险对冲参数""" + _fields_ = [ + ('TradingDay', ctypes.c_char * 9), # 交易日 + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('CombProductID', ctypes.c_char * 41), # 产品组合代码 + ('HedgeRate', ctypes.c_double), # 品种内对冲比率 + ] + + def __init__(self, TradingDay: str = '', ExchangeID: str = '', CombProductID: str = '', HedgeRate: float = 0.0): + super(RCAMSIntraParameterField, self).__init__() + self.TradingDay = self._to_bytes(TradingDay) + self.ExchangeID = self._to_bytes(ExchangeID) + self.CombProductID = self._to_bytes(CombProductID) + self.HedgeRate = float(HedgeRate) + + +class RCAMSInterParameterField(Base): + """RCAMS跨品种风险折抵参数""" + _fields_ = [ + ('TradingDay', ctypes.c_char * 9), # 交易日 + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('ProductGroupID', ctypes.c_char * 41), # 商品群代码 + ('Priority', ctypes.c_int), # 优先级 + ('CreditRate', ctypes.c_double), # 折抵率 + ('CombProduct1', ctypes.c_char * 41), # 产品组合代码1 + ('CombProduct2', ctypes.c_char * 41), # 产品组合代码2 + ] + + def __init__(self, TradingDay: str = '', ExchangeID: str = '', ProductGroupID: str = '', Priority: int = 0, + CreditRate: float = 0.0, CombProduct1: str = '', CombProduct2: str = ''): + super(RCAMSInterParameterField, self).__init__() + self.TradingDay = self._to_bytes(TradingDay) + self.ExchangeID = self._to_bytes(ExchangeID) + self.ProductGroupID = self._to_bytes(ProductGroupID) + self.Priority = int(Priority) + self.CreditRate = float(CreditRate) + self.CombProduct1 = self._to_bytes(CombProduct1) + self.CombProduct2 = self._to_bytes(CombProduct2) + + +class RCAMSShortOptAdjustParamField(Base): + """RCAMS空头期权风险调整参数""" + _fields_ = [ + ('TradingDay', ctypes.c_char * 9), # 交易日 + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('CombProductID', ctypes.c_char * 41), # 产品组合代码 + ('HedgeFlag', ctypes.c_char), # 投套标志 + ('AdjustValue', ctypes.c_double), # 空头期权风险调整标准 + ] + + def __init__(self, TradingDay: str = '', ExchangeID: str = '', CombProductID: str = '', HedgeFlag: str = '', + AdjustValue: float = 0.0): + super(RCAMSShortOptAdjustParamField, self).__init__() + self.TradingDay = self._to_bytes(TradingDay) + self.ExchangeID = self._to_bytes(ExchangeID) + self.CombProductID = self._to_bytes(CombProductID) + self.HedgeFlag = self._to_bytes(HedgeFlag) + self.AdjustValue = float(AdjustValue) + + +class RCAMSInvestorCombPositionField(Base): + """RCAMS策略组合持仓""" + _fields_ = [ + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 + ('InvestorID', ctypes.c_char * 13), # 投资者代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('HedgeFlag', ctypes.c_char), # 投套标志 + ('PosiDirection', ctypes.c_char), # 持仓多空方向 + ('CombInstrumentID', ctypes.c_char * 81), # 组合合约代码 + ('LegID', ctypes.c_int), # 单腿编号 + ('ExchangeInstID', ctypes.c_char * 81), # 交易所组合合约代码 + ('TotalAmt', ctypes.c_int), # 持仓量 + ('ExchMargin', ctypes.c_double), # 交易所保证金 + ('Margin', ctypes.c_double), # 投资者保证金 + ] + + def __init__(self, ExchangeID: str = '', BrokerID: str = '', InvestorID: str = '', InstrumentID: str = '', + HedgeFlag: str = '', PosiDirection: str = '', CombInstrumentID: str = '', LegID: int = 0, + ExchangeInstID: str = '', TotalAmt: int = 0, ExchMargin: float = 0.0, Margin: float = 0.0): + super(RCAMSInvestorCombPositionField, self).__init__() + self.ExchangeID = self._to_bytes(ExchangeID) + self.BrokerID = self._to_bytes(BrokerID) + self.InvestorID = self._to_bytes(InvestorID) + self.InstrumentID = self._to_bytes(InstrumentID) + self.HedgeFlag = self._to_bytes(HedgeFlag) + self.PosiDirection = self._to_bytes(PosiDirection) + self.CombInstrumentID = self._to_bytes(CombInstrumentID) + self.LegID = int(LegID) + self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.TotalAmt = int(TotalAmt) + self.ExchMargin = float(ExchMargin) + self.Margin = float(Margin) + + +class InvestorProdRCAMSMarginField(Base): + """投资者品种RCAMS保证金""" + _fields_ = [ + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 + ('InvestorID', ctypes.c_char * 13), # 投资者代码 + ('CombProductID', ctypes.c_char * 41), # 产品组合代码 + ('HedgeFlag', ctypes.c_char), # 投套标志 + ('ProductGroupID', ctypes.c_char * 41), # 商品群代码 + ('RiskBeforeDiscount', ctypes.c_double), # 品种组合前风险 + ('IntraInstrRisk', ctypes.c_double), # 同合约对冲风险 + ('BPosRisk', ctypes.c_double), # 品种买持仓风险 + ('SPosRisk', ctypes.c_double), # 品种卖持仓风险 + ('IntraProdRisk', ctypes.c_double), # 品种内对冲风险 + ('NetRisk', ctypes.c_double), # 品种净持仓风险 + ('InterProdRisk', ctypes.c_double), # 品种间对冲风险 + ('ShortOptRiskAdj', ctypes.c_double), # 空头期权风险调整 + ('OptionRoyalty', ctypes.c_double), # 空头期权权利金 + ('MMSACloseFrozenMargin', ctypes.c_double), # 大边组合平仓冻结保证金 + ('CloseCombFrozenMargin', ctypes.c_double), # 策略组合平仓/行权冻结保证金 + ('CloseFrozenMargin', ctypes.c_double), # 平仓/行权冻结保证金 + ('MMSAOpenFrozenMargin', ctypes.c_double), # 大边组合开仓冻结保证金 + ('DeliveryOpenFrozenMargin', ctypes.c_double), # 交割月期货开仓冻结保证金 + ('OpenFrozenMargin', ctypes.c_double), # 开仓冻结保证金 + ('UseFrozenMargin', ctypes.c_double), # 投资者冻结保证金 + ('MMSAExchMargin', ctypes.c_double), # 大边组合交易所持仓保证金 + ('DeliveryExchMargin', ctypes.c_double), # 交割月期货交易所持仓保证金 + ('CombExchMargin', ctypes.c_double), # 策略组合交易所保证金 + ('ExchMargin', ctypes.c_double), # 交易所持仓保证金 + ('UseMargin', ctypes.c_double), # 投资者持仓保证金 + ] + + def __init__(self, ExchangeID: str = '', BrokerID: str = '', InvestorID: str = '', CombProductID: str = '', + HedgeFlag: str = '', ProductGroupID: str = '', RiskBeforeDiscount: float = 0.0, + IntraInstrRisk: float = 0.0, BPosRisk: float = 0.0, SPosRisk: float = 0.0, IntraProdRisk: float = 0.0, + NetRisk: float = 0.0, InterProdRisk: float = 0.0, ShortOptRiskAdj: float = 0.0, + OptionRoyalty: float = 0.0, MMSACloseFrozenMargin: float = 0.0, CloseCombFrozenMargin: float = 0.0, + CloseFrozenMargin: float = 0.0, MMSAOpenFrozenMargin: float = 0.0, + DeliveryOpenFrozenMargin: float = 0.0, OpenFrozenMargin: float = 0.0, UseFrozenMargin: float = 0.0, + MMSAExchMargin: float = 0.0, DeliveryExchMargin: float = 0.0, CombExchMargin: float = 0.0, + ExchMargin: float = 0.0, UseMargin: float = 0.0): + super(InvestorProdRCAMSMarginField, self).__init__() + self.ExchangeID = self._to_bytes(ExchangeID) + self.BrokerID = self._to_bytes(BrokerID) + self.InvestorID = self._to_bytes(InvestorID) + self.CombProductID = self._to_bytes(CombProductID) + self.HedgeFlag = self._to_bytes(HedgeFlag) + self.ProductGroupID = self._to_bytes(ProductGroupID) + self.RiskBeforeDiscount = float(RiskBeforeDiscount) + self.IntraInstrRisk = float(IntraInstrRisk) + self.BPosRisk = float(BPosRisk) + self.SPosRisk = float(SPosRisk) + self.IntraProdRisk = float(IntraProdRisk) + self.NetRisk = float(NetRisk) + self.InterProdRisk = float(InterProdRisk) + self.ShortOptRiskAdj = float(ShortOptRiskAdj) + self.OptionRoyalty = float(OptionRoyalty) + self.MMSACloseFrozenMargin = float(MMSACloseFrozenMargin) + self.CloseCombFrozenMargin = float(CloseCombFrozenMargin) + self.CloseFrozenMargin = float(CloseFrozenMargin) + self.MMSAOpenFrozenMargin = float(MMSAOpenFrozenMargin) + self.DeliveryOpenFrozenMargin = float(DeliveryOpenFrozenMargin) + self.OpenFrozenMargin = float(OpenFrozenMargin) + self.UseFrozenMargin = float(UseFrozenMargin) + self.MMSAExchMargin = float(MMSAExchMargin) + self.DeliveryExchMargin = float(DeliveryExchMargin) + self.CombExchMargin = float(CombExchMargin) + self.ExchMargin = float(ExchMargin) + self.UseMargin = float(UseMargin) + + +class QryRCAMSCombProductInfoField(Base): + """RCAMS产品组合信息查询""" + _fields_ = [ + ('ProductID', ctypes.c_char * 41), # 产品代码 + ('CombProductID', ctypes.c_char * 41), # 商品组代码 + ('ProductGroupID', ctypes.c_char * 41), # 商品群代码 + ] + + def __init__(self, ProductID: str = '', CombProductID: str = '', ProductGroupID: str = ''): + super(QryRCAMSCombProductInfoField, self).__init__() + self.ProductID = self._to_bytes(ProductID) + self.CombProductID = self._to_bytes(CombProductID) + self.ProductGroupID = self._to_bytes(ProductGroupID) + + +class QryRCAMSInstrParameterField(Base): + """RCAMS同合约风险对冲参数查询""" + _fields_ = [ + ('ProductID', ctypes.c_char * 41), # 产品代码 + ] + + def __init__(self, ProductID: str = ''): + super(QryRCAMSInstrParameterField, self).__init__() + self.ProductID = self._to_bytes(ProductID) + + +class QryRCAMSIntraParameterField(Base): + """RCAMS品种内风险对冲参数查询""" + _fields_ = [ + ('CombProductID', ctypes.c_char * 41), # 产品组合代码 + ] + + def __init__(self, CombProductID: str = ''): + super(QryRCAMSIntraParameterField, self).__init__() + self.CombProductID = self._to_bytes(CombProductID) + + +class QryRCAMSInterParameterField(Base): + """RCAMS跨品种风险折抵参数查询""" + _fields_ = [ + ('ProductGroupID', ctypes.c_char * 41), # 商品群代码 + ('CombProduct1', ctypes.c_char * 41), # 产品组合代码1 + ('CombProduct2', ctypes.c_char * 41), # 产品组合代码2 + ] + + def __init__(self, ProductGroupID: str = '', CombProduct1: str = '', CombProduct2: str = ''): + super(QryRCAMSInterParameterField, self).__init__() + self.ProductGroupID = self._to_bytes(ProductGroupID) + self.CombProduct1 = self._to_bytes(CombProduct1) + self.CombProduct2 = self._to_bytes(CombProduct2) + + +class QryRCAMSShortOptAdjustParamField(Base): + """RCAMS空头期权风险调整参数查询""" + _fields_ = [ + ('CombProductID', ctypes.c_char * 41), # 产品组合代码 + ] + + def __init__(self, CombProductID: str = ''): + super(QryRCAMSShortOptAdjustParamField, self).__init__() + self.CombProductID = self._to_bytes(CombProductID) + + +class QryRCAMSInvestorCombPositionField(Base): + """RCAMS策略组合持仓查询""" + _fields_ = [ + ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 + ('InvestorID', ctypes.c_char * 13), # 投资者代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('CombInstrumentID', ctypes.c_char * 81), # 组合合约代码 + ] + + def __init__(self, BrokerID: str = '', InvestorID: str = '', InstrumentID: str = '', CombInstrumentID: str = ''): + super(QryRCAMSInvestorCombPositionField, self).__init__() + self.BrokerID = self._to_bytes(BrokerID) + self.InvestorID = self._to_bytes(InvestorID) + self.InstrumentID = self._to_bytes(InstrumentID) + self.CombInstrumentID = self._to_bytes(CombInstrumentID) + + +class QryInvestorProdRCAMSMarginField(Base): + """投资者品种RCAMS保证金查询""" + _fields_ = [ + ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 + ('InvestorID', ctypes.c_char * 13), # 投资者代码 + ('CombProductID', ctypes.c_char * 41), # 产品组合代码 + ('ProductGroupID', ctypes.c_char * 41), # 商品群代码 + ] + + def __init__(self, BrokerID: str = '', InvestorID: str = '', CombProductID: str = '', ProductGroupID: str = ''): + super(QryInvestorProdRCAMSMarginField, self).__init__() + self.BrokerID = self._to_bytes(BrokerID) + self.InvestorID = self._to_bytes(InvestorID) + self.CombProductID = self._to_bytes(CombProductID) + self.ProductGroupID = self._to_bytes(ProductGroupID) + + +class RULEInstrParameterField(Base): + """RULE合约保证金参数""" + _fields_ = [ + ('TradingDay', ctypes.c_char * 9), # 交易日 + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('InstrumentClass', ctypes.c_char), # 合约类型 + ('StdInstrumentID', ctypes.c_char * 81), # 标准合约 + ('BSpecRatio', ctypes.c_double), # 投机买折算系数 + ('SSpecRatio', ctypes.c_double), # 投机卖折算系数 + ('BHedgeRatio', ctypes.c_double), # 套保买折算系数 + ('SHedgeRatio', ctypes.c_double), # 套保卖折算系数 + ('BAddOnMargin', ctypes.c_double), # 买附加风险保证金 + ('SAddOnMargin', ctypes.c_double), # 卖附加风险保证金 + ('CommodityGroupID', ctypes.c_int), # 商品群号 + ] + + def __init__(self, TradingDay: str = '', ExchangeID: str = '', InstrumentID: str = '', InstrumentClass: str = '', + StdInstrumentID: str = '', BSpecRatio: float = 0.0, SSpecRatio: float = 0.0, BHedgeRatio: float = 0.0, + SHedgeRatio: float = 0.0, BAddOnMargin: float = 0.0, SAddOnMargin: float = 0.0, + CommodityGroupID: int = 0): + super(RULEInstrParameterField, self).__init__() + self.TradingDay = self._to_bytes(TradingDay) + self.ExchangeID = self._to_bytes(ExchangeID) + self.InstrumentID = self._to_bytes(InstrumentID) + self.InstrumentClass = self._to_bytes(InstrumentClass) + self.StdInstrumentID = self._to_bytes(StdInstrumentID) + self.BSpecRatio = float(BSpecRatio) + self.SSpecRatio = float(SSpecRatio) + self.BHedgeRatio = float(BHedgeRatio) + self.SHedgeRatio = float(SHedgeRatio) + self.BAddOnMargin = float(BAddOnMargin) + self.SAddOnMargin = float(SAddOnMargin) + self.CommodityGroupID = int(CommodityGroupID) + + +class RULEIntraParameterField(Base): + """RULE品种内对锁仓折扣参数""" + _fields_ = [ + ('TradingDay', ctypes.c_char * 9), # 交易日 + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('ProdFamilyCode', ctypes.c_char * 81), # 品种代码 + ('StdInstrumentID', ctypes.c_char * 81), # 标准合约 + ('StdInstrMargin', ctypes.c_double), # 标准合约保证金 + ('UsualIntraRate', ctypes.c_double), # 一般月份合约组合保证金系数 + ('DeliveryIntraRate', ctypes.c_double), # 临近交割合约组合保证金系数 + ] + + def __init__(self, TradingDay: str = '', ExchangeID: str = '', ProdFamilyCode: str = '', StdInstrumentID: str = '', + StdInstrMargin: float = 0.0, UsualIntraRate: float = 0.0, DeliveryIntraRate: float = 0.0): + super(RULEIntraParameterField, self).__init__() + self.TradingDay = self._to_bytes(TradingDay) + self.ExchangeID = self._to_bytes(ExchangeID) + self.ProdFamilyCode = self._to_bytes(ProdFamilyCode) + self.StdInstrumentID = self._to_bytes(StdInstrumentID) + self.StdInstrMargin = float(StdInstrMargin) + self.UsualIntraRate = float(UsualIntraRate) + self.DeliveryIntraRate = float(DeliveryIntraRate) + + +class RULEInterParameterField(Base): + """RULE跨品种抵扣参数""" + _fields_ = [ + ('TradingDay', ctypes.c_char * 9), # 交易日 + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('SpreadId', ctypes.c_int), # 优先级 + ('InterRate', ctypes.c_double), # 品种间对锁仓费率折扣比例 + ('Leg1ProdFamilyCode', ctypes.c_char * 81), # 第一腿构成品种 + ('Leg2ProdFamilyCode', ctypes.c_char * 81), # 第二腿构成品种 + ('Leg1PropFactor', ctypes.c_int), # 腿1比例系数 + ('Leg2PropFactor', ctypes.c_int), # 腿2比例系数 + ('CommodityGroupID', ctypes.c_int), # 商品群号 + ('CommodityGroupName', ctypes.c_char * 21), # 商品群名称 + ] + + def __init__(self, TradingDay: str = '', ExchangeID: str = '', SpreadId: int = 0, InterRate: float = 0.0, + Leg1ProdFamilyCode: str = '', Leg2ProdFamilyCode: str = '', Leg1PropFactor: int = 0, + Leg2PropFactor: int = 0, CommodityGroupID: int = 0, CommodityGroupName: str = ''): + super(RULEInterParameterField, self).__init__() + self.TradingDay = self._to_bytes(TradingDay) + self.ExchangeID = self._to_bytes(ExchangeID) + self.SpreadId = int(SpreadId) + self.InterRate = float(InterRate) + self.Leg1ProdFamilyCode = self._to_bytes(Leg1ProdFamilyCode) + self.Leg2ProdFamilyCode = self._to_bytes(Leg2ProdFamilyCode) + self.Leg1PropFactor = int(Leg1PropFactor) + self.Leg2PropFactor = int(Leg2PropFactor) + self.CommodityGroupID = int(CommodityGroupID) + self.CommodityGroupName = self._to_bytes(CommodityGroupName) + + +class QryRULEInstrParameterField(Base): + """RULE合约保证金参数查询""" + _fields_ = [ + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ] + + def __init__(self, ExchangeID: str = '', InstrumentID: str = ''): + super(QryRULEInstrParameterField, self).__init__() + self.ExchangeID = self._to_bytes(ExchangeID) + self.InstrumentID = self._to_bytes(InstrumentID) + + +class QryRULEIntraParameterField(Base): + """RULE品种内对锁仓折扣参数查询""" + _fields_ = [ + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('ProdFamilyCode', ctypes.c_char * 81), # 品种代码 + ] + + def __init__(self, ExchangeID: str = '', ProdFamilyCode: str = ''): + super(QryRULEIntraParameterField, self).__init__() + self.ExchangeID = self._to_bytes(ExchangeID) + self.ProdFamilyCode = self._to_bytes(ProdFamilyCode) + + +class QryRULEInterParameterField(Base): + """RULE跨品种抵扣参数查询""" + _fields_ = [ + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('Leg1ProdFamilyCode', ctypes.c_char * 81), # 第一腿构成品种 + ('Leg2ProdFamilyCode', ctypes.c_char * 81), # 第二腿构成品种 + ('CommodityGroupID', ctypes.c_int), # 商品群号 + ] + + def __init__(self, ExchangeID: str = '', Leg1ProdFamilyCode: str = '', Leg2ProdFamilyCode: str = '', + CommodityGroupID: int = 0): + super(QryRULEInterParameterField, self).__init__() + self.ExchangeID = self._to_bytes(ExchangeID) + self.Leg1ProdFamilyCode = self._to_bytes(Leg1ProdFamilyCode) + self.Leg2ProdFamilyCode = self._to_bytes(Leg2ProdFamilyCode) + self.CommodityGroupID = int(CommodityGroupID) + + +class InvestorProdRULEMarginField(Base): + """投资者产品RULE保证金""" + _fields_ = [ + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 + ('InvestorID', ctypes.c_char * 13), # 投资者代码 + ('ProdFamilyCode', ctypes.c_char * 81), # 品种代码 + ('InstrumentClass', ctypes.c_char), # 合约类型 + ('CommodityGroupID', ctypes.c_int), # 商品群号 + ('BStdPosition', ctypes.c_double), # 买标准持仓 + ('SStdPosition', ctypes.c_double), # 卖标准持仓 + ('BStdOpenFrozen', ctypes.c_double), # 买标准开仓冻结 + ('SStdOpenFrozen', ctypes.c_double), # 卖标准开仓冻结 + ('BStdCloseFrozen', ctypes.c_double), # 买标准平仓冻结 + ('SStdCloseFrozen', ctypes.c_double), # 卖标准平仓冻结 + ('IntraProdStdPosition', ctypes.c_double), # 品种内对冲标准持仓 + ('NetStdPosition', ctypes.c_double), # 品种内单腿标准持仓 + ('InterProdStdPosition', ctypes.c_double), # 品种间对冲标准持仓 + ('SingleStdPosition', ctypes.c_double), # 单腿标准持仓 + ('IntraProdMargin', ctypes.c_double), # 品种内对锁保证金 + ('InterProdMargin', ctypes.c_double), # 品种间对锁保证金 + ('SingleMargin', ctypes.c_double), # 跨品种单腿保证金 + ('NonCombMargin', ctypes.c_double), # 非组合合约保证金 + ('AddOnMargin', ctypes.c_double), # 附加保证金 + ('ExchMargin', ctypes.c_double), # 交易所保证金 + ('AddOnFrozenMargin', ctypes.c_double), # 附加冻结保证金 + ('OpenFrozenMargin', ctypes.c_double), # 开仓冻结保证金 + ('CloseFrozenMargin', ctypes.c_double), # 平仓冻结保证金 + ('Margin', ctypes.c_double), # 品种保证金 + ('FrozenMargin', ctypes.c_double), # 冻结保证金 + ] + + def __init__(self, ExchangeID: str = '', BrokerID: str = '', InvestorID: str = '', ProdFamilyCode: str = '', + InstrumentClass: str = '', CommodityGroupID: int = 0, BStdPosition: float = 0.0, + SStdPosition: float = 0.0, BStdOpenFrozen: float = 0.0, SStdOpenFrozen: float = 0.0, + BStdCloseFrozen: float = 0.0, SStdCloseFrozen: float = 0.0, IntraProdStdPosition: float = 0.0, + NetStdPosition: float = 0.0, InterProdStdPosition: float = 0.0, SingleStdPosition: float = 0.0, + IntraProdMargin: float = 0.0, InterProdMargin: float = 0.0, SingleMargin: float = 0.0, + NonCombMargin: float = 0.0, AddOnMargin: float = 0.0, ExchMargin: float = 0.0, + AddOnFrozenMargin: float = 0.0, OpenFrozenMargin: float = 0.0, CloseFrozenMargin: float = 0.0, + Margin: float = 0.0, FrozenMargin: float = 0.0): + super(InvestorProdRULEMarginField, self).__init__() + self.ExchangeID = self._to_bytes(ExchangeID) + self.BrokerID = self._to_bytes(BrokerID) + self.InvestorID = self._to_bytes(InvestorID) + self.ProdFamilyCode = self._to_bytes(ProdFamilyCode) + self.InstrumentClass = self._to_bytes(InstrumentClass) + self.CommodityGroupID = int(CommodityGroupID) + self.BStdPosition = float(BStdPosition) + self.SStdPosition = float(SStdPosition) + self.BStdOpenFrozen = float(BStdOpenFrozen) + self.SStdOpenFrozen = float(SStdOpenFrozen) + self.BStdCloseFrozen = float(BStdCloseFrozen) + self.SStdCloseFrozen = float(SStdCloseFrozen) + self.IntraProdStdPosition = float(IntraProdStdPosition) + self.NetStdPosition = float(NetStdPosition) + self.InterProdStdPosition = float(InterProdStdPosition) + self.SingleStdPosition = float(SingleStdPosition) + self.IntraProdMargin = float(IntraProdMargin) + self.InterProdMargin = float(InterProdMargin) + self.SingleMargin = float(SingleMargin) + self.NonCombMargin = float(NonCombMargin) + self.AddOnMargin = float(AddOnMargin) + self.ExchMargin = float(ExchMargin) + self.AddOnFrozenMargin = float(AddOnFrozenMargin) + self.OpenFrozenMargin = float(OpenFrozenMargin) + self.CloseFrozenMargin = float(CloseFrozenMargin) + self.Margin = float(Margin) + self.FrozenMargin = float(FrozenMargin) + + +class QryInvestorProdRULEMarginField(Base): + """投资者产品RULE保证金查询""" + _fields_ = [ + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 + ('InvestorID', ctypes.c_char * 13), # 投资者代码 + ('ProdFamilyCode', ctypes.c_char * 81), # 品种代码 + ('CommodityGroupID', ctypes.c_int), # 商品群号 + ] + + def __init__(self, ExchangeID: str = '', BrokerID: str = '', InvestorID: str = '', ProdFamilyCode: str = '', + CommodityGroupID: int = 0): + super(QryInvestorProdRULEMarginField, self).__init__() + self.ExchangeID = self._to_bytes(ExchangeID) + self.BrokerID = self._to_bytes(BrokerID) + self.InvestorID = self._to_bytes(InvestorID) + self.ProdFamilyCode = self._to_bytes(ProdFamilyCode) + self.CommodityGroupID = int(CommodityGroupID) + + +class SyncDeltaSPBMPortfDefinitionField(Base): + """风险结算追平SPBM组合保证金套餐""" + _fields_ = [ + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('PortfolioDefID', ctypes.c_int), # 组合保证金套餐代码 + ('ProdFamilyCode', ctypes.c_char * 81), # 品种代码 + ('IsSPBM', ctypes.c_int), # 是否启用SPBM + ('ActionDirection', ctypes.c_char), # 操作标志 + ('SyncDeltaSequenceNo', ctypes.c_int), # 追平序号 + ] + + def __init__(self, ExchangeID: str = '', PortfolioDefID: int = 0, ProdFamilyCode: str = '', IsSPBM: int = 0, + ActionDirection: str = '', SyncDeltaSequenceNo: int = 0): + super(SyncDeltaSPBMPortfDefinitionField, self).__init__() + self.ExchangeID = self._to_bytes(ExchangeID) + self.PortfolioDefID = int(PortfolioDefID) + self.ProdFamilyCode = self._to_bytes(ProdFamilyCode) + self.IsSPBM = int(IsSPBM) + self.ActionDirection = self._to_bytes(ActionDirection) + self.SyncDeltaSequenceNo = int(SyncDeltaSequenceNo) + + +class SyncDeltaSPBMInvstPortfDefField(Base): + """风险结算追平投资者SPBM套餐选择""" + _fields_ = [ + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 + ('InvestorID', ctypes.c_char * 13), # 投资者代码 + ('PortfolioDefID', ctypes.c_int), # 组合保证金套餐代码 + ('ActionDirection', ctypes.c_char), # 操作标志 + ('SyncDeltaSequenceNo', ctypes.c_int), # 追平序号 + ] + + def __init__(self, ExchangeID: str = '', BrokerID: str = '', InvestorID: str = '', PortfolioDefID: int = 0, + ActionDirection: str = '', SyncDeltaSequenceNo: int = 0): + super(SyncDeltaSPBMInvstPortfDefField, self).__init__() + self.ExchangeID = self._to_bytes(ExchangeID) + self.BrokerID = self._to_bytes(BrokerID) + self.InvestorID = self._to_bytes(InvestorID) + self.PortfolioDefID = int(PortfolioDefID) + self.ActionDirection = self._to_bytes(ActionDirection) + self.SyncDeltaSequenceNo = int(SyncDeltaSequenceNo) + + +class SyncDeltaSPBMFutureParameterField(Base): + """风险结算追平SPBM期货合约保证金参数""" + _fields_ = [ + ('TradingDay', ctypes.c_char * 9), # 交易日 + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('ProdFamilyCode', ctypes.c_char * 81), # 品种代码 + ('Cvf', ctypes.c_int), # 期货合约因子 + ('TimeRange', ctypes.c_char), # 阶段标识 + ('MarginRate', ctypes.c_double), # 品种保证金标准 + ('LockRateX', ctypes.c_double), # 期货合约内部对锁仓费率折扣比例 + ('AddOnRate', ctypes.c_double), # 提高保证金标准 + ('PreSettlementPrice', ctypes.c_double), # 昨结算价 + ('AddOnLockRateX2', ctypes.c_double), # 期货合约内部对锁仓附加费率折扣比例 + ('ActionDirection', ctypes.c_char), # 操作标志 + ('SyncDeltaSequenceNo', ctypes.c_int), # 追平序号 + ] + + def __init__(self, TradingDay: str = '', ExchangeID: str = '', InstrumentID: str = '', ProdFamilyCode: str = '', + Cvf: int = 0, TimeRange: str = '', MarginRate: float = 0.0, LockRateX: float = 0.0, + AddOnRate: float = 0.0, PreSettlementPrice: float = 0.0, AddOnLockRateX2: float = 0.0, + ActionDirection: str = '', SyncDeltaSequenceNo: int = 0): + super(SyncDeltaSPBMFutureParameterField, self).__init__() + self.TradingDay = self._to_bytes(TradingDay) + self.ExchangeID = self._to_bytes(ExchangeID) + self.InstrumentID = self._to_bytes(InstrumentID) + self.ProdFamilyCode = self._to_bytes(ProdFamilyCode) + self.Cvf = int(Cvf) + self.TimeRange = self._to_bytes(TimeRange) + self.MarginRate = float(MarginRate) + self.LockRateX = float(LockRateX) + self.AddOnRate = float(AddOnRate) + self.PreSettlementPrice = float(PreSettlementPrice) + self.AddOnLockRateX2 = float(AddOnLockRateX2) + self.ActionDirection = self._to_bytes(ActionDirection) + self.SyncDeltaSequenceNo = int(SyncDeltaSequenceNo) + + +class SyncDeltaSPBMOptionParameterField(Base): + """风险结算追平SPBM期权合约保证金参数""" + _fields_ = [ + ('TradingDay', ctypes.c_char * 9), # 交易日 + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('ProdFamilyCode', ctypes.c_char * 81), # 品种代码 + ('Cvf', ctypes.c_int), # 期权合约因子 + ('DownPrice', ctypes.c_double), # 期权冲抵价格 + ('Delta', ctypes.c_double), # Delta值 + ('SlimiDelta', ctypes.c_double), # 卖方期权风险转换最低值 + ('PreSettlementPrice', ctypes.c_double), # 昨结算价 + ('ActionDirection', ctypes.c_char), # 操作标志 + ('SyncDeltaSequenceNo', ctypes.c_int), # 追平序号 + ] + + def __init__(self, TradingDay: str = '', ExchangeID: str = '', InstrumentID: str = '', ProdFamilyCode: str = '', + Cvf: int = 0, DownPrice: float = 0.0, Delta: float = 0.0, SlimiDelta: float = 0.0, + PreSettlementPrice: float = 0.0, ActionDirection: str = '', SyncDeltaSequenceNo: int = 0): + super(SyncDeltaSPBMOptionParameterField, self).__init__() + self.TradingDay = self._to_bytes(TradingDay) + self.ExchangeID = self._to_bytes(ExchangeID) + self.InstrumentID = self._to_bytes(InstrumentID) + self.ProdFamilyCode = self._to_bytes(ProdFamilyCode) + self.Cvf = int(Cvf) + self.DownPrice = float(DownPrice) + self.Delta = float(Delta) + self.SlimiDelta = float(SlimiDelta) + self.PreSettlementPrice = float(PreSettlementPrice) + self.ActionDirection = self._to_bytes(ActionDirection) + self.SyncDeltaSequenceNo = int(SyncDeltaSequenceNo) + + +class SyncDeltaSPBMIntraParameterField(Base): + """风险结算追平SPBM品种内对锁仓折扣参数""" + _fields_ = [ + ('TradingDay', ctypes.c_char * 9), # 交易日 + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('ProdFamilyCode', ctypes.c_char * 81), # 品种代码 + ('IntraRateY', ctypes.c_double), # 品种内合约间对锁仓费率折扣比例 + ('AddOnIntraRateY2', ctypes.c_double), # 品种内合约间对锁仓附加费率折扣比例 + ('ActionDirection', ctypes.c_char), # 操作标志 + ('SyncDeltaSequenceNo', ctypes.c_int), # 追平序号 + ] + + def __init__(self, TradingDay: str = '', ExchangeID: str = '', ProdFamilyCode: str = '', IntraRateY: float = 0.0, + AddOnIntraRateY2: float = 0.0, ActionDirection: str = '', SyncDeltaSequenceNo: int = 0): + super(SyncDeltaSPBMIntraParameterField, self).__init__() + self.TradingDay = self._to_bytes(TradingDay) + self.ExchangeID = self._to_bytes(ExchangeID) + self.ProdFamilyCode = self._to_bytes(ProdFamilyCode) + self.IntraRateY = float(IntraRateY) + self.AddOnIntraRateY2 = float(AddOnIntraRateY2) + self.ActionDirection = self._to_bytes(ActionDirection) + self.SyncDeltaSequenceNo = int(SyncDeltaSequenceNo) + + +class SyncDeltaSPBMInterParameterField(Base): + """风险结算追平SPBM跨品种抵扣参数""" + _fields_ = [ + ('TradingDay', ctypes.c_char * 9), # 交易日 + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('SpreadId', ctypes.c_int), # 优先级 + ('InterRateZ', ctypes.c_double), # 品种间对锁仓费率折扣比例 + ('Leg1ProdFamilyCode', ctypes.c_char * 81), # 第一腿构成品种 + ('Leg2ProdFamilyCode', ctypes.c_char * 81), # 第二腿构成品种 + ('ActionDirection', ctypes.c_char), # 操作标志 + ('SyncDeltaSequenceNo', ctypes.c_int), # 追平序号 + ] + + def __init__(self, TradingDay: str = '', ExchangeID: str = '', SpreadId: int = 0, InterRateZ: float = 0.0, + Leg1ProdFamilyCode: str = '', Leg2ProdFamilyCode: str = '', ActionDirection: str = '', + SyncDeltaSequenceNo: int = 0): + super(SyncDeltaSPBMInterParameterField, self).__init__() + self.TradingDay = self._to_bytes(TradingDay) + self.ExchangeID = self._to_bytes(ExchangeID) + self.SpreadId = int(SpreadId) + self.InterRateZ = float(InterRateZ) + self.Leg1ProdFamilyCode = self._to_bytes(Leg1ProdFamilyCode) + self.Leg2ProdFamilyCode = self._to_bytes(Leg2ProdFamilyCode) + self.ActionDirection = self._to_bytes(ActionDirection) + self.SyncDeltaSequenceNo = int(SyncDeltaSequenceNo) + + +class SyncDeltaSPBMAddOnInterParamField(Base): + """风险结算追平SPBM附加跨品种抵扣参数""" + _fields_ = [ + ('TradingDay', ctypes.c_char * 9), # 交易日 + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('SpreadId', ctypes.c_int), # 优先级 + ('AddOnInterRateZ2', ctypes.c_double), # 品种间对锁仓附加费率折扣比例 + ('Leg1ProdFamilyCode', ctypes.c_char * 81), # 第一腿构成品种 + ('Leg2ProdFamilyCode', ctypes.c_char * 81), # 第二腿构成品种 + ('ActionDirection', ctypes.c_char), # 操作标志 + ('SyncDeltaSequenceNo', ctypes.c_int), # 追平序号 + ] + + def __init__(self, TradingDay: str = '', ExchangeID: str = '', SpreadId: int = 0, AddOnInterRateZ2: float = 0.0, + Leg1ProdFamilyCode: str = '', Leg2ProdFamilyCode: str = '', ActionDirection: str = '', + SyncDeltaSequenceNo: int = 0): + super(SyncDeltaSPBMAddOnInterParamField, self).__init__() + self.TradingDay = self._to_bytes(TradingDay) + self.ExchangeID = self._to_bytes(ExchangeID) + self.SpreadId = int(SpreadId) + self.AddOnInterRateZ2 = float(AddOnInterRateZ2) + self.Leg1ProdFamilyCode = self._to_bytes(Leg1ProdFamilyCode) + self.Leg2ProdFamilyCode = self._to_bytes(Leg2ProdFamilyCode) + self.ActionDirection = self._to_bytes(ActionDirection) + self.SyncDeltaSequenceNo = int(SyncDeltaSequenceNo) + + +class SyncDeltaSPMMInstParamField(Base): + """风险结算追平SPMM合约参数""" + _fields_ = [ + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('InstMarginCalID', ctypes.c_char), # SPMM合约保证金算法 + ('CommodityID', ctypes.c_char * 41), # 商品组代码 + ('CommodityGroupID', ctypes.c_char * 41), # 商品群代码 + ('ActionDirection', ctypes.c_char), # 操作标志 + ('SyncDeltaSequenceNo', ctypes.c_int), # 追平序号 + ] + + def __init__(self, ExchangeID: str = '', InstrumentID: str = '', InstMarginCalID: str = '', CommodityID: str = '', + CommodityGroupID: str = '', ActionDirection: str = '', SyncDeltaSequenceNo: int = 0): + super(SyncDeltaSPMMInstParamField, self).__init__() + self.ExchangeID = self._to_bytes(ExchangeID) + self.InstrumentID = self._to_bytes(InstrumentID) + self.InstMarginCalID = self._to_bytes(InstMarginCalID) + self.CommodityID = self._to_bytes(CommodityID) + self.CommodityGroupID = self._to_bytes(CommodityGroupID) + self.ActionDirection = self._to_bytes(ActionDirection) + self.SyncDeltaSequenceNo = int(SyncDeltaSequenceNo) + + +class SyncDeltaSPMMProductParamField(Base): + """风险结算追平SPMM产品相关参数""" + _fields_ = [ + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('ProductID', ctypes.c_char * 41), # 产品代码 + ('CommodityID', ctypes.c_char * 41), # 商品组代码 + ('CommodityGroupID', ctypes.c_char * 41), # 商品群代码 + ('ActionDirection', ctypes.c_char), # 操作标志 + ('SyncDeltaSequenceNo', ctypes.c_int), # 追平序号 + ] + + def __init__(self, ExchangeID: str = '', ProductID: str = '', CommodityID: str = '', CommodityGroupID: str = '', + ActionDirection: str = '', SyncDeltaSequenceNo: int = 0): + super(SyncDeltaSPMMProductParamField, self).__init__() + self.ExchangeID = self._to_bytes(ExchangeID) + self.ProductID = self._to_bytes(ProductID) + self.CommodityID = self._to_bytes(CommodityID) + self.CommodityGroupID = self._to_bytes(CommodityGroupID) + self.ActionDirection = self._to_bytes(ActionDirection) + self.SyncDeltaSequenceNo = int(SyncDeltaSequenceNo) + + +class SyncDeltaInvestorSPMMModelField(Base): + """风险结算追平投资者SPMM模板选择""" + _fields_ = [ + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 + ('InvestorID', ctypes.c_char * 13), # 投资者代码 + ('SPMMModelID', ctypes.c_char * 33), # SPMM模板ID + ('ActionDirection', ctypes.c_char), # 操作标志 + ('SyncDeltaSequenceNo', ctypes.c_int), # 追平序号 + ] + + def __init__(self, ExchangeID: str = '', BrokerID: str = '', InvestorID: str = '', SPMMModelID: str = '', + ActionDirection: str = '', SyncDeltaSequenceNo: int = 0): + super(SyncDeltaInvestorSPMMModelField, self).__init__() + self.ExchangeID = self._to_bytes(ExchangeID) + self.BrokerID = self._to_bytes(BrokerID) + self.InvestorID = self._to_bytes(InvestorID) + self.SPMMModelID = self._to_bytes(SPMMModelID) + self.ActionDirection = self._to_bytes(ActionDirection) + self.SyncDeltaSequenceNo = int(SyncDeltaSequenceNo) + + +class SyncDeltaSPMMModelParamField(Base): + """风险结算追平SPMM模板参数设置""" + _fields_ = [ + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('SPMMModelID', ctypes.c_char * 33), # SPMM模板ID + ('CommodityGroupID', ctypes.c_char * 41), # 商品群代码 + ('IntraCommodityRate', ctypes.c_double), # SPMM品种内跨期优惠系数 + ('InterCommodityRate', ctypes.c_double), # SPMM品种间优惠系数 + ('OptionDiscountRate', ctypes.c_double), # SPMM期权优惠系数 + ('MiniMarginRatio', ctypes.c_double), # 商品群最小保证金比例 + ('ActionDirection', ctypes.c_char), # 操作标志 + ('SyncDeltaSequenceNo', ctypes.c_int), # 追平序号 + ] + + def __init__(self, ExchangeID: str = '', SPMMModelID: str = '', CommodityGroupID: str = '', + IntraCommodityRate: float = 0.0, InterCommodityRate: float = 0.0, OptionDiscountRate: float = 0.0, + MiniMarginRatio: float = 0.0, ActionDirection: str = '', SyncDeltaSequenceNo: int = 0): + super(SyncDeltaSPMMModelParamField, self).__init__() + self.ExchangeID = self._to_bytes(ExchangeID) + self.SPMMModelID = self._to_bytes(SPMMModelID) + self.CommodityGroupID = self._to_bytes(CommodityGroupID) + self.IntraCommodityRate = float(IntraCommodityRate) + self.InterCommodityRate = float(InterCommodityRate) + self.OptionDiscountRate = float(OptionDiscountRate) + self.MiniMarginRatio = float(MiniMarginRatio) + self.ActionDirection = self._to_bytes(ActionDirection) + self.SyncDeltaSequenceNo = int(SyncDeltaSequenceNo) + + +class SyncDeltaRCAMSCombProdInfoField(Base): + """风险结算追平RCAMS产品组合信息""" + _fields_ = [ + ('TradingDay', ctypes.c_char * 9), # 交易日 + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('ProductID', ctypes.c_char * 41), # 产品代码 + ('CombProductID', ctypes.c_char * 41), # 商品组代码 + ('ProductGroupID', ctypes.c_char * 41), # 商品群代码 + ('ActionDirection', ctypes.c_char), # 操作标志 + ('SyncDeltaSequenceNo', ctypes.c_int), # 追平序号 + ] + + def __init__(self, TradingDay: str = '', ExchangeID: str = '', ProductID: str = '', CombProductID: str = '', + ProductGroupID: str = '', ActionDirection: str = '', SyncDeltaSequenceNo: int = 0): + super(SyncDeltaRCAMSCombProdInfoField, self).__init__() + self.TradingDay = self._to_bytes(TradingDay) + self.ExchangeID = self._to_bytes(ExchangeID) + self.ProductID = self._to_bytes(ProductID) + self.CombProductID = self._to_bytes(CombProductID) + self.ProductGroupID = self._to_bytes(ProductGroupID) + self.ActionDirection = self._to_bytes(ActionDirection) + self.SyncDeltaSequenceNo = int(SyncDeltaSequenceNo) + + +class SyncDeltaRCAMSInstrParameterField(Base): + """风险结算追平RCAMS同合约风险对冲参数""" + _fields_ = [ + ('TradingDay', ctypes.c_char * 9), # 交易日 + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('ProductID', ctypes.c_char * 41), # 产品代码 + ('HedgeRate', ctypes.c_double), # 同合约风险对冲比率 + ('ActionDirection', ctypes.c_char), # 操作标志 + ('SyncDeltaSequenceNo', ctypes.c_int), # 追平序号 + ] + + def __init__(self, TradingDay: str = '', ExchangeID: str = '', ProductID: str = '', HedgeRate: float = 0.0, + ActionDirection: str = '', SyncDeltaSequenceNo: int = 0): + super(SyncDeltaRCAMSInstrParameterField, self).__init__() + self.TradingDay = self._to_bytes(TradingDay) + self.ExchangeID = self._to_bytes(ExchangeID) + self.ProductID = self._to_bytes(ProductID) + self.HedgeRate = float(HedgeRate) + self.ActionDirection = self._to_bytes(ActionDirection) + self.SyncDeltaSequenceNo = int(SyncDeltaSequenceNo) + + +class SyncDeltaRCAMSIntraParameterField(Base): + """风险结算追平RCAMS品种内风险对冲参数""" + _fields_ = [ + ('TradingDay', ctypes.c_char * 9), # 交易日 + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('CombProductID', ctypes.c_char * 41), # 产品组合代码 + ('HedgeRate', ctypes.c_double), # 品种内对冲比率 + ('ActionDirection', ctypes.c_char), # 操作标志 + ('SyncDeltaSequenceNo', ctypes.c_int), # 追平序号 + ] + + def __init__(self, TradingDay: str = '', ExchangeID: str = '', CombProductID: str = '', HedgeRate: float = 0.0, + ActionDirection: str = '', SyncDeltaSequenceNo: int = 0): + super(SyncDeltaRCAMSIntraParameterField, self).__init__() + self.TradingDay = self._to_bytes(TradingDay) + self.ExchangeID = self._to_bytes(ExchangeID) + self.CombProductID = self._to_bytes(CombProductID) + self.HedgeRate = float(HedgeRate) + self.ActionDirection = self._to_bytes(ActionDirection) + self.SyncDeltaSequenceNo = int(SyncDeltaSequenceNo) + + +class SyncDeltaRCAMSInterParameterField(Base): + """风险结算追平RCAMS跨品种风险折抵参数""" + _fields_ = [ + ('TradingDay', ctypes.c_char * 9), # 交易日 + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('ProductGroupID', ctypes.c_char * 41), # 商品群代码 + ('Priority', ctypes.c_int), # 优先级 + ('CreditRate', ctypes.c_double), # 折抵率 + ('CombProduct1', ctypes.c_char * 41), # 产品组合代码1 + ('CombProduct2', ctypes.c_char * 41), # 产品组合代码2 + ('ActionDirection', ctypes.c_char), # 操作标志 + ('SyncDeltaSequenceNo', ctypes.c_int), # 追平序号 + ] + + def __init__(self, TradingDay: str = '', ExchangeID: str = '', ProductGroupID: str = '', Priority: int = 0, + CreditRate: float = 0.0, CombProduct1: str = '', CombProduct2: str = '', ActionDirection: str = '', + SyncDeltaSequenceNo: int = 0): + super(SyncDeltaRCAMSInterParameterField, self).__init__() + self.TradingDay = self._to_bytes(TradingDay) + self.ExchangeID = self._to_bytes(ExchangeID) + self.ProductGroupID = self._to_bytes(ProductGroupID) + self.Priority = int(Priority) + self.CreditRate = float(CreditRate) + self.CombProduct1 = self._to_bytes(CombProduct1) + self.CombProduct2 = self._to_bytes(CombProduct2) + self.ActionDirection = self._to_bytes(ActionDirection) + self.SyncDeltaSequenceNo = int(SyncDeltaSequenceNo) + + +class SyncDeltaRCAMSSOptAdjParamField(Base): + """风险结算追平RCAMS空头期权风险调整参数""" + _fields_ = [ + ('TradingDay', ctypes.c_char * 9), # 交易日 + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('CombProductID', ctypes.c_char * 41), # 产品组合代码 + ('HedgeFlag', ctypes.c_char), # 投套标志 + ('AdjustValue', ctypes.c_double), # 空头期权风险调整标准 + ('ActionDirection', ctypes.c_char), # 操作标志 + ('SyncDeltaSequenceNo', ctypes.c_int), # 追平序号 + ] + + def __init__(self, TradingDay: str = '', ExchangeID: str = '', CombProductID: str = '', HedgeFlag: str = '', + AdjustValue: float = 0.0, ActionDirection: str = '', SyncDeltaSequenceNo: int = 0): + super(SyncDeltaRCAMSSOptAdjParamField, self).__init__() + self.TradingDay = self._to_bytes(TradingDay) + self.ExchangeID = self._to_bytes(ExchangeID) + self.CombProductID = self._to_bytes(CombProductID) + self.HedgeFlag = self._to_bytes(HedgeFlag) + self.AdjustValue = float(AdjustValue) + self.ActionDirection = self._to_bytes(ActionDirection) + self.SyncDeltaSequenceNo = int(SyncDeltaSequenceNo) + + +class SyncDeltaRCAMSCombRuleDtlField(Base): + """风险结算追平RCAMS策略组合规则明细""" + _fields_ = [ + ('TradingDay', ctypes.c_char * 9), # 交易日 + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('ProdGroup', ctypes.c_char * 41), # 策略产品 + ('RuleId', ctypes.c_char * 51), # 策略id + ('Priority', ctypes.c_int), # 优先级 + ('HedgeFlag', ctypes.c_char), # 投套标志 + ('CombMargin', ctypes.c_double), # 组合保证金标准 + ('ExchangeInstID', ctypes.c_char * 81), # 交易所组合合约代码 + ('LegID', ctypes.c_int), # 单腿编号 + ('LegInstrumentID', ctypes.c_char * 81), # 单腿合约代码 + ('Direction', ctypes.c_char), # 买卖方向 + ('LegMultiple', ctypes.c_int), # 单腿乘数 + ('ActionDirection', ctypes.c_char), # 操作标志 + ('SyncDeltaSequenceNo', ctypes.c_int), # 追平序号 + ] + + def __init__(self, TradingDay: str = '', ExchangeID: str = '', ProdGroup: str = '', RuleId: str = '', + Priority: int = 0, HedgeFlag: str = '', CombMargin: float = 0.0, ExchangeInstID: str = '', + LegID: int = 0, LegInstrumentID: str = '', Direction: str = '', LegMultiple: int = 0, + ActionDirection: str = '', SyncDeltaSequenceNo: int = 0): + super(SyncDeltaRCAMSCombRuleDtlField, self).__init__() + self.TradingDay = self._to_bytes(TradingDay) + self.ExchangeID = self._to_bytes(ExchangeID) + self.ProdGroup = self._to_bytes(ProdGroup) + self.RuleId = self._to_bytes(RuleId) + self.Priority = int(Priority) + self.HedgeFlag = self._to_bytes(HedgeFlag) + self.CombMargin = float(CombMargin) + self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.LegID = int(LegID) + self.LegInstrumentID = self._to_bytes(LegInstrumentID) + self.Direction = self._to_bytes(Direction) + self.LegMultiple = int(LegMultiple) + self.ActionDirection = self._to_bytes(ActionDirection) + self.SyncDeltaSequenceNo = int(SyncDeltaSequenceNo) + + +class SyncDeltaRCAMSInvstCombPosField(Base): + """风险结算追平RCAMS策略组合持仓""" + _fields_ = [ + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 + ('InvestorID', ctypes.c_char * 13), # 投资者代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('HedgeFlag', ctypes.c_char), # 投套标志 + ('PosiDirection', ctypes.c_char), # 持仓多空方向 + ('CombInstrumentID', ctypes.c_char * 81), # 组合合约代码 + ('LegID', ctypes.c_int), # 单腿编号 + ('ExchangeInstID', ctypes.c_char * 81), # 交易所组合合约代码 + ('TotalAmt', ctypes.c_int), # 持仓量 + ('ExchMargin', ctypes.c_double), # 交易所保证金 + ('Margin', ctypes.c_double), # 投资者保证金 + ('ActionDirection', ctypes.c_char), # 操作标志 + ('SyncDeltaSequenceNo', ctypes.c_int), # 追平序号 + ] + + def __init__(self, ExchangeID: str = '', BrokerID: str = '', InvestorID: str = '', InstrumentID: str = '', + HedgeFlag: str = '', PosiDirection: str = '', CombInstrumentID: str = '', LegID: int = 0, + ExchangeInstID: str = '', TotalAmt: int = 0, ExchMargin: float = 0.0, Margin: float = 0.0, + ActionDirection: str = '', SyncDeltaSequenceNo: int = 0): + super(SyncDeltaRCAMSInvstCombPosField, self).__init__() + self.ExchangeID = self._to_bytes(ExchangeID) + self.BrokerID = self._to_bytes(BrokerID) + self.InvestorID = self._to_bytes(InvestorID) + self.InstrumentID = self._to_bytes(InstrumentID) + self.HedgeFlag = self._to_bytes(HedgeFlag) + self.PosiDirection = self._to_bytes(PosiDirection) + self.CombInstrumentID = self._to_bytes(CombInstrumentID) + self.LegID = int(LegID) + self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.TotalAmt = int(TotalAmt) + self.ExchMargin = float(ExchMargin) + self.Margin = float(Margin) + self.ActionDirection = self._to_bytes(ActionDirection) + self.SyncDeltaSequenceNo = int(SyncDeltaSequenceNo) + + +class SyncDeltaRULEInstrParameterField(Base): + """风险结算追平RULE合约保证金参数""" + _fields_ = [ + ('TradingDay', ctypes.c_char * 9), # 交易日 + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('InstrumentClass', ctypes.c_char), # 合约类型 + ('StdInstrumentID', ctypes.c_char * 81), # 标准合约 + ('BSpecRatio', ctypes.c_double), # 投机买折算系数 + ('SSpecRatio', ctypes.c_double), # 投机卖折算系数 + ('BHedgeRatio', ctypes.c_double), # 套保买折算系数 + ('SHedgeRatio', ctypes.c_double), # 套保卖折算系数 + ('BAddOnMargin', ctypes.c_double), # 买附加风险保证金 + ('SAddOnMargin', ctypes.c_double), # 卖附加风险保证金 + ('CommodityGroupID', ctypes.c_int), # 商品群号 + ('ActionDirection', ctypes.c_char), # 操作标志 + ('SyncDeltaSequenceNo', ctypes.c_int), # 追平序号 + ] + + def __init__(self, TradingDay: str = '', ExchangeID: str = '', InstrumentID: str = '', InstrumentClass: str = '', + StdInstrumentID: str = '', BSpecRatio: float = 0.0, SSpecRatio: float = 0.0, BHedgeRatio: float = 0.0, + SHedgeRatio: float = 0.0, BAddOnMargin: float = 0.0, SAddOnMargin: float = 0.0, + CommodityGroupID: int = 0, ActionDirection: str = '', SyncDeltaSequenceNo: int = 0): + super(SyncDeltaRULEInstrParameterField, self).__init__() + self.TradingDay = self._to_bytes(TradingDay) + self.ExchangeID = self._to_bytes(ExchangeID) + self.InstrumentID = self._to_bytes(InstrumentID) + self.InstrumentClass = self._to_bytes(InstrumentClass) + self.StdInstrumentID = self._to_bytes(StdInstrumentID) + self.BSpecRatio = float(BSpecRatio) + self.SSpecRatio = float(SSpecRatio) + self.BHedgeRatio = float(BHedgeRatio) + self.SHedgeRatio = float(SHedgeRatio) + self.BAddOnMargin = float(BAddOnMargin) + self.SAddOnMargin = float(SAddOnMargin) + self.CommodityGroupID = int(CommodityGroupID) + self.ActionDirection = self._to_bytes(ActionDirection) + self.SyncDeltaSequenceNo = int(SyncDeltaSequenceNo) + + +class SyncDeltaRULEIntraParameterField(Base): + """风险结算追平RULE品种内对锁仓折扣参数""" + _fields_ = [ + ('TradingDay', ctypes.c_char * 9), # 交易日 + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('ProdFamilyCode', ctypes.c_char * 81), # 品种代码 + ('StdInstrumentID', ctypes.c_char * 81), # 标准合约 + ('StdInstrMargin', ctypes.c_double), # 标准合约保证金 + ('UsualIntraRate', ctypes.c_double), # 一般月份合约组合保证金系数 + ('DeliveryIntraRate', ctypes.c_double), # 临近交割合约组合保证金系数 + ('ActionDirection', ctypes.c_char), # 操作标志 + ('SyncDeltaSequenceNo', ctypes.c_int), # 追平序号 + ] + + def __init__(self, TradingDay: str = '', ExchangeID: str = '', ProdFamilyCode: str = '', StdInstrumentID: str = '', + StdInstrMargin: float = 0.0, UsualIntraRate: float = 0.0, DeliveryIntraRate: float = 0.0, + ActionDirection: str = '', SyncDeltaSequenceNo: int = 0): + super(SyncDeltaRULEIntraParameterField, self).__init__() + self.TradingDay = self._to_bytes(TradingDay) + self.ExchangeID = self._to_bytes(ExchangeID) + self.ProdFamilyCode = self._to_bytes(ProdFamilyCode) + self.StdInstrumentID = self._to_bytes(StdInstrumentID) + self.StdInstrMargin = float(StdInstrMargin) + self.UsualIntraRate = float(UsualIntraRate) + self.DeliveryIntraRate = float(DeliveryIntraRate) + self.ActionDirection = self._to_bytes(ActionDirection) + self.SyncDeltaSequenceNo = int(SyncDeltaSequenceNo) + + +class SyncDeltaRULEInterParameterField(Base): + """风险结算追平RULE跨品种抵扣参数""" + _fields_ = [ + ('TradingDay', ctypes.c_char * 9), # 交易日 + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('SpreadId', ctypes.c_int), # 优先级 + ('InterRate', ctypes.c_double), # 品种间对锁仓费率折扣比例 + ('Leg1ProdFamilyCode', ctypes.c_char * 81), # 第一腿构成品种 + ('Leg2ProdFamilyCode', ctypes.c_char * 81), # 第二腿构成品种 + ('Leg1PropFactor', ctypes.c_int), # 腿1比例系数 + ('Leg2PropFactor', ctypes.c_int), # 腿2比例系数 + ('CommodityGroupID', ctypes.c_int), # 商品群号 + ('CommodityGroupName', ctypes.c_char * 21), # 商品群名称 + ('ActionDirection', ctypes.c_char), # 操作标志 + ('SyncDeltaSequenceNo', ctypes.c_int), # 追平序号 + ] + + def __init__(self, TradingDay: str = '', ExchangeID: str = '', SpreadId: int = 0, InterRate: float = 0.0, + Leg1ProdFamilyCode: str = '', Leg2ProdFamilyCode: str = '', Leg1PropFactor: int = 0, + Leg2PropFactor: int = 0, CommodityGroupID: int = 0, CommodityGroupName: str = '', + ActionDirection: str = '', SyncDeltaSequenceNo: int = 0): + super(SyncDeltaRULEInterParameterField, self).__init__() + self.TradingDay = self._to_bytes(TradingDay) + self.ExchangeID = self._to_bytes(ExchangeID) + self.SpreadId = int(SpreadId) + self.InterRate = float(InterRate) + self.Leg1ProdFamilyCode = self._to_bytes(Leg1ProdFamilyCode) + self.Leg2ProdFamilyCode = self._to_bytes(Leg2ProdFamilyCode) + self.Leg1PropFactor = int(Leg1PropFactor) + self.Leg2PropFactor = int(Leg2PropFactor) + self.CommodityGroupID = int(CommodityGroupID) + self.CommodityGroupName = self._to_bytes(CommodityGroupName) + self.ActionDirection = self._to_bytes(ActionDirection) + self.SyncDeltaSequenceNo = int(SyncDeltaSequenceNo) + + +class IpAddrParamField(Base): + """服务地址参数""" + _fields_ = [ + ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 + ('Address', ctypes.c_char * 129), # 服务地址 + ('DRIdentityID', ctypes.c_int), # 交易中心代码 + ('DRIdentityName', ctypes.c_char * 65), # 交易中心名称 + ('AddrSrvMode', ctypes.c_char), # 交易地址OR行情地址 + ('AddrVer', ctypes.c_char), # 地址版本 + ('AddrNo', ctypes.c_int), # 服务地址编号 + ('AddrName', ctypes.c_char * 65), # 服务地址名称 + ('IsSM', ctypes.c_int), # 是否是国密地址 + ('IsLocalAddr', ctypes.c_int), # 是否是内网地址 + ('Remark', ctypes.c_char * 161), # 地址补充信息 + ('Site', ctypes.c_char * 51), # 站点 + ('NetOperator', ctypes.c_char * 9), # 网络运营商 + ] + + def __init__(self, BrokerID: str = '', Address: str = '', DRIdentityID: int = 0, DRIdentityName: str = '', + AddrSrvMode: str = '', AddrVer: str = '', AddrNo: int = 0, AddrName: str = '', IsSM: int = 0, + IsLocalAddr: int = 0, Remark: str = '', Site: str = '', NetOperator: str = ''): + super(IpAddrParamField, self).__init__() + self.BrokerID = self._to_bytes(BrokerID) + self.Address = self._to_bytes(Address) + self.DRIdentityID = int(DRIdentityID) + self.DRIdentityName = self._to_bytes(DRIdentityName) + self.AddrSrvMode = self._to_bytes(AddrSrvMode) + self.AddrVer = self._to_bytes(AddrVer) + self.AddrNo = int(AddrNo) + self.AddrName = self._to_bytes(AddrName) + self.IsSM = int(IsSM) + self.IsLocalAddr = int(IsLocalAddr) + self.Remark = self._to_bytes(Remark) + self.Site = self._to_bytes(Site) + self.NetOperator = self._to_bytes(NetOperator) + + +class QryIpAddrParamField(Base): + """服务地址参数查询""" + _fields_ = [ + ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 + ] + + def __init__(self, BrokerID: str = ''): + super(QryIpAddrParamField, self).__init__() + self.BrokerID = self._to_bytes(BrokerID) + + +class TGIpAddrParamField(Base): + """服务地址参数""" + _fields_ = [ + ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 + ('UserID', ctypes.c_char * 16), # 用户代码 + ('Address', ctypes.c_char * 129), # 服务地址 + ('DRIdentityID', ctypes.c_int), # 交易中心代码 + ('DRIdentityName', ctypes.c_char * 65), # 交易中心名称 + ('AddrSrvMode', ctypes.c_char), # 交易地址OR行情地址 + ('AddrVer', ctypes.c_char), # 地址版本 + ('AddrNo', ctypes.c_int), # 服务地址编号 + ('AddrName', ctypes.c_char * 65), # 服务地址名称 + ('IsSM', ctypes.c_int), # 是否是国密地址 + ('IsLocalAddr', ctypes.c_int), # 是否是内网地址 + ('Remark', ctypes.c_char * 161), # 地址补充信息 + ('Site', ctypes.c_char * 51), # 站点 + ('NetOperator', ctypes.c_char * 9), # 网络运营商 + ] + + def __init__(self, BrokerID: str = '', UserID: str = '', Address: str = '', DRIdentityID: int = 0, + DRIdentityName: str = '', AddrSrvMode: str = '', AddrVer: str = '', AddrNo: int = 0, + AddrName: str = '', IsSM: int = 0, IsLocalAddr: int = 0, Remark: str = '', Site: str = '', + NetOperator: str = ''): + super(TGIpAddrParamField, self).__init__() + self.BrokerID = self._to_bytes(BrokerID) + self.UserID = self._to_bytes(UserID) + self.Address = self._to_bytes(Address) + self.DRIdentityID = int(DRIdentityID) + self.DRIdentityName = self._to_bytes(DRIdentityName) + self.AddrSrvMode = self._to_bytes(AddrSrvMode) + self.AddrVer = self._to_bytes(AddrVer) + self.AddrNo = int(AddrNo) + self.AddrName = self._to_bytes(AddrName) + self.IsSM = int(IsSM) + self.IsLocalAddr = int(IsLocalAddr) + self.Remark = self._to_bytes(Remark) + self.Site = self._to_bytes(Site) + self.NetOperator = self._to_bytes(NetOperator) + + +class QryTGIpAddrParamField(Base): + """服务地址参数查询""" + _fields_ = [ + ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 + ('UserID', ctypes.c_char * 16), # 用户代码 + ('AppID', ctypes.c_char * 33), # App代码 + ] + + def __init__(self, BrokerID: str = '', UserID: str = '', AppID: str = ''): + super(QryTGIpAddrParamField, self).__init__() + self.BrokerID = self._to_bytes(BrokerID) + self.UserID = self._to_bytes(UserID) + self.AppID = self._to_bytes(AppID) + + +class TGSessionQryStatusField(Base): + """TGate会话查询状态""" + _fields_ = [ + ('LastQryFreq', ctypes.c_int), # 最近30s的查询频率 + ('QryStatus', ctypes.c_char), # 查询状态 + ] + + def __init__(self, LastQryFreq: int = 0, QryStatus: str = ''): + super(TGSessionQryStatusField, self).__init__() + self.LastQryFreq = int(LastQryFreq) + self.QryStatus = self._to_bytes(QryStatus) + + +class LocalAddrConfigField(Base): + """内网地址配置""" + _fields_ = [ + ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 + ('PeerAddr', ctypes.c_char * 129), # 对端地址 + ('NetMask', ctypes.c_char * 129), # 子网掩码 + ('DRIdentityID', ctypes.c_int), # 交易中心代码 + ('LocalAddress', ctypes.c_char * 129), # 内网服务地址 + ] + + def __init__(self, BrokerID: str = '', PeerAddr: str = '', NetMask: str = '', DRIdentityID: int = 0, + LocalAddress: str = ''): + super(LocalAddrConfigField, self).__init__() + self.BrokerID = self._to_bytes(BrokerID) + self.PeerAddr = self._to_bytes(PeerAddr) + self.NetMask = self._to_bytes(NetMask) + self.DRIdentityID = int(DRIdentityID) + self.LocalAddress = self._to_bytes(LocalAddress) + + +class QryLocalAddrConfigField(Base): + """内网地址配置查询""" + _fields_ = [ + ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 + ] + + def __init__(self, BrokerID: str = ''): + super(QryLocalAddrConfigField, self).__init__() + self.BrokerID = self._to_bytes(BrokerID) + + +class ReqQueryBankAccountBySecField(Base): + """次席查询银行资金帐户信息请求""" + _fields_ = [ + ('TradeCode', ctypes.c_char * 7), # 业务功能码 + ('BankID', ctypes.c_char * 4), # 银行代码 + ('BankBranchID', ctypes.c_char * 5), # 银行分支机构代码 + ('BrokerID', ctypes.c_char * 11), # 期商代码 + ('BrokerBranchID', ctypes.c_char * 31), # 期商分支机构代码 + ('TradeDate', ctypes.c_char * 9), # 交易日期 + ('TradeTime', ctypes.c_char * 9), # 交易时间 + ('BankSerial', ctypes.c_char * 13), # 银行流水号 + ('TradingDay', ctypes.c_char * 9), # 交易系统日期 + ('PlateSerial', ctypes.c_int), # 银期平台消息流水号 + ('LastFragment', ctypes.c_char), # 最后分片标志 + ('SessionID', ctypes.c_int), # 会话号 + ('CustomerName', ctypes.c_char * 51), # 客户姓名 + ('IdCardType', ctypes.c_char), # 证件类型 + ('IdentifiedCardNo', ctypes.c_char * 51), # 证件号码 + ('CustType', ctypes.c_char), # 客户类型 + ('BankAccount', ctypes.c_char * 41), # 银行帐号 + ('BankPassWord', ctypes.c_char * 41), # 银行密码 + ('AccountID', ctypes.c_char * 13), # 投资者帐号 + ('Password', ctypes.c_char * 41), # 期货密码 + ('FutureSerial', ctypes.c_int), # 期货公司流水号 + ('InstallID', ctypes.c_int), # 安装编号 + ('UserID', ctypes.c_char * 16), # 用户标识 + ('VerifyCertNoFlag', ctypes.c_char), # 验证客户证件号码标志 + ('CurrencyID', ctypes.c_char * 4), # 币种代码 + ('Digest', ctypes.c_char * 36), # 摘要 + ('BankAccType', ctypes.c_char), # 银行帐号类型 + ('DeviceID', ctypes.c_char * 3), # 渠道标志 + ('BankSecuAccType', ctypes.c_char), # 期货单位帐号类型 + ('BrokerIDByBank', ctypes.c_char * 33), # 期货公司银行编码 + ('BankSecuAcc', ctypes.c_char * 41), # 期货单位帐号 + ('BankPwdFlag', ctypes.c_char), # 银行密码标志 + ('SecuPwdFlag', ctypes.c_char), # 期货资金密码核对标志 + ('OperNo', ctypes.c_char * 17), # 交易柜员 + ('RequestID', ctypes.c_int), # 请求编号 + ('TID', ctypes.c_int), # 交易ID + ('LongCustomerName', ctypes.c_char * 161), # 长客户姓名 + ('DRIdentityID', ctypes.c_int), # 交易中心代码 + ('SecFutureSerial', ctypes.c_int), # 次中心发起转账期货公司流水号 + ] + + def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', + BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', + TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, + CustomerName: str = '', IdCardType: str = '', IdentifiedCardNo: str = '', CustType: str = '', + BankAccount: str = '', BankPassWord: str = '', AccountID: str = '', Password: str = '', + FutureSerial: int = 0, InstallID: int = 0, UserID: str = '', VerifyCertNoFlag: str = '', + CurrencyID: str = '', Digest: str = '', BankAccType: str = '', DeviceID: str = '', + BankSecuAccType: str = '', BrokerIDByBank: str = '', BankSecuAcc: str = '', BankPwdFlag: str = '', + SecuPwdFlag: str = '', OperNo: str = '', RequestID: int = 0, TID: int = 0, LongCustomerName: str = '', + DRIdentityID: int = 0, SecFutureSerial: int = 0): + super(ReqQueryBankAccountBySecField, self).__init__() + self.TradeCode = self._to_bytes(TradeCode) + self.BankID = self._to_bytes(BankID) + self.BankBranchID = self._to_bytes(BankBranchID) + self.BrokerID = self._to_bytes(BrokerID) + self.BrokerBranchID = self._to_bytes(BrokerBranchID) + self.TradeDate = self._to_bytes(TradeDate) + self.TradeTime = self._to_bytes(TradeTime) + self.BankSerial = self._to_bytes(BankSerial) + self.TradingDay = self._to_bytes(TradingDay) + self.PlateSerial = int(PlateSerial) + self.LastFragment = self._to_bytes(LastFragment) + self.SessionID = int(SessionID) + self.CustomerName = self._to_bytes(CustomerName) + self.IdCardType = self._to_bytes(IdCardType) + self.IdentifiedCardNo = self._to_bytes(IdentifiedCardNo) + self.CustType = self._to_bytes(CustType) + self.BankAccount = self._to_bytes(BankAccount) + self.BankPassWord = self._to_bytes(BankPassWord) + self.AccountID = self._to_bytes(AccountID) + self.Password = self._to_bytes(Password) + self.FutureSerial = int(FutureSerial) + self.InstallID = int(InstallID) + self.UserID = self._to_bytes(UserID) + self.VerifyCertNoFlag = self._to_bytes(VerifyCertNoFlag) + self.CurrencyID = self._to_bytes(CurrencyID) + self.Digest = self._to_bytes(Digest) + self.BankAccType = self._to_bytes(BankAccType) + self.DeviceID = self._to_bytes(DeviceID) + self.BankSecuAccType = self._to_bytes(BankSecuAccType) + self.BrokerIDByBank = self._to_bytes(BrokerIDByBank) + self.BankSecuAcc = self._to_bytes(BankSecuAcc) + self.BankPwdFlag = self._to_bytes(BankPwdFlag) + self.SecuPwdFlag = self._to_bytes(SecuPwdFlag) + self.OperNo = self._to_bytes(OperNo) + self.RequestID = int(RequestID) + self.TID = int(TID) + self.LongCustomerName = self._to_bytes(LongCustomerName) + self.DRIdentityID = int(DRIdentityID) + self.SecFutureSerial = int(SecFutureSerial) + + +class RspQueryBankAccountBySecField(Base): + """次席查询银行资金帐户信息回报""" + _fields_ = [ + ('TradeCode', ctypes.c_char * 7), # 业务功能码 + ('BankID', ctypes.c_char * 4), # 银行代码 + ('BankBranchID', ctypes.c_char * 5), # 银行分支机构代码 + ('BrokerID', ctypes.c_char * 11), # 期商代码 + ('BrokerBranchID', ctypes.c_char * 31), # 期商分支机构代码 + ('TradeDate', ctypes.c_char * 9), # 交易日期 + ('TradeTime', ctypes.c_char * 9), # 交易时间 + ('BankSerial', ctypes.c_char * 13), # 银行流水号 + ('TradingDay', ctypes.c_char * 9), # 交易系统日期 + ('PlateSerial', ctypes.c_int), # 银期平台消息流水号 + ('LastFragment', ctypes.c_char), # 最后分片标志 + ('SessionID', ctypes.c_int), # 会话号 + ('CustomerName', ctypes.c_char * 51), # 客户姓名 + ('IdCardType', ctypes.c_char), # 证件类型 + ('IdentifiedCardNo', ctypes.c_char * 51), # 证件号码 + ('CustType', ctypes.c_char), # 客户类型 + ('BankAccount', ctypes.c_char * 41), # 银行帐号 + ('BankPassWord', ctypes.c_char * 41), # 银行密码 + ('AccountID', ctypes.c_char * 13), # 投资者帐号 + ('Password', ctypes.c_char * 41), # 期货密码 + ('FutureSerial', ctypes.c_int), # 期货公司流水号 + ('InstallID', ctypes.c_int), # 安装编号 + ('UserID', ctypes.c_char * 16), # 用户标识 + ('VerifyCertNoFlag', ctypes.c_char), # 验证客户证件号码标志 + ('CurrencyID', ctypes.c_char * 4), # 币种代码 + ('Digest', ctypes.c_char * 36), # 摘要 + ('BankAccType', ctypes.c_char), # 银行帐号类型 + ('DeviceID', ctypes.c_char * 3), # 渠道标志 + ('BankSecuAccType', ctypes.c_char), # 期货单位帐号类型 + ('BrokerIDByBank', ctypes.c_char * 33), # 期货公司银行编码 + ('BankSecuAcc', ctypes.c_char * 41), # 期货单位帐号 + ('BankPwdFlag', ctypes.c_char), # 银行密码标志 + ('SecuPwdFlag', ctypes.c_char), # 期货资金密码核对标志 + ('OperNo', ctypes.c_char * 17), # 交易柜员 + ('RequestID', ctypes.c_int), # 请求编号 + ('TID', ctypes.c_int), # 交易ID + ('BankUseAmount', ctypes.c_double), # 银行可用金额 + ('BankFetchAmount', ctypes.c_double), # 银行可取金额 + ('LongCustomerName', ctypes.c_char * 161), # 长客户姓名 + ('DRIdentityID', ctypes.c_int), # 交易中心代码 + ('SecFutureSerial', ctypes.c_int), # 次中心发起转账期货公司流水号 + ] + + def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', + BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', + TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, + CustomerName: str = '', IdCardType: str = '', IdentifiedCardNo: str = '', CustType: str = '', + BankAccount: str = '', BankPassWord: str = '', AccountID: str = '', Password: str = '', + FutureSerial: int = 0, InstallID: int = 0, UserID: str = '', VerifyCertNoFlag: str = '', + CurrencyID: str = '', Digest: str = '', BankAccType: str = '', DeviceID: str = '', + BankSecuAccType: str = '', BrokerIDByBank: str = '', BankSecuAcc: str = '', BankPwdFlag: str = '', + SecuPwdFlag: str = '', OperNo: str = '', RequestID: int = 0, TID: int = 0, BankUseAmount: float = 0.0, + BankFetchAmount: float = 0.0, LongCustomerName: str = '', DRIdentityID: int = 0, + SecFutureSerial: int = 0): + super(RspQueryBankAccountBySecField, self).__init__() + self.TradeCode = self._to_bytes(TradeCode) + self.BankID = self._to_bytes(BankID) + self.BankBranchID = self._to_bytes(BankBranchID) + self.BrokerID = self._to_bytes(BrokerID) + self.BrokerBranchID = self._to_bytes(BrokerBranchID) + self.TradeDate = self._to_bytes(TradeDate) + self.TradeTime = self._to_bytes(TradeTime) + self.BankSerial = self._to_bytes(BankSerial) + self.TradingDay = self._to_bytes(TradingDay) + self.PlateSerial = int(PlateSerial) + self.LastFragment = self._to_bytes(LastFragment) + self.SessionID = int(SessionID) + self.CustomerName = self._to_bytes(CustomerName) + self.IdCardType = self._to_bytes(IdCardType) + self.IdentifiedCardNo = self._to_bytes(IdentifiedCardNo) + self.CustType = self._to_bytes(CustType) + self.BankAccount = self._to_bytes(BankAccount) + self.BankPassWord = self._to_bytes(BankPassWord) + self.AccountID = self._to_bytes(AccountID) + self.Password = self._to_bytes(Password) + self.FutureSerial = int(FutureSerial) + self.InstallID = int(InstallID) + self.UserID = self._to_bytes(UserID) + self.VerifyCertNoFlag = self._to_bytes(VerifyCertNoFlag) + self.CurrencyID = self._to_bytes(CurrencyID) + self.Digest = self._to_bytes(Digest) + self.BankAccType = self._to_bytes(BankAccType) + self.DeviceID = self._to_bytes(DeviceID) + self.BankSecuAccType = self._to_bytes(BankSecuAccType) + self.BrokerIDByBank = self._to_bytes(BrokerIDByBank) + self.BankSecuAcc = self._to_bytes(BankSecuAcc) + self.BankPwdFlag = self._to_bytes(BankPwdFlag) + self.SecuPwdFlag = self._to_bytes(SecuPwdFlag) + self.OperNo = self._to_bytes(OperNo) + self.RequestID = int(RequestID) + self.TID = int(TID) + self.BankUseAmount = float(BankUseAmount) + self.BankFetchAmount = float(BankFetchAmount) + self.LongCustomerName = self._to_bytes(LongCustomerName) + self.DRIdentityID = int(DRIdentityID) + self.SecFutureSerial = int(SecFutureSerial) + + +class ReqTransferBySecField(Base): + """次中心发起的转帐交易""" + _fields_ = [ + ('TradeCode', ctypes.c_char * 7), # 业务功能码 + ('BankID', ctypes.c_char * 4), # 银行代码 + ('BankBranchID', ctypes.c_char * 5), # 银行分支机构代码 + ('BrokerID', ctypes.c_char * 11), # 期商代码 + ('BrokerBranchID', ctypes.c_char * 31), # 期商分支机构代码 + ('TradeDate', ctypes.c_char * 9), # 交易日期 + ('TradeTime', ctypes.c_char * 9), # 交易时间 + ('BankSerial', ctypes.c_char * 13), # 银行流水号 + ('TradingDay', ctypes.c_char * 9), # 交易系统日期 + ('PlateSerial', ctypes.c_int), # 银期平台消息流水号 + ('LastFragment', ctypes.c_char), # 最后分片标志 + ('SessionID', ctypes.c_int), # 会话号 + ('CustomerName', ctypes.c_char * 51), # 客户姓名 + ('IdCardType', ctypes.c_char), # 证件类型 + ('IdentifiedCardNo', ctypes.c_char * 51), # 证件号码 + ('CustType', ctypes.c_char), # 客户类型 + ('BankAccount', ctypes.c_char * 41), # 银行帐号 + ('BankPassWord', ctypes.c_char * 41), # 银行密码 + ('AccountID', ctypes.c_char * 13), # 投资者帐号 + ('Password', ctypes.c_char * 41), # 期货密码 + ('InstallID', ctypes.c_int), # 安装编号 + ('FutureSerial', ctypes.c_int), # 期货公司流水号 + ('UserID', ctypes.c_char * 16), # 用户标识 + ('VerifyCertNoFlag', ctypes.c_char), # 验证客户证件号码标志 + ('CurrencyID', ctypes.c_char * 4), # 币种代码 + ('TradeAmount', ctypes.c_double), # 转帐金额 + ('FutureFetchAmount', ctypes.c_double), # 期货可取金额 + ('FeePayFlag', ctypes.c_char), # 费用支付标志 + ('CustFee', ctypes.c_double), # 应收客户费用 + ('BrokerFee', ctypes.c_double), # 应收期货公司费用 + ('Message', ctypes.c_char * 129), # 发送方给接收方的消息 + ('Digest', ctypes.c_char * 36), # 摘要 + ('BankAccType', ctypes.c_char), # 银行帐号类型 + ('DeviceID', ctypes.c_char * 3), # 渠道标志 + ('BankSecuAccType', ctypes.c_char), # 期货单位帐号类型 + ('BrokerIDByBank', ctypes.c_char * 33), # 期货公司银行编码 + ('BankSecuAcc', ctypes.c_char * 41), # 期货单位帐号 + ('BankPwdFlag', ctypes.c_char), # 银行密码标志 + ('SecuPwdFlag', ctypes.c_char), # 期货资金密码核对标志 + ('OperNo', ctypes.c_char * 17), # 交易柜员 + ('RequestID', ctypes.c_int), # 请求编号 + ('TID', ctypes.c_int), # 交易ID + ('TransferStatus', ctypes.c_char), # 转账交易状态 + ('LongCustomerName', ctypes.c_char * 161), # 长客户姓名 + ('DRIdentityID', ctypes.c_int), # 交易中心代码 + ('SecFutureSerial', ctypes.c_int), # 次中心发起转账期货公司流水号 + ] + + def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', + BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', + TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, + CustomerName: str = '', IdCardType: str = '', IdentifiedCardNo: str = '', CustType: str = '', + BankAccount: str = '', BankPassWord: str = '', AccountID: str = '', Password: str = '', + InstallID: int = 0, FutureSerial: int = 0, UserID: str = '', VerifyCertNoFlag: str = '', + CurrencyID: str = '', TradeAmount: float = 0.0, FutureFetchAmount: float = 0.0, FeePayFlag: str = '', + CustFee: float = 0.0, BrokerFee: float = 0.0, Message: str = '', Digest: str = '', + BankAccType: str = '', DeviceID: str = '', BankSecuAccType: str = '', BrokerIDByBank: str = '', + BankSecuAcc: str = '', BankPwdFlag: str = '', SecuPwdFlag: str = '', OperNo: str = '', + RequestID: int = 0, TID: int = 0, TransferStatus: str = '', LongCustomerName: str = '', + DRIdentityID: int = 0, SecFutureSerial: int = 0): + super(ReqTransferBySecField, self).__init__() + self.TradeCode = self._to_bytes(TradeCode) + self.BankID = self._to_bytes(BankID) + self.BankBranchID = self._to_bytes(BankBranchID) + self.BrokerID = self._to_bytes(BrokerID) + self.BrokerBranchID = self._to_bytes(BrokerBranchID) + self.TradeDate = self._to_bytes(TradeDate) + self.TradeTime = self._to_bytes(TradeTime) + self.BankSerial = self._to_bytes(BankSerial) + self.TradingDay = self._to_bytes(TradingDay) + self.PlateSerial = int(PlateSerial) + self.LastFragment = self._to_bytes(LastFragment) + self.SessionID = int(SessionID) + self.CustomerName = self._to_bytes(CustomerName) + self.IdCardType = self._to_bytes(IdCardType) + self.IdentifiedCardNo = self._to_bytes(IdentifiedCardNo) + self.CustType = self._to_bytes(CustType) + self.BankAccount = self._to_bytes(BankAccount) + self.BankPassWord = self._to_bytes(BankPassWord) + self.AccountID = self._to_bytes(AccountID) + self.Password = self._to_bytes(Password) + self.InstallID = int(InstallID) + self.FutureSerial = int(FutureSerial) + self.UserID = self._to_bytes(UserID) + self.VerifyCertNoFlag = self._to_bytes(VerifyCertNoFlag) + self.CurrencyID = self._to_bytes(CurrencyID) + self.TradeAmount = float(TradeAmount) + self.FutureFetchAmount = float(FutureFetchAmount) + self.FeePayFlag = self._to_bytes(FeePayFlag) + self.CustFee = float(CustFee) + self.BrokerFee = float(BrokerFee) + self.Message = self._to_bytes(Message) + self.Digest = self._to_bytes(Digest) + self.BankAccType = self._to_bytes(BankAccType) + self.DeviceID = self._to_bytes(DeviceID) + self.BankSecuAccType = self._to_bytes(BankSecuAccType) + self.BrokerIDByBank = self._to_bytes(BrokerIDByBank) + self.BankSecuAcc = self._to_bytes(BankSecuAcc) + self.BankPwdFlag = self._to_bytes(BankPwdFlag) + self.SecuPwdFlag = self._to_bytes(SecuPwdFlag) + self.OperNo = self._to_bytes(OperNo) + self.RequestID = int(RequestID) + self.TID = int(TID) + self.TransferStatus = self._to_bytes(TransferStatus) + self.LongCustomerName = self._to_bytes(LongCustomerName) + self.DRIdentityID = int(DRIdentityID) + self.SecFutureSerial = int(SecFutureSerial) + + +class RspTransferBySecField(Base): + """次中心发起的转帐交易回报""" + _fields_ = [ + ('TradeCode', ctypes.c_char * 7), # 业务功能码 + ('BankID', ctypes.c_char * 4), # 银行代码 + ('BankBranchID', ctypes.c_char * 5), # 银行分支机构代码 + ('BrokerID', ctypes.c_char * 11), # 期商代码 + ('BrokerBranchID', ctypes.c_char * 31), # 期商分支机构代码 + ('TradeDate', ctypes.c_char * 9), # 交易日期 + ('TradeTime', ctypes.c_char * 9), # 交易时间 + ('BankSerial', ctypes.c_char * 13), # 银行流水号 + ('TradingDay', ctypes.c_char * 9), # 交易系统日期 + ('PlateSerial', ctypes.c_int), # 银期平台消息流水号 + ('LastFragment', ctypes.c_char), # 最后分片标志 + ('SessionID', ctypes.c_int), # 会话号 + ('CustomerName', ctypes.c_char * 51), # 客户姓名 + ('IdCardType', ctypes.c_char), # 证件类型 + ('IdentifiedCardNo', ctypes.c_char * 51), # 证件号码 + ('CustType', ctypes.c_char), # 客户类型 + ('BankAccount', ctypes.c_char * 41), # 银行帐号 + ('BankPassWord', ctypes.c_char * 41), # 银行密码 + ('AccountID', ctypes.c_char * 13), # 投资者帐号 + ('Password', ctypes.c_char * 41), # 期货密码 + ('InstallID', ctypes.c_int), # 安装编号 + ('FutureSerial', ctypes.c_int), # 期货公司流水号 + ('UserID', ctypes.c_char * 16), # 用户标识 + ('VerifyCertNoFlag', ctypes.c_char), # 验证客户证件号码标志 + ('CurrencyID', ctypes.c_char * 4), # 币种代码 + ('TradeAmount', ctypes.c_double), # 转帐金额 + ('FutureFetchAmount', ctypes.c_double), # 期货可取金额 + ('FeePayFlag', ctypes.c_char), # 费用支付标志 + ('CustFee', ctypes.c_double), # 应收客户费用 + ('BrokerFee', ctypes.c_double), # 应收期货公司费用 + ('Message', ctypes.c_char * 129), # 发送方给接收方的消息 + ('Digest', ctypes.c_char * 36), # 摘要 + ('BankAccType', ctypes.c_char), # 银行帐号类型 + ('DeviceID', ctypes.c_char * 3), # 渠道标志 + ('BankSecuAccType', ctypes.c_char), # 期货单位帐号类型 + ('BrokerIDByBank', ctypes.c_char * 33), # 期货公司银行编码 + ('BankSecuAcc', ctypes.c_char * 41), # 期货单位帐号 + ('BankPwdFlag', ctypes.c_char), # 银行密码标志 + ('SecuPwdFlag', ctypes.c_char), # 期货资金密码核对标志 + ('OperNo', ctypes.c_char * 17), # 交易柜员 + ('RequestID', ctypes.c_int), # 请求编号 + ('TID', ctypes.c_int), # 交易ID + ('TransferStatus', ctypes.c_char), # 转账交易状态 + ('ErrorID', ctypes.c_int), # 错误代码 + ('ErrorMsg', ctypes.c_char * 81), # 错误信息 + ('LongCustomerName', ctypes.c_char * 161), # 长客户姓名 + ('DRIdentityID', ctypes.c_int), # 交易中心代码 + ('SecFutureSerial', ctypes.c_int), # 次中心发起转账期货公司流水号 + ] + + def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', + BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', + TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, + CustomerName: str = '', IdCardType: str = '', IdentifiedCardNo: str = '', CustType: str = '', + BankAccount: str = '', BankPassWord: str = '', AccountID: str = '', Password: str = '', + InstallID: int = 0, FutureSerial: int = 0, UserID: str = '', VerifyCertNoFlag: str = '', + CurrencyID: str = '', TradeAmount: float = 0.0, FutureFetchAmount: float = 0.0, FeePayFlag: str = '', + CustFee: float = 0.0, BrokerFee: float = 0.0, Message: str = '', Digest: str = '', + BankAccType: str = '', DeviceID: str = '', BankSecuAccType: str = '', BrokerIDByBank: str = '', + BankSecuAcc: str = '', BankPwdFlag: str = '', SecuPwdFlag: str = '', OperNo: str = '', + RequestID: int = 0, TID: int = 0, TransferStatus: str = '', ErrorID: int = 0, ErrorMsg: str = '', + LongCustomerName: str = '', DRIdentityID: int = 0, SecFutureSerial: int = 0): + super(RspTransferBySecField, self).__init__() + self.TradeCode = self._to_bytes(TradeCode) + self.BankID = self._to_bytes(BankID) + self.BankBranchID = self._to_bytes(BankBranchID) + self.BrokerID = self._to_bytes(BrokerID) + self.BrokerBranchID = self._to_bytes(BrokerBranchID) + self.TradeDate = self._to_bytes(TradeDate) + self.TradeTime = self._to_bytes(TradeTime) + self.BankSerial = self._to_bytes(BankSerial) + self.TradingDay = self._to_bytes(TradingDay) + self.PlateSerial = int(PlateSerial) + self.LastFragment = self._to_bytes(LastFragment) + self.SessionID = int(SessionID) + self.CustomerName = self._to_bytes(CustomerName) + self.IdCardType = self._to_bytes(IdCardType) + self.IdentifiedCardNo = self._to_bytes(IdentifiedCardNo) + self.CustType = self._to_bytes(CustType) + self.BankAccount = self._to_bytes(BankAccount) + self.BankPassWord = self._to_bytes(BankPassWord) + self.AccountID = self._to_bytes(AccountID) + self.Password = self._to_bytes(Password) + self.InstallID = int(InstallID) + self.FutureSerial = int(FutureSerial) + self.UserID = self._to_bytes(UserID) + self.VerifyCertNoFlag = self._to_bytes(VerifyCertNoFlag) + self.CurrencyID = self._to_bytes(CurrencyID) + self.TradeAmount = float(TradeAmount) + self.FutureFetchAmount = float(FutureFetchAmount) + self.FeePayFlag = self._to_bytes(FeePayFlag) + self.CustFee = float(CustFee) + self.BrokerFee = float(BrokerFee) + self.Message = self._to_bytes(Message) + self.Digest = self._to_bytes(Digest) + self.BankAccType = self._to_bytes(BankAccType) + self.DeviceID = self._to_bytes(DeviceID) + self.BankSecuAccType = self._to_bytes(BankSecuAccType) + self.BrokerIDByBank = self._to_bytes(BrokerIDByBank) + self.BankSecuAcc = self._to_bytes(BankSecuAcc) + self.BankPwdFlag = self._to_bytes(BankPwdFlag) + self.SecuPwdFlag = self._to_bytes(SecuPwdFlag) + self.OperNo = self._to_bytes(OperNo) + self.RequestID = int(RequestID) + self.TID = int(TID) + self.TransferStatus = self._to_bytes(TransferStatus) + self.ErrorID = int(ErrorID) + self.ErrorMsg = self._to_bytes(ErrorMsg) + self.LongCustomerName = self._to_bytes(LongCustomerName) + self.DRIdentityID = int(DRIdentityID) + self.SecFutureSerial = int(SecFutureSerial) + + +class NotifyQueryFutureAccountBySecField(Base): + """查询银行资金帐户信息通知 要发往次席""" + _fields_ = [ + ('TradeCode', ctypes.c_char * 7), # 业务功能码 + ('BankID', ctypes.c_char * 4), # 银行代码 + ('BankBranchID', ctypes.c_char * 5), # 银行分支机构代码 + ('BrokerID', ctypes.c_char * 11), # 期商代码 + ('BrokerBranchID', ctypes.c_char * 31), # 期商分支机构代码 + ('TradeDate', ctypes.c_char * 9), # 交易日期 + ('TradeTime', ctypes.c_char * 9), # 交易时间 + ('BankSerial', ctypes.c_char * 13), # 银行流水号 + ('TradingDay', ctypes.c_char * 9), # 交易系统日期 + ('PlateSerial', ctypes.c_int), # 银期平台消息流水号 + ('LastFragment', ctypes.c_char), # 最后分片标志 + ('SessionID', ctypes.c_int), # 会话号 + ('CustomerName', ctypes.c_char * 51), # 客户姓名 + ('IdCardType', ctypes.c_char), # 证件类型 + ('IdentifiedCardNo', ctypes.c_char * 51), # 证件号码 + ('CustType', ctypes.c_char), # 客户类型 + ('BankAccount', ctypes.c_char * 41), # 银行帐号 + ('BankPassWord', ctypes.c_char * 41), # 银行密码 + ('AccountID', ctypes.c_char * 13), # 投资者帐号 + ('Password', ctypes.c_char * 41), # 期货密码 + ('FutureSerial', ctypes.c_int), # 期货公司流水号 + ('InstallID', ctypes.c_int), # 安装编号 + ('UserID', ctypes.c_char * 16), # 用户标识 + ('VerifyCertNoFlag', ctypes.c_char), # 验证客户证件号码标志 + ('CurrencyID', ctypes.c_char * 4), # 币种代码 + ('Digest', ctypes.c_char * 36), # 摘要 + ('BankAccType', ctypes.c_char), # 银行帐号类型 + ('DeviceID', ctypes.c_char * 3), # 渠道标志 + ('BankSecuAccType', ctypes.c_char), # 期货单位帐号类型 + ('BrokerIDByBank', ctypes.c_char * 33), # 期货公司银行编码 + ('BankSecuAcc', ctypes.c_char * 41), # 期货单位帐号 + ('BankPwdFlag', ctypes.c_char), # 银行密码标志 + ('SecuPwdFlag', ctypes.c_char), # 期货资金密码核对标志 + ('OperNo', ctypes.c_char * 17), # 交易柜员 + ('RequestID', ctypes.c_int), # 请求编号 + ('TID', ctypes.c_int), # 交易ID + ('BankUseAmount', ctypes.c_double), # 银行可用金额 + ('BankFetchAmount', ctypes.c_double), # 银行可取金额 + ('ErrorID', ctypes.c_int), # 错误代码 + ('ErrorMsg', ctypes.c_char * 81), # 错误信息 + ('LongCustomerName', ctypes.c_char * 161), # 长客户姓名 + ('DRIdentityID', ctypes.c_int), # 交易中心代码 + ('SecFutureSerial', ctypes.c_int), # 次中心发起转账期货公司流水号 + ] + + def __init__(self, TradeCode: str = '', BankID: str = '', BankBranchID: str = '', BrokerID: str = '', + BrokerBranchID: str = '', TradeDate: str = '', TradeTime: str = '', BankSerial: str = '', + TradingDay: str = '', PlateSerial: int = 0, LastFragment: str = '', SessionID: int = 0, + CustomerName: str = '', IdCardType: str = '', IdentifiedCardNo: str = '', CustType: str = '', + BankAccount: str = '', BankPassWord: str = '', AccountID: str = '', Password: str = '', + FutureSerial: int = 0, InstallID: int = 0, UserID: str = '', VerifyCertNoFlag: str = '', + CurrencyID: str = '', Digest: str = '', BankAccType: str = '', DeviceID: str = '', + BankSecuAccType: str = '', BrokerIDByBank: str = '', BankSecuAcc: str = '', BankPwdFlag: str = '', + SecuPwdFlag: str = '', OperNo: str = '', RequestID: int = 0, TID: int = 0, BankUseAmount: float = 0.0, + BankFetchAmount: float = 0.0, ErrorID: int = 0, ErrorMsg: str = '', LongCustomerName: str = '', + DRIdentityID: int = 0, SecFutureSerial: int = 0): + super(NotifyQueryFutureAccountBySecField, self).__init__() + self.TradeCode = self._to_bytes(TradeCode) + self.BankID = self._to_bytes(BankID) + self.BankBranchID = self._to_bytes(BankBranchID) + self.BrokerID = self._to_bytes(BrokerID) + self.BrokerBranchID = self._to_bytes(BrokerBranchID) + self.TradeDate = self._to_bytes(TradeDate) + self.TradeTime = self._to_bytes(TradeTime) + self.BankSerial = self._to_bytes(BankSerial) + self.TradingDay = self._to_bytes(TradingDay) + self.PlateSerial = int(PlateSerial) + self.LastFragment = self._to_bytes(LastFragment) + self.SessionID = int(SessionID) + self.CustomerName = self._to_bytes(CustomerName) + self.IdCardType = self._to_bytes(IdCardType) + self.IdentifiedCardNo = self._to_bytes(IdentifiedCardNo) + self.CustType = self._to_bytes(CustType) + self.BankAccount = self._to_bytes(BankAccount) + self.BankPassWord = self._to_bytes(BankPassWord) + self.AccountID = self._to_bytes(AccountID) + self.Password = self._to_bytes(Password) + self.FutureSerial = int(FutureSerial) + self.InstallID = int(InstallID) + self.UserID = self._to_bytes(UserID) + self.VerifyCertNoFlag = self._to_bytes(VerifyCertNoFlag) + self.CurrencyID = self._to_bytes(CurrencyID) + self.Digest = self._to_bytes(Digest) + self.BankAccType = self._to_bytes(BankAccType) + self.DeviceID = self._to_bytes(DeviceID) + self.BankSecuAccType = self._to_bytes(BankSecuAccType) + self.BrokerIDByBank = self._to_bytes(BrokerIDByBank) + self.BankSecuAcc = self._to_bytes(BankSecuAcc) + self.BankPwdFlag = self._to_bytes(BankPwdFlag) + self.SecuPwdFlag = self._to_bytes(SecuPwdFlag) + self.OperNo = self._to_bytes(OperNo) + self.RequestID = int(RequestID) + self.TID = int(TID) + self.BankUseAmount = float(BankUseAmount) + self.BankFetchAmount = float(BankFetchAmount) + self.ErrorID = int(ErrorID) + self.ErrorMsg = self._to_bytes(ErrorMsg) + self.LongCustomerName = self._to_bytes(LongCustomerName) + self.DRIdentityID = int(DRIdentityID) + self.SecFutureSerial = int(SecFutureSerial) + + +class ExitEmergencyField(Base): + """退出紧急状态参数""" + _fields_ = [ + ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 + ] + + def __init__(self, BrokerID: str = ''): + super(ExitEmergencyField, self).__init__() + self.BrokerID = self._to_bytes(BrokerID) + + +class InvestorPortfMarginModelField(Base): + """新组保保证金系数投资者模板对应关系""" + _fields_ = [ + ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 + ('InvestorID', ctypes.c_char * 13), # 投资者代码 + ('MarginModelID', ctypes.c_char * 13), # 保证金系数模板 + ] + + def __init__(self, BrokerID: str = '', InvestorID: str = '', MarginModelID: str = ''): + super(InvestorPortfMarginModelField, self).__init__() + self.BrokerID = self._to_bytes(BrokerID) + self.InvestorID = self._to_bytes(InvestorID) + self.MarginModelID = self._to_bytes(MarginModelID) + + +class InvestorPortfSettingField(Base): + """投资者新组保设置""" + _fields_ = [ + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 + ('InvestorID', ctypes.c_char * 13), # 投资者编号 + ('HedgeFlag', ctypes.c_char), # 投机套保标志 + ('UsePortf', ctypes.c_int), # 是否开启新组保 + ] + + def __init__(self, ExchangeID: str = '', BrokerID: str = '', InvestorID: str = '', HedgeFlag: str = '', + UsePortf: int = 0): + super(InvestorPortfSettingField, self).__init__() + self.ExchangeID = self._to_bytes(ExchangeID) + self.BrokerID = self._to_bytes(BrokerID) + self.InvestorID = self._to_bytes(InvestorID) + self.HedgeFlag = self._to_bytes(HedgeFlag) + self.UsePortf = int(UsePortf) + + +class QryInvestorPortfSettingField(Base): + """投资者新组保设置查询""" + _fields_ = [ + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 + ('InvestorID', ctypes.c_char * 13), # 投资者编号 + ] + + def __init__(self, ExchangeID: str = '', BrokerID: str = '', InvestorID: str = ''): + super(QryInvestorPortfSettingField, self).__init__() + self.ExchangeID = self._to_bytes(ExchangeID) + self.BrokerID = self._to_bytes(BrokerID) + self.InvestorID = self._to_bytes(InvestorID) + + +class UserPasswordUpdateFromSecField(Base): + """来自次席的用户口令变更""" + _fields_ = [ + ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 + ('UserID', ctypes.c_char * 16), # 用户代码 + ('OldPassword', ctypes.c_char * 41), # 原来的口令 + ('NewPassword', ctypes.c_char * 41), # 新的口令 + ('FromSec', ctypes.c_int), # 次席的交易中心代码 + ] + + def __init__(self, BrokerID: str = '', UserID: str = '', OldPassword: str = '', NewPassword: str = '', + FromSec: int = 0): + super(UserPasswordUpdateFromSecField, self).__init__() + self.BrokerID = self._to_bytes(BrokerID) + self.UserID = self._to_bytes(UserID) + self.OldPassword = self._to_bytes(OldPassword) + self.NewPassword = self._to_bytes(NewPassword) + self.FromSec = int(FromSec) + + +class SettlementInfoConfirmFromSecField(Base): + """来自次席的结算结果确认""" + _fields_ = [ + ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 + ('InvestorID', ctypes.c_char * 13), # 投资者代码 + ('ConfirmDate', ctypes.c_char * 9), # 确认日期 + ('ConfirmTime', ctypes.c_char * 9), # 确认时间 + ('FromSec', ctypes.c_int), # 次席的交易中心代码 + ] + + def __init__(self, BrokerID: str = '', InvestorID: str = '', ConfirmDate: str = '', ConfirmTime: str = '', + FromSec: int = 0): + super(SettlementInfoConfirmFromSecField, self).__init__() + self.BrokerID = self._to_bytes(BrokerID) + self.InvestorID = self._to_bytes(InvestorID) + self.ConfirmDate = self._to_bytes(ConfirmDate) + self.ConfirmTime = self._to_bytes(ConfirmTime) + self.FromSec = int(FromSec) + + +class TradingAccountPasswordUpdateFromSecField(Base): + """来自次席的资金账户口令变更""" + _fields_ = [ + ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 + ('AccountID', ctypes.c_char * 13), # 投资者帐号 + ('OldPassword', ctypes.c_char * 41), # 原来的口令 + ('NewPassword', ctypes.c_char * 41), # 新的口令 + ('CurrencyID', ctypes.c_char * 4), # 币种代码 + ('FromSec', ctypes.c_int), # 次席的交易中心代码 + ] + + def __init__(self, BrokerID: str = '', AccountID: str = '', OldPassword: str = '', NewPassword: str = '', + CurrencyID: str = '', FromSec: int = 0): + super(TradingAccountPasswordUpdateFromSecField, self).__init__() + self.BrokerID = self._to_bytes(BrokerID) + self.AccountID = self._to_bytes(AccountID) + self.OldPassword = self._to_bytes(OldPassword) + self.NewPassword = self._to_bytes(NewPassword) + self.CurrencyID = self._to_bytes(CurrencyID) + self.FromSec = int(FromSec) + + +class RiskForbiddenRightField(Base): + """风控禁止的合约交易权限""" + _fields_ = [ + ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 + ('InvestorID', ctypes.c_char * 13), # 投资者编号 + ('InstrumentID', ctypes.c_char * 81), # 合约/产品代码 + ('UserID', ctypes.c_char * 16), # 用户代码 + ] + + def __init__(self, BrokerID: str = '', InvestorID: str = '', InstrumentID: str = '', UserID: str = ''): + super(RiskForbiddenRightField, self).__init__() + self.BrokerID = self._to_bytes(BrokerID) + self.InvestorID = self._to_bytes(InvestorID) + self.InstrumentID = self._to_bytes(InstrumentID) + self.UserID = self._to_bytes(UserID) + + +class InvestorInfoCommRecField(Base): + """投资者申报费阶梯收取记录""" + _fields_ = [ + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 + ('InvestorID', ctypes.c_char * 13), # 投资者代码 + ('InstrumentID', ctypes.c_char * 81), # 商品代码 + ('OrderCount', ctypes.c_int), # 报单总笔数 + ('OrderActionCount', ctypes.c_int), # 撤单总笔数 + ('ForQuoteCnt', ctypes.c_int), # 询价总次数 + ('InfoComm', ctypes.c_double), # 申报费 + ('IsOptSeries', ctypes.c_int), # 是否期权系列 + ('ProductID', ctypes.c_char * 41), # 品种代码 + ('InfoCnt', ctypes.c_int), # 信息量总量 + ] + + def __init__(self, ExchangeID: str = '', BrokerID: str = '', InvestorID: str = '', InstrumentID: str = '', + OrderCount: int = 0, OrderActionCount: int = 0, ForQuoteCnt: int = 0, InfoComm: float = 0.0, + IsOptSeries: int = 0, ProductID: str = '', InfoCnt: int = 0): + super(InvestorInfoCommRecField, self).__init__() + self.ExchangeID = self._to_bytes(ExchangeID) + self.BrokerID = self._to_bytes(BrokerID) + self.InvestorID = self._to_bytes(InvestorID) + self.InstrumentID = self._to_bytes(InstrumentID) + self.OrderCount = int(OrderCount) + self.OrderActionCount = int(OrderActionCount) + self.ForQuoteCnt = int(ForQuoteCnt) + self.InfoComm = float(InfoComm) + self.IsOptSeries = int(IsOptSeries) + self.ProductID = self._to_bytes(ProductID) + self.InfoCnt = int(InfoCnt) + + +class QryInvestorInfoCommRecField(Base): + """投资者申报费阶梯收取记录查询""" + _fields_ = [ + ('InvestorID', ctypes.c_char * 13), # 投资者代码 + ('InstrumentID', ctypes.c_char * 81), # 商品代码 + ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 + ] + + def __init__(self, InvestorID: str = '', InstrumentID: str = '', BrokerID: str = ''): + super(QryInvestorInfoCommRecField, self).__init__() + self.InvestorID = self._to_bytes(InvestorID) + self.InstrumentID = self._to_bytes(InstrumentID) + self.BrokerID = self._to_bytes(BrokerID) + + +class CombLegField(Base): + """组合腿信息""" + _fields_ = [ + ('CombInstrumentID', ctypes.c_char * 81), # 组合合约代码 + ('LegID', ctypes.c_int), # 单腿编号 + ('LegInstrumentID', ctypes.c_char * 81), # 单腿合约代码 + ('Direction', ctypes.c_char), # 买卖方向 + ('LegMultiple', ctypes.c_int), # 单腿乘数 + ('ImplyLevel', ctypes.c_int), # 派生层数 + ] + + def __init__(self, CombInstrumentID: str = '', LegID: int = 0, LegInstrumentID: str = '', Direction: str = '', + LegMultiple: int = 0, ImplyLevel: int = 0): + super(CombLegField, self).__init__() + self.CombInstrumentID = self._to_bytes(CombInstrumentID) + self.LegID = int(LegID) + self.LegInstrumentID = self._to_bytes(LegInstrumentID) + self.Direction = self._to_bytes(Direction) + self.LegMultiple = int(LegMultiple) + self.ImplyLevel = int(ImplyLevel) + + +class QryCombLegField(Base): + """组合腿信息查询""" + _fields_ = [ + ('LegInstrumentID', ctypes.c_char * 81), # 单腿合约代码 + ] + + def __init__(self, LegInstrumentID: str = ''): + super(QryCombLegField, self).__init__() + self.LegInstrumentID = self._to_bytes(LegInstrumentID) + + +class InputOffsetSettingField(Base): + """输入的对冲设置""" + _fields_ = [ + ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 + ('InvestorID', ctypes.c_char * 13), # 投资者代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('UnderlyingInstrID', ctypes.c_char * 81), # 标的期货合约代码 + ('ProductID', ctypes.c_char * 41), # 产品代码 + ('OffsetType', ctypes.c_char), # 对冲类型 + ('Volume', ctypes.c_int), # 申请对冲的合约数量 + ('IsOffset', ctypes.c_int), # 是否对冲 + ('RequestID', ctypes.c_int), # 请求编号 + ('UserID', ctypes.c_char * 16), # 用户代码 + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('IPAddress', ctypes.c_char * 33), # IP地址 + ('MacAddress', ctypes.c_char * 21), # Mac地址 + ] + + def __init__(self, BrokerID: str = '', InvestorID: str = '', InstrumentID: str = '', UnderlyingInstrID: str = '', + ProductID: str = '', OffsetType: str = '', Volume: int = 0, IsOffset: int = 0, RequestID: int = 0, + UserID: str = '', ExchangeID: str = '', IPAddress: str = '', MacAddress: str = ''): + super(InputOffsetSettingField, self).__init__() + self.BrokerID = self._to_bytes(BrokerID) + self.InvestorID = self._to_bytes(InvestorID) + self.InstrumentID = self._to_bytes(InstrumentID) + self.UnderlyingInstrID = self._to_bytes(UnderlyingInstrID) + self.ProductID = self._to_bytes(ProductID) + self.OffsetType = self._to_bytes(OffsetType) + self.Volume = int(Volume) + self.IsOffset = int(IsOffset) + self.RequestID = int(RequestID) + self.UserID = self._to_bytes(UserID) + self.ExchangeID = self._to_bytes(ExchangeID) + self.IPAddress = self._to_bytes(IPAddress) + self.MacAddress = self._to_bytes(MacAddress) + + +class OffsetSettingField(Base): + """对冲设置""" + _fields_ = [ + ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 + ('InvestorID', ctypes.c_char * 13), # 投资者代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('UnderlyingInstrID', ctypes.c_char * 81), # 标的期货合约代码 + ('ProductID', ctypes.c_char * 41), # 产品代码 + ('OffsetType', ctypes.c_char), # 对冲类型 + ('Volume', ctypes.c_int), # 申请对冲的合约数量 + ('IsOffset', ctypes.c_int), # 是否对冲 + ('RequestID', ctypes.c_int), # 请求编号 + ('UserID', ctypes.c_char * 16), # 用户代码 + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('IPAddress', ctypes.c_char * 33), # IP地址 + ('MacAddress', ctypes.c_char * 21), # Mac地址 + ('ExchangeInstID', ctypes.c_char * 81), # 交易所合约代码 + ('ExchangeSerialNo', ctypes.c_char * 81), # 交易所期权系列号 + ('ExchangeProductID', ctypes.c_char * 41), # 交易所产品代码 + ('ParticipantID', ctypes.c_char * 11), # 会员代码 + ('ClientID', ctypes.c_char * 11), # 客户代码 + ('TraderID', ctypes.c_char * 21), # 交易所交易员代码 + ('InstallID', ctypes.c_int), # 安装编号 + ('OrderSubmitStatus', ctypes.c_char), # 对冲提交状态 + ('TradingDay', ctypes.c_char * 9), # 交易日 + ('SettlementID', ctypes.c_int), # 结算编号 + ('InsertDate', ctypes.c_char * 9), # 报单日期 + ('InsertTime', ctypes.c_char * 9), # 插入时间 + ('CancelTime', ctypes.c_char * 9), # 撤销时间 + ('ExecResult', ctypes.c_char), # 对冲设置结果 + ('SequenceNo', ctypes.c_int), # 序号 + ('FrontID', ctypes.c_int), # 前置编号 + ('SessionID', ctypes.c_int), # 会话编号 + ('StatusMsg', ctypes.c_char * 81), # 状态信息 + ('ActiveUserID', ctypes.c_char * 16), # 操作用户代码 + ('BrokerOffsetSettingSeq', ctypes.c_int), # 经纪公司报单编号 + ] + + def __init__(self, BrokerID: str = '', InvestorID: str = '', InstrumentID: str = '', UnderlyingInstrID: str = '', + ProductID: str = '', OffsetType: str = '', Volume: int = 0, IsOffset: int = 0, RequestID: int = 0, + UserID: str = '', ExchangeID: str = '', IPAddress: str = '', MacAddress: str = '', + ExchangeInstID: str = '', ExchangeSerialNo: str = '', ExchangeProductID: str = '', + ParticipantID: str = '', ClientID: str = '', TraderID: str = '', InstallID: int = 0, + OrderSubmitStatus: str = '', TradingDay: str = '', SettlementID: int = 0, InsertDate: str = '', + InsertTime: str = '', CancelTime: str = '', ExecResult: str = '', SequenceNo: int = 0, + FrontID: int = 0, SessionID: int = 0, StatusMsg: str = '', ActiveUserID: str = '', + BrokerOffsetSettingSeq: int = 0): + super(OffsetSettingField, self).__init__() + self.BrokerID = self._to_bytes(BrokerID) + self.InvestorID = self._to_bytes(InvestorID) + self.InstrumentID = self._to_bytes(InstrumentID) + self.UnderlyingInstrID = self._to_bytes(UnderlyingInstrID) + self.ProductID = self._to_bytes(ProductID) + self.OffsetType = self._to_bytes(OffsetType) + self.Volume = int(Volume) + self.IsOffset = int(IsOffset) + self.RequestID = int(RequestID) + self.UserID = self._to_bytes(UserID) + self.ExchangeID = self._to_bytes(ExchangeID) + self.IPAddress = self._to_bytes(IPAddress) + self.MacAddress = self._to_bytes(MacAddress) + self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.ExchangeSerialNo = self._to_bytes(ExchangeSerialNo) + self.ExchangeProductID = self._to_bytes(ExchangeProductID) + self.ParticipantID = self._to_bytes(ParticipantID) + self.ClientID = self._to_bytes(ClientID) + self.TraderID = self._to_bytes(TraderID) + self.InstallID = int(InstallID) + self.OrderSubmitStatus = self._to_bytes(OrderSubmitStatus) + self.TradingDay = self._to_bytes(TradingDay) + self.SettlementID = int(SettlementID) + self.InsertDate = self._to_bytes(InsertDate) + self.InsertTime = self._to_bytes(InsertTime) + self.CancelTime = self._to_bytes(CancelTime) + self.ExecResult = self._to_bytes(ExecResult) + self.SequenceNo = int(SequenceNo) + self.FrontID = int(FrontID) + self.SessionID = int(SessionID) + self.StatusMsg = self._to_bytes(StatusMsg) + self.ActiveUserID = self._to_bytes(ActiveUserID) + self.BrokerOffsetSettingSeq = int(BrokerOffsetSettingSeq) + + +class CancelOffsetSettingField(Base): + """撤销对冲设置""" + _fields_ = [ + ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 + ('InvestorID', ctypes.c_char * 13), # 投资者代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('UnderlyingInstrID', ctypes.c_char * 81), # 标的期货合约代码 + ('ProductID', ctypes.c_char * 41), # 产品代码 + ('OffsetType', ctypes.c_char), # 对冲类型 + ('Volume', ctypes.c_int), # 申请对冲的合约数量 + ('IsOffset', ctypes.c_int), # 是否对冲 + ('RequestID', ctypes.c_int), # 请求编号 + ('UserID', ctypes.c_char * 16), # 用户代码 + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('IPAddress', ctypes.c_char * 33), # IP地址 + ('MacAddress', ctypes.c_char * 21), # Mac地址 + ('ExchangeInstID', ctypes.c_char * 81), # 交易所合约代码 + ('ExchangeSerialNo', ctypes.c_char * 81), # 交易所期权系列号 + ('ExchangeProductID', ctypes.c_char * 41), # 交易所产品代码 + ('TraderID', ctypes.c_char * 21), # 交易所交易员代码 + ('InstallID', ctypes.c_int), # 安装编号 + ('ParticipantID', ctypes.c_char * 11), # 会员代码 + ('ClientID', ctypes.c_char * 11), # 客户代码 + ('OrderActionStatus', ctypes.c_char), # 报单操作状态 + ('StatusMsg', ctypes.c_char * 81), # 状态信息 + ('ActionLocalID', ctypes.c_char * 13), # 操作本地编号 + ('ActionDate', ctypes.c_char * 9), # 操作日期 + ('ActionTime', ctypes.c_char * 9), # 操作时间 + ] + + def __init__(self, BrokerID: str = '', InvestorID: str = '', InstrumentID: str = '', UnderlyingInstrID: str = '', + ProductID: str = '', OffsetType: str = '', Volume: int = 0, IsOffset: int = 0, RequestID: int = 0, + UserID: str = '', ExchangeID: str = '', IPAddress: str = '', MacAddress: str = '', + ExchangeInstID: str = '', ExchangeSerialNo: str = '', ExchangeProductID: str = '', TraderID: str = '', + InstallID: int = 0, ParticipantID: str = '', ClientID: str = '', OrderActionStatus: str = '', + StatusMsg: str = '', ActionLocalID: str = '', ActionDate: str = '', ActionTime: str = ''): + super(CancelOffsetSettingField, self).__init__() + self.BrokerID = self._to_bytes(BrokerID) + self.InvestorID = self._to_bytes(InvestorID) + self.InstrumentID = self._to_bytes(InstrumentID) + self.UnderlyingInstrID = self._to_bytes(UnderlyingInstrID) + self.ProductID = self._to_bytes(ProductID) + self.OffsetType = self._to_bytes(OffsetType) + self.Volume = int(Volume) + self.IsOffset = int(IsOffset) + self.RequestID = int(RequestID) + self.UserID = self._to_bytes(UserID) + self.ExchangeID = self._to_bytes(ExchangeID) + self.IPAddress = self._to_bytes(IPAddress) + self.MacAddress = self._to_bytes(MacAddress) + self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.ExchangeSerialNo = self._to_bytes(ExchangeSerialNo) + self.ExchangeProductID = self._to_bytes(ExchangeProductID) + self.TraderID = self._to_bytes(TraderID) + self.InstallID = int(InstallID) + self.ParticipantID = self._to_bytes(ParticipantID) + self.ClientID = self._to_bytes(ClientID) + self.OrderActionStatus = self._to_bytes(OrderActionStatus) + self.StatusMsg = self._to_bytes(StatusMsg) + self.ActionLocalID = self._to_bytes(ActionLocalID) + self.ActionDate = self._to_bytes(ActionDate) + self.ActionTime = self._to_bytes(ActionTime) + + +class QryOffsetSettingField(Base): + """查询对冲设置""" + _fields_ = [ + ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 + ('InvestorID', ctypes.c_char * 13), # 投资者代码 + ('ProductID', ctypes.c_char * 41), # 产品代码 + ('OffsetType', ctypes.c_char), # 对冲类型 + ] + + def __init__(self, BrokerID: str = '', InvestorID: str = '', ProductID: str = '', OffsetType: str = ''): + super(QryOffsetSettingField, self).__init__() + self.BrokerID = self._to_bytes(BrokerID) + self.InvestorID = self._to_bytes(InvestorID) + self.ProductID = self._to_bytes(ProductID) + self.OffsetType = self._to_bytes(OffsetType) + + +class AddrAppIDRelationField(Base): + """服务地址和AppID的关系""" + _fields_ = [ + ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 + ('Address', ctypes.c_char * 129), # 服务地址 + ('DRIdentityID', ctypes.c_int), # 交易中心代码 + ('AppID', ctypes.c_char * 33), # App代码 + ] + + def __init__(self, BrokerID: str = '', Address: str = '', DRIdentityID: int = 0, AppID: str = ''): + super(AddrAppIDRelationField, self).__init__() + self.BrokerID = self._to_bytes(BrokerID) + self.Address = self._to_bytes(Address) + self.DRIdentityID = int(DRIdentityID) + self.AppID = self._to_bytes(AppID) + + +class QryAddrAppIDRelationField(Base): + """服务地址和AppID的关系查询""" + _fields_ = [ + ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 + ] + + def __init__(self, BrokerID: str = ''): + super(QryAddrAppIDRelationField, self).__init__() + self.BrokerID = self._to_bytes(BrokerID) + + +class FrontInfoField(Base): + """前置信息""" + _fields_ = [ + ('FrontAddr', ctypes.c_char * 101), # 前置地址 + ('QryFreq', ctypes.c_int), # 查询流控 + ('FTDPkgFreq', ctypes.c_int), # FTD流控 + ] + + def __init__(self, FrontAddr: str = '', QryFreq: int = 0, FTDPkgFreq: int = 0): + super(FrontInfoField, self).__init__() + self.FrontAddr = self._to_bytes(FrontAddr) + self.QryFreq = int(QryFreq) + self.FTDPkgFreq = int(FTDPkgFreq) diff --git a/ctpwrapper/Trader.py b/ctpwrapper/Trader.py index 4095b23..f22c2df 100644 --- a/ctpwrapper/Trader.py +++ b/ctpwrapper/Trader.py @@ -96,6 +96,15 @@ def GetTradingDay(self) -> str: day = super(TraderApiPy, self).GetTradingDay() return day.decode() + def GetFrontInfo(self, pFrontInfo): + """ + 获取已连接的前置的信息 + @param pFrontInfo:输入输出参数,用于存储获取到的前置信息,不能为空 + @remark 连接成功后,可获取正确的前置地址信息 + @remark 登录成功后,可获取正确的前置流控信息 + """ + super(TraderApiPy, self).GetFrontInfo(pFrontInfo) + def RegisterFront(self, pszFrontAddress: str) -> None: """ 注册前置机网络地址 @@ -714,6 +723,94 @@ def ReqQryInvestorPortfMarginRatio(self, pQryInvestorPortfMarginRatio: "QryInves def ReqQryInvestorProdSPBMDetail(self, pQryInvestorProdSPBMDetail: "QryInvestorProdSPBMDetailField", nRequestID: int) -> int: return super(TraderApiPy, self).ReqQryInvestorProdSPBMDetail(pQryInvestorProdSPBMDetail, nRequestID) + # 投资者商品组SPMM记录查询 + def ReqQryInvestorCommoditySPMMMargin(self, pQryInvestorCommoditySPMMMargin: "QryInvestorCommoditySPMMMarginField", nRequestID: int) -> int: + return super(TraderApiPy, self).ReqQryInvestorCommoditySPMMMargin(pQryInvestorCommoditySPMMMargin, nRequestID) + + # 投资者商品群SPMM记录查询 + def ReqQryInvestorCommodityGroupSPMMMargin(self, pQryInvestorCommodityGroupSPMMMargin: "QryInvestorCommodityGroupSPMMMarginField", nRequestID: int) -> int: + return super(TraderApiPy, self).ReqQryInvestorCommodityGroupSPMMMargin(pQryInvestorCommodityGroupSPMMMargin, nRequestID) + + # SPMM合约参数查询 + def ReqQrySPMMInstParam(self, pQrySPMMInstParam: "QrySPMMInstParamField", nRequestID: int) -> int: + return super(TraderApiPy, self).ReqQrySPMMInstParam(pQrySPMMInstParam, nRequestID) + + # SPMM产品参数查询 + def ReqQrySPMMProductParam(self, pQrySPMMProductParam: "QrySPMMProductParamField", nRequestID: int) -> int: + return super(TraderApiPy, self).ReqQrySPMMProductParam(pQrySPMMProductParam, nRequestID) + + # SPBM附加跨品种抵扣参数查询 + def ReqQrySPBMAddOnInterParameter(self, pQrySPBMAddOnInterParameter: "QrySPBMAddOnInterParameterField", nRequestID: int) -> int: + return super(TraderApiPy, self).ReqQrySPBMAddOnInterParameter(pQrySPBMAddOnInterParameter, nRequestID) + + # RCAMS产品组合信息查询 + def ReqQryRCAMSCombProductInfo(self, pQryRCAMSCombProductInfo: "QryRCAMSCombProductInfoField", nRequestID: int) -> int: + return super(TraderApiPy, self).ReqQryRCAMSCombProductInfo(pQryRCAMSCombProductInfo, nRequestID) + + # RCAMS同合约风险对冲参数查询 + def ReqQryRCAMSInstrParameter(self, pQryRCAMSInstrParameter: "QryRCAMSInstrParameterField", nRequestID: int) -> int: + return super(TraderApiPy, self).ReqQryRCAMSInstrParameter(pQryRCAMSInstrParameter, nRequestID) + + # RCAMS品种内风险对冲参数查询 + def ReqQryRCAMSIntraParameter(self, pQryRCAMSIntraParameter: "QryRCAMSIntraParameterField", nRequestID: int) -> int: + return super(TraderApiPy, self).ReqQryRCAMSIntraParameter(pQryRCAMSIntraParameter, nRequestID) + + # RCAMS跨品种风险折抵参数查询 + def ReqQryRCAMSInterParameter(self, pQryRCAMSInterParameter: "QryRCAMSInterParameterField", nRequestID: int) -> int: + return super(TraderApiPy, self).ReqQryRCAMSInterParameter(pQryRCAMSInterParameter, nRequestID) + + # RCAMS空头期权风险调整参数查询 + def ReqQryRCAMSShortOptAdjustParam(self, pQryRCAMSShortOptAdjustParam: "QryRCAMSShortOptAdjustParamField", nRequestID: int) -> int: + return super(TraderApiPy, self).ReqQryRCAMSShortOptAdjustParam(pQryRCAMSShortOptAdjustParam, nRequestID) + + # RCAMS策略组合持仓查询 + def ReqQryRCAMSInvestorCombPosition(self, pQryRCAMSInvestorCombPosition: "QryRCAMSInvestorCombPositionField", nRequestID: int) -> int: + return super(TraderApiPy, self).ReqQryRCAMSInvestorCombPosition(pQryRCAMSInvestorCombPosition, nRequestID) + + # 投资者品种RCAMS保证金查询 + def ReqQryInvestorProdRCAMSMargin(self, pQryInvestorProdRCAMSMargin: "QryInvestorProdRCAMSMarginField", nRequestID: int) -> int: + return super(TraderApiPy, self).ReqQryInvestorProdRCAMSMargin(pQryInvestorProdRCAMSMargin, nRequestID) + + # RULE合约保证金参数查询 + def ReqQryRULEInstrParameter(self, pQryRULEInstrParameter: "QryRULEInstrParameterField", nRequestID: int) -> int: + return super(TraderApiPy, self).ReqQryRULEInstrParameter(pQryRULEInstrParameter, nRequestID) + + # RULE品种内对锁仓折扣参数查询 + def ReqQryRULEIntraParameter(self, pQryRULEIntraParameter: "QryRULEIntraParameterField", nRequestID: int) -> int: + return super(TraderApiPy, self).ReqQryRULEIntraParameter(pQryRULEIntraParameter, nRequestID) + + # RULE跨品种抵扣参数查询 + def ReqQryRULEInterParameter(self, pQryRULEInterParameter: "QryRULEInterParameterField", nRequestID: int) -> int: + return super(TraderApiPy, self).ReqQryRULEInterParameter(pQryRULEInterParameter, nRequestID) + + # 投资者产品RULE保证金查询 + def ReqQryInvestorProdRULEMargin(self, pQryInvestorProdRULEMargin: "QryInvestorProdRULEMarginField", nRequestID: int) -> int: + return super(TraderApiPy, self).ReqQryInvestorProdRULEMargin(pQryInvestorProdRULEMargin, nRequestID) + + # 投资者新型组合保证金开关查询 + def ReqQryInvestorPortfSetting(self, pQryInvestorPortfSetting: "QryInvestorPortfSettingField", nRequestID: int) -> int: + return super(TraderApiPy, self).ReqQryInvestorPortfSetting(pQryInvestorPortfSetting, nRequestID) + + # 投资者申报费阶梯收取记录查询 + def ReqQryInvestorInfoCommRec(self, pQryInvestorInfoCommRec: "QryInvestorInfoCommRecField", nRequestID: int) -> int: + return super(TraderApiPy, self).ReqQryInvestorInfoCommRec(pQryInvestorInfoCommRec, nRequestID) + + # 组合腿信息查询 + def ReqQryCombLeg(self, pQryCombLeg: "QryCombLegField", nRequestID: int) -> int: + return super(TraderApiPy, self).ReqQryCombLeg(pQryCombLeg, nRequestID) + + # 对冲设置请求 + def ReqOffsetSetting(self, pInputOffsetSetting: "InputOffsetSettingField", nRequestID: int) -> int: + return super(TraderApiPy, self).ReqOffsetSetting(pInputOffsetSetting, nRequestID) + + # 对冲设置撤销请求 + def ReqCancelOffsetSetting(self, pInputOffsetSetting: "InputOffsetSettingField", nRequestID: int) -> int: + return super(TraderApiPy, self).ReqCancelOffsetSetting(pInputOffsetSetting, nRequestID) + + # 投资者对冲设置查询 + def ReqQryOffsetSetting(self, pQryOffsetSetting: "QryOffsetSettingField", nRequestID: int) -> int: + return super(TraderApiPy, self).ReqQryOffsetSetting(pQryOffsetSetting, nRequestID) + def OnFrontConnected(self) -> None: pass @@ -1267,3 +1364,103 @@ def OnRspQryInvestorPortfMarginRatio(self, pInvestorPortfMarginRatio, pRspInfo, # 投资者产品SPBM明细查询响应 def OnRspQryInvestorProdSPBMDetail(self, pInvestorProdSPBMDetail, pRspInfo, nRequestID, bIsLast) -> None: pass + + # 投资者商品组SPMM记录查询响应 + def OnRspQryInvestorCommoditySPMMMargin(self, pInvestorCommoditySPMMMargin, pRspInfo, nRequestID, bIsLast) -> None: + pass + + # 投资者商品群SPMM记录查询响应 + def OnRspQryInvestorCommodityGroupSPMMMargin(self, pInvestorCommodityGroupSPMMMargin, pRspInfo, nRequestID, bIsLast) -> None: + pass + + # SPMM合约参数查询响应 + def OnRspQrySPMMInstParam(self, pSPMMInstParam, pRspInfo, nRequestID, bIsLast) -> None: + pass + + # SPMM产品参数查询响应 + def OnRspQrySPMMProductParam(self, pSPMMProductParam, pRspInfo, nRequestID, bIsLast) -> None: + pass + + # SPBM附加跨品种抵扣参数查询响应 + def OnRspQrySPBMAddOnInterParameter(self, pSPBMAddOnInterParameter, pRspInfo, nRequestID, bIsLast) -> None: + pass + + # RCAMS产品组合信息查询响应 + def OnRspQryRCAMSCombProductInfo(self, pRCAMSCombProductInfo, pRspInfo, nRequestID, bIsLast) -> None: + pass + + # RCAMS同合约风险对冲参数查询响应 + def OnRspQryRCAMSInstrParameter(self, pRCAMSInstrParameter, pRspInfo, nRequestID, bIsLast) -> None: + pass + + # RCAMS品种内风险对冲参数查询响应 + def OnRspQryRCAMSIntraParameter(self, pRCAMSIntraParameter, pRspInfo, nRequestID, bIsLast) -> None: + pass + + # RCAMS跨品种风险折抵参数查询响应 + def OnRspQryRCAMSInterParameter(self, pRCAMSInterParameter, pRspInfo, nRequestID, bIsLast) -> None: + pass + + # RCAMS空头期权风险调整参数查询响应 + def OnRspQryRCAMSShortOptAdjustParam(self, pRCAMSShortOptAdjustParam, pRspInfo, nRequestID, bIsLast) -> None: + pass + + # RCAMS策略组合持仓查询响应 + def OnRspQryRCAMSInvestorCombPosition(self, pRCAMSInvestorCombPosition, pRspInfo, nRequestID, bIsLast) -> None: + pass + + # 投资者品种RCAMS保证金查询响应 + def OnRspQryInvestorProdRCAMSMargin(self, pInvestorProdRCAMSMargin, pRspInfo, nRequestID, bIsLast) -> None: + pass + + # RULE合约保证金参数查询响应 + def OnRspQryRULEInstrParameter(self, pRULEInstrParameter, pRspInfo, nRequestID, bIsLast) -> None: + pass + + # RULE品种内对锁仓折扣参数查询响应 + def OnRspQryRULEIntraParameter(self, pRULEIntraParameter, pRspInfo, nRequestID, bIsLast) -> None: + pass + + # RULE跨品种抵扣参数查询响应 + def OnRspQryRULEInterParameter(self, pRULEInterParameter, pRspInfo, nRequestID, bIsLast) -> None: + pass + + # 投资者产品RULE保证金查询响应 + def OnRspQryInvestorProdRULEMargin(self, pInvestorProdRULEMargin, pRspInfo, nRequestID, bIsLast) -> None: + pass + + # 投资者新型组合保证金开关查询响应 + def OnRspQryInvestorPortfSetting(self, pInvestorPortfSetting, pRspInfo, nRequestID, bIsLast) -> None: + pass + + # 投资者申报费阶梯收取记录查询响应 + def OnRspQryInvestorInfoCommRec(self, pInvestorInfoCommRec, pRspInfo, nRequestID, bIsLast) -> None: + pass + + # 组合腿信息查询响应 + def OnRspQryCombLeg(self, pCombLeg, pRspInfo, nRequestID, bIsLast) -> None: + pass + + # 对冲设置请求响应 + def OnRspOffsetSetting(self, pInputOffsetSetting, pRspInfo, nRequestID, bIsLast) -> None: + pass + + # 对冲设置撤销请求响应 + def OnRspCancelOffsetSetting(self, pInputOffsetSetting, pRspInfo, nRequestID, bIsLast) -> None: + pass + + # 对冲设置通知 + def OnRtnOffsetSetting(self, pOffsetSetting) -> None: + pass + + # 对冲设置错误回报 + def OnErrRtnOffsetSetting(self, pInputOffsetSetting, pRspInfo) -> None: + pass + + # 对冲设置撤销错误回报 + def OnErrRtnCancelOffsetSetting(self, pCancelOffsetSetting, pRspInfo) -> None: + pass + + # 投资者对冲设置查询响应 + def OnRspQryOffsetSetting(self, pOffsetSetting, pRspInfo, nRequestID, bIsLast) -> None: + pass diff --git a/ctpwrapper/TraderApi.pyx b/ctpwrapper/TraderApi.pyx index 77a6df7..9224ccd 100644 --- a/ctpwrapper/TraderApi.pyx +++ b/ctpwrapper/TraderApi.pyx @@ -17,18 +17,18 @@ You should have received a copy of the GNU General Public License along with ctpwrapper. If not, see . """ +# from libcpp.memory cimport shared_ptr,make_shared +import ctypes + from cpython cimport PyObject + from libc.string cimport const_char from libcpp cimport bool as cbool +from ctpwrapper import ApiStructure from ctpwrapper.headers.ThostFtdcUserApiStruct cimport * from ctpwrapper.headers.cTraderApi cimport CTraderSpi, CTraderApi, CreateFtdcTraderApi -# from libcpp.memory cimport shared_ptr,make_shared -import ctypes - -from ctpwrapper import ApiStructure - cdef class TraderApiWrapper: cdef CTraderApi *_api cdef CTraderSpi *_spi @@ -80,12 +80,19 @@ cdef class TraderApiWrapper: def GetTradingDay(self): cdef const_char *result - if self._spi is not NULL: with nogil: result = self._api.GetTradingDay() return result + # 获取前置机信息 + def GetFrontInfo(self, pFrontInfo): + cdef size_t address + if self._spi is not NULL: + address = ctypes.addressof(pFrontInfo) + with nogil: + self._api.GetFrontInfo( address) + def RegisterFront(self, char *pszFrontAddress): if self._api is not NULL: @@ -1059,6 +1066,187 @@ cdef class TraderApiWrapper: result = self._api.ReqQryInvestorProdSPBMDetail( address, nRequestID) return result + # 投资者商品组SPMM记录查询 + def ReqQryInvestorCommoditySPMMMargin(self, pQryInvestorCommoditySPMMMargin, int nRequestID): + cdef size_t address + if self._spi is not NULL: + address = ctypes.addressof(pQryInvestorCommoditySPMMMargin) + with nogil: + result = self._api.ReqQryInvestorCommoditySPMMMargin( address, nRequestID) + return result + + # 投资者商品群SPMM记录查询 + def ReqQryInvestorCommodityGroupSPMMMargin(self, pQryInvestorCommodityGroupSPMMMargin, int nRequestID): + cdef size_t address + if self._spi is not NULL: + address = ctypes.addressof(pQryInvestorCommodityGroupSPMMMargin) + with nogil: + result = self._api.ReqQryInvestorCommodityGroupSPMMMargin( address, nRequestID) + return result + + # SPMM合约参数查询 + def ReqQrySPMMInstParam(self, pQrySPMMInstParam, int nRequestID): + cdef size_t address + if self._spi is not NULL: + address = ctypes.addressof(pQrySPMMInstParam) + with nogil: + result = self._api.ReqQrySPMMInstParam( address, nRequestID) + return result + # SPMM产品参数查询 + def ReqQrySPMMProductParam(self, pQrySPMMProductParam, int nRequestID): + cdef size_t address + if self._spi is not NULL: + address = ctypes.addressof(pQrySPMMProductParam) + with nogil: + result = self._api.ReqQrySPMMProductParam( address, nRequestID) + return result + # SPBM附加跨品种抵扣参数查询 + def ReqQrySPBMAddOnInterParameter(self, pQrySPBMAddOnInterParameter, int nRequestID): + cdef size_t address + if self._spi is not NULL: + address = ctypes.addressof(pQrySPBMAddOnInterParameter) + with nogil: + result = self._api.ReqQrySPBMAddOnInterParameter( address, nRequestID) + return result + # RCAMS产品组合信息查询 + def ReqQryRCAMSCombProductInfo(self, pQryRCAMSCombProductInfo, int nRequestID): + cdef size_t address + if self._spi is not NULL: + address = ctypes.addressof(pQryRCAMSCombProductInfo) + with nogil: + result = self._api.ReqQryRCAMSCombProductInfo( address, nRequestID) + return result + # RCAMS同合约风险对冲参数查询 + def ReqQryRCAMSInstrParameter(self, pQryRCAMSInstrParameter, int nRequestID): + cdef size_t address + if self._spi is not NULL: + address = ctypes.addressof(pQryRCAMSInstrParameter) + with nogil: + result = self._api.ReqQryRCAMSInstrParameter( address, nRequestID) + return result + # RCAMS品种内风险对冲参数查询 + def ReqQryRCAMSIntraParameter(self, pQryRCAMSIntraParameter, int nRequestID): + cdef size_t address + if self._spi is not NULL: + address = ctypes.addressof(pQryRCAMSIntraParameter) + with nogil: + result = self._api.ReqQryRCAMSIntraParameter( address, nRequestID) + return result + # RCAMS跨品种风险折抵参数查询 + def ReqQryRCAMSInterParameter(self, pQryRCAMSInterParameter, int nRequestID): + cdef size_t address + if self._spi is not NULL: + address = ctypes.addressof(pQryRCAMSInterParameter) + with nogil: + result = self._api.ReqQryRCAMSInterParameter( address, nRequestID) + return result + # RCAMS空头期权风险调整参数查询 + def ReqQryRCAMSShortOptAdjustParam(self, pQryRCAMSShortOptAdjustParam, int nRequestID): + cdef size_t address + if self._spi is not NULL: + address = ctypes.addressof(pQryRCAMSShortOptAdjustParam) + with nogil: + result = self._api.ReqQryRCAMSShortOptAdjustParam( address, nRequestID) + return result + # RCAMS策略组合持仓查询 + def ReqQryRCAMSInvestorCombPosition(self, pQryRCAMSInvestorCombPosition, int nRequestID): + cdef size_t address + if self._spi is not NULL: + address = ctypes.addressof(pQryRCAMSInvestorCombPosition) + with nogil: + result = self._api.ReqQryRCAMSInvestorCombPosition( address, nRequestID) + return result + # 投资者品种RCAMS保证金查询 + def ReqQryInvestorProdRCAMSMargin(self, pQryInvestorProdRCAMSMargin, int nRequestID): + cdef size_t address + if self._spi is not NULL: + address = ctypes.addressof(pQryInvestorProdRCAMSMargin) + with nogil: + result = self._api.ReqQryInvestorProdRCAMSMargin( address, nRequestID) + return result + # RULE合约保证金参数查询 + def ReqQryRULEInstrParameter(self, pQryRULEInstrParameter, int nRequestID): + cdef size_t address + if self._spi is not NULL: + address = ctypes.addressof(pQryRULEInstrParameter) + with nogil: + result = self._api.ReqQryRULEInstrParameter( address, nRequestID) + return result + # RULE品种内对锁仓折扣参数查询 + def ReqQryRULEIntraParameter(self, pQryRULEIntraParameter, int nRequestID): + cdef size_t address + if self._spi is not NULL: + address = ctypes.addressof(pQryRULEIntraParameter) + with nogil: + result = self._api.ReqQryRULEIntraParameter( address, nRequestID) + return result + # RULE跨品种抵扣参数查询 + def ReqQryRULEInterParameter(self, pQryRULEInterParameter, int nRequestID): + cdef size_t address + if self._spi is not NULL: + address = ctypes.addressof(pQryRULEInterParameter) + with nogil: + result = self._api.ReqQryRULEInterParameter( address, nRequestID) + return result + # 投资者产品RULE保证金查询 + def ReqQryInvestorProdRULEMargin(self, pQryInvestorProdRULEMargin, int nRequestID): + cdef size_t address + if self._spi is not NULL: + address = ctypes.addressof(pQryInvestorProdRULEMargin) + with nogil: + result = self._api.ReqQryInvestorProdRULEMargin( address, nRequestID) + return result + # 投资者新型组合保证金开关查询 + def ReqQryInvestorPortfSetting(self, pQryInvestorPortfSetting, int nRequestID): + cdef size_t address + if self._spi is not NULL: + address = ctypes.addressof(pQryInvestorPortfSetting) + with nogil: + result = self._api.ReqQryInvestorPortfSetting( address, nRequestID) + return result + # 投资者申报费阶梯收取记录查询 + def ReqQryInvestorInfoCommRec(self, pQryInvestorInfoCommRec, int nRequestID): + cdef size_t address + if self._spi is not NULL: + address = ctypes.addressof(pQryInvestorInfoCommRec) + with nogil: + result = self._api.ReqQryInvestorInfoCommRec( address, nRequestID) + return result + # 组合腿信息查询 + def ReqQryCombLeg(self, pQryCombLeg, int nRequestID): + cdef size_t address + if self._spi is not NULL: + address = ctypes.addressof(pQryCombLeg) + with nogil: + result = self._api.ReqQryCombLeg( address, nRequestID) + return result + # 对冲设置请求 + def ReqOffsetSetting(self, pInputOffsetSetting, int nRequestID): + cdef size_t address + if self._spi is not NULL: + address = ctypes.addressof(pInputOffsetSetting) + with nogil: + result = self._api.ReqOffsetSetting( address, nRequestID) + return result + + # 对冲设置撤销请求 + def ReqCancelOffsetSetting(self, pInputOffsetSetting, int nRequestID): + cdef size_t address + if self._spi is not NULL: + address = ctypes.addressof(pInputOffsetSetting) + with nogil: + result = self._api.ReqCancelOffsetSetting( address, nRequestID) + return result + + # 投资者对冲设置查询 + def ReqQryOffsetSetting(self, pQryOffsetSetting, int nRequestID): + cdef size_t address + if self._spi is not NULL: + address = ctypes.addressof(pQryOffsetSetting) + with nogil: + result = self._api.ReqQryOffsetSetting( address, nRequestID) + return result + cdef extern int TraderSpi_OnFrontConnected(self) except -1: self.OnFrontConnected() return 0 @@ -2603,3 +2791,317 @@ cdef extern int TraderSpi_OnRspQryInvestorProdSPBMDetail(self, bIsLast ) return 0 + + +# 投资者商品组SPMM记录查询响应 +cdef extern int TraderSpi_OnRspQryInvestorCommoditySPMMMargin(self, + CThostFtdcInvestorCommoditySPMMMarginField *pInvestorCommoditySPMMMargin, + CThostFtdcRspInfoField *pRspInfo, + int nRequestID, + cbool bIsLast) except -1: + self.OnRspQryInvestorCommoditySPMMMargin( + None if pInvestorCommoditySPMMMargin is NULL else ApiStructure.InvestorCommoditySPMMMarginField.from_address( pInvestorCommoditySPMMMargin), + None if pRspInfo is NULL else ApiStructure.RspInfoField.from_address( pRspInfo), + nRequestID, + bIsLast + ) + return 0 + +# 投资者商品群SPMM记录查询响应 +cdef extern int TraderSpi_OnRspQryInvestorCommodityGroupSPMMMargin(self, + CThostFtdcInvestorCommodityGroupSPMMMarginField *pInvestorCommodityGroupSPMMMargin, + CThostFtdcRspInfoField *pRspInfo, + int nRequestID, + cbool bIsLast) except -1: + self.OnRspQryInvestorCommodityGroupSPMMMargin( + None if pInvestorCommodityGroupSPMMMargin is NULL else ApiStructure.InvestorCommodityGroupSPMMMarginField.from_address( pInvestorCommodityGroupSPMMMargin), + None if pRspInfo is NULL else ApiStructure.RspInfoField.from_address( pRspInfo), + nRequestID, + bIsLast + ) + return 0 +# SPMM合约参数查询响应 +cdef extern int TraderSpi_OnRspQrySPMMInstParam(self, + CThostFtdcSPMMInstParamField *pSPMMInstParam, + CThostFtdcRspInfoField *pRspInfo, + int nRequestID, + cbool bIsLast) except -1: + self.OnRspQrySPMMInstParam( + None if pSPMMInstParam is NULL else ApiStructure.SPMMInstParamField.from_address( pSPMMInstParam), + None if pRspInfo is NULL else ApiStructure.RspInfoField.from_address( pRspInfo), + nRequestID, + bIsLast + ) + return 0 +# SPMM产品参数查询响应 +cdef extern int TraderSpi_OnRspQrySPMMProductParam(self, + CThostFtdcSPMMProductParamField *pSPMMProductParam, + CThostFtdcRspInfoField *pRspInfo, + int nRequestID, + cbool bIsLast) except -1: + self.OnRspQrySPMMProductParam( + None if pSPMMProductParam is NULL else ApiStructure.SPMMProductParamField.from_address( pSPMMProductParam), + None if pRspInfo is NULL else ApiStructure.RspInfoField.from_address( pRspInfo), + nRequestID, + bIsLast + ) + return 0 +# SPBM附加跨品种抵扣参数查询响应 +cdef extern int TraderSpi_OnRspQrySPBMAddOnInterParameter(self, + CThostFtdcSPBMAddOnInterParameterField *pSPBMAddOnInterParameter, + CThostFtdcRspInfoField *pRspInfo, + int nRequestID, + cbool bIsLast) except -1: + self.OnRspQrySPBMAddOnInterParameter( + None if pSPBMAddOnInterParameter is NULL else ApiStructure.SPBMAddOnInterParameterField.from_address( pSPBMAddOnInterParameter), + None if pRspInfo is NULL else ApiStructure.RspInfoField.from_address( pRspInfo), + nRequestID, + bIsLast + ) + return 0 +# RCAMS产品组合信息查询响应 +cdef extern int TraderSpi_OnRspQryRCAMSCombProductInfo(self, + CThostFtdcRCAMSCombProductInfoField *pRCAMSCombProductInfo, + CThostFtdcRspInfoField *pRspInfo, + int nRequestID, + cbool bIsLast) except -1: + self.OnRspQryRCAMSCombProductInfo( + None if pRCAMSCombProductInfo is NULL else ApiStructure.RCAMSCombProductInfoField.from_address( pRCAMSCombProductInfo), + None if pRspInfo is NULL else ApiStructure.RspInfoField.from_address( pRspInfo), + nRequestID, + bIsLast + ) + return 0 +# RCAMS同合约风险对冲参数查询响应 +cdef extern int TraderSpi_OnRspQryRCAMSInstrParameter(self, + CThostFtdcRCAMSInstrParameterField *pRCAMSInstrParameter, + CThostFtdcRspInfoField *pRspInfo, + int nRequestID, + cbool bIsLast) except -1: + self.OnRspQryRCAMSInstrParameter( + None if pRCAMSInstrParameter is NULL else ApiStructure.RCAMSInstrParameterField.from_address( pRCAMSInstrParameter), + None if pRspInfo is NULL else ApiStructure.RspInfoField.from_address( pRspInfo), + nRequestID, + bIsLast + ) + return 0 +# RCAMS品种内风险对冲参数查询响应 +cdef extern int TraderSpi_OnRspQryRCAMSIntraParameter(self, + CThostFtdcRCAMSIntraParameterField *pRCAMSIntraParameter, + CThostFtdcRspInfoField *pRspInfo, + int nRequestID, + cbool bIsLast) except -1: + self.OnRspQryRCAMSIntraParameter( + None if pRCAMSIntraParameter is NULL else ApiStructure.RCAMSIntraParameterField.from_address( pRCAMSIntraParameter), + None if pRspInfo is NULL else ApiStructure.RspInfoField.from_address( pRspInfo), + nRequestID, + bIsLast + ) + return 0 +# RCAMS跨品种风险折抵参数查询响应 +cdef extern int TraderSpi_OnRspQryRCAMSInterParameter(self, + CThostFtdcRCAMSInterParameterField *pRCAMSInterParameter, + CThostFtdcRspInfoField *pRspInfo, + int nRequestID, + cbool bIsLast) except -1: + self.OnRspQryRCAMSInterParameter( + None if pRCAMSInterParameter is NULL else ApiStructure.RCAMSInterParameterField.from_address( pRCAMSInterParameter), + None if pRspInfo is NULL else ApiStructure.RspInfoField.from_address( pRspInfo), + nRequestID, + bIsLast + ) + return 0 +# RCAMS空头期权风险调整参数查询响应 +cdef extern int TraderSpi_OnRspQryRCAMSShortOptAdjustParam(self, + CThostFtdcRCAMSShortOptAdjustParamField *pRCAMSShortOptAdjustParam, + CThostFtdcRspInfoField *pRspInfo, + int nRequestID, + cbool bIsLast) except -1: + self.OnRspQryRCAMSShortOptAdjustParam( + None if pRCAMSShortOptAdjustParam is NULL else ApiStructure.RCAMSShortOptAdjustParamField.from_address( pRCAMSShortOptAdjustParam), + None if pRspInfo is NULL else ApiStructure.RspInfoField.from_address( pRspInfo), + nRequestID, + bIsLast + ) + return 0 +# RCAMS策略组合持仓查询响应 +cdef extern int TraderSpi_OnRspQryRCAMSInvestorCombPosition(self, + CThostFtdcRCAMSInvestorCombPositionField *pRCAMSInvestorCombPosition, + CThostFtdcRspInfoField *pRspInfo, + int nRequestID, + cbool bIsLast) except -1: + self.OnRspQryRCAMSInvestorCombPosition( + None if pRCAMSInvestorCombPosition is NULL else ApiStructure.RCAMSInvestorCombPositionField.from_address( pRCAMSInvestorCombPosition), + None if pRspInfo is NULL else ApiStructure.RspInfoField.from_address( pRspInfo), + nRequestID, + bIsLast + ) + return 0 +# 投资者品种RCAMS保证金查询响应 +cdef extern int TraderSpi_OnRspQryInvestorProdRCAMSMargin(self, + CThostFtdcInvestorProdRCAMSMarginField *pInvestorProdRCAMSMargin, + CThostFtdcRspInfoField *pRspInfo, + int nRequestID, + cbool bIsLast) except -1: + self.OnRspQryInvestorProdRCAMSMargin( + None if pInvestorProdRCAMSMargin is NULL else ApiStructure.InvestorProdRCAMSMarginField.from_address( pInvestorProdRCAMSMargin), + None if pRspInfo is NULL else ApiStructure.RspInfoField.from_address( pRspInfo), + nRequestID, + bIsLast + ) + return 0 +# RULE合约保证金参数查询响应 +cdef extern int TraderSpi_OnRspQryRULEInstrParameter(self, + CThostFtdcRULEInstrParameterField *pRULEInstrParameter, + CThostFtdcRspInfoField *pRspInfo, + int nRequestID, + cbool bIsLast) except -1: + self.OnRspQryRULEInstrParameter( + None if pRULEInstrParameter is NULL else ApiStructure.RULEInstrParameterField.from_address( pRULEInstrParameter), + None if pRspInfo is NULL else ApiStructure.RspInfoField.from_address( pRspInfo), + nRequestID, + bIsLast + ) + return 0 +# RULE品种内对锁仓折扣参数查询响应 +cdef extern int TraderSpi_OnRspQryRULEIntraParameter(self, + CThostFtdcRULEIntraParameterField *pRULEInstrParameter, + CThostFtdcRspInfoField *pRspInfo, + int nRequestID, + cbool bIsLast) except -1: + self.OnRspQryRULEIntraParameter( + None if pRULEInstrParameter is NULL else ApiStructure.RULEIntraParameterField.from_address( pRULEInstrParameter), + None if pRspInfo is NULL else ApiStructure.RspInfoField.from_address( pRspInfo), + nRequestID, + bIsLast + ) + return 0 +# RULE跨品种抵扣参数查询响应 +cdef extern int TraderSpi_OnRspQryRULEInterParameter(self, + CThostFtdcRULEInterParameterField *pRULEInterParameter, + CThostFtdcRspInfoField *pRspInfo, + int nRequestID, + cbool bIsLast) except -1: + self.OnRspQryRULEInterParameter( + None if pRULEInterParameter is NULL else ApiStructure.RULEInterParameterField.from_address( pRULEInterParameter), + None if pRspInfo is NULL else ApiStructure.RspInfoField.from_address( pRspInfo), + nRequestID, + bIsLast + ) + return 0 +# 投资者产品RULE保证金查询响应 +cdef extern int TraderSpi_OnRspQryInvestorProdRULEMargin(self, + CThostFtdcInvestorProdRULEMarginField *pInvestorProdRULEMargin, + CThostFtdcRspInfoField *pRspInfo, + int nRequestID, + cbool bIsLast) except -1: + self.OnRspQryInvestorProdRULEMargin( + None if pInvestorProdRULEMargin is NULL else ApiStructure.InvestorProdRULEMarginField.from_address( pInvestorProdRULEMargin), + None if pRspInfo is NULL else ApiStructure.RspInfoField.from_address( pRspInfo), + nRequestID, + bIsLast + ) + return 0 +# 投资者新型组合保证金开关查询响应 +cdef extern int TraderSpi_OnRspQryInvestorPortfSetting(self, + CThostFtdcInvestorPortfSettingField *pInvestorPortfSetting, + CThostFtdcRspInfoField *pRspInfo, + int nRequestID, + cbool bIsLast) except -1: + self.OnRspQryInvestorPortfSetting( + None if pInvestorPortfSetting is NULL else ApiStructure.InvestorPortfSettingField.from_address( pInvestorPortfSetting), + None if pRspInfo is NULL else ApiStructure.RspInfoField.from_address( pRspInfo), + nRequestID, + bIsLast + ) + return 0 +# 投资者申报费阶梯收取记录查询响应 +cdef extern int TraderSpi_OnRspQryInvestorInfoCommRec(self, + CThostFtdcInvestorInfoCommRecField *pInvestorInfoCommRec, + CThostFtdcRspInfoField *pRspInfo, + int nRequestID, + cbool bIsLast) except -1: + self.OnRspQryInvestorInfoCommRec( + None if pInvestorInfoCommRec is NULL else ApiStructure.InvestorInfoCommRecField.from_address( pInvestorInfoCommRec), + None if pRspInfo is NULL else ApiStructure.RspInfoField.from_address( pRspInfo), + nRequestID, + bIsLast + ) + return 0 +# 组合腿信息查询响应 +cdef extern int TraderSpi_OnRspQryCombLeg(self, + CThostFtdcCombLegField *pCombLeg, + CThostFtdcRspInfoField *pRspInfo, + int nRequestID, + cbool bIsLast) except -1: + self.OnRspQryCombLeg( + None if pCombLeg is NULL else ApiStructure.CombLegField.from_address( pCombLeg), + None if pRspInfo is NULL else ApiStructure.RspInfoField.from_address( pRspInfo), + nRequestID, + bIsLast + ) + return 0 +# 对冲设置请求响应 +cdef extern int TraderSpi_OnRspOffsetSetting(self, + CThostFtdcInputOffsetSettingField *pInputOffsetSetting, + CThostFtdcRspInfoField *pRspInfo, + int nRequestID, + cbool bIsLast) except -1: + self.OnRspOffsetSetting( + None if pInputOffsetSetting is NULL else ApiStructure.InputOffsetSettingField.from_address( pInputOffsetSetting), + None if pRspInfo is NULL else ApiStructure.RspInfoField.from_address( pRspInfo), + nRequestID, + bIsLast + ) + return 0 +# 对冲设置撤销请求响应 +cdef extern int TraderSpi_OnRspCancelOffsetSetting(self, + CThostFtdcInputOffsetSettingField *pInputOffsetSetting, + CThostFtdcRspInfoField *pRspInfo, + int nRequestID, + cbool bIsLast) except -1: + self.OnRspCancelOffsetSetting( + None if pInputOffsetSetting is NULL else ApiStructure.InputOffsetSettingField.from_address( pInputOffsetSetting), + None if pRspInfo is NULL else ApiStructure.RspInfoField.from_address( pRspInfo), + nRequestID, + bIsLast + ) + return 0 +# 对冲设置通知 +cdef extern int TraderSpi_OnRtnOffsetSetting(self, + CThostFtdcOffsetSettingField *pOffsetSetting) except -1: + self.OnRtnOffsetSetting( + None if pOffsetSetting is NULL else ApiStructure.OffsetSettingField.from_address( pOffsetSetting) + ) + return 0 +# 对冲设置错误回报 +cdef extern int TraderSpi_OnErrRtnOffsetSetting(self, + CThostFtdcInputOffsetSettingField *pInputOffsetSetting, + CThostFtdcRspInfoField *pRspInfo) except -1: + self.OnErrRtnOffsetSetting( + None if pInputOffsetSetting is NULL else ApiStructure.InputOffsetSettingField.from_address( pInputOffsetSetting), + None if pRspInfo is NULL else ApiStructure.RspInfoField.from_address( pRspInfo), + ) + return 0 +# 对冲设置撤销错误回报 +cdef extern int TraderSpi_OnErrRtnCancelOffsetSetting(self, + CThostFtdcCancelOffsetSettingField *pCancelOffsetSetting, + CThostFtdcRspInfoField *pRspInfo) except -1: + self.OnErrRtnCancelOffsetSetting( + None if pCancelOffsetSetting is NULL else ApiStructure.CancelOffsetSettingField.from_address( pCancelOffsetSetting), + None if pRspInfo is NULL else ApiStructure.RspInfoField.from_address( pRspInfo), + ) + return 0 +# 投资者对冲设置查询响应 +cdef extern int TraderSpi_OnRspQryOffsetSetting(self, + CThostFtdcOffsetSettingField *pOffsetSetting, + CThostFtdcRspInfoField *pRspInfo, + int nRequestID, + cbool bIsLast) except -1: + self.OnRspQryOffsetSetting( + None if pOffsetSetting is NULL else ApiStructure.OffsetSettingField.from_address( pOffsetSetting), + None if pRspInfo is NULL else ApiStructure.RspInfoField.from_address( pRspInfo), + nRequestID, + bIsLast + ) + return 0 \ No newline at end of file diff --git a/ctpwrapper/__init__.py b/ctpwrapper/__init__.py index 9b8f997..d7ca207 100644 --- a/ctpwrapper/__init__.py +++ b/ctpwrapper/__init__.py @@ -16,7 +16,7 @@ along with ctpwrapper. If not, see . """ -__version__ = "6.7.0" +__version__ = "6.7.9" from ctpwrapper.Md import MdApiPy from ctpwrapper.Trader import TraderApiPy diff --git a/ctpwrapper/cppheader/CTraderAPI.h b/ctpwrapper/cppheader/CTraderAPI.h index fc9b199..8545d75 100644 --- a/ctpwrapper/cppheader/CTraderAPI.h +++ b/ctpwrapper/cppheader/CTraderAPI.h @@ -312,6 +312,80 @@ static inline int TraderSpi_OnRspQryInvestorPortfMarginRatio(PyObject *, CThostF ///投资者产品SPBM明细查询响应 static inline int TraderSpi_OnRspQryInvestorProdSPBMDetail(PyObject *, CThostFtdcInvestorProdSPBMDetailField *, CThostFtdcRspInfoField *, int, bool); +///投资者商品组SPMM记录查询响应 +static inline int TraderSpi_OnRspQryInvestorCommoditySPMMMargin(PyObject *, CThostFtdcInvestorCommoditySPMMMarginField *, CThostFtdcRspInfoField *, int, bool); + +///投资者商品群SPMM记录查询响应 +static inline int TraderSpi_OnRspQryInvestorCommodityGroupSPMMMargin(PyObject *, CThostFtdcInvestorCommodityGroupSPMMMarginField *, CThostFtdcRspInfoField *, int, bool); + +///SPMM合约参数查询响应 +static inline int TraderSpi_OnRspQrySPMMInstParam(PyObject *, CThostFtdcSPMMInstParamField *, CThostFtdcRspInfoField *, int, bool); + +///SPMM产品参数查询响应 +static inline int TraderSpi_OnRspQrySPMMProductParam(PyObject *, CThostFtdcSPMMProductParamField *, CThostFtdcRspInfoField *, int, bool); + +///SPBM附加跨品种抵扣参数查询响应 +static inline int TraderSpi_OnRspQrySPBMAddOnInterParameter(PyObject *, CThostFtdcSPBMAddOnInterParameterField *, CThostFtdcRspInfoField *, int, bool); + +///RCAMS产品组合信息查询响应 +static inline int TraderSpi_OnRspQryRCAMSCombProductInfo(PyObject *, CThostFtdcRCAMSCombProductInfoField *, CThostFtdcRspInfoField *, int, bool); + +///RCAMS同合约风险对冲参数查询响应 +static inline int TraderSpi_OnRspQryRCAMSInstrParameter(PyObject *, CThostFtdcRCAMSInstrParameterField *, CThostFtdcRspInfoField *, int, bool); + +///RCAMS品种内风险对冲参数查询响应 +static inline int TraderSpi_OnRspQryRCAMSIntraParameter(PyObject *, CThostFtdcRCAMSIntraParameterField *, CThostFtdcRspInfoField *, int, bool); + +///RCAMS跨品种风险折抵参数查询响应 +static inline int TraderSpi_OnRspQryRCAMSInterParameter(PyObject *, CThostFtdcRCAMSInterParameterField *, CThostFtdcRspInfoField *, int, bool); + +///RCAMS空头期权风险调整参数查询响应 +static inline int TraderSpi_OnRspQryRCAMSShortOptAdjustParam(PyObject *, CThostFtdcRCAMSShortOptAdjustParamField *, CThostFtdcRspInfoField *, int, bool); + +///RCAMS策略组合持仓查询响应 +static inline int TraderSpi_OnRspQryRCAMSInvestorCombPosition(PyObject *, CThostFtdcRCAMSInvestorCombPositionField *, CThostFtdcRspInfoField *, int, bool); + +///投资者品种RCAMS保证金查询响应 +static inline int TraderSpi_OnRspQryInvestorProdRCAMSMargin(PyObject *, CThostFtdcInvestorProdRCAMSMarginField *, CThostFtdcRspInfoField *, int , bool); + +///RULE合约保证金参数查询响应 +static inline int TraderSpi_OnRspQryRULEInstrParameter(PyObject *, CThostFtdcRULEInstrParameterField *, CThostFtdcRspInfoField *, int , bool); + +///RULE品种内对锁仓折扣参数查询响应 +static inline int TraderSpi_OnRspQryRULEIntraParameter(PyObject *, CThostFtdcRULEIntraParameterField *, CThostFtdcRspInfoField *, int , bool); + +///RULE跨品种抵扣参数查询响应 +static inline int TraderSpi_OnRspQryRULEInterParameter(PyObject *, CThostFtdcRULEInterParameterField *, CThostFtdcRspInfoField *, int , bool); + +///投资者产品RULE保证金查询响应 +static inline int TraderSpi_OnRspQryInvestorProdRULEMargin(PyObject *, CThostFtdcInvestorProdRULEMarginField *, CThostFtdcRspInfoField *, int, bool); + +///投资者新型组合保证金开关查询响应 +static inline int TraderSpi_OnRspQryInvestorPortfSetting(PyObject *, CThostFtdcInvestorPortfSettingField *, CThostFtdcRspInfoField *, int, bool); + +///投资者申报费阶梯收取记录查询响应 +static inline int TraderSpi_OnRspQryInvestorInfoCommRec(PyObject *, CThostFtdcInvestorInfoCommRecField *, CThostFtdcRspInfoField *, int, bool); + +///组合腿信息查询响应 +static inline int TraderSpi_OnRspQryCombLeg(PyObject *, CThostFtdcCombLegField *, CThostFtdcRspInfoField *, int, bool); + +///对冲设置请求响应 +static inline int TraderSpi_OnRspOffsetSetting(PyObject *, CThostFtdcInputOffsetSettingField *, CThostFtdcRspInfoField *, int, bool); + +///对冲设置撤销请求响应 +static inline int TraderSpi_OnRspCancelOffsetSetting(PyObject *, CThostFtdcInputOffsetSettingField *, CThostFtdcRspInfoField *, int, bool); + +///对冲设置通知 +static inline int TraderSpi_OnRtnOffsetSetting(PyObject *, CThostFtdcOffsetSettingField *); + +///对冲设置错误回报 +static inline int TraderSpi_OnErrRtnOffsetSetting(PyObject *, CThostFtdcInputOffsetSettingField *, CThostFtdcRspInfoField *); + +///对冲设置撤销错误回报 +static inline int TraderSpi_OnErrRtnCancelOffsetSetting(PyObject *, CThostFtdcCancelOffsetSettingField *, CThostFtdcRspInfoField *); + +///投资者对冲设置查询响应 +static inline int TraderSpi_OnRspQryOffsetSetting(PyObject *, CThostFtdcOffsetSettingField *, CThostFtdcRspInfoField *, int, bool); #define Python_GIL(func) \ do { \ @@ -1042,6 +1116,132 @@ class CTraderSpi : public CThostFtdcTraderSpi { }; + ///投资者商品组SPMM记录查询响应 + virtual void OnRspQryInvestorCommoditySPMMMargin(CThostFtdcInvestorCommoditySPMMMarginField *pInvestorCommoditySPMMMargin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { + Python_GIL(TraderSpi_OnRspQryInvestorCommoditySPMMMargin(self, pInvestorCommoditySPMMMargin, pRspInfo, nRequestID, bIsLast)); + }; + + ///投资者商品群SPMM记录查询响应 + virtual void OnRspQryInvestorCommodityGroupSPMMMargin(CThostFtdcInvestorCommodityGroupSPMMMarginField *pInvestorCommodityGroupSPMMMargin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { + Python_GIL(TraderSpi_OnRspQryInvestorCommodityGroupSPMMMargin(self, pInvestorCommodityGroupSPMMMargin, pRspInfo, nRequestID, bIsLast)); + }; + + ///SPMM合约参数查询响应 + virtual void OnRspQrySPMMInstParam(CThostFtdcSPMMInstParamField *pSPMMInstParam, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { + Python_GIL(TraderSpi_OnRspQrySPMMInstParam(self, pSPMMInstParam, pRspInfo, nRequestID, bIsLast)); + }; + + ///SPMM产品参数查询响应 + virtual void OnRspQrySPMMProductParam(CThostFtdcSPMMProductParamField *pSPMMProductParam, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { + Python_GIL(TraderSpi_OnRspQrySPMMProductParam(self, pSPMMProductParam, pRspInfo, nRequestID, bIsLast)); + }; + + ///SPBM附加跨品种抵扣参数查询响应 + virtual void OnRspQrySPBMAddOnInterParameter(CThostFtdcSPBMAddOnInterParameterField *pSPBMAddOnInterParameter, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { + Python_GIL(TraderSpi_OnRspQrySPBMAddOnInterParameter(self, pSPBMAddOnInterParameter, pRspInfo, nRequestID, bIsLast)); + }; + + ///RCAMS产品组合信息查询响应 + virtual void OnRspQryRCAMSCombProductInfo(CThostFtdcRCAMSCombProductInfoField *pRCAMSCombProductInfo, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { + Python_GIL(TraderSpi_OnRspQryRCAMSCombProductInfo(self, pRCAMSCombProductInfo, pRspInfo, nRequestID, bIsLast)); + }; + + ///RCAMS同合约风险对冲参数查询响应 + virtual void OnRspQryRCAMSInstrParameter(CThostFtdcRCAMSInstrParameterField *pRCAMSInstrParameter, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { + Python_GIL(TraderSpi_OnRspQryRCAMSInstrParameter(self, pRCAMSInstrParameter, pRspInfo, nRequestID, bIsLast)); + }; + + ///RCAMS品种内风险对冲参数查询响应 + virtual void OnRspQryRCAMSIntraParameter(CThostFtdcRCAMSIntraParameterField *pRCAMSIntraParameter, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { + Python_GIL(TraderSpi_OnRspQryRCAMSIntraParameter(self, pRCAMSIntraParameter, pRspInfo, nRequestID, bIsLast)); + }; + + ///RCAMS跨品种风险折抵参数查询响应 + virtual void OnRspQryRCAMSInterParameter(CThostFtdcRCAMSInterParameterField *pRCAMSInterParameter, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { + Python_GIL(TraderSpi_OnRspQryRCAMSInterParameter(self, pRCAMSInterParameter, pRspInfo, nRequestID, bIsLast)); + }; + + ///RCAMS空头期权风险调整参数查询响应 + virtual void OnRspQryRCAMSShortOptAdjustParam(CThostFtdcRCAMSShortOptAdjustParamField *pRCAMSShortOptAdjustParam, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { + Python_GIL(TraderSpi_OnRspQryRCAMSShortOptAdjustParam(self, pRCAMSShortOptAdjustParam, pRspInfo, nRequestID, bIsLast)); + }; + + ///RCAMS策略组合持仓查询响应 + virtual void OnRspQryRCAMSInvestorCombPosition(CThostFtdcRCAMSInvestorCombPositionField *pRCAMSInvestorCombPosition, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { + Python_GIL(TraderSpi_OnRspQryRCAMSInvestorCombPosition(self, pRCAMSInvestorCombPosition, pRspInfo, nRequestID, bIsLast)); + }; + + ///投资者品种RCAMS保证金查询响应 + virtual void OnRspQryInvestorProdRCAMSMargin(CThostFtdcInvestorProdRCAMSMarginField *pInvestorProdRCAMSMargin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { + Python_GIL(TraderSpi_OnRspQryInvestorProdRCAMSMargin(self, pInvestorProdRCAMSMargin, pRspInfo, nRequestID, bIsLast)); + }; + + ///RULE合约保证金参数查询响应 + virtual void OnRspQryRULEInstrParameter(CThostFtdcRULEInstrParameterField *pRULEInstrParameter, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { + Python_GIL(TraderSpi_OnRspQryRULEInstrParameter(self, pRULEInstrParameter, pRspInfo, nRequestID, bIsLast)); + }; + + ///RULE品种内对锁仓折扣参数查询响应 + virtual void OnRspQryRULEIntraParameter(CThostFtdcRULEIntraParameterField *pRULEIntraParameter, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { + Python_GIL(TraderSpi_OnRspQryRULEIntraParameter(self, pRULEIntraParameter, pRspInfo, nRequestID, bIsLast)); + }; + + ///RULE跨品种抵扣参数查询响应 + virtual void OnRspQryRULEInterParameter(CThostFtdcRULEInterParameterField *pRULEInterParameter, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { + Python_GIL(TraderSpi_OnRspQryRULEInterParameter(self, pRULEInterParameter, pRspInfo, nRequestID, bIsLast)); + }; + + ///投资者产品RULE保证金查询响应 + virtual void OnRspQryInvestorProdRULEMargin(CThostFtdcInvestorProdRULEMarginField *pInvestorProdRULEMargin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { + Python_GIL(TraderSpi_OnRspQryInvestorProdRULEMargin(self, pInvestorProdRULEMargin, pRspInfo, nRequestID, bIsLast)); + }; + + ///投资者新型组合保证金开关查询响应 + virtual void OnRspQryInvestorPortfSetting(CThostFtdcInvestorPortfSettingField *pInvestorPortfSetting, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { + Python_GIL(TraderSpi_OnRspQryInvestorPortfSetting(self, pInvestorPortfSetting, pRspInfo, nRequestID, bIsLast)); + }; + + ///投资者申报费阶梯收取记录查询响应 + virtual void OnRspQryInvestorInfoCommRec(CThostFtdcInvestorInfoCommRecField *pInvestorInfoCommRec, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { + Python_GIL(TraderSpi_OnRspQryInvestorInfoCommRec(self, pInvestorInfoCommRec, pRspInfo, nRequestID, bIsLast)); + }; + + ///组合腿信息查询响应 + virtual void OnRspQryCombLeg(CThostFtdcCombLegField *pCombLeg, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { + Python_GIL(TraderSpi_OnRspQryCombLeg(self, pCombLeg, pRspInfo, nRequestID, bIsLast)); + }; + + ///对冲设置请求响应 + virtual void OnRspOffsetSetting(CThostFtdcInputOffsetSettingField *pInputOffsetSetting, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { + Python_GIL(TraderSpi_OnRspOffsetSetting(self, pInputOffsetSetting, pRspInfo, nRequestID, bIsLast)); + }; + + ///对冲设置撤销请求响应 + virtual void OnRspCancelOffsetSetting(CThostFtdcInputOffsetSettingField *pInputOffsetSetting, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { + Python_GIL(TraderSpi_OnRspCancelOffsetSetting(self, pInputOffsetSetting, pRspInfo, nRequestID, bIsLast)); + }; + + ///对冲设置通知 + virtual void OnRtnOffsetSetting(CThostFtdcOffsetSettingField *pOffsetSetting) { + Python_GIL(TraderSpi_OnRtnOffsetSetting(self, pOffsetSetting)); + }; + + ///对冲设置错误回报 + virtual void OnErrRtnOffsetSetting(CThostFtdcInputOffsetSettingField *pInputOffsetSetting, CThostFtdcRspInfoField *pRspInfo) { + Python_GIL(TraderSpi_OnErrRtnOffsetSetting(self, pInputOffsetSetting, pRspInfo)); + }; + + ///对冲设置撤销错误回报 + virtual void OnErrRtnCancelOffsetSetting(CThostFtdcCancelOffsetSettingField *pCancelOffsetSetting, CThostFtdcRspInfoField *pRspInfo) { + Python_GIL(TraderSpi_OnErrRtnCancelOffsetSetting(self, pCancelOffsetSetting, pRspInfo)); + }; + + ///投资者对冲设置查询响应 + virtual void OnRspQryOffsetSetting(CThostFtdcOffsetSettingField *pOffsetSetting, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { + Python_GIL(TraderSpi_OnRspQryOffsetSetting(self, pOffsetSetting, pRspInfo, nRequestID, bIsLast)); + }; + + private: PyObject *self; }; diff --git a/ctpwrapper/headers/DataCollect.pxd b/ctpwrapper/headers/DataCollect.pxd index 262b145..99511eb 100644 --- a/ctpwrapper/headers/DataCollect.pxd +++ b/ctpwrapper/headers/DataCollect.pxd @@ -4,5 +4,5 @@ from libc.string cimport const_char cdef extern from "DataCollect.h": - int CTP_GetSystemInfo(char *pSystemInfo, int &nLen) nogil except + - const_char *CTP_GetDataCollectApiVersion() nogil except + + int CTP_GetSystemInfo(char *pSystemInfo, int &nLen) except + nogil + const_char *CTP_GetDataCollectApiVersion() except + nogil diff --git a/ctpwrapper/headers/ThostFtdcUserApiDataType.pxd b/ctpwrapper/headers/ThostFtdcUserApiDataType.pxd index f177ee2..e8e2a92 100644 --- a/ctpwrapper/headers/ThostFtdcUserApiDataType.pxd +++ b/ctpwrapper/headers/ThostFtdcUserApiDataType.pxd @@ -782,6 +782,7 @@ cdef extern from 'ThostFtdcUserApiDataType.h': ctypedef char TThostFtdcDateTimeType[17] ctypedef char TThostFtdcWeakPasswordSourceType ctypedef char TThostFtdcRandomStringType[17] + ctypedef char TThostFtdcOrderMemoType[13] ctypedef char TThostFtdcOptSelfCloseFlagType ctypedef char TThostFtdcBizTypeType ctypedef char TThostFtdcAppTypeType @@ -832,3 +833,29 @@ cdef extern from 'ThostFtdcUserApiDataType.h': ctypedef char TThostFtdcWithDrawParamValueType[41] ctypedef char TThostFtdcInvstTradingRightType ctypedef int TThostFtdcThostFunctionCodeType + ctypedef double TThostFtdcSPMMDiscountRatioType + ctypedef char TThostFtdcSPMMModelDescType[129] + ctypedef char TThostFtdcSPMMModelIDType[33] + ctypedef char TThostFtdcSPMMProductIDType[41] + ctypedef char TThostFtdcInstMarginCalIDType + ctypedef char TThostFtdcProductIDType[41] + ctypedef double TThostFtdcHedgeRateType + ctypedef int TThostFtdcRCAMSPriorityType + ctypedef double TThostFtdcAdjustValueType + ctypedef char TThostFtdcRCAMSCombinationTypeType + ctypedef char TThostFtdcRuleIdType[51] + ctypedef char TThostFtdcPortfTypeType + ctypedef char TThostFtdcInstrumentClassType + ctypedef int TThostFtdcCommodityGroupIDType + ctypedef double TThostFtdcStdPositionType + ctypedef char TThostFtdcProdChangeFlagType + ctypedef char TThostFtdcPwdRcdSrcType + ctypedef char TThostFtdcAddrSrvModeType + ctypedef char TThostFtdcAddrVerType + ctypedef char TThostFtdcAddrRemarkType[161] + ctypedef char TThostFtdcAddrNameType[65] + ctypedef char TThostFtdcIpAddrType[129] + ctypedef char TThostFtdcTGSessionQryStatusType + ctypedef char TThostFtdcOffsetTypeType + ctypedef char TThostFtdcSiteType[51] + ctypedef char TThostFtdcNetOperatorType[9] diff --git a/ctpwrapper/headers/ThostFtdcUserApiStruct.pxd b/ctpwrapper/headers/ThostFtdcUserApiStruct.pxd index 24bb1a8..0c5f469 100644 --- a/ctpwrapper/headers/ThostFtdcUserApiStruct.pxd +++ b/ctpwrapper/headers/ThostFtdcUserApiStruct.pxd @@ -54,6 +54,8 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcTimeType INETime TThostFtdcSysVersionType SysVersion TThostFtdcTimeType GFEXTime + TThostFtdcDRIdentityIDType LoginDRIdentityID + TThostFtdcDRIdentityIDType UserDRIdentityID cdef struct CThostFtdcUserLogoutField: TThostFtdcBrokerIDType BrokerID TThostFtdcUserIDType UserID @@ -247,6 +249,8 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcInstallCountType InstallCount TThostFtdcBrokerIDType BrokerID TThostFtdcOrderCancelAlgType OrderCancelAlg + TThostFtdcInstallCountType TradeInstallCount + TThostFtdcInstallCountType MDInstallCount cdef struct CThostFtdcInvestorField: TThostFtdcInvestorIDType InvestorID TThostFtdcBrokerIDType BrokerID @@ -655,6 +659,8 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcMacAddressType MacAddress TThostFtdcInstrumentIDType InstrumentID TThostFtdcIPAddressType IPAddress + TThostFtdcOrderMemoType OrderMemo + TThostFtdcSequenceNo12Type SessionReqSeq cdef struct CThostFtdcOrderField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID @@ -722,6 +728,8 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcInstrumentIDType InstrumentID TThostFtdcExchangeInstIDType ExchangeInstID TThostFtdcIPAddressType IPAddress + TThostFtdcOrderMemoType OrderMemo + TThostFtdcSequenceNo12Type SessionReqSeq cdef struct CThostFtdcExchangeOrderField: TThostFtdcOrderPriceTypeType OrderPriceType TThostFtdcDirectionType Direction @@ -798,6 +806,8 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcMacAddressType MacAddress TThostFtdcInstrumentIDType InstrumentID TThostFtdcIPAddressType IPAddress + TThostFtdcOrderMemoType OrderMemo + TThostFtdcSequenceNo12Type SessionReqSeq cdef struct CThostFtdcOrderActionField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID @@ -830,6 +840,8 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcMacAddressType MacAddress TThostFtdcInstrumentIDType InstrumentID TThostFtdcIPAddressType IPAddress + TThostFtdcOrderMemoType OrderMemo + TThostFtdcSequenceNo12Type SessionReqSeq cdef struct CThostFtdcExchangeOrderActionField: TThostFtdcExchangeIDType ExchangeID TThostFtdcOrderSysIDType OrderSysID @@ -960,6 +972,7 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcCurrencyIDType CurrencyID TThostFtdcBoolType IsFromSopt TThostFtdcPasswordType TradingPassword + TThostFtdcBoolType IsSecAgentTranfer cdef struct CThostFtdcSyncFundMortgageField: TThostFtdcDepositSeqNoType MortgageSeqNo TThostFtdcBrokerIDType BrokerID @@ -1248,6 +1261,7 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcOldInstrumentIDType reserve1 TThostFtdcExchangeIDType ExchangeID TThostFtdcInstrumentIDType InstrumentID + TThostFtdcProductClassType ProductClass cdef struct CThostFtdcQryBrokerUserField: TThostFtdcBrokerIDType BrokerID TThostFtdcUserIDType UserID @@ -1736,6 +1750,9 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcInstrumentIDType InstrumentID TThostFtdcIPAddressType IPAddress TThostFtdcOrderSysIDType ReplaceSysID + TThostFtdcTimeConditionType TimeCondition + TThostFtdcOrderMemoType OrderMemo + TThostFtdcSequenceNo12Type SessionReqSeq cdef struct CThostFtdcInputQuoteActionField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID @@ -1755,6 +1772,8 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcMacAddressType MacAddress TThostFtdcInstrumentIDType InstrumentID TThostFtdcIPAddressType IPAddress + TThostFtdcOrderMemoType OrderMemo + TThostFtdcSequenceNo12Type SessionReqSeq cdef struct CThostFtdcQuoteField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID @@ -1810,6 +1829,9 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcExchangeInstIDType ExchangeInstID TThostFtdcIPAddressType IPAddress TThostFtdcOrderSysIDType ReplaceSysID + TThostFtdcTimeConditionType TimeCondition + TThostFtdcOrderMemoType OrderMemo + TThostFtdcSequenceNo12Type SessionReqSeq cdef struct CThostFtdcQuoteActionField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID @@ -1840,6 +1862,8 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcMacAddressType MacAddress TThostFtdcInstrumentIDType InstrumentID TThostFtdcIPAddressType IPAddress + TThostFtdcOrderMemoType OrderMemo + TThostFtdcSequenceNo12Type SessionReqSeq cdef struct CThostFtdcQryQuoteField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID @@ -1887,6 +1911,7 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcMacAddressType MacAddress TThostFtdcExchangeInstIDType ExchangeInstID TThostFtdcIPAddressType IPAddress + TThostFtdcTimeConditionType TimeCondition cdef struct CThostFtdcQryExchangeQuoteField: TThostFtdcParticipantIDType ParticipantID TThostFtdcClientIDType ClientID @@ -2712,6 +2737,8 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcInvestorIDType InvestorID TThostFtdcOldInstrumentIDType reserve1 TThostFtdcInstrumentIDType InstrumentID + TThostFtdcDRIdentityIDType DRIdentityID + TThostFtdcDateType TradingDay cdef struct CThostFtdcQryContractBankField: TThostFtdcBrokerIDType BrokerID TThostFtdcBankIDType BankID @@ -2920,6 +2947,8 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcMacAddressType MacAddress TThostFtdcInstrumentIDType InstrumentID TThostFtdcIPAddressType IPAddress + TThostFtdcOrderMemoType OrderMemo + TThostFtdcSequenceNo12Type SessionReqSeq cdef struct CThostFtdcErrorConditionalOrderField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID @@ -3026,6 +3055,8 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcErrorMsgType ErrorMsg TThostFtdcInstrumentIDType InstrumentID TThostFtdcIPAddressType IPAddress + TThostFtdcOrderMemoType OrderMemo + TThostFtdcSequenceNo12Type SessionReqSeq cdef struct CThostFtdcQryExchangeSequenceField: TThostFtdcExchangeIDType ExchangeID cdef struct CThostFtdcExchangeSequenceField: @@ -4462,6 +4493,7 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcInvestorIDType InvestorID cdef struct CThostFtdcQueryFreqField: TThostFtdcQueryFreqType QueryFreq + TThostFtdcQueryFreqType FTDPkgFreq cdef struct CThostFtdcAuthForbiddenIPField: TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcQryAuthForbiddenIPField: @@ -4508,7 +4540,7 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcInstrumentIDType InstrumentID TThostFtdcCombHedgeFlagType CombHedgeFlag TThostFtdcDiscountRatioType Xparameter - cdef struct CThostFtdcReqUserLoginSCField: + cdef struct CThostFtdcReqUserLoginSMField: TThostFtdcDateType TradingDay TThostFtdcBrokerIDType BrokerID TThostFtdcUserIDType UserID @@ -4518,11 +4550,14 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcProtocolInfoType ProtocolInfo TThostFtdcMacAddressType MacAddress TThostFtdcPasswordType OneTimePassword - TThostFtdcIPAddressType ClientIPAddress + TThostFtdcOldIPAddressType reserve1 TThostFtdcLoginRemarkType LoginRemark TThostFtdcIPPortType ClientIPPort + TThostFtdcIPAddressType ClientIPAddress + TThostFtdcBrokerNameType BrokerName TThostFtdcAuthCodeType AuthCode TThostFtdcAppIDType AppID + TThostFtdcPasswordType PIN cdef struct CThostFtdcQryRiskSettleInvstPositionField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID @@ -4899,6 +4934,7 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcRatioType LockRateX TThostFtdcRatioType AddOnRate TThostFtdcPriceType PreSettlementPrice + TThostFtdcRatioType AddOnLockRateX2 cdef struct CThostFtdcSPBMOptionParameterField: TThostFtdcDateType TradingDay TThostFtdcExchangeIDType ExchangeID @@ -4914,6 +4950,7 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcExchangeIDType ExchangeID TThostFtdcInstrumentIDType ProdFamilyCode TThostFtdcRatioType IntraRateY + TThostFtdcRatioType AddOnIntraRateY2 cdef struct CThostFtdcSPBMInterParameterField: TThostFtdcDateType TradingDay TThostFtdcExchangeIDType ExchangeID @@ -4954,6 +4991,7 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcInvestorIDType InvestorID TThostFtdcExchangeIDType ExchangeID TThostFtdcRatioType MarginRatio + TThostFtdcProductIDType ProductGroupID cdef struct CThostFtdcQrySPBMPortfDefinitionField: TThostFtdcExchangeIDType ExchangeID TThostFtdcPortfolioDefIDType PortfolioDefID @@ -4966,6 +5004,7 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID TThostFtdcExchangeIDType ExchangeID + TThostFtdcProductIDType ProductGroupID cdef struct CThostFtdcInvestorProdSPBMDetailField: TThostFtdcExchangeIDType ExchangeID TThostFtdcBrokerIDType BrokerID @@ -5021,3 +5060,900 @@ cdef extern from 'ThostFtdcUserApiStruct.h': cdef struct CThostFtdcQryThostUserFunctionField: TThostFtdcBrokerIDType BrokerID TThostFtdcUserIDType UserID + cdef struct CThostFtdcSPBMAddOnInterParameterField: + TThostFtdcDateType TradingDay + TThostFtdcExchangeIDType ExchangeID + TThostFtdcSpreadIdType SpreadId + TThostFtdcRatioType AddOnInterRateZ2 + TThostFtdcInstrumentIDType Leg1ProdFamilyCode + TThostFtdcInstrumentIDType Leg2ProdFamilyCode + cdef struct CThostFtdcQrySPBMAddOnInterParameterField: + TThostFtdcExchangeIDType ExchangeID + TThostFtdcInstrumentIDType Leg1ProdFamilyCode + TThostFtdcInstrumentIDType Leg2ProdFamilyCode + cdef struct CThostFtdcQryInvestorCommoditySPMMMarginField: + TThostFtdcBrokerIDType BrokerID + TThostFtdcInvestorIDType InvestorID + TThostFtdcSPMMProductIDType CommodityID + cdef struct CThostFtdcQryInvestorCommodityGroupSPMMMarginField: + TThostFtdcBrokerIDType BrokerID + TThostFtdcInvestorIDType InvestorID + TThostFtdcSPMMProductIDType CommodityGroupID + cdef struct CThostFtdcQrySPMMInstParamField: + TThostFtdcInstrumentIDType InstrumentID + cdef struct CThostFtdcQrySPMMProductParamField: + TThostFtdcSPMMProductIDType ProductID + cdef struct CThostFtdcInvestorCommoditySPMMMarginField: + TThostFtdcExchangeIDType ExchangeID + TThostFtdcBrokerIDType BrokerID + TThostFtdcInvestorIDType InvestorID + TThostFtdcSPMMProductIDType CommodityID + TThostFtdcMoneyType MarginBeforeDiscount + TThostFtdcMoneyType MarginNoDiscount + TThostFtdcMoneyType LongPosRisk + TThostFtdcMoneyType LongOpenFrozenRisk + TThostFtdcMoneyType LongCloseFrozenRisk + TThostFtdcMoneyType ShortPosRisk + TThostFtdcMoneyType ShortOpenFrozenRisk + TThostFtdcMoneyType ShortCloseFrozenRisk + TThostFtdcSPMMDiscountRatioType IntraCommodityRate + TThostFtdcSPMMDiscountRatioType OptionDiscountRate + TThostFtdcMoneyType PosDiscount + TThostFtdcMoneyType OpenFrozenDiscount + TThostFtdcMoneyType NetRisk + TThostFtdcMoneyType CloseFrozenMargin + TThostFtdcMoneyType FrozenCommission + TThostFtdcMoneyType Commission + TThostFtdcMoneyType FrozenCash + TThostFtdcMoneyType CashIn + TThostFtdcMoneyType StrikeFrozenMargin + cdef struct CThostFtdcInvestorCommodityGroupSPMMMarginField: + TThostFtdcExchangeIDType ExchangeID + TThostFtdcBrokerIDType BrokerID + TThostFtdcInvestorIDType InvestorID + TThostFtdcSPMMProductIDType CommodityGroupID + TThostFtdcMoneyType MarginBeforeDiscount + TThostFtdcMoneyType MarginNoDiscount + TThostFtdcMoneyType LongRisk + TThostFtdcMoneyType ShortRisk + TThostFtdcMoneyType CloseFrozenMargin + TThostFtdcSPMMDiscountRatioType InterCommodityRate + TThostFtdcSPMMDiscountRatioType MiniMarginRatio + TThostFtdcRatioType AdjustRatio + TThostFtdcMoneyType IntraCommodityDiscount + TThostFtdcMoneyType InterCommodityDiscount + TThostFtdcMoneyType ExchMargin + TThostFtdcMoneyType InvestorMargin + TThostFtdcMoneyType FrozenCommission + TThostFtdcMoneyType Commission + TThostFtdcMoneyType FrozenCash + TThostFtdcMoneyType CashIn + TThostFtdcMoneyType StrikeFrozenMargin + cdef struct CThostFtdcSPMMInstParamField: + TThostFtdcExchangeIDType ExchangeID + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcInstMarginCalIDType InstMarginCalID + TThostFtdcSPMMProductIDType CommodityID + TThostFtdcSPMMProductIDType CommodityGroupID + cdef struct CThostFtdcSPMMProductParamField: + TThostFtdcExchangeIDType ExchangeID + TThostFtdcSPMMProductIDType ProductID + TThostFtdcSPMMProductIDType CommodityID + TThostFtdcSPMMProductIDType CommodityGroupID + cdef struct CThostFtdcQryTraderAssignField: + TThostFtdcTraderIDType TraderID + cdef struct CThostFtdcTraderAssignField: + TThostFtdcBrokerIDType BrokerID + TThostFtdcExchangeIDType ExchangeID + TThostFtdcTraderIDType TraderID + TThostFtdcParticipantIDType ParticipantID + TThostFtdcDRIdentityIDType DRIdentityID + cdef struct CThostFtdcInvestorInfoCntSettingField: + TThostFtdcExchangeIDType ExchangeID + TThostFtdcBrokerIDType BrokerID + TThostFtdcInvestorIDType InvestorID + TThostFtdcProductIDType ProductID + TThostFtdcBoolType IsCalInfoComm + TThostFtdcBoolType IsLimitInfoMax + TThostFtdcVolumeType InfoMaxLimit + cdef struct CThostFtdcRCAMSCombProductInfoField: + TThostFtdcDateType TradingDay + TThostFtdcExchangeIDType ExchangeID + TThostFtdcProductIDType ProductID + TThostFtdcProductIDType CombProductID + TThostFtdcProductIDType ProductGroupID + cdef struct CThostFtdcRCAMSInstrParameterField: + TThostFtdcDateType TradingDay + TThostFtdcExchangeIDType ExchangeID + TThostFtdcProductIDType ProductID + TThostFtdcHedgeRateType HedgeRate + cdef struct CThostFtdcRCAMSIntraParameterField: + TThostFtdcDateType TradingDay + TThostFtdcExchangeIDType ExchangeID + TThostFtdcProductIDType CombProductID + TThostFtdcHedgeRateType HedgeRate + cdef struct CThostFtdcRCAMSInterParameterField: + TThostFtdcDateType TradingDay + TThostFtdcExchangeIDType ExchangeID + TThostFtdcProductIDType ProductGroupID + TThostFtdcRCAMSPriorityType Priority + TThostFtdcHedgeRateType CreditRate + TThostFtdcProductIDType CombProduct1 + TThostFtdcProductIDType CombProduct2 + cdef struct CThostFtdcRCAMSShortOptAdjustParamField: + TThostFtdcDateType TradingDay + TThostFtdcExchangeIDType ExchangeID + TThostFtdcProductIDType CombProductID + TThostFtdcHedgeFlagType HedgeFlag + TThostFtdcAdjustValueType AdjustValue + cdef struct CThostFtdcRCAMSInvestorCombPositionField: + TThostFtdcExchangeIDType ExchangeID + TThostFtdcBrokerIDType BrokerID + TThostFtdcInvestorIDType InvestorID + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcHedgeFlagType HedgeFlag + TThostFtdcPosiDirectionType PosiDirection + TThostFtdcInstrumentIDType CombInstrumentID + TThostFtdcLegIDType LegID + TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcVolumeType TotalAmt + TThostFtdcMoneyType ExchMargin + TThostFtdcMoneyType Margin + cdef struct CThostFtdcInvestorProdRCAMSMarginField: + TThostFtdcExchangeIDType ExchangeID + TThostFtdcBrokerIDType BrokerID + TThostFtdcInvestorIDType InvestorID + TThostFtdcProductIDType CombProductID + TThostFtdcHedgeFlagType HedgeFlag + TThostFtdcProductIDType ProductGroupID + TThostFtdcMoneyType RiskBeforeDiscount + TThostFtdcMoneyType IntraInstrRisk + TThostFtdcMoneyType BPosRisk + TThostFtdcMoneyType SPosRisk + TThostFtdcMoneyType IntraProdRisk + TThostFtdcMoneyType NetRisk + TThostFtdcMoneyType InterProdRisk + TThostFtdcMoneyType ShortOptRiskAdj + TThostFtdcMoneyType OptionRoyalty + TThostFtdcMoneyType MMSACloseFrozenMargin + TThostFtdcMoneyType CloseCombFrozenMargin + TThostFtdcMoneyType CloseFrozenMargin + TThostFtdcMoneyType MMSAOpenFrozenMargin + TThostFtdcMoneyType DeliveryOpenFrozenMargin + TThostFtdcMoneyType OpenFrozenMargin + TThostFtdcMoneyType UseFrozenMargin + TThostFtdcMoneyType MMSAExchMargin + TThostFtdcMoneyType DeliveryExchMargin + TThostFtdcMoneyType CombExchMargin + TThostFtdcMoneyType ExchMargin + TThostFtdcMoneyType UseMargin + cdef struct CThostFtdcQryRCAMSCombProductInfoField: + TThostFtdcProductIDType ProductID + TThostFtdcProductIDType CombProductID + TThostFtdcProductIDType ProductGroupID + cdef struct CThostFtdcQryRCAMSInstrParameterField: + TThostFtdcProductIDType ProductID + cdef struct CThostFtdcQryRCAMSIntraParameterField: + TThostFtdcProductIDType CombProductID + cdef struct CThostFtdcQryRCAMSInterParameterField: + TThostFtdcProductIDType ProductGroupID + TThostFtdcProductIDType CombProduct1 + TThostFtdcProductIDType CombProduct2 + cdef struct CThostFtdcQryRCAMSShortOptAdjustParamField: + TThostFtdcProductIDType CombProductID + cdef struct CThostFtdcQryRCAMSInvestorCombPositionField: + TThostFtdcBrokerIDType BrokerID + TThostFtdcInvestorIDType InvestorID + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcInstrumentIDType CombInstrumentID + cdef struct CThostFtdcQryInvestorProdRCAMSMarginField: + TThostFtdcBrokerIDType BrokerID + TThostFtdcInvestorIDType InvestorID + TThostFtdcProductIDType CombProductID + TThostFtdcProductIDType ProductGroupID + cdef struct CThostFtdcRULEInstrParameterField: + TThostFtdcDateType TradingDay + TThostFtdcExchangeIDType ExchangeID + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcInstrumentClassType InstrumentClass + TThostFtdcInstrumentIDType StdInstrumentID + TThostFtdcRatioType BSpecRatio + TThostFtdcRatioType SSpecRatio + TThostFtdcRatioType BHedgeRatio + TThostFtdcRatioType SHedgeRatio + TThostFtdcMoneyType BAddOnMargin + TThostFtdcMoneyType SAddOnMargin + TThostFtdcCommodityGroupIDType CommodityGroupID + cdef struct CThostFtdcRULEIntraParameterField: + TThostFtdcDateType TradingDay + TThostFtdcExchangeIDType ExchangeID + TThostFtdcInstrumentIDType ProdFamilyCode + TThostFtdcInstrumentIDType StdInstrumentID + TThostFtdcMoneyType StdInstrMargin + TThostFtdcRatioType UsualIntraRate + TThostFtdcRatioType DeliveryIntraRate + cdef struct CThostFtdcRULEInterParameterField: + TThostFtdcDateType TradingDay + TThostFtdcExchangeIDType ExchangeID + TThostFtdcSpreadIdType SpreadId + TThostFtdcRatioType InterRate + TThostFtdcInstrumentIDType Leg1ProdFamilyCode + TThostFtdcInstrumentIDType Leg2ProdFamilyCode + TThostFtdcCommonIntType Leg1PropFactor + TThostFtdcCommonIntType Leg2PropFactor + TThostFtdcCommodityGroupIDType CommodityGroupID + TThostFtdcInstrumentNameType CommodityGroupName + cdef struct CThostFtdcQryRULEInstrParameterField: + TThostFtdcExchangeIDType ExchangeID + TThostFtdcInstrumentIDType InstrumentID + cdef struct CThostFtdcQryRULEIntraParameterField: + TThostFtdcExchangeIDType ExchangeID + TThostFtdcInstrumentIDType ProdFamilyCode + cdef struct CThostFtdcQryRULEInterParameterField: + TThostFtdcExchangeIDType ExchangeID + TThostFtdcInstrumentIDType Leg1ProdFamilyCode + TThostFtdcInstrumentIDType Leg2ProdFamilyCode + TThostFtdcCommodityGroupIDType CommodityGroupID + cdef struct CThostFtdcInvestorProdRULEMarginField: + TThostFtdcExchangeIDType ExchangeID + TThostFtdcBrokerIDType BrokerID + TThostFtdcInvestorIDType InvestorID + TThostFtdcInstrumentIDType ProdFamilyCode + TThostFtdcInstrumentClassType InstrumentClass + TThostFtdcCommodityGroupIDType CommodityGroupID + TThostFtdcStdPositionType BStdPosition + TThostFtdcStdPositionType SStdPosition + TThostFtdcStdPositionType BStdOpenFrozen + TThostFtdcStdPositionType SStdOpenFrozen + TThostFtdcStdPositionType BStdCloseFrozen + TThostFtdcStdPositionType SStdCloseFrozen + TThostFtdcStdPositionType IntraProdStdPosition + TThostFtdcStdPositionType NetStdPosition + TThostFtdcStdPositionType InterProdStdPosition + TThostFtdcStdPositionType SingleStdPosition + TThostFtdcMoneyType IntraProdMargin + TThostFtdcMoneyType InterProdMargin + TThostFtdcMoneyType SingleMargin + TThostFtdcMoneyType NonCombMargin + TThostFtdcMoneyType AddOnMargin + TThostFtdcMoneyType ExchMargin + TThostFtdcMoneyType AddOnFrozenMargin + TThostFtdcMoneyType OpenFrozenMargin + TThostFtdcMoneyType CloseFrozenMargin + TThostFtdcMoneyType Margin + TThostFtdcMoneyType FrozenMargin + cdef struct CThostFtdcQryInvestorProdRULEMarginField: + TThostFtdcExchangeIDType ExchangeID + TThostFtdcBrokerIDType BrokerID + TThostFtdcInvestorIDType InvestorID + TThostFtdcInstrumentIDType ProdFamilyCode + TThostFtdcCommodityGroupIDType CommodityGroupID + cdef struct CThostFtdcSyncDeltaSPBMPortfDefinitionField: + TThostFtdcExchangeIDType ExchangeID + TThostFtdcPortfolioDefIDType PortfolioDefID + TThostFtdcInstrumentIDType ProdFamilyCode + TThostFtdcBoolType IsSPBM + TThostFtdcActionDirectionType ActionDirection + TThostFtdcSequenceNoType SyncDeltaSequenceNo + cdef struct CThostFtdcSyncDeltaSPBMInvstPortfDefField: + TThostFtdcExchangeIDType ExchangeID + TThostFtdcBrokerIDType BrokerID + TThostFtdcInvestorIDType InvestorID + TThostFtdcPortfolioDefIDType PortfolioDefID + TThostFtdcActionDirectionType ActionDirection + TThostFtdcSequenceNoType SyncDeltaSequenceNo + cdef struct CThostFtdcSyncDeltaSPBMFutureParameterField: + TThostFtdcDateType TradingDay + TThostFtdcExchangeIDType ExchangeID + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcInstrumentIDType ProdFamilyCode + TThostFtdcVolumeMultipleType Cvf + TThostFtdcTimeRangeType TimeRange + TThostFtdcRatioType MarginRate + TThostFtdcRatioType LockRateX + TThostFtdcRatioType AddOnRate + TThostFtdcPriceType PreSettlementPrice + TThostFtdcRatioType AddOnLockRateX2 + TThostFtdcActionDirectionType ActionDirection + TThostFtdcSequenceNoType SyncDeltaSequenceNo + cdef struct CThostFtdcSyncDeltaSPBMOptionParameterField: + TThostFtdcDateType TradingDay + TThostFtdcExchangeIDType ExchangeID + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcInstrumentIDType ProdFamilyCode + TThostFtdcVolumeMultipleType Cvf + TThostFtdcPriceType DownPrice + TThostFtdcDeltaType Delta + TThostFtdcDeltaType SlimiDelta + TThostFtdcPriceType PreSettlementPrice + TThostFtdcActionDirectionType ActionDirection + TThostFtdcSequenceNoType SyncDeltaSequenceNo + cdef struct CThostFtdcSyncDeltaSPBMIntraParameterField: + TThostFtdcDateType TradingDay + TThostFtdcExchangeIDType ExchangeID + TThostFtdcInstrumentIDType ProdFamilyCode + TThostFtdcRatioType IntraRateY + TThostFtdcRatioType AddOnIntraRateY2 + TThostFtdcActionDirectionType ActionDirection + TThostFtdcSequenceNoType SyncDeltaSequenceNo + cdef struct CThostFtdcSyncDeltaSPBMInterParameterField: + TThostFtdcDateType TradingDay + TThostFtdcExchangeIDType ExchangeID + TThostFtdcSpreadIdType SpreadId + TThostFtdcRatioType InterRateZ + TThostFtdcInstrumentIDType Leg1ProdFamilyCode + TThostFtdcInstrumentIDType Leg2ProdFamilyCode + TThostFtdcActionDirectionType ActionDirection + TThostFtdcSequenceNoType SyncDeltaSequenceNo + cdef struct CThostFtdcSyncDeltaSPBMAddOnInterParamField: + TThostFtdcDateType TradingDay + TThostFtdcExchangeIDType ExchangeID + TThostFtdcSpreadIdType SpreadId + TThostFtdcRatioType AddOnInterRateZ2 + TThostFtdcInstrumentIDType Leg1ProdFamilyCode + TThostFtdcInstrumentIDType Leg2ProdFamilyCode + TThostFtdcActionDirectionType ActionDirection + TThostFtdcSequenceNoType SyncDeltaSequenceNo + cdef struct CThostFtdcSyncDeltaSPMMInstParamField: + TThostFtdcExchangeIDType ExchangeID + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcInstMarginCalIDType InstMarginCalID + TThostFtdcSPMMProductIDType CommodityID + TThostFtdcSPMMProductIDType CommodityGroupID + TThostFtdcActionDirectionType ActionDirection + TThostFtdcSequenceNoType SyncDeltaSequenceNo + cdef struct CThostFtdcSyncDeltaSPMMProductParamField: + TThostFtdcExchangeIDType ExchangeID + TThostFtdcSPMMProductIDType ProductID + TThostFtdcSPMMProductIDType CommodityID + TThostFtdcSPMMProductIDType CommodityGroupID + TThostFtdcActionDirectionType ActionDirection + TThostFtdcSequenceNoType SyncDeltaSequenceNo + cdef struct CThostFtdcSyncDeltaInvestorSPMMModelField: + TThostFtdcExchangeIDType ExchangeID + TThostFtdcBrokerIDType BrokerID + TThostFtdcInvestorIDType InvestorID + TThostFtdcSPMMModelIDType SPMMModelID + TThostFtdcActionDirectionType ActionDirection + TThostFtdcSequenceNoType SyncDeltaSequenceNo + cdef struct CThostFtdcSyncDeltaSPMMModelParamField: + TThostFtdcExchangeIDType ExchangeID + TThostFtdcSPMMModelIDType SPMMModelID + TThostFtdcSPMMProductIDType CommodityGroupID + TThostFtdcSPMMDiscountRatioType IntraCommodityRate + TThostFtdcSPMMDiscountRatioType InterCommodityRate + TThostFtdcSPMMDiscountRatioType OptionDiscountRate + TThostFtdcSPMMDiscountRatioType MiniMarginRatio + TThostFtdcActionDirectionType ActionDirection + TThostFtdcSequenceNoType SyncDeltaSequenceNo + cdef struct CThostFtdcSyncDeltaRCAMSCombProdInfoField: + TThostFtdcDateType TradingDay + TThostFtdcExchangeIDType ExchangeID + TThostFtdcProductIDType ProductID + TThostFtdcProductIDType CombProductID + TThostFtdcProductIDType ProductGroupID + TThostFtdcActionDirectionType ActionDirection + TThostFtdcSequenceNoType SyncDeltaSequenceNo + cdef struct CThostFtdcSyncDeltaRCAMSInstrParameterField: + TThostFtdcDateType TradingDay + TThostFtdcExchangeIDType ExchangeID + TThostFtdcProductIDType ProductID + TThostFtdcHedgeRateType HedgeRate + TThostFtdcActionDirectionType ActionDirection + TThostFtdcSequenceNoType SyncDeltaSequenceNo + cdef struct CThostFtdcSyncDeltaRCAMSIntraParameterField: + TThostFtdcDateType TradingDay + TThostFtdcExchangeIDType ExchangeID + TThostFtdcProductIDType CombProductID + TThostFtdcHedgeRateType HedgeRate + TThostFtdcActionDirectionType ActionDirection + TThostFtdcSequenceNoType SyncDeltaSequenceNo + cdef struct CThostFtdcSyncDeltaRCAMSInterParameterField: + TThostFtdcDateType TradingDay + TThostFtdcExchangeIDType ExchangeID + TThostFtdcProductIDType ProductGroupID + TThostFtdcRCAMSPriorityType Priority + TThostFtdcHedgeRateType CreditRate + TThostFtdcProductIDType CombProduct1 + TThostFtdcProductIDType CombProduct2 + TThostFtdcActionDirectionType ActionDirection + TThostFtdcSequenceNoType SyncDeltaSequenceNo + cdef struct CThostFtdcSyncDeltaRCAMSSOptAdjParamField: + TThostFtdcDateType TradingDay + TThostFtdcExchangeIDType ExchangeID + TThostFtdcProductIDType CombProductID + TThostFtdcHedgeFlagType HedgeFlag + TThostFtdcAdjustValueType AdjustValue + TThostFtdcActionDirectionType ActionDirection + TThostFtdcSequenceNoType SyncDeltaSequenceNo + cdef struct CThostFtdcSyncDeltaRCAMSCombRuleDtlField: + TThostFtdcDateType TradingDay + TThostFtdcExchangeIDType ExchangeID + TThostFtdcProductIDType ProdGroup + TThostFtdcRuleIdType RuleId + TThostFtdcRCAMSPriorityType Priority + TThostFtdcHedgeFlagType HedgeFlag + TThostFtdcMoneyType CombMargin + TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcLegIDType LegID + TThostFtdcInstrumentIDType LegInstrumentID + TThostFtdcDirectionType Direction + TThostFtdcLegMultipleType LegMultiple + TThostFtdcActionDirectionType ActionDirection + TThostFtdcSequenceNoType SyncDeltaSequenceNo + cdef struct CThostFtdcSyncDeltaRCAMSInvstCombPosField: + TThostFtdcExchangeIDType ExchangeID + TThostFtdcBrokerIDType BrokerID + TThostFtdcInvestorIDType InvestorID + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcHedgeFlagType HedgeFlag + TThostFtdcPosiDirectionType PosiDirection + TThostFtdcInstrumentIDType CombInstrumentID + TThostFtdcLegIDType LegID + TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcVolumeType TotalAmt + TThostFtdcMoneyType ExchMargin + TThostFtdcMoneyType Margin + TThostFtdcActionDirectionType ActionDirection + TThostFtdcSequenceNoType SyncDeltaSequenceNo + cdef struct CThostFtdcSyncDeltaRULEInstrParameterField: + TThostFtdcDateType TradingDay + TThostFtdcExchangeIDType ExchangeID + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcInstrumentClassType InstrumentClass + TThostFtdcInstrumentIDType StdInstrumentID + TThostFtdcRatioType BSpecRatio + TThostFtdcRatioType SSpecRatio + TThostFtdcRatioType BHedgeRatio + TThostFtdcRatioType SHedgeRatio + TThostFtdcMoneyType BAddOnMargin + TThostFtdcMoneyType SAddOnMargin + TThostFtdcCommodityGroupIDType CommodityGroupID + TThostFtdcActionDirectionType ActionDirection + TThostFtdcSequenceNoType SyncDeltaSequenceNo + cdef struct CThostFtdcSyncDeltaRULEIntraParameterField: + TThostFtdcDateType TradingDay + TThostFtdcExchangeIDType ExchangeID + TThostFtdcInstrumentIDType ProdFamilyCode + TThostFtdcInstrumentIDType StdInstrumentID + TThostFtdcMoneyType StdInstrMargin + TThostFtdcRatioType UsualIntraRate + TThostFtdcRatioType DeliveryIntraRate + TThostFtdcActionDirectionType ActionDirection + TThostFtdcSequenceNoType SyncDeltaSequenceNo + cdef struct CThostFtdcSyncDeltaRULEInterParameterField: + TThostFtdcDateType TradingDay + TThostFtdcExchangeIDType ExchangeID + TThostFtdcSpreadIdType SpreadId + TThostFtdcRatioType InterRate + TThostFtdcInstrumentIDType Leg1ProdFamilyCode + TThostFtdcInstrumentIDType Leg2ProdFamilyCode + TThostFtdcCommonIntType Leg1PropFactor + TThostFtdcCommonIntType Leg2PropFactor + TThostFtdcCommodityGroupIDType CommodityGroupID + TThostFtdcInstrumentNameType CommodityGroupName + TThostFtdcActionDirectionType ActionDirection + TThostFtdcSequenceNoType SyncDeltaSequenceNo + cdef struct CThostFtdcIpAddrParamField: + TThostFtdcBrokerIDType BrokerID + TThostFtdcIpAddrType Address + TThostFtdcDRIdentityIDType DRIdentityID + TThostFtdcDRIdentityNameType DRIdentityName + TThostFtdcAddrSrvModeType AddrSrvMode + TThostFtdcAddrVerType AddrVer + TThostFtdcCommonIntType AddrNo + TThostFtdcAddrNameType AddrName + TThostFtdcBoolType IsSM + TThostFtdcBoolType IsLocalAddr + TThostFtdcAddrRemarkType Remark + TThostFtdcSiteType Site + TThostFtdcNetOperatorType NetOperator + cdef struct CThostFtdcQryIpAddrParamField: + TThostFtdcBrokerIDType BrokerID + cdef struct CThostFtdcTGIpAddrParamField: + TThostFtdcBrokerIDType BrokerID + TThostFtdcUserIDType UserID + TThostFtdcIpAddrType Address + TThostFtdcDRIdentityIDType DRIdentityID + TThostFtdcDRIdentityNameType DRIdentityName + TThostFtdcAddrSrvModeType AddrSrvMode + TThostFtdcAddrVerType AddrVer + TThostFtdcCommonIntType AddrNo + TThostFtdcAddrNameType AddrName + TThostFtdcBoolType IsSM + TThostFtdcBoolType IsLocalAddr + TThostFtdcAddrRemarkType Remark + TThostFtdcSiteType Site + TThostFtdcNetOperatorType NetOperator + cdef struct CThostFtdcQryTGIpAddrParamField: + TThostFtdcBrokerIDType BrokerID + TThostFtdcUserIDType UserID + TThostFtdcAppIDType AppID + cdef struct CThostFtdcTGSessionQryStatusField: + TThostFtdcCommonIntType LastQryFreq + TThostFtdcTGSessionQryStatusType QryStatus + cdef struct CThostFtdcLocalAddrConfigField: + TThostFtdcBrokerIDType BrokerID + TThostFtdcIpAddrType PeerAddr + TThostFtdcIpAddrType NetMask + TThostFtdcDRIdentityIDType DRIdentityID + TThostFtdcIpAddrType LocalAddress + cdef struct CThostFtdcQryLocalAddrConfigField: + TThostFtdcBrokerIDType BrokerID + cdef struct CThostFtdcReqQueryBankAccountBySecField: + TThostFtdcTradeCodeType TradeCode + TThostFtdcBankIDType BankID + TThostFtdcBankBrchIDType BankBranchID + TThostFtdcBrokerIDType BrokerID + TThostFtdcFutureBranchIDType BrokerBranchID + TThostFtdcTradeDateType TradeDate + TThostFtdcTradeTimeType TradeTime + TThostFtdcBankSerialType BankSerial + TThostFtdcTradeDateType TradingDay + TThostFtdcSerialType PlateSerial + TThostFtdcLastFragmentType LastFragment + TThostFtdcSessionIDType SessionID + TThostFtdcIndividualNameType CustomerName + TThostFtdcIdCardTypeType IdCardType + TThostFtdcIdentifiedCardNoType IdentifiedCardNo + TThostFtdcCustTypeType CustType + TThostFtdcBankAccountType BankAccount + TThostFtdcPasswordType BankPassWord + TThostFtdcAccountIDType AccountID + TThostFtdcPasswordType Password + TThostFtdcFutureSerialType FutureSerial + TThostFtdcInstallIDType InstallID + TThostFtdcUserIDType UserID + TThostFtdcYesNoIndicatorType VerifyCertNoFlag + TThostFtdcCurrencyIDType CurrencyID + TThostFtdcDigestType Digest + TThostFtdcBankAccTypeType BankAccType + TThostFtdcDeviceIDType DeviceID + TThostFtdcBankAccTypeType BankSecuAccType + TThostFtdcBankCodingForFutureType BrokerIDByBank + TThostFtdcBankAccountType BankSecuAcc + TThostFtdcPwdFlagType BankPwdFlag + TThostFtdcPwdFlagType SecuPwdFlag + TThostFtdcOperNoType OperNo + TThostFtdcRequestIDType RequestID + TThostFtdcTIDType TID + TThostFtdcLongIndividualNameType LongCustomerName + TThostFtdcDRIdentityIDType DRIdentityID + TThostFtdcFutureSerialType SecFutureSerial + cdef struct CThostFtdcRspQueryBankAccountBySecField: + TThostFtdcTradeCodeType TradeCode + TThostFtdcBankIDType BankID + TThostFtdcBankBrchIDType BankBranchID + TThostFtdcBrokerIDType BrokerID + TThostFtdcFutureBranchIDType BrokerBranchID + TThostFtdcTradeDateType TradeDate + TThostFtdcTradeTimeType TradeTime + TThostFtdcBankSerialType BankSerial + TThostFtdcTradeDateType TradingDay + TThostFtdcSerialType PlateSerial + TThostFtdcLastFragmentType LastFragment + TThostFtdcSessionIDType SessionID + TThostFtdcIndividualNameType CustomerName + TThostFtdcIdCardTypeType IdCardType + TThostFtdcIdentifiedCardNoType IdentifiedCardNo + TThostFtdcCustTypeType CustType + TThostFtdcBankAccountType BankAccount + TThostFtdcPasswordType BankPassWord + TThostFtdcAccountIDType AccountID + TThostFtdcPasswordType Password + TThostFtdcFutureSerialType FutureSerial + TThostFtdcInstallIDType InstallID + TThostFtdcUserIDType UserID + TThostFtdcYesNoIndicatorType VerifyCertNoFlag + TThostFtdcCurrencyIDType CurrencyID + TThostFtdcDigestType Digest + TThostFtdcBankAccTypeType BankAccType + TThostFtdcDeviceIDType DeviceID + TThostFtdcBankAccTypeType BankSecuAccType + TThostFtdcBankCodingForFutureType BrokerIDByBank + TThostFtdcBankAccountType BankSecuAcc + TThostFtdcPwdFlagType BankPwdFlag + TThostFtdcPwdFlagType SecuPwdFlag + TThostFtdcOperNoType OperNo + TThostFtdcRequestIDType RequestID + TThostFtdcTIDType TID + TThostFtdcTradeAmountType BankUseAmount + TThostFtdcTradeAmountType BankFetchAmount + TThostFtdcLongIndividualNameType LongCustomerName + TThostFtdcDRIdentityIDType DRIdentityID + TThostFtdcFutureSerialType SecFutureSerial + cdef struct CThostFtdcReqTransferBySecField: + TThostFtdcTradeCodeType TradeCode + TThostFtdcBankIDType BankID + TThostFtdcBankBrchIDType BankBranchID + TThostFtdcBrokerIDType BrokerID + TThostFtdcFutureBranchIDType BrokerBranchID + TThostFtdcTradeDateType TradeDate + TThostFtdcTradeTimeType TradeTime + TThostFtdcBankSerialType BankSerial + TThostFtdcTradeDateType TradingDay + TThostFtdcSerialType PlateSerial + TThostFtdcLastFragmentType LastFragment + TThostFtdcSessionIDType SessionID + TThostFtdcIndividualNameType CustomerName + TThostFtdcIdCardTypeType IdCardType + TThostFtdcIdentifiedCardNoType IdentifiedCardNo + TThostFtdcCustTypeType CustType + TThostFtdcBankAccountType BankAccount + TThostFtdcPasswordType BankPassWord + TThostFtdcAccountIDType AccountID + TThostFtdcPasswordType Password + TThostFtdcInstallIDType InstallID + TThostFtdcFutureSerialType FutureSerial + TThostFtdcUserIDType UserID + TThostFtdcYesNoIndicatorType VerifyCertNoFlag + TThostFtdcCurrencyIDType CurrencyID + TThostFtdcTradeAmountType TradeAmount + TThostFtdcTradeAmountType FutureFetchAmount + TThostFtdcFeePayFlagType FeePayFlag + TThostFtdcCustFeeType CustFee + TThostFtdcFutureFeeType BrokerFee + TThostFtdcAddInfoType Message + TThostFtdcDigestType Digest + TThostFtdcBankAccTypeType BankAccType + TThostFtdcDeviceIDType DeviceID + TThostFtdcBankAccTypeType BankSecuAccType + TThostFtdcBankCodingForFutureType BrokerIDByBank + TThostFtdcBankAccountType BankSecuAcc + TThostFtdcPwdFlagType BankPwdFlag + TThostFtdcPwdFlagType SecuPwdFlag + TThostFtdcOperNoType OperNo + TThostFtdcRequestIDType RequestID + TThostFtdcTIDType TID + TThostFtdcTransferStatusType TransferStatus + TThostFtdcLongIndividualNameType LongCustomerName + TThostFtdcDRIdentityIDType DRIdentityID + TThostFtdcFutureSerialType SecFutureSerial + cdef struct CThostFtdcRspTransferBySecField: + TThostFtdcTradeCodeType TradeCode + TThostFtdcBankIDType BankID + TThostFtdcBankBrchIDType BankBranchID + TThostFtdcBrokerIDType BrokerID + TThostFtdcFutureBranchIDType BrokerBranchID + TThostFtdcTradeDateType TradeDate + TThostFtdcTradeTimeType TradeTime + TThostFtdcBankSerialType BankSerial + TThostFtdcTradeDateType TradingDay + TThostFtdcSerialType PlateSerial + TThostFtdcLastFragmentType LastFragment + TThostFtdcSessionIDType SessionID + TThostFtdcIndividualNameType CustomerName + TThostFtdcIdCardTypeType IdCardType + TThostFtdcIdentifiedCardNoType IdentifiedCardNo + TThostFtdcCustTypeType CustType + TThostFtdcBankAccountType BankAccount + TThostFtdcPasswordType BankPassWord + TThostFtdcAccountIDType AccountID + TThostFtdcPasswordType Password + TThostFtdcInstallIDType InstallID + TThostFtdcFutureSerialType FutureSerial + TThostFtdcUserIDType UserID + TThostFtdcYesNoIndicatorType VerifyCertNoFlag + TThostFtdcCurrencyIDType CurrencyID + TThostFtdcTradeAmountType TradeAmount + TThostFtdcTradeAmountType FutureFetchAmount + TThostFtdcFeePayFlagType FeePayFlag + TThostFtdcCustFeeType CustFee + TThostFtdcFutureFeeType BrokerFee + TThostFtdcAddInfoType Message + TThostFtdcDigestType Digest + TThostFtdcBankAccTypeType BankAccType + TThostFtdcDeviceIDType DeviceID + TThostFtdcBankAccTypeType BankSecuAccType + TThostFtdcBankCodingForFutureType BrokerIDByBank + TThostFtdcBankAccountType BankSecuAcc + TThostFtdcPwdFlagType BankPwdFlag + TThostFtdcPwdFlagType SecuPwdFlag + TThostFtdcOperNoType OperNo + TThostFtdcRequestIDType RequestID + TThostFtdcTIDType TID + TThostFtdcTransferStatusType TransferStatus + TThostFtdcErrorIDType ErrorID + TThostFtdcErrorMsgType ErrorMsg + TThostFtdcLongIndividualNameType LongCustomerName + TThostFtdcDRIdentityIDType DRIdentityID + TThostFtdcFutureSerialType SecFutureSerial + cdef struct CThostFtdcNotifyQueryFutureAccountBySecField: + TThostFtdcTradeCodeType TradeCode + TThostFtdcBankIDType BankID + TThostFtdcBankBrchIDType BankBranchID + TThostFtdcBrokerIDType BrokerID + TThostFtdcFutureBranchIDType BrokerBranchID + TThostFtdcTradeDateType TradeDate + TThostFtdcTradeTimeType TradeTime + TThostFtdcBankSerialType BankSerial + TThostFtdcTradeDateType TradingDay + TThostFtdcSerialType PlateSerial + TThostFtdcLastFragmentType LastFragment + TThostFtdcSessionIDType SessionID + TThostFtdcIndividualNameType CustomerName + TThostFtdcIdCardTypeType IdCardType + TThostFtdcIdentifiedCardNoType IdentifiedCardNo + TThostFtdcCustTypeType CustType + TThostFtdcBankAccountType BankAccount + TThostFtdcPasswordType BankPassWord + TThostFtdcAccountIDType AccountID + TThostFtdcPasswordType Password + TThostFtdcFutureSerialType FutureSerial + TThostFtdcInstallIDType InstallID + TThostFtdcUserIDType UserID + TThostFtdcYesNoIndicatorType VerifyCertNoFlag + TThostFtdcCurrencyIDType CurrencyID + TThostFtdcDigestType Digest + TThostFtdcBankAccTypeType BankAccType + TThostFtdcDeviceIDType DeviceID + TThostFtdcBankAccTypeType BankSecuAccType + TThostFtdcBankCodingForFutureType BrokerIDByBank + TThostFtdcBankAccountType BankSecuAcc + TThostFtdcPwdFlagType BankPwdFlag + TThostFtdcPwdFlagType SecuPwdFlag + TThostFtdcOperNoType OperNo + TThostFtdcRequestIDType RequestID + TThostFtdcTIDType TID + TThostFtdcTradeAmountType BankUseAmount + TThostFtdcTradeAmountType BankFetchAmount + TThostFtdcErrorIDType ErrorID + TThostFtdcErrorMsgType ErrorMsg + TThostFtdcLongIndividualNameType LongCustomerName + TThostFtdcDRIdentityIDType DRIdentityID + TThostFtdcFutureSerialType SecFutureSerial + cdef struct CThostFtdcExitEmergencyField: + TThostFtdcBrokerIDType BrokerID + cdef struct CThostFtdcInvestorPortfMarginModelField: + TThostFtdcBrokerIDType BrokerID + TThostFtdcInvestorIDType InvestorID + TThostFtdcInvestorIDType MarginModelID + cdef struct CThostFtdcInvestorPortfSettingField: + TThostFtdcExchangeIDType ExchangeID + TThostFtdcBrokerIDType BrokerID + TThostFtdcInvestorIDType InvestorID + TThostFtdcHedgeFlagType HedgeFlag + TThostFtdcBoolType UsePortf + cdef struct CThostFtdcQryInvestorPortfSettingField: + TThostFtdcExchangeIDType ExchangeID + TThostFtdcBrokerIDType BrokerID + TThostFtdcInvestorIDType InvestorID + cdef struct CThostFtdcUserPasswordUpdateFromSecField: + TThostFtdcBrokerIDType BrokerID + TThostFtdcUserIDType UserID + TThostFtdcPasswordType OldPassword + TThostFtdcPasswordType NewPassword + TThostFtdcDRIdentityIDType FromSec + cdef struct CThostFtdcSettlementInfoConfirmFromSecField: + TThostFtdcBrokerIDType BrokerID + TThostFtdcInvestorIDType InvestorID + TThostFtdcDateType ConfirmDate + TThostFtdcTimeType ConfirmTime + TThostFtdcDRIdentityIDType FromSec + cdef struct CThostFtdcTradingAccountPasswordUpdateFromSecField: + TThostFtdcBrokerIDType BrokerID + TThostFtdcAccountIDType AccountID + TThostFtdcPasswordType OldPassword + TThostFtdcPasswordType NewPassword + TThostFtdcCurrencyIDType CurrencyID + TThostFtdcDRIdentityIDType FromSec + cdef struct CThostFtdcRiskForbiddenRightField: + TThostFtdcBrokerIDType BrokerID + TThostFtdcInvestorIDType InvestorID + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcUserIDType UserID + cdef struct CThostFtdcInvestorInfoCommRecField: + TThostFtdcExchangeIDType ExchangeID + TThostFtdcBrokerIDType BrokerID + TThostFtdcInvestorIDType InvestorID + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcVolumeType OrderCount + TThostFtdcVolumeType OrderActionCount + TThostFtdcVolumeType ForQuoteCnt + TThostFtdcMoneyType InfoComm + TThostFtdcBoolType IsOptSeries + TThostFtdcProductIDType ProductID + TThostFtdcVolumeType InfoCnt + cdef struct CThostFtdcQryInvestorInfoCommRecField: + TThostFtdcInvestorIDType InvestorID + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcBrokerIDType BrokerID + cdef struct CThostFtdcCombLegField: + TThostFtdcInstrumentIDType CombInstrumentID + TThostFtdcLegIDType LegID + TThostFtdcInstrumentIDType LegInstrumentID + TThostFtdcDirectionType Direction + TThostFtdcLegMultipleType LegMultiple + TThostFtdcImplyLevelType ImplyLevel + cdef struct CThostFtdcQryCombLegField: + TThostFtdcInstrumentIDType LegInstrumentID + cdef struct CThostFtdcInputOffsetSettingField: + TThostFtdcBrokerIDType BrokerID + TThostFtdcInvestorIDType InvestorID + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcInstrumentIDType UnderlyingInstrID + TThostFtdcProductIDType ProductID + TThostFtdcOffsetTypeType OffsetType + TThostFtdcVolumeType Volume + TThostFtdcBoolType IsOffset + TThostFtdcRequestIDType RequestID + TThostFtdcUserIDType UserID + TThostFtdcExchangeIDType ExchangeID + TThostFtdcIPAddressType IPAddress + TThostFtdcMacAddressType MacAddress + cdef struct CThostFtdcOffsetSettingField: + TThostFtdcBrokerIDType BrokerID + TThostFtdcInvestorIDType InvestorID + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcInstrumentIDType UnderlyingInstrID + TThostFtdcProductIDType ProductID + TThostFtdcOffsetTypeType OffsetType + TThostFtdcVolumeType Volume + TThostFtdcBoolType IsOffset + TThostFtdcRequestIDType RequestID + TThostFtdcUserIDType UserID + TThostFtdcExchangeIDType ExchangeID + TThostFtdcIPAddressType IPAddress + TThostFtdcMacAddressType MacAddress + TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcExchangeInstIDType ExchangeSerialNo + TThostFtdcProductIDType ExchangeProductID + TThostFtdcParticipantIDType ParticipantID + TThostFtdcClientIDType ClientID + TThostFtdcTraderIDType TraderID + TThostFtdcInstallIDType InstallID + TThostFtdcOrderSubmitStatusType OrderSubmitStatus + TThostFtdcDateType TradingDay + TThostFtdcSettlementIDType SettlementID + TThostFtdcDateType InsertDate + TThostFtdcTimeType InsertTime + TThostFtdcTimeType CancelTime + TThostFtdcExecResultType ExecResult + TThostFtdcSequenceNoType SequenceNo + TThostFtdcFrontIDType FrontID + TThostFtdcSessionIDType SessionID + TThostFtdcErrorMsgType StatusMsg + TThostFtdcUserIDType ActiveUserID + TThostFtdcSequenceNoType BrokerOffsetSettingSeq + cdef struct CThostFtdcCancelOffsetSettingField: + TThostFtdcBrokerIDType BrokerID + TThostFtdcInvestorIDType InvestorID + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcInstrumentIDType UnderlyingInstrID + TThostFtdcProductIDType ProductID + TThostFtdcOffsetTypeType OffsetType + TThostFtdcVolumeType Volume + TThostFtdcBoolType IsOffset + TThostFtdcRequestIDType RequestID + TThostFtdcUserIDType UserID + TThostFtdcExchangeIDType ExchangeID + TThostFtdcIPAddressType IPAddress + TThostFtdcMacAddressType MacAddress + TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcExchangeInstIDType ExchangeSerialNo + TThostFtdcProductIDType ExchangeProductID + TThostFtdcTraderIDType TraderID + TThostFtdcInstallIDType InstallID + TThostFtdcParticipantIDType ParticipantID + TThostFtdcClientIDType ClientID + TThostFtdcOrderActionStatusType OrderActionStatus + TThostFtdcErrorMsgType StatusMsg + TThostFtdcOrderLocalIDType ActionLocalID + TThostFtdcDateType ActionDate + TThostFtdcTimeType ActionTime + cdef struct CThostFtdcQryOffsetSettingField: + TThostFtdcBrokerIDType BrokerID + TThostFtdcInvestorIDType InvestorID + TThostFtdcProductIDType ProductID + TThostFtdcOffsetTypeType OffsetType + cdef struct CThostFtdcAddrAppIDRelationField: + TThostFtdcBrokerIDType BrokerID + TThostFtdcIpAddrType Address + TThostFtdcDRIdentityIDType DRIdentityID + TThostFtdcAppIDType AppID + cdef struct CThostFtdcQryAddrAppIDRelationField: + TThostFtdcBrokerIDType BrokerID + cdef struct CThostFtdcFrontInfoField: + TThostFtdcAddressType FrontAddr + TThostFtdcQueryFreqType QryFreq + TThostFtdcQueryFreqType FTDPkgFreq diff --git a/ctpwrapper/headers/cMdAPI.pxd b/ctpwrapper/headers/cMdAPI.pxd index 2dfd2cd..161fabe 100644 --- a/ctpwrapper/headers/cMdAPI.pxd +++ b/ctpwrapper/headers/cMdAPI.pxd @@ -39,73 +39,73 @@ cdef extern from 'ThostFtdcMdApi.h': # 删除接口对象本身 # @remark 不再使用本接口对象时,调用该函数删除接口对象 - void Release() nogil except + + void Release() except + nogil # 初始化 # @remark 初始化运行环境,只有调用后,接口才开始工作 - void Init() nogil except + + void Init() except + nogil # 等待接口线程结束运行 # @return 线程退出代码 - int Join() nogil except + + int Join() except + nogil # 获取当前交易日 # @retrun 获取到的交易日 # @remark 只有登录成功后,才能得到正确的交易日 - const_char *GetTradingDay() nogil except + + const_char *GetTradingDay() except + nogil # 注册前置机网络地址 # @param pszFrontAddress:前置机网络地址。 # @remark 网络地址的格式为:“protocol://ipaddress:port”,如:”tcp://127.0.0.1:17001”。 # @remark “tcp”代表传输协议,“127.0.0.1”代表服务器地址。”17001”代表服务器端口号。 - void RegisterFront(char *pszFrontAddress) nogil except + + void RegisterFront(char *pszFrontAddress) except + nogil # 注册名字服务器网络地址 # @param pszNsAddress:名字服务器网络地址。 # @remark 网络地址的格式为:“protocol://ipaddress:port”,如:”tcp://127.0.0.1:12001”。 # @remark “tcp”代表传输协议,“127.0.0.1”代表服务器地址。”12001”代表服务器端口号。 # @remark RegisterNameServer优先于RegisterFront - void RegisterNameServer(char *pszNsAddress) nogil except + + void RegisterNameServer(char *pszNsAddress) except + nogil # 注册名字服务器用户信息 # @param pFensUserInfo:用户信息。 - void RegisterFensUserInfo(CThostFtdcFensUserInfoField *pFensUserInfo) nogil except + + void RegisterFensUserInfo(CThostFtdcFensUserInfoField *pFensUserInfo) except + nogil # 注册回调接口 # @param pSpi 派生自回调接口类的实例 - void RegisterSpi(CMdSpi *pSpi) nogil except + + void RegisterSpi(CMdSpi *pSpi) except + nogil # 订阅行情。 # @param ppInstrumentID 合约ID # @param nCount 要订阅/退订行情的合约个数 - int SubscribeMarketData(char *ppInstrumentID[], int nCount) nogil except + + int SubscribeMarketData(char *ppInstrumentID[], int nCount) except + nogil # 退订行情。 # @param ppInstrumentID 合约ID # @param nCount 要订阅/退订行情的合约个数 - int UnSubscribeMarketData(char *ppInstrumentID[], int nCount) nogil except + + int UnSubscribeMarketData(char *ppInstrumentID[], int nCount) except + nogil #订阅询价。 #@param ppInstrumentID 合约ID #@param nCount 要订阅/退订行情的合约个数 - int SubscribeForQuoteRsp(char *ppInstrumentID[], int nCount) nogil except + + int SubscribeForQuoteRsp(char *ppInstrumentID[], int nCount) except + nogil #退订询价。 #@param ppInstrumentID 合约ID #@param nCount 要订阅/退订行情的合约个数 - int UnSubscribeForQuoteRsp(char *ppInstrumentID[], int nCount) nogil except + + int UnSubscribeForQuoteRsp(char *ppInstrumentID[], int nCount) except + nogil # 用户登录请求 - int ReqUserLogin(CThostFtdcReqUserLoginField *pReqUserLoginField, int nRequestID) nogil except + + int ReqUserLogin(CThostFtdcReqUserLoginField *pReqUserLoginField, int nRequestID) except + nogil # 登出请求 - int ReqUserLogout(CThostFtdcUserLogoutField *pUserLogout, int nRequestID) nogil except + + int ReqUserLogout(CThostFtdcUserLogoutField *pUserLogout, int nRequestID) except + nogil # 请求查询组播合约 - int ReqQryMulticastInstrument(CThostFtdcQryMulticastInstrumentField *pQryMulticastInstrument, int nRequestID) nogil except + + int ReqQryMulticastInstrument(CThostFtdcQryMulticastInstrumentField *pQryMulticastInstrument, int nRequestID) except + nogil cdef extern from 'ThostFtdcMdApi.h' namespace "CThostFtdcMdApi": - CMdApi *CreateFtdcMdApi(const_char *pszFlowPath, cbool bIsUsingUdp, cbool bIsMulticast) nogil except + + CMdApi *CreateFtdcMdApi(const_char *pszFlowPath, cbool bIsUsingUdp, cbool bIsMulticast) except + nogil cdef extern from 'CMdAPI.h': diff --git a/ctpwrapper/headers/cTraderApi.pxd b/ctpwrapper/headers/cTraderApi.pxd index b95d2af..13a458a 100644 --- a/ctpwrapper/headers/cTraderApi.pxd +++ b/ctpwrapper/headers/cTraderApi.pxd @@ -22,49 +22,55 @@ from libc.string cimport const_char from .ThostFtdcUserApiStruct cimport * - cdef extern from "ThostFtdcTraderApi.h": cdef cppclass CTraderApi "CThostFtdcTraderApi": + @staticmethod const_char *GetApiVersion() # 删除接口对象本身 #@remark 不再使用本接口对象时,调用该函数删除接口对象 - void Release() nogil except + + void Release() except + nogil #初始化 #@remark 初始化运行环境,只有调用后,接口才开始工作 - void Init() nogil except + + void Init() except + nogil #等待接口线程结束运行 #@return 线程退出代码 - int Join() nogil except + + int Join() except + nogil #获取当前交易日 #@retrun 获取到的交易日 #@remark 只有登录成功后,才能得到正确的交易日 - const_char *GetTradingDay() nogil except + + const_char *GetTradingDay() except + nogil + + # 获取已连接的前置的信息 + # @param pFrontInfo:输入输出参数,用于存储获取到的前置信息,不能为空 + # @remark 连接成功后,可获取正确的前置地址信息 + # @remark 登录成功后,可获取正确的前置流控信息 + void GetFrontInfo(CThostFtdcFrontInfoField *pFrontInfo) except + nogil #注册前置机网络地址 #@param pszFrontAddress:前置机网络地址。 #@remark 网络地址的格式为:“protocol://ipaddress:port”,如:”tcp://127.0.0.1:17001”。 #@remark “tcp”代表传输协议,“127.0.0.1”代表服务器地址。”17001”代表服务器端口号。 - void RegisterFront(char *pszFrontAddress) nogil except + + void RegisterFront(char *pszFrontAddress) except + nogil #注册名字服务器网络地址 #@param pszNsAddress:名字服务器网络地址。 #@remark 网络地址的格式为:“protocol://ipaddress:port”,如:”tcp://127.0.0.1:12001”。 #@remark “tcp”代表传输协议,“127.0.0.1”代表服务器地址。”12001”代表服务器端口号。 #@remark RegisterNameServer优先于RegisterFront - void RegisterNameServer(char *pszNsAddress) nogil except + + void RegisterNameServer(char *pszNsAddress) except + nogil #注册名字服务器用户信息 #@param pFensUserInfo:用户信息。 - void RegisterFensUserInfo(CThostFtdcFensUserInfoField *pFensUserInfo) nogil except + + void RegisterFensUserInfo(CThostFtdcFensUserInfoField *pFensUserInfo) except + nogil #注册回调接口 #@param pSpi 派生自回调接口类的实例 - void RegisterSpi(CTraderSpi *pSpi) nogil except + + void RegisterSpi(CTraderSpi *pSpi) except + nogil #订阅私有流。 #@param nResumeType 私有流重传方式 @@ -72,7 +78,7 @@ cdef extern from "ThostFtdcTraderApi.h": # THOST_TERT_RESUME:从上次收到的续传 # THOST_TERT_QUICK:只传送登录后私有流的内容 #@remark 该方法要在Init方法前调用。若不调用则不会收到私有流的数据。 - void SubscribePrivateTopic(THOST_TE_RESUME_TYPE nResumeType) nogil except + + void SubscribePrivateTopic(THOST_TE_RESUME_TYPE nResumeType) except + nogil #订阅公共流。 #@param nResumeType 公共流重传方式 @@ -80,306 +86,371 @@ cdef extern from "ThostFtdcTraderApi.h": # THOST_TERT_RESUME:从上次收到的续传 # THOST_TERT_QUICK:只传送登录后公共流的内容 #@remark 该方法要在Init方法前调用。若不调用则不会收到公共流的数据。 - void SubscribePublicTopic(THOST_TE_RESUME_TYPE nResumeType) nogil except + + void SubscribePublicTopic(THOST_TE_RESUME_TYPE nResumeType) except + nogil #客户端认证请求 - int ReqAuthenticate(CThostFtdcReqAuthenticateField *pReqAuthenticateField, int nRequestID) nogil except + + int ReqAuthenticate(CThostFtdcReqAuthenticateField *pReqAuthenticateField, int nRequestID) except + nogil #注册用户终端信息,用于中继服务器多连接模式 #需要在终端认证成功后,用户登录前调用该接口 - int RegisterUserSystemInfo(CThostFtdcUserSystemInfoField *pUserSystemInfo) nogil except + + int RegisterUserSystemInfo(CThostFtdcUserSystemInfoField *pUserSystemInfo) except + nogil #上报用户终端信息,用于中继服务器操作员登录模式 # 操作员登录后,可以多次调用该接口上报客户信息 - int SubmitUserSystemInfo(CThostFtdcUserSystemInfoField *pUserSystemInfo) nogil except + + int SubmitUserSystemInfo(CThostFtdcUserSystemInfoField *pUserSystemInfo) except + nogil #用户登录请求 - int ReqUserLogin(CThostFtdcReqUserLoginField *pReqUserLoginField, int nRequestID) nogil except + + int ReqUserLogin(CThostFtdcReqUserLoginField *pReqUserLoginField, int nRequestID) except + nogil #登出请求 - int ReqUserLogout(CThostFtdcUserLogoutField *pUserLogout, int nRequestID) nogil except + + int ReqUserLogout(CThostFtdcUserLogoutField *pUserLogout, int nRequestID) except + nogil #用户口令更新请求 - int ReqUserPasswordUpdate(CThostFtdcUserPasswordUpdateField *pUserPasswordUpdate, int nRequestID) nogil except + + int ReqUserPasswordUpdate(CThostFtdcUserPasswordUpdateField *pUserPasswordUpdate, int nRequestID) except + nogil #资金账户口令更新请求 - int ReqTradingAccountPasswordUpdate(CThostFtdcTradingAccountPasswordUpdateField *pTradingAccountPasswordUpdate, int nRequestID) nogil except + + int ReqTradingAccountPasswordUpdate(CThostFtdcTradingAccountPasswordUpdateField *pTradingAccountPasswordUpdate, int nRequestID) except + nogil # 查询用户当前支持的认证模式 - int ReqUserAuthMethod(CThostFtdcReqUserAuthMethodField *pReqUserAuthMethod, int nRequestID) nogil except + + int ReqUserAuthMethod(CThostFtdcReqUserAuthMethodField *pReqUserAuthMethod, int nRequestID) except + nogil # 用户发出获取图形验证码请求 - int ReqGenUserCaptcha(CThostFtdcReqGenUserCaptchaField *pReqGenUserCaptcha, int nRequestID) nogil except + + int ReqGenUserCaptcha(CThostFtdcReqGenUserCaptchaField *pReqGenUserCaptcha, int nRequestID) except + nogil # 用户发出获取短信验证码请求 - int ReqGenUserText(CThostFtdcReqGenUserTextField *pReqGenUserText, int nRequestID) nogil except + + int ReqGenUserText(CThostFtdcReqGenUserTextField *pReqGenUserText, int nRequestID) except + nogil # 用户发出带有图片验证码的登陆请求 - int ReqUserLoginWithCaptcha(CThostFtdcReqUserLoginWithCaptchaField *pReqUserLoginWithCaptcha, int nRequestID) nogil except + + int ReqUserLoginWithCaptcha(CThostFtdcReqUserLoginWithCaptchaField *pReqUserLoginWithCaptcha, int nRequestID) except + nogil # 用户发出带有短信验证码的登陆请求 - int ReqUserLoginWithText(CThostFtdcReqUserLoginWithTextField *pReqUserLoginWithText, int nRequestID) nogil except + + int ReqUserLoginWithText(CThostFtdcReqUserLoginWithTextField *pReqUserLoginWithText, int nRequestID) except + nogil # 用户发出带有动态口令的登陆请求 - int ReqUserLoginWithOTP(CThostFtdcReqUserLoginWithOTPField *pReqUserLoginWithOTP, int nRequestID) nogil except + + int ReqUserLoginWithOTP(CThostFtdcReqUserLoginWithOTPField *pReqUserLoginWithOTP, int nRequestID) except + nogil #报单录入请求 - int ReqOrderInsert(CThostFtdcInputOrderField *pInputOrder, int nRequestID) nogil except + + int ReqOrderInsert(CThostFtdcInputOrderField *pInputOrder, int nRequestID) except + nogil #预埋单录入请求 - int ReqParkedOrderInsert(CThostFtdcParkedOrderField *pParkedOrder, int nRequestID) nogil except + + int ReqParkedOrderInsert(CThostFtdcParkedOrderField *pParkedOrder, int nRequestID) except + nogil #预埋撤单录入请求 - int ReqParkedOrderAction(CThostFtdcParkedOrderActionField *pParkedOrderAction, int nRequestID) nogil except + + int ReqParkedOrderAction(CThostFtdcParkedOrderActionField *pParkedOrderAction, int nRequestID) except + nogil #报单操作请求 - int ReqOrderAction(CThostFtdcInputOrderActionField *pInputOrderAction, int nRequestID) nogil except + + int ReqOrderAction(CThostFtdcInputOrderActionField *pInputOrderAction, int nRequestID) except + nogil #查询最大报单数量请求 - int ReqQryMaxOrderVolume(CThostFtdcQryMaxOrderVolumeField *pQryMaxOrderVolume, int nRequestID) nogil except + + int ReqQryMaxOrderVolume(CThostFtdcQryMaxOrderVolumeField *pQryMaxOrderVolume, int nRequestID) except + nogil #投资者结算结果确认 - int ReqSettlementInfoConfirm(CThostFtdcSettlementInfoConfirmField *pSettlementInfoConfirm, int nRequestID) nogil except + + int ReqSettlementInfoConfirm(CThostFtdcSettlementInfoConfirmField *pSettlementInfoConfirm, int nRequestID) except + nogil #请求删除预埋单 - int ReqRemoveParkedOrder(CThostFtdcRemoveParkedOrderField *pRemoveParkedOrder, int nRequestID) nogil except + + int ReqRemoveParkedOrder(CThostFtdcRemoveParkedOrderField *pRemoveParkedOrder, int nRequestID) except + nogil #请求删除预埋撤单 - int ReqRemoveParkedOrderAction(CThostFtdcRemoveParkedOrderActionField *pRemoveParkedOrderAction, int nRequestID) nogil except + + int ReqRemoveParkedOrderAction(CThostFtdcRemoveParkedOrderActionField *pRemoveParkedOrderAction, int nRequestID) except + nogil #执行宣告录入请求 - int ReqExecOrderInsert(CThostFtdcInputExecOrderField *pInputExecOrder, int nRequestID) nogil except + + int ReqExecOrderInsert(CThostFtdcInputExecOrderField *pInputExecOrder, int nRequestID) except + nogil #执行宣告操作请求 - int ReqExecOrderAction(CThostFtdcInputExecOrderActionField *pInputExecOrderAction, int nRequestID) nogil except + + int ReqExecOrderAction(CThostFtdcInputExecOrderActionField *pInputExecOrderAction, int nRequestID) except + nogil #询价录入请求 - int ReqForQuoteInsert(CThostFtdcInputForQuoteField *pInputForQuote, int nRequestID) nogil except + + int ReqForQuoteInsert(CThostFtdcInputForQuoteField *pInputForQuote, int nRequestID) except + nogil #报价录入请求 - int ReqQuoteInsert(CThostFtdcInputQuoteField *pInputQuote, int nRequestID) nogil except + + int ReqQuoteInsert(CThostFtdcInputQuoteField *pInputQuote, int nRequestID) except + nogil #报价操作请求 - int ReqQuoteAction(CThostFtdcInputQuoteActionField *pInputQuoteAction, int nRequestID) nogil except + + int ReqQuoteAction(CThostFtdcInputQuoteActionField *pInputQuoteAction, int nRequestID) except + nogil #批量报单操作请求 - int ReqBatchOrderAction(CThostFtdcInputBatchOrderActionField *pInputBatchOrderAction, int nRequestID) nogil except + + int ReqBatchOrderAction(CThostFtdcInputBatchOrderActionField *pInputBatchOrderAction, int nRequestID) except + nogil #期权自对冲录入请求 - int ReqOptionSelfCloseInsert(CThostFtdcInputOptionSelfCloseField *pInputOptionSelfClose, int nRequestID) nogil except + + int ReqOptionSelfCloseInsert(CThostFtdcInputOptionSelfCloseField *pInputOptionSelfClose, int nRequestID) except + nogil #期权自对冲操作请求 - int ReqOptionSelfCloseAction(CThostFtdcInputOptionSelfCloseActionField *pInputOptionSelfCloseAction, int nRequestID) nogil except + + int ReqOptionSelfCloseAction(CThostFtdcInputOptionSelfCloseActionField *pInputOptionSelfCloseAction, int nRequestID) except + nogil #申请组合录入请求 - int ReqCombActionInsert(CThostFtdcInputCombActionField *pInputCombAction, int nRequestID) nogil except + + int ReqCombActionInsert(CThostFtdcInputCombActionField *pInputCombAction, int nRequestID) except + nogil #请求查询报单 - int ReqQryOrder(CThostFtdcQryOrderField *pQryOrder, int nRequestID) nogil except + + int ReqQryOrder(CThostFtdcQryOrderField *pQryOrder, int nRequestID) except + nogil #请求查询成交 - int ReqQryTrade(CThostFtdcQryTradeField *pQryTrade, int nRequestID) nogil except + + int ReqQryTrade(CThostFtdcQryTradeField *pQryTrade, int nRequestID) except + nogil #请求查询投资者持仓 - int ReqQryInvestorPosition(CThostFtdcQryInvestorPositionField *pQryInvestorPosition, int nRequestID) nogil except + + int ReqQryInvestorPosition(CThostFtdcQryInvestorPositionField *pQryInvestorPosition, int nRequestID) except + nogil #请求查询资金账户 - int ReqQryTradingAccount(CThostFtdcQryTradingAccountField *pQryTradingAccount, int nRequestID) nogil except + + int ReqQryTradingAccount(CThostFtdcQryTradingAccountField *pQryTradingAccount, int nRequestID) except + nogil #请求查询投资者 - int ReqQryInvestor(CThostFtdcQryInvestorField *pQryInvestor, int nRequestID) nogil except + + int ReqQryInvestor(CThostFtdcQryInvestorField *pQryInvestor, int nRequestID) except + nogil #请求查询交易编码 - int ReqQryTradingCode(CThostFtdcQryTradingCodeField *pQryTradingCode, int nRequestID) nogil except + + int ReqQryTradingCode(CThostFtdcQryTradingCodeField *pQryTradingCode, int nRequestID) except + nogil #请求查询合约保证金率 - int ReqQryInstrumentMarginRate(CThostFtdcQryInstrumentMarginRateField *pQryInstrumentMarginRate, int nRequestID) nogil except + + int ReqQryInstrumentMarginRate(CThostFtdcQryInstrumentMarginRateField *pQryInstrumentMarginRate, int nRequestID) except + nogil #请求查询合约手续费率 - int ReqQryInstrumentCommissionRate(CThostFtdcQryInstrumentCommissionRateField *pQryInstrumentCommissionRate, int nRequestID) nogil except + + int ReqQryInstrumentCommissionRate(CThostFtdcQryInstrumentCommissionRateField *pQryInstrumentCommissionRate, int nRequestID) except + nogil #请求查询交易所 - int ReqQryExchange(CThostFtdcQryExchangeField *pQryExchange, int nRequestID) nogil except + + int ReqQryExchange(CThostFtdcQryExchangeField *pQryExchange, int nRequestID) except + nogil #请求查询产品 - int ReqQryProduct(CThostFtdcQryProductField *pQryProduct, int nRequestID) nogil except + + int ReqQryProduct(CThostFtdcQryProductField *pQryProduct, int nRequestID) except + nogil #请求查询合约 - int ReqQryInstrument(CThostFtdcQryInstrumentField *pQryInstrument, int nRequestID) nogil except + + int ReqQryInstrument(CThostFtdcQryInstrumentField *pQryInstrument, int nRequestID) except + nogil #请求查询行情 - int ReqQryDepthMarketData(CThostFtdcQryDepthMarketDataField *pQryDepthMarketData, int nRequestID) nogil except + + int ReqQryDepthMarketData(CThostFtdcQryDepthMarketDataField *pQryDepthMarketData, int nRequestID) except + nogil # 请求查询交易员报盘机 - int ReqQryTraderOffer(CThostFtdcQryTraderOfferField *pQryTraderOffer, int nRequestID) nogil except + + int ReqQryTraderOffer(CThostFtdcQryTraderOfferField *pQryTraderOffer, int nRequestID) except + nogil #请求查询投资者结算结果 - int ReqQrySettlementInfo(CThostFtdcQrySettlementInfoField *pQrySettlementInfo, int nRequestID) nogil except + + int ReqQrySettlementInfo(CThostFtdcQrySettlementInfoField *pQrySettlementInfo, int nRequestID) except + nogil #请求查询转帐银行 - int ReqQryTransferBank(CThostFtdcQryTransferBankField *pQryTransferBank, int nRequestID) nogil except + + int ReqQryTransferBank(CThostFtdcQryTransferBankField *pQryTransferBank, int nRequestID) except + nogil #请求查询投资者持仓明细 - int ReqQryInvestorPositionDetail(CThostFtdcQryInvestorPositionDetailField *pQryInvestorPositionDetail, int nRequestID) nogil except + + int ReqQryInvestorPositionDetail(CThostFtdcQryInvestorPositionDetailField *pQryInvestorPositionDetail, int nRequestID) except + nogil #请求查询客户通知 - int ReqQryNotice(CThostFtdcQryNoticeField *pQryNotice, int nRequestID) nogil except + + int ReqQryNotice(CThostFtdcQryNoticeField *pQryNotice, int nRequestID) except + nogil #请求查询结算信息确认 - int ReqQrySettlementInfoConfirm(CThostFtdcQrySettlementInfoConfirmField *pQrySettlementInfoConfirm, int nRequestID) nogil except + + int ReqQrySettlementInfoConfirm(CThostFtdcQrySettlementInfoConfirmField *pQrySettlementInfoConfirm, int nRequestID) except + nogil #请求查询投资者持仓明细 - int ReqQryInvestorPositionCombineDetail(CThostFtdcQryInvestorPositionCombineDetailField *pQryInvestorPositionCombineDetail, int nRequestID) nogil except + + int ReqQryInvestorPositionCombineDetail(CThostFtdcQryInvestorPositionCombineDetailField *pQryInvestorPositionCombineDetail, int nRequestID) except + nogil #请求查询保证金监管系统经纪公司资金账户密钥 - int ReqQryCFMMCTradingAccountKey(CThostFtdcQryCFMMCTradingAccountKeyField *pQryCFMMCTradingAccountKey, int nRequestID) nogil except + + int ReqQryCFMMCTradingAccountKey(CThostFtdcQryCFMMCTradingAccountKeyField *pQryCFMMCTradingAccountKey, int nRequestID) except + nogil #请求查询仓单折抵信息 - int ReqQryEWarrantOffset(CThostFtdcQryEWarrantOffsetField *pQryEWarrantOffset, int nRequestID) nogil except + + int ReqQryEWarrantOffset(CThostFtdcQryEWarrantOffsetField *pQryEWarrantOffset, int nRequestID) except + nogil #请求查询投资者品种/跨品种保证金 - int ReqQryInvestorProductGroupMargin(CThostFtdcQryInvestorProductGroupMarginField *pQryInvestorProductGroupMargin, int nRequestID) nogil except + + int ReqQryInvestorProductGroupMargin(CThostFtdcQryInvestorProductGroupMarginField *pQryInvestorProductGroupMargin, int nRequestID) except + nogil #请求查询交易所保证金率 - int ReqQryExchangeMarginRate(CThostFtdcQryExchangeMarginRateField *pQryExchangeMarginRate, int nRequestID) nogil except + + int ReqQryExchangeMarginRate(CThostFtdcQryExchangeMarginRateField *pQryExchangeMarginRate, int nRequestID) except + nogil #请求查询交易所调整保证金率 - int ReqQryExchangeMarginRateAdjust(CThostFtdcQryExchangeMarginRateAdjustField *pQryExchangeMarginRateAdjust, int nRequestID) nogil except + + int ReqQryExchangeMarginRateAdjust(CThostFtdcQryExchangeMarginRateAdjustField *pQryExchangeMarginRateAdjust, int nRequestID) except + nogil #请求查询汇率 - int ReqQryExchangeRate(CThostFtdcQryExchangeRateField *pQryExchangeRate, int nRequestID) nogil except + + int ReqQryExchangeRate(CThostFtdcQryExchangeRateField *pQryExchangeRate, int nRequestID) except + nogil #请求查询二级代理操作员银期权限 - int ReqQrySecAgentACIDMap(CThostFtdcQrySecAgentACIDMapField *pQrySecAgentACIDMap, int nRequestID) nogil except + + int ReqQrySecAgentACIDMap(CThostFtdcQrySecAgentACIDMapField *pQrySecAgentACIDMap, int nRequestID) except + nogil #请求查询产品报价汇率 - int ReqQryProductExchRate(CThostFtdcQryProductExchRateField *pQryProductExchRate, int nRequestID) nogil except + + int ReqQryProductExchRate(CThostFtdcQryProductExchRateField *pQryProductExchRate, int nRequestID) except + nogil #请求查询产品组 - int ReqQryProductGroup(CThostFtdcQryProductGroupField *pQryProductGroup, int nRequestID) nogil except + + int ReqQryProductGroup(CThostFtdcQryProductGroupField *pQryProductGroup, int nRequestID) except + nogil #请求查询做市商合约手续费率 - int ReqQryMMInstrumentCommissionRate(CThostFtdcQryMMInstrumentCommissionRateField *pQryMMInstrumentCommissionRate, int nRequestID) nogil except + + int ReqQryMMInstrumentCommissionRate(CThostFtdcQryMMInstrumentCommissionRateField *pQryMMInstrumentCommissionRate, int nRequestID) except + nogil #请求查询做市商期权合约手续费 - int ReqQryMMOptionInstrCommRate(CThostFtdcQryMMOptionInstrCommRateField *pQryMMOptionInstrCommRate, int nRequestID) nogil except + + int ReqQryMMOptionInstrCommRate(CThostFtdcQryMMOptionInstrCommRateField *pQryMMOptionInstrCommRate, int nRequestID) except + nogil #请求查询报单手续费 - int ReqQryInstrumentOrderCommRate(CThostFtdcQryInstrumentOrderCommRateField *pQryInstrumentOrderCommRate, int nRequestID) nogil except + + int ReqQryInstrumentOrderCommRate(CThostFtdcQryInstrumentOrderCommRateField *pQryInstrumentOrderCommRate, int nRequestID) except + nogil #请求查询资金账户 - int ReqQrySecAgentTradingAccount(CThostFtdcQryTradingAccountField *pQryTradingAccount, int nRequestID) nogil except + + int ReqQrySecAgentTradingAccount(CThostFtdcQryTradingAccountField *pQryTradingAccount, int nRequestID) except + nogil #请求查询二级代理商资金校验模式 - int ReqQrySecAgentCheckMode(CThostFtdcQrySecAgentCheckModeField *pQrySecAgentCheckMode, int nRequestID) nogil except + + int ReqQrySecAgentCheckMode(CThostFtdcQrySecAgentCheckModeField *pQrySecAgentCheckMode, int nRequestID) except + nogil #请求查询二级代理商信息 - int ReqQrySecAgentTradeInfo(CThostFtdcQrySecAgentTradeInfoField *pQrySecAgentTradeInfo, int nRequestID) nogil except + + int ReqQrySecAgentTradeInfo(CThostFtdcQrySecAgentTradeInfoField *pQrySecAgentTradeInfo, int nRequestID) except + nogil #请求查询期权交易成本 - int ReqQryOptionInstrTradeCost(CThostFtdcQryOptionInstrTradeCostField *pQryOptionInstrTradeCost, int nRequestID) nogil except + + int ReqQryOptionInstrTradeCost(CThostFtdcQryOptionInstrTradeCostField *pQryOptionInstrTradeCost, int nRequestID) except + nogil #请求查询期权合约手续费 - int ReqQryOptionInstrCommRate(CThostFtdcQryOptionInstrCommRateField *pQryOptionInstrCommRate, int nRequestID) nogil except + + int ReqQryOptionInstrCommRate(CThostFtdcQryOptionInstrCommRateField *pQryOptionInstrCommRate, int nRequestID) except + nogil #请求查询执行宣告 - int ReqQryExecOrder(CThostFtdcQryExecOrderField *pQryExecOrder, int nRequestID) nogil except + + int ReqQryExecOrder(CThostFtdcQryExecOrderField *pQryExecOrder, int nRequestID) except + nogil #请求查询询价 - int ReqQryForQuote(CThostFtdcQryForQuoteField *pQryForQuote, int nRequestID) nogil except + + int ReqQryForQuote(CThostFtdcQryForQuoteField *pQryForQuote, int nRequestID) except + nogil #请求查询报价 - int ReqQryQuote(CThostFtdcQryQuoteField *pQryQuote, int nRequestID) nogil except + + int ReqQryQuote(CThostFtdcQryQuoteField *pQryQuote, int nRequestID) except + nogil #请求查询期权自对冲 - int ReqQryOptionSelfClose(CThostFtdcQryOptionSelfCloseField *pQryOptionSelfClose, int nRequestID) nogil except + + int ReqQryOptionSelfClose(CThostFtdcQryOptionSelfCloseField *pQryOptionSelfClose, int nRequestID) except + nogil #请求查询投资单元 - int ReqQryInvestUnit(CThostFtdcQryInvestUnitField *pQryInvestUnit, int nRequestID) nogil except + + int ReqQryInvestUnit(CThostFtdcQryInvestUnitField *pQryInvestUnit, int nRequestID) except + nogil #请求查询组合合约安全系数 - int ReqQryCombInstrumentGuard(CThostFtdcQryCombInstrumentGuardField *pQryCombInstrumentGuard, int nRequestID) nogil except + + int ReqQryCombInstrumentGuard(CThostFtdcQryCombInstrumentGuardField *pQryCombInstrumentGuard, int nRequestID) except + nogil #请求查询申请组合 - int ReqQryCombAction(CThostFtdcQryCombActionField *pQryCombAction, int nRequestID) nogil except + + int ReqQryCombAction(CThostFtdcQryCombActionField *pQryCombAction, int nRequestID) except + nogil #请求查询转帐流水 - int ReqQryTransferSerial(CThostFtdcQryTransferSerialField *pQryTransferSerial, int nRequestID) nogil except + + int ReqQryTransferSerial(CThostFtdcQryTransferSerialField *pQryTransferSerial, int nRequestID) except + nogil #请求查询银期签约关系 - int ReqQryAccountregister(CThostFtdcQryAccountregisterField *pQryAccountregister, int nRequestID) nogil except + + int ReqQryAccountregister(CThostFtdcQryAccountregisterField *pQryAccountregister, int nRequestID) except + nogil #请求查询签约银行 - int ReqQryContractBank(CThostFtdcQryContractBankField *pQryContractBank, int nRequestID) nogil except + + int ReqQryContractBank(CThostFtdcQryContractBankField *pQryContractBank, int nRequestID) except + nogil #请求查询预埋单 - int ReqQryParkedOrder(CThostFtdcQryParkedOrderField *pQryParkedOrder, int nRequestID) nogil except + + int ReqQryParkedOrder(CThostFtdcQryParkedOrderField *pQryParkedOrder, int nRequestID) except + nogil #请求查询预埋撤单 - int ReqQryParkedOrderAction(CThostFtdcQryParkedOrderActionField *pQryParkedOrderAction, int nRequestID) nogil except + + int ReqQryParkedOrderAction(CThostFtdcQryParkedOrderActionField *pQryParkedOrderAction, int nRequestID) except + nogil #请求查询交易通知 - int ReqQryTradingNotice(CThostFtdcQryTradingNoticeField *pQryTradingNotice, int nRequestID) nogil except + + int ReqQryTradingNotice(CThostFtdcQryTradingNoticeField *pQryTradingNotice, int nRequestID) except + nogil #请求查询经纪公司交易参数 - int ReqQryBrokerTradingParams(CThostFtdcQryBrokerTradingParamsField *pQryBrokerTradingParams, int nRequestID) nogil except + + int ReqQryBrokerTradingParams(CThostFtdcQryBrokerTradingParamsField *pQryBrokerTradingParams, int nRequestID) except + nogil #请求查询经纪公司交易算法 - int ReqQryBrokerTradingAlgos(CThostFtdcQryBrokerTradingAlgosField *pQryBrokerTradingAlgos, int nRequestID) nogil except + + int ReqQryBrokerTradingAlgos(CThostFtdcQryBrokerTradingAlgosField *pQryBrokerTradingAlgos, int nRequestID) except + nogil #请求查询监控中心用户令牌 - int ReqQueryCFMMCTradingAccountToken(CThostFtdcQueryCFMMCTradingAccountTokenField *pQueryCFMMCTradingAccountToken, int nRequestID) nogil except + + int ReqQueryCFMMCTradingAccountToken(CThostFtdcQueryCFMMCTradingAccountTokenField *pQueryCFMMCTradingAccountToken, int nRequestID) except + nogil #期货发起银行资金转期货请求 - int ReqFromBankToFutureByFuture(CThostFtdcReqTransferField *pReqTransfer, int nRequestID) nogil except + + int ReqFromBankToFutureByFuture(CThostFtdcReqTransferField *pReqTransfer, int nRequestID) except + nogil #期货发起期货资金转银行请求 - int ReqFromFutureToBankByFuture(CThostFtdcReqTransferField *pReqTransfer, int nRequestID) nogil except + + int ReqFromFutureToBankByFuture(CThostFtdcReqTransferField *pReqTransfer, int nRequestID) except + nogil #期货发起查询银行余额请求 - int ReqQueryBankAccountMoneyByFuture(CThostFtdcReqQueryAccountField *pReqQueryAccount, int nRequestID) nogil except + + int ReqQueryBankAccountMoneyByFuture(CThostFtdcReqQueryAccountField *pReqQueryAccount, int nRequestID) except + nogil # 请求查询分类合约 - int ReqQryClassifiedInstrument(CThostFtdcQryClassifiedInstrumentField *pQryClassifiedInstrument, int nRequestID) nogil except + + int ReqQryClassifiedInstrument(CThostFtdcQryClassifiedInstrumentField *pQryClassifiedInstrument, int nRequestID) except + nogil # 请求组合优惠比例 - int ReqQryCombPromotionParam(CThostFtdcQryCombPromotionParamField *pQryCombPromotionParam, int nRequestID) nogil except + + int ReqQryCombPromotionParam(CThostFtdcQryCombPromotionParamField *pQryCombPromotionParam, int nRequestID) except + nogil # 投资者风险结算持仓查询 - int ReqQryRiskSettleInvstPosition(CThostFtdcQryRiskSettleInvstPositionField *pQryRiskSettleInvstPosition, int nRequestID) nogil except + + int ReqQryRiskSettleInvstPosition(CThostFtdcQryRiskSettleInvstPositionField *pQryRiskSettleInvstPosition, int nRequestID) except + nogil # 风险结算产品查询 - int ReqQryRiskSettleProductStatus(CThostFtdcQryRiskSettleProductStatusField *pQryRiskSettleProductStatus, int nRequestID) nogil except + + int ReqQryRiskSettleProductStatus(CThostFtdcQryRiskSettleProductStatusField *pQryRiskSettleProductStatus, int nRequestID) except + nogil # SPBM期货合约参数查询 - int ReqQrySPBMFutureParameter(CThostFtdcQrySPBMFutureParameterField *pQrySPBMFutureParameter, int nRequestID) nogil except + + int ReqQrySPBMFutureParameter(CThostFtdcQrySPBMFutureParameterField *pQrySPBMFutureParameter, int nRequestID) except + nogil # SPBM期权合约参数查询 - int ReqQrySPBMOptionParameter(CThostFtdcQrySPBMOptionParameterField *pQrySPBMOptionParameter, int nRequestID) nogil except + + int ReqQrySPBMOptionParameter(CThostFtdcQrySPBMOptionParameterField *pQrySPBMOptionParameter, int nRequestID) except + nogil # SPBM品种内对锁仓折扣参数查询 - int ReqQrySPBMIntraParameter(CThostFtdcQrySPBMIntraParameterField *pQrySPBMIntraParameter, int nRequestID) nogil except + + int ReqQrySPBMIntraParameter(CThostFtdcQrySPBMIntraParameterField *pQrySPBMIntraParameter, int nRequestID) except + nogil # SPBM跨品种抵扣参数查询 - int ReqQrySPBMInterParameter(CThostFtdcQrySPBMInterParameterField *pQrySPBMInterParameter, int nRequestID) nogil except + + int ReqQrySPBMInterParameter(CThostFtdcQrySPBMInterParameterField *pQrySPBMInterParameter, int nRequestID) except + nogil # SPBM组合保证金套餐查询 - int ReqQrySPBMPortfDefinition(CThostFtdcQrySPBMPortfDefinitionField *pQrySPBMPortfDefinition, int nRequestID) nogil except + + int ReqQrySPBMPortfDefinition(CThostFtdcQrySPBMPortfDefinitionField *pQrySPBMPortfDefinition, int nRequestID) except + nogil # 投资者SPBM套餐选择查询 - int ReqQrySPBMInvestorPortfDef(CThostFtdcQrySPBMInvestorPortfDefField *pQrySPBMInvestorPortfDef, int nRequestID) nogil except + + int ReqQrySPBMInvestorPortfDef(CThostFtdcQrySPBMInvestorPortfDefField *pQrySPBMInvestorPortfDef, int nRequestID) except + nogil # 投资者新型组合保证金系数查询 - int ReqQryInvestorPortfMarginRatio(CThostFtdcQryInvestorPortfMarginRatioField *pQryInvestorPortfMarginRatio, int nRequestID) nogil except + + int ReqQryInvestorPortfMarginRatio(CThostFtdcQryInvestorPortfMarginRatioField *pQryInvestorPortfMarginRatio, int nRequestID) except + nogil # 投资者产品SPBM明细查询 - int ReqQryInvestorProdSPBMDetail(CThostFtdcQryInvestorProdSPBMDetailField *pQryInvestorProdSPBMDetail, int nRequestID) nogil except + + int ReqQryInvestorProdSPBMDetail(CThostFtdcQryInvestorProdSPBMDetailField *pQryInvestorProdSPBMDetail, int nRequestID) except + nogil + + # 投资者商品组SPMM记录查询 + int ReqQryInvestorCommoditySPMMMargin(CThostFtdcQryInvestorCommoditySPMMMarginField *pQryInvestorCommoditySPMMMargin, int nRequestID) except + nogil + + # 投资者商品群SPMM记录查询 + int ReqQryInvestorCommodityGroupSPMMMargin(CThostFtdcQryInvestorCommodityGroupSPMMMarginField *pQryInvestorCommodityGroupSPMMMargin, int nRequestID) except + nogil + + # SPMM合约参数查询 + int ReqQrySPMMInstParam(CThostFtdcQrySPMMInstParamField *pQrySPMMInstParam, int nRequestID) except + nogil + + # SPMM产品参数查询 + int ReqQrySPMMProductParam(CThostFtdcQrySPMMProductParamField *pQrySPMMProductParam, int nRequestID) except + nogil + + # SPBM附加跨品种抵扣参数查询 + int ReqQrySPBMAddOnInterParameter(CThostFtdcQrySPBMAddOnInterParameterField *pQrySPBMAddOnInterParameter, int nRequestID) except + nogil + + # RCAMS产品组合信息查询 + int ReqQryRCAMSCombProductInfo(CThostFtdcQryRCAMSCombProductInfoField *pQryRCAMSCombProductInfo, int nRequestID) except + nogil + + # RCAMS同合约风险对冲参数查询 + int ReqQryRCAMSInstrParameter(CThostFtdcQryRCAMSInstrParameterField *pQryRCAMSInstrParameter, int nRequestID) except + nogil + + # RCAMS品种内风险对冲参数查询 + int ReqQryRCAMSIntraParameter(CThostFtdcQryRCAMSIntraParameterField *pQryRCAMSIntraParameter, int nRequestID) except + nogil + + # RCAMS跨品种风险折抵参数查询 + int ReqQryRCAMSInterParameter(CThostFtdcQryRCAMSInterParameterField *pQryRCAMSInterParameter, int nRequestID) except + nogil + + # RCAMS空头期权风险调整参数查询 + int ReqQryRCAMSShortOptAdjustParam(CThostFtdcQryRCAMSShortOptAdjustParamField *pQryRCAMSShortOptAdjustParam, int nRequestID) except + nogil + + # RCAMS策略组合持仓查询 + int ReqQryRCAMSInvestorCombPosition(CThostFtdcQryRCAMSInvestorCombPositionField *pQryRCAMSInvestorCombPosition, int nRequestID) except + nogil + + # 投资者品种RCAMS保证金查询 + int ReqQryInvestorProdRCAMSMargin(CThostFtdcQryInvestorProdRCAMSMarginField *pQryInvestorProdRCAMSMargin, int nRequestID) except + nogil + + # RULE合约保证金参数查询 + int ReqQryRULEInstrParameter(CThostFtdcQryRULEInstrParameterField *pQryRULEInstrParameter, int nRequestID) except + nogil + + # RULE品种内对锁仓折扣参数查询 + int ReqQryRULEIntraParameter(CThostFtdcQryRULEIntraParameterField *pQryRULEIntraParameter, int nRequestID) except + nogil + + # RULE跨品种抵扣参数查询 + int ReqQryRULEInterParameter(CThostFtdcQryRULEInterParameterField *pQryRULEInterParameter, int nRequestID) except + nogil + + # 投资者产品RULE保证金查询 + int ReqQryInvestorProdRULEMargin(CThostFtdcQryInvestorProdRULEMarginField *pQryInvestorProdRULEMargin, int nRequestID) except + nogil + + # 投资者新型组合保证金开关查询 + int ReqQryInvestorPortfSetting(CThostFtdcQryInvestorPortfSettingField *pQryInvestorPortfSetting, int nRequestID) except + nogil + + # 投资者申报费阶梯收取记录查询 + int ReqQryInvestorInfoCommRec(CThostFtdcQryInvestorInfoCommRecField *pQryInvestorInfoCommRec, int nRequestID) except + nogil + + # 组合腿信息查询 + int ReqQryCombLeg(CThostFtdcQryCombLegField *pQryCombLeg, int nRequestID) except + nogil + + # 对冲设置请求 + int ReqOffsetSetting(CThostFtdcInputOffsetSettingField *pInputOffsetSetting, int nRequestID) except + nogil + + # 对冲设置撤销请求 + int ReqCancelOffsetSetting(CThostFtdcInputOffsetSettingField *pInputOffsetSetting, int nRequestID) except + nogil + # 投资者对冲设置查询 + int ReqQryOffsetSetting(CThostFtdcQryOffsetSettingField *pQryOffsetSetting, int nRequestID) except + nogil cdef extern from "ThostFtdcTraderApi.h" namespace "CThostFtdcTraderApi": - CTraderApi *CreateFtdcTraderApi(const_char *pszFlowPath) nogil except + + CTraderApi *CreateFtdcTraderApi(const_char *pszFlowPath) except + nogil cdef extern from "CTraderAPI.h": cdef cppclass CTraderSpi: diff --git a/setup.py b/setup.py index 6c39ab5..c4881ff 100755 --- a/setup.py +++ b/setup.py @@ -97,7 +97,7 @@ def find_version(*file_paths): setup( name="ctpwrapper", version=find_version("ctpwrapper", "__init__.py"), - description="CTP client v6.6.5", + description="CTP client v6.7.9", long_description=codecs.open("README.md", encoding="utf-8").read(), long_description_content_type='text/markdown', license="LGPLv3", @@ -109,7 +109,7 @@ def find_version(*file_paths): platforms=["win32", "linux"], packages=["ctpwrapper"], package_data={"": package_data}, - python_requires=">=3.7", + python_requires=">=3.9", # cython: binding=True # binding = true for inspect get callargs ext_modules=cythonize(ext_modules, @@ -120,19 +120,17 @@ def find_version(*file_paths): classifiers=[ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", - "License :: OSI Approved", - "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", "Operating System :: POSIX", "Operating System :: Microsoft", "Operating System :: Microsoft :: Windows", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", - "Programming Language :: Python :: 3.7", - "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Programming Language :: Python :: Implementation", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy",