diff --git a/.travis.yml b/.travis.yml index 28a7276..5549b9e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,21 +2,16 @@ language: python dist: focal -matrix: +jobs: include: # others still work and don't install python3.7 - python: 'pypy3.6-7.3.2' - sudo: required - python: 'pypy3.7-7.3.2' - sudo: required - python: 3.6 - sudo: required - python: 3.7 - sudo: required - python: 3.8 - sudo: required - python: 3.9 - sudo: required + install: - python -c "import struct; print(struct.calcsize('P') * 8)" @@ -32,7 +27,7 @@ before_deploy: "echo 'ready'" deploy: provider: pypi - user: nooperpudd + username: nooperpudd password: secure: vdY6WCJCvOS8W0mNC2z/bBDg2OVBss1IFg8BSH25NuziCTBEKbUi3BAwOdq45Ei24r5+2yVjKpAyhXSis8AvdVHBrM84IzpJQHdSLyTVJMexdT/830528IlyIhGVBGROCSIznFXIbfVvcyuTDBhAgBUj4xanjHnLJLMJsqpY8LI52hjGvANWRupp+czpsQTzYL5IVA7WMRoUBvKn7FzBs8ZwtssyeSsv0Ju40r5A942sXW/yjg3mDGF9RWgYaQJMl4VYpYKR7Ck4I0e51axjksZVxggIp1FXpX0jU5e1wt8n9pSl4mN7HSK72ooNlp9uHSAvOuSMvXlbXpHeM+u4HEEYAHJcX/T8DI5E2iAUjjZT3N5mRFR4IuyuvmY1UZ0wm9TvLDHzko3sX9I4JqA2MAILOHxu5rvUqDJ51pb5JCHiYlWpinMLlHVKA8zx6EJcu65TIKEmqqP2gXfJhyWLFLgNVRw3btpmNV51BJFFT7sDDtgKgoP1/glV+BResd0ZGvBQl0hCQtZiUOHQ/naM2+qVa4baysjSoQazwvKvc0D6akedpapQyR8eWPPzUhR0JtQ/qp1qps2DpFEoqAvU6YnYtYQOM1JiZAjRA5Lxyh/Bhh3hQZwWg/EbUnGs1MrUclWlLS9f7zwYzdGnCihPYlEF5cWMoJ+bQsYoYx7UdRo= distributions: "sdist" diff --git a/ctp/header/ThostFtdcTraderApi.h b/ctp/header/ThostFtdcTraderApi.h index fcc1123..30eff73 100644 --- a/ctp/header/ThostFtdcTraderApi.h +++ b/ctp/header/ThostFtdcTraderApi.h @@ -82,7 +82,7 @@ class CThostFtdcTraderSpi { virtual void OnRspOrderAction(CThostFtdcInputOrderActionField *pInputOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; ///查询最大报单数量响应 - virtual void OnRspQueryMaxOrderVolume(CThostFtdcQueryMaxOrderVolumeField *pQueryMaxOrderVolume, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + virtual void OnRspQryMaxOrderVolume(CThostFtdcQryMaxOrderVolumeField *pQryMaxOrderVolume, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; ///投资者结算结果确认响应 virtual void OnRspSettlementInfoConfirm(CThostFtdcSettlementInfoConfirmField *pSettlementInfoConfirm, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; @@ -410,6 +410,12 @@ class CThostFtdcTraderSpi { ///银行发起变更银行账号通知 virtual void OnRtnChangeAccountByBank(CThostFtdcChangeAccountField *pChangeAccount) {}; + + ///请求查询分类合约响应 + virtual void OnRspQryClassifiedInstrument(CThostFtdcInstrumentField *pInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求组合优惠比例响应 + virtual void OnRspQryCombPromotionParam(CThostFtdcCombPromotionParamField *pCombPromotionParam, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; }; class TRADER_API_EXPORT CThostFtdcTraderApi { @@ -474,6 +480,7 @@ class TRADER_API_EXPORT CThostFtdcTraderApi { /// THOST_TERT_RESTART:从本交易日开始重传 /// THOST_TERT_RESUME:从上次收到的续传 /// THOST_TERT_QUICK:只传送登录后公共流的内容 + /// THOST_TERT_NONE:取消订阅公共流 ///@remark 该方法要在Init方法前调用。若不调用则不会收到公共流的数据。 virtual void SubscribePublicTopic(THOST_TE_RESUME_TYPE nResumeType) = 0; @@ -531,7 +538,7 @@ class TRADER_API_EXPORT CThostFtdcTraderApi { virtual int ReqOrderAction(CThostFtdcInputOrderActionField *pInputOrderAction, int nRequestID) = 0; ///查询最大报单数量请求 - virtual int ReqQueryMaxOrderVolume(CThostFtdcQueryMaxOrderVolumeField *pQueryMaxOrderVolume, int nRequestID) = 0; + virtual int ReqQryMaxOrderVolume(CThostFtdcQryMaxOrderVolumeField *pQryMaxOrderVolume, int nRequestID) = 0; ///投资者结算结果确认 virtual int ReqSettlementInfoConfirm(CThostFtdcSettlementInfoConfirmField *pSettlementInfoConfirm, int nRequestID) = 0; @@ -731,6 +738,12 @@ class TRADER_API_EXPORT CThostFtdcTraderApi { ///期货发起查询银行余额请求 virtual int ReqQueryBankAccountMoneyByFuture(CThostFtdcReqQueryAccountField *pReqQueryAccount, int nRequestID) = 0; + ///请求查询分类合约 + virtual int ReqQryClassifiedInstrument(CThostFtdcQryClassifiedInstrumentField *pQryClassifiedInstrument, int nRequestID) = 0; + + ///请求组合优惠比例 + virtual int ReqQryCombPromotionParam(CThostFtdcQryCombPromotionParamField *pQryCombPromotionParam, int nRequestID) = 0; + protected: ~CThostFtdcTraderApi() {}; }; diff --git a/ctp/header/ThostFtdcUserApiDataType.h b/ctp/header/ThostFtdcUserApiDataType.h index 51c30d8..9a9fce7 100644 --- a/ctp/header/ThostFtdcUserApiDataType.h +++ b/ctp/header/ThostFtdcUserApiDataType.h @@ -13,7 +13,8 @@ enum THOST_TE_RESUME_TYPE { THOST_TERT_RESTART = 0, THOST_TERT_RESUME, - THOST_TERT_QUICK + THOST_TERT_QUICK, + THOST_TERT_NONE }; ///////////////////////////////////////////////////////////////////////// @@ -41,10 +42,15 @@ typedef char TThostFtdcBrokerAbbrType[9]; ///////////////////////////////////////////////////////////////////////// typedef char TThostFtdcBrokerNameType[81]; +///////////////////////////////////////////////////////////////////////// +///TFtdcOldExchangeInstIDType是一个合约在交易所的代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcOldExchangeInstIDType[31]; + ///////////////////////////////////////////////////////////////////////// ///TFtdcExchangeInstIDType是一个合约在交易所的代码类型 ///////////////////////////////////////////////////////////////////////// -typedef char TThostFtdcExchangeInstIDType[31]; +typedef char TThostFtdcExchangeInstIDType[81]; ///////////////////////////////////////////////////////////////////////// ///TFtdcOrderRefType是一个报单引用类型 @@ -74,7 +80,12 @@ typedef char TThostFtdcClientIDType[11]; ///////////////////////////////////////////////////////////////////////// ///TFtdcInstrumentIDType是一个合约代码类型 ///////////////////////////////////////////////////////////////////////// -typedef char TThostFtdcInstrumentIDType[31]; +typedef char TThostFtdcInstrumentIDType[81]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOldInstrumentIDType是一个合约代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcOldInstrumentIDType[31]; ///////////////////////////////////////////////////////////////////////// ///TFtdcInstrumentCodeType是一个合约标识码类型 @@ -171,10 +182,15 @@ typedef char TThostFtdcTradeIDType[21]; ///////////////////////////////////////////////////////////////////////// typedef char TThostFtdcCommandTypeType[65]; +///////////////////////////////////////////////////////////////////////// +///TFtdcOldIPAddressType是一个IP地址类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcOldIPAddressType[16]; + ///////////////////////////////////////////////////////////////////////// ///TFtdcIPAddressType是一个IP地址类型 ///////////////////////////////////////////////////////////////////////// -typedef char TThostFtdcIPAddressType[16]; +typedef char TThostFtdcIPAddressType[33]; ///////////////////////////////////////////////////////////////////////// ///TFtdcIPPortType是一个IP端口类型 @@ -1105,6 +1121,11 @@ typedef int TThostFtdcCommandNoType; ///////////////////////////////////////////////////////////////////////// typedef int TThostFtdcMillisecType; +///////////////////////////////////////////////////////////////////////// +///TFtdcSecType是一个时间(秒)类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcSecType; + ///////////////////////////////////////////////////////////////////////// ///TFtdcVolumeMultipleType是一个合约数量乘数类型 ///////////////////////////////////////////////////////////////////////// @@ -6229,11 +6250,15 @@ typedef char TThostFtdcStrikeTimeType[13]; ///备兑组合 #define THOST_FTDC_COMBT_PRT '5' ///时间价差组合 -#define THOST_FTDC_COMBT_CLD '6' +#define THOST_FTDC_COMBT_CAS '6' ///期权对锁组合 #define THOST_FTDC_COMBT_OPL '7' ///买备兑组合 #define THOST_FTDC_COMBT_BFO '8' +///买入期权垂直价差组合 +#define THOST_FTDC_COMBT_BLS '9' +///卖出期权垂直价差组合 +#define THOST_FTDC_COMBT_BES 'a' typedef char TThostFtdcCombinationTypeType; @@ -6704,4 +6729,45 @@ typedef double TThostFtdcRiskValueType; ///////////////////////////////////////////////////////////////////////// typedef char TThostFtdcIDBNameType[100]; +///////////////////////////////////////////////////////////////////////// +///TFtdcDiscountRatioType是一个折扣率类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcDiscountRatioType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAuthTypeType是一个用户终端认证方式类型 +///////////////////////////////////////////////////////////////////////// +///白名单校验 +#define THOST_FTDC_AU_WHITE '0' +///黑名单校验 +#define THOST_FTDC_AU_BLACK '1' + +typedef char TThostFtdcAuthTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcClassTypeType是一个合约分类方式类型 +///////////////////////////////////////////////////////////////////////// +///所有合约 +#define THOST_FTDC_INS_ALL '0' +///期货、即期、期转现、Tas、金属指数合约 +#define THOST_FTDC_INS_FUTURE '1' +///期货、现货期权合约 +#define THOST_FTDC_INS_OPTION '2' +///组合合约 +#define THOST_FTDC_INS_COMB '3' + +typedef char TThostFtdcClassTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTradingTypeType是一个合约交易状态分类方式类型 +///////////////////////////////////////////////////////////////////////// +///所有状态 +#define THOST_FTDC_TD_ALL '0' +///交易 +#define THOST_FTDC_TD_TRADE '1' +///非交易 +#define THOST_FTDC_TD_UNTRADE '2' + +typedef char TThostFtdcTradingTypeType; + #endif diff --git a/ctp/header/ThostFtdcUserApiStruct.h b/ctp/header/ThostFtdcUserApiStruct.h index c671625..c1d6e63 100644 --- a/ctp/header/ThostFtdcUserApiStruct.h +++ b/ctp/header/ThostFtdcUserApiStruct.h @@ -14,6 +14,7 @@ #pragma once #endif // _MSC_VER > 1000 + #include "ThostFtdcUserApiDataType.h" ///信息分发 @@ -44,12 +45,14 @@ struct CThostFtdcReqUserLoginField { TThostFtdcMacAddressType MacAddress; ///动态密码 TThostFtdcPasswordType OneTimePassword; - ///终端IP地址 - TThostFtdcIPAddressType ClientIPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve1; ///登录备注 TThostFtdcLoginRemarkType LoginRemark; ///终端IP端口 TThostFtdcIPPortType ClientIPPort; + ///终端IP地址 + TThostFtdcIPAddressType ClientIPAddress; }; ///用户登录应答 @@ -142,6 +145,8 @@ struct CThostFtdcAuthenticationInfoField { TThostFtdcAppIDType AppID; ///App类型 TThostFtdcAppTypeType AppType; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve1; ///终端IP地址 TThostFtdcIPAddressType ClientIPAddress; }; @@ -360,8 +365,8 @@ struct CThostFtdcExchangeField { ///产品 struct CThostFtdcProductField { - ///产品代码 - TThostFtdcInstrumentIDType ProductID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///产品名称 TThostFtdcProductNameType ProductName; ///交易所代码 @@ -390,24 +395,28 @@ struct CThostFtdcProductField { TThostFtdcCurrencyIDType TradeCurrencyID; ///质押资金可用范围 TThostFtdcMortgageFundUseRangeType MortgageFundUseRange; - ///交易所产品代码 - TThostFtdcInstrumentIDType ExchangeProductID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve2; ///合约基础商品乘数 TThostFtdcUnderlyingMultipleType UnderlyingMultiple; + ///产品代码 + TThostFtdcInstrumentIDType ProductID; + ///交易所产品代码 + TThostFtdcInstrumentIDType ExchangeProductID; }; ///合约 struct CThostFtdcInstrumentField { - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; ///合约名称 TThostFtdcInstrumentNameType InstrumentName; - ///合约在交易所的代码 - TThostFtdcExchangeInstIDType ExchangeInstID; - ///产品代码 - TThostFtdcInstrumentIDType ProductID; + ///保留的无效字段 + TThostFtdcOldExchangeInstIDType reserve2; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve3; ///产品类型 TThostFtdcProductClassType ProductClass; ///交割年份 @@ -450,8 +459,8 @@ struct CThostFtdcInstrumentField { TThostFtdcRatioType ShortMarginRatio; ///是否使用大额单边保证金算法 TThostFtdcMaxMarginSideAlgorithmType MaxMarginSideAlgorithm; - ///基础商品代码 - TThostFtdcInstrumentIDType UnderlyingInstrID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve4; ///执行价 TThostFtdcPriceType StrikePrice; ///期权类型 @@ -460,6 +469,14 @@ struct CThostFtdcInstrumentField { TThostFtdcUnderlyingMultipleType UnderlyingMultiple; ///组合类型 TThostFtdcCombinationTypeType CombinationType; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///产品代码 + TThostFtdcInstrumentIDType ProductID; + ///基础商品代码 + TThostFtdcInstrumentIDType UnderlyingInstrID; }; ///经纪公司 @@ -688,8 +705,8 @@ struct CThostFtdcTradingAccountField { ///投资者持仓 struct CThostFtdcInvestorPositionField { - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///经纪公司代码 TThostFtdcBrokerIDType BrokerID; ///投资者代码 @@ -786,12 +803,14 @@ struct CThostFtdcInvestorPositionField { TThostFtdcVolumeType TasPosition; ///tas持仓成本 TThostFtdcMoneyType TasPositionCost; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///合约保证金率 struct CThostFtdcInstrumentMarginRateField { - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///投资者范围 TThostFtdcInvestorRangeType InvestorRange; ///经纪公司代码 @@ -814,12 +833,14 @@ struct CThostFtdcInstrumentMarginRateField { TThostFtdcExchangeIDType ExchangeID; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///合约手续费率 struct CThostFtdcInstrumentCommissionRateField { - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///投资者范围 TThostFtdcInvestorRangeType InvestorRange; ///经纪公司代码 @@ -844,18 +865,20 @@ struct CThostFtdcInstrumentCommissionRateField { TThostFtdcBizTypeType BizType; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///深度行情 struct CThostFtdcDepthMarketDataField { ///交易日 TThostFtdcDateType TradingDay; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; - ///合约在交易所的代码 - TThostFtdcExchangeInstIDType ExchangeInstID; + ///保留的无效字段 + TThostFtdcOldExchangeInstIDType reserve2; ///最新价 TThostFtdcPriceType LastPrice; ///上次结算价 @@ -936,12 +959,16 @@ struct CThostFtdcDepthMarketDataField { TThostFtdcPriceType AveragePrice; ///业务日期 TThostFtdcDateType ActionDay; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; }; ///投资者合约交易权限 struct CThostFtdcInstrumentTradingRightField { - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///投资者范围 TThostFtdcInvestorRangeType InvestorRange; ///经纪公司代码 @@ -950,6 +977,8 @@ struct CThostFtdcInstrumentTradingRightField { TThostFtdcInvestorIDType InvestorID; ///交易权限 TThostFtdcTradingRightType TradingRight; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///经纪公司用户 @@ -1062,8 +1091,8 @@ struct CThostFtdcSettlementInfoField { ///合约保证金率调整 struct CThostFtdcInstrumentMarginRateAdjustField { - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///投资者范围 TThostFtdcInvestorRangeType InvestorRange; ///经纪公司代码 @@ -1082,14 +1111,16 @@ struct CThostFtdcInstrumentMarginRateAdjustField { TThostFtdcMoneyType ShortMarginRatioByVolume; ///是否相对交易所收取 TThostFtdcBoolType IsRelative; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///交易所保证金率 struct CThostFtdcExchangeMarginRateField { ///经纪公司代码 TThostFtdcBrokerIDType BrokerID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///投机套保标志 TThostFtdcHedgeFlagType HedgeFlag; ///多头保证金率 @@ -1102,14 +1133,16 @@ struct CThostFtdcExchangeMarginRateField { TThostFtdcMoneyType ShortMarginRatioByVolume; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///交易所保证金率调整 struct CThostFtdcExchangeMarginRateAdjustField { ///经纪公司代码 TThostFtdcBrokerIDType BrokerID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///投机套保标志 TThostFtdcHedgeFlagType HedgeFlag; ///跟随交易所投资者多头保证金率 @@ -1136,6 +1169,8 @@ struct CThostFtdcExchangeMarginRateAdjustField { TThostFtdcRatioType NoShortMarginRatioByMoney; ///不跟随交易所投资者空头保证金费 TThostFtdcMoneyType NoShortMarginRatioByVolume; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///汇率 @@ -1196,8 +1231,8 @@ struct CThostFtdcLoginInfoField { TThostFtdcDateType LoginDate; ///登录时间 TThostFtdcTimeType LoginTime; - ///IP地址 - TThostFtdcIPAddressType IPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve1; ///用户端产品信息 TThostFtdcProductInfoType UserProductInfo; ///接口端产品信息 @@ -1230,6 +1265,8 @@ struct CThostFtdcLoginInfoField { TThostFtdcLoginRemarkType LoginRemark; ///密码 TThostFtdcPasswordType Password; + ///IP地址 + TThostFtdcIPAddressType IPAddress; }; ///登录信息 @@ -1272,8 +1309,8 @@ struct CThostFtdcInputOrderField { TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///报单引用 TThostFtdcOrderRefType OrderRef; ///用户代码 @@ -1324,10 +1361,14 @@ struct CThostFtdcInputOrderField { TThostFtdcCurrencyIDType CurrencyID; ///交易编码 TThostFtdcClientIDType ClientID; - ///IP地址 - TThostFtdcIPAddressType IPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve2; ///Mac地址 TThostFtdcMacAddressType MacAddress; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///IP地址 + TThostFtdcIPAddressType IPAddress; }; ///报单 @@ -1336,8 +1377,8 @@ struct CThostFtdcOrderField { TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///报单引用 TThostFtdcOrderRefType OrderRef; ///用户代码 @@ -1382,8 +1423,8 @@ struct CThostFtdcOrderField { TThostFtdcParticipantIDType ParticipantID; ///客户代码 TThostFtdcClientIDType ClientID; - ///合约在交易所的代码 - TThostFtdcExchangeInstIDType ExchangeInstID; + ///保留的无效字段 + TThostFtdcOldExchangeInstIDType reserve2; ///交易所交易员代码 TThostFtdcTraderIDType TraderID; ///安装编号 @@ -1454,10 +1495,16 @@ struct CThostFtdcOrderField { TThostFtdcAccountIDType AccountID; ///币种代码 TThostFtdcCurrencyIDType CurrencyID; - ///IP地址 - TThostFtdcIPAddressType IPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve3; ///Mac地址 TThostFtdcMacAddressType MacAddress; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///IP地址 + TThostFtdcIPAddressType IPAddress; }; ///交易所报单 @@ -1502,8 +1549,8 @@ struct CThostFtdcExchangeOrderField { TThostFtdcParticipantIDType ParticipantID; ///客户代码 TThostFtdcClientIDType ClientID; - ///合约在交易所的代码 - TThostFtdcExchangeInstIDType ExchangeInstID; + ///保留的无效字段 + TThostFtdcOldExchangeInstIDType reserve1; ///交易所交易员代码 TThostFtdcTraderIDType TraderID; ///安装编号 @@ -1548,10 +1595,14 @@ struct CThostFtdcExchangeOrderField { TThostFtdcSequenceNoType SequenceNo; ///营业部编号 TThostFtdcBranchIDType BranchID; - ///IP地址 - TThostFtdcIPAddressType IPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve2; ///Mac地址 TThostFtdcMacAddressType MacAddress; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///IP地址 + TThostFtdcIPAddressType IPAddress; }; ///交易所报单插入失败 @@ -1600,14 +1651,18 @@ struct CThostFtdcInputOrderActionField { TThostFtdcVolumeType VolumeChange; ///用户代码 TThostFtdcUserIDType UserID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; - ///IP地址 - TThostFtdcIPAddressType IPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve2; ///Mac地址 TThostFtdcMacAddressType MacAddress; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///IP地址 + TThostFtdcIPAddressType IPAddress; }; ///报单操作 @@ -1660,16 +1715,20 @@ struct CThostFtdcOrderActionField { TThostFtdcUserIDType UserID; ///状态信息 TThostFtdcErrorMsgType StatusMsg; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///营业部编号 TThostFtdcBranchIDType BranchID; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; - ///IP地址 - TThostFtdcIPAddressType IPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve2; ///Mac地址 TThostFtdcMacAddressType MacAddress; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///IP地址 + TThostFtdcIPAddressType IPAddress; }; ///交易所报单操作 @@ -1708,10 +1767,12 @@ struct CThostFtdcExchangeOrderActionField { TThostFtdcUserIDType UserID; ///营业部编号 TThostFtdcBranchIDType BranchID; - ///IP地址 - TThostFtdcIPAddressType IPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve1; ///Mac地址 TThostFtdcMacAddressType MacAddress; + ///IP地址 + TThostFtdcIPAddressType IPAddress; }; ///交易所报单操作失败 @@ -1750,8 +1811,8 @@ struct CThostFtdcExchangeTradeField { TThostFtdcClientIDType ClientID; ///交易角色 TThostFtdcTradingRoleType TradingRole; - ///合约在交易所的代码 - TThostFtdcExchangeInstIDType ExchangeInstID; + ///保留的无效字段 + TThostFtdcOldExchangeInstIDType reserve1; ///开平标志 TThostFtdcOffsetFlagType OffsetFlag; ///投机套保标志 @@ -1780,6 +1841,8 @@ struct CThostFtdcExchangeTradeField { TThostFtdcSequenceNoType SequenceNo; ///成交来源 TThostFtdcTradeSourceType TradeSource; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; }; ///成交 @@ -1788,8 +1851,8 @@ struct CThostFtdcTradeField { TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///报单引用 TThostFtdcOrderRefType OrderRef; ///用户代码 @@ -1808,8 +1871,8 @@ struct CThostFtdcTradeField { TThostFtdcClientIDType ClientID; ///交易角色 TThostFtdcTradingRoleType TradingRole; - ///合约在交易所的代码 - TThostFtdcExchangeInstIDType ExchangeInstID; + ///保留的无效字段 + TThostFtdcOldExchangeInstIDType reserve2; ///开平标志 TThostFtdcOffsetFlagType OffsetFlag; ///投机套保标志 @@ -1846,6 +1909,10 @@ struct CThostFtdcTradeField { TThostFtdcTradeSourceType TradeSource; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; }; ///用户会话 @@ -1862,8 +1929,8 @@ struct CThostFtdcUserSessionField { TThostFtdcDateType LoginDate; ///登录时间 TThostFtdcTimeType LoginTime; - ///IP地址 - TThostFtdcIPAddressType IPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve1; ///用户端产品信息 TThostFtdcProductInfoType UserProductInfo; ///接口端产品信息 @@ -1874,16 +1941,18 @@ struct CThostFtdcUserSessionField { TThostFtdcMacAddressType MacAddress; ///登录备注 TThostFtdcLoginRemarkType LoginRemark; + ///IP地址 + TThostFtdcIPAddressType IPAddress; }; ///查询最大报单数量 -struct CThostFtdcQueryMaxOrderVolumeField { +struct CThostFtdcQryMaxOrderVolumeField { ///经纪公司代码 TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///买卖方向 TThostFtdcDirectionType Direction; ///开平标志 @@ -1896,6 +1965,8 @@ struct CThostFtdcQueryMaxOrderVolumeField { TThostFtdcExchangeIDType ExchangeID; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///投资者结算结果确认信息 @@ -2112,8 +2183,8 @@ struct CThostFtdcSyncingTradingAccountField { ///正在同步中的投资者持仓 struct CThostFtdcSyncingInvestorPositionField { - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///经纪公司代码 TThostFtdcBrokerIDType BrokerID; ///投资者代码 @@ -2210,12 +2281,14 @@ struct CThostFtdcSyncingInvestorPositionField { TThostFtdcVolumeType TasPosition; ///tas持仓成本 TThostFtdcMoneyType TasPositionCost; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///正在同步中的合约保证金率 struct CThostFtdcSyncingInstrumentMarginRateField { - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///投资者范围 TThostFtdcInvestorRangeType InvestorRange; ///经纪公司代码 @@ -2234,12 +2307,14 @@ struct CThostFtdcSyncingInstrumentMarginRateField { TThostFtdcMoneyType ShortMarginRatioByVolume; ///是否相对交易所收取 TThostFtdcBoolType IsRelative; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///正在同步中的合约手续费率 struct CThostFtdcSyncingInstrumentCommissionRateField { - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///投资者范围 TThostFtdcInvestorRangeType InvestorRange; ///经纪公司代码 @@ -2258,12 +2333,14 @@ struct CThostFtdcSyncingInstrumentCommissionRateField { TThostFtdcRatioType CloseTodayRatioByMoney; ///平今手续费 TThostFtdcRatioType CloseTodayRatioByVolume; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///正在同步中的合约交易权限 struct CThostFtdcSyncingInstrumentTradingRightField { - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///投资者范围 TThostFtdcInvestorRangeType InvestorRange; ///经纪公司代码 @@ -2272,6 +2349,8 @@ struct CThostFtdcSyncingInstrumentTradingRightField { TThostFtdcInvestorIDType InvestorID; ///交易权限 TThostFtdcTradingRightType TradingRight; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///查询报单 @@ -2280,8 +2359,8 @@ struct CThostFtdcQryOrderField { TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; ///报单编号 @@ -2292,6 +2371,8 @@ struct CThostFtdcQryOrderField { TThostFtdcTimeType InsertTimeEnd; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///查询成交 @@ -2300,8 +2381,8 @@ struct CThostFtdcQryTradeField { TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; ///成交编号 @@ -2312,6 +2393,8 @@ struct CThostFtdcQryTradeField { TThostFtdcTimeType TradeTimeEnd; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///查询投资者持仓 @@ -2320,12 +2403,14 @@ struct CThostFtdcQryInvestorPositionField { TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///查询资金账户 @@ -2378,14 +2463,16 @@ struct CThostFtdcQryInstrumentMarginRateField { TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///投机套保标志 TThostFtdcHedgeFlagType HedgeFlag; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///查询手续费率 @@ -2394,12 +2481,14 @@ struct CThostFtdcQryInstrumentCommissionRateField { TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///查询合约交易权限 @@ -2408,6 +2497,8 @@ struct CThostFtdcQryInstrumentTradingRightField { TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///合约代码 TThostFtdcInstrumentIDType InstrumentID; }; @@ -2468,12 +2559,14 @@ struct CThostFtdcQryExchangeOrderField { TThostFtdcParticipantIDType ParticipantID; ///客户代码 TThostFtdcClientIDType ClientID; - ///合约在交易所的代码 - TThostFtdcExchangeInstIDType ExchangeInstID; + ///保留的无效字段 + TThostFtdcOldExchangeInstIDType reserve1; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; ///交易所交易员代码 TThostFtdcTraderIDType TraderID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; }; ///查询报单操作 @@ -2512,20 +2605,28 @@ struct CThostFtdcQryExchangeField { ///查询产品 struct CThostFtdcQryProductField { - ///产品代码 - TThostFtdcInstrumentIDType ProductID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///产品类型 TThostFtdcProductClassType ProductClass; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; + ///产品代码 + TThostFtdcInstrumentIDType ProductID; }; ///查询合约 struct CThostFtdcQryInstrumentField { - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; + ///保留的无效字段 + TThostFtdcOldExchangeInstIDType reserve2; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve3; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; ///合约在交易所的代码 TThostFtdcExchangeInstIDType ExchangeInstID; ///产品代码 @@ -2534,10 +2635,12 @@ struct CThostFtdcQryInstrumentField { ///查询行情 struct CThostFtdcQryDepthMarketDataField { - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///查询经纪公司用户 @@ -2592,22 +2695,26 @@ struct CThostFtdcQrySettlementInfoField { struct CThostFtdcQryExchangeMarginRateField { ///经纪公司代码 TThostFtdcBrokerIDType BrokerID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///投机套保标志 TThostFtdcHedgeFlagType HedgeFlag; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///查询交易所调整保证金率 struct CThostFtdcQryExchangeMarginRateAdjustField { ///经纪公司代码 TThostFtdcBrokerIDType BrokerID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///投机套保标志 TThostFtdcHedgeFlagType HedgeFlag; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///查询汇率 @@ -2634,8 +2741,8 @@ struct CThostFtdcQryHisOrderField { TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; ///报单编号 @@ -2648,12 +2755,14 @@ struct CThostFtdcQryHisOrderField { TThostFtdcDateType TradingDay; ///结算编号 TThostFtdcSettlementIDType SettlementID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///当前期权合约最小保证金 struct CThostFtdcOptionInstrMiniMarginField { - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///投资者范围 TThostFtdcInvestorRangeType InvestorRange; ///经纪公司代码 @@ -2666,12 +2775,14 @@ struct CThostFtdcOptionInstrMiniMarginField { TThostFtdcValueMethodType ValueMethod; ///是否跟随交易所收取 TThostFtdcBoolType IsRelative; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///当前期权合约保证金调整系数 struct CThostFtdcOptionInstrMarginAdjustField { - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///投资者范围 TThostFtdcInvestorRangeType InvestorRange; ///经纪公司代码 @@ -2696,12 +2807,14 @@ struct CThostFtdcOptionInstrMarginAdjustField { TThostFtdcRatioType MShortMarginRatioByMoney; ///做市商空头保证金调整系数 TThostFtdcMoneyType MShortMarginRatioByVolume; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///当前期权合约手续费的详细内容 struct CThostFtdcOptionInstrCommRateField { - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///投资者范围 TThostFtdcInvestorRangeType InvestorRange; ///经纪公司代码 @@ -2728,6 +2841,8 @@ struct CThostFtdcOptionInstrCommRateField { TThostFtdcExchangeIDType ExchangeID; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///期权交易成本 @@ -2736,8 +2851,8 @@ struct CThostFtdcOptionInstrTradeCostField { TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///投机套保标志 TThostFtdcHedgeFlagType HedgeFlag; ///期权合约保证金不变部分 @@ -2754,6 +2869,8 @@ struct CThostFtdcOptionInstrTradeCostField { TThostFtdcExchangeIDType ExchangeID; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///期权交易成本查询 @@ -2762,8 +2879,8 @@ struct CThostFtdcQryOptionInstrTradeCostField { TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///投机套保标志 TThostFtdcHedgeFlagType HedgeFlag; ///期权合约报价 @@ -2774,6 +2891,8 @@ struct CThostFtdcQryOptionInstrTradeCostField { TThostFtdcExchangeIDType ExchangeID; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///期权手续费率查询 @@ -2782,22 +2901,26 @@ struct CThostFtdcQryOptionInstrCommRateField { TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///股指现货指数 struct CThostFtdcIndexPriceField { ///经纪公司代码 TThostFtdcBrokerIDType BrokerID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///指数现货收盘价 TThostFtdcPriceType ClosePrice; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///输入的执行宣告 @@ -2806,8 +2929,8 @@ struct CThostFtdcInputExecOrderField { TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///执行宣告引用 TThostFtdcOrderRefType ExecOrderRef; ///用户代码 @@ -2840,10 +2963,14 @@ struct CThostFtdcInputExecOrderField { TThostFtdcCurrencyIDType CurrencyID; ///交易编码 TThostFtdcClientIDType ClientID; - ///IP地址 - TThostFtdcIPAddressType IPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve2; ///Mac地址 TThostFtdcMacAddressType MacAddress; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///IP地址 + TThostFtdcIPAddressType IPAddress; }; ///输入执行宣告操作 @@ -2870,14 +2997,18 @@ struct CThostFtdcInputExecOrderActionField { TThostFtdcActionFlagType ActionFlag; ///用户代码 TThostFtdcUserIDType UserID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; - ///IP地址 - TThostFtdcIPAddressType IPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve2; ///Mac地址 TThostFtdcMacAddressType MacAddress; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///IP地址 + TThostFtdcIPAddressType IPAddress; }; ///执行宣告 @@ -2886,8 +3017,8 @@ struct CThostFtdcExecOrderField { TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///执行宣告引用 TThostFtdcOrderRefType ExecOrderRef; ///用户代码 @@ -2918,8 +3049,8 @@ struct CThostFtdcExecOrderField { TThostFtdcParticipantIDType ParticipantID; ///客户代码 TThostFtdcClientIDType ClientID; - ///合约在交易所的代码 - TThostFtdcExchangeInstIDType ExchangeInstID; + ///保留的无效字段 + TThostFtdcOldExchangeInstIDType reserve2; ///交易所交易员代码 TThostFtdcTraderIDType TraderID; ///安装编号 @@ -2966,15 +3097,21 @@ struct CThostFtdcExecOrderField { TThostFtdcAccountIDType AccountID; ///币种代码 TThostFtdcCurrencyIDType CurrencyID; - ///IP地址 - TThostFtdcIPAddressType IPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve3; ///Mac地址 TThostFtdcMacAddressType MacAddress; -}; - -///执行宣告操作 -struct CThostFtdcExecOrderActionField { - ///经纪公司代码 + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///IP地址 + TThostFtdcIPAddressType IPAddress; +}; + +///执行宣告操作 +struct CThostFtdcExecOrderActionField { + ///经纪公司代码 TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; @@ -3020,16 +3157,20 @@ struct CThostFtdcExecOrderActionField { TThostFtdcActionTypeType ActionType; ///状态信息 TThostFtdcErrorMsgType StatusMsg; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///营业部编号 TThostFtdcBranchIDType BranchID; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; - ///IP地址 - TThostFtdcIPAddressType IPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve2; ///Mac地址 TThostFtdcMacAddressType MacAddress; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///IP地址 + TThostFtdcIPAddressType IPAddress; }; ///执行宣告查询 @@ -3038,8 +3179,8 @@ struct CThostFtdcQryExecOrderField { TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; ///执行宣告编号 @@ -3048,6 +3189,8 @@ struct CThostFtdcQryExecOrderField { TThostFtdcTimeType InsertTimeStart; ///结束时间 TThostFtdcTimeType InsertTimeEnd; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///交易所执行宣告信息 @@ -3078,8 +3221,8 @@ struct CThostFtdcExchangeExecOrderField { TThostFtdcParticipantIDType ParticipantID; ///客户代码 TThostFtdcClientIDType ClientID; - ///合约在交易所的代码 - TThostFtdcExchangeInstIDType ExchangeInstID; + ///保留的无效字段 + TThostFtdcOldExchangeInstIDType reserve1; ///交易所交易员代码 TThostFtdcTraderIDType TraderID; ///安装编号 @@ -3108,10 +3251,14 @@ struct CThostFtdcExchangeExecOrderField { TThostFtdcSequenceNoType SequenceNo; ///营业部编号 TThostFtdcBranchIDType BranchID; - ///IP地址 - TThostFtdcIPAddressType IPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve2; ///Mac地址 TThostFtdcMacAddressType MacAddress; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///IP地址 + TThostFtdcIPAddressType IPAddress; }; ///交易所执行宣告查询 @@ -3120,12 +3267,14 @@ struct CThostFtdcQryExchangeExecOrderField { TThostFtdcParticipantIDType ParticipantID; ///客户代码 TThostFtdcClientIDType ClientID; - ///合约在交易所的代码 - TThostFtdcExchangeInstIDType ExchangeInstID; + ///保留的无效字段 + TThostFtdcOldExchangeInstIDType reserve1; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; ///交易所交易员代码 TThostFtdcTraderIDType TraderID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; }; ///执行宣告操作查询 @@ -3172,14 +3321,18 @@ struct CThostFtdcExchangeExecOrderActionField { TThostFtdcActionTypeType ActionType; ///营业部编号 TThostFtdcBranchIDType BranchID; - ///IP地址 - TThostFtdcIPAddressType IPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve1; ///Mac地址 TThostFtdcMacAddressType MacAddress; - ///合约在交易所的代码 - TThostFtdcExchangeInstIDType ExchangeInstID; + ///保留的无效字段 + TThostFtdcOldExchangeInstIDType reserve2; ///数量 TThostFtdcVolumeType Volume; + ///IP地址 + TThostFtdcIPAddressType IPAddress; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; }; ///交易所执行宣告操作查询 @@ -3200,8 +3353,8 @@ struct CThostFtdcErrExecOrderField { TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///执行宣告引用 TThostFtdcOrderRefType ExecOrderRef; ///用户代码 @@ -3234,14 +3387,18 @@ struct CThostFtdcErrExecOrderField { TThostFtdcCurrencyIDType CurrencyID; ///交易编码 TThostFtdcClientIDType ClientID; - ///IP地址 - TThostFtdcIPAddressType IPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve2; ///Mac地址 TThostFtdcMacAddressType MacAddress; ///错误代码 TThostFtdcErrorIDType ErrorID; ///错误信息 TThostFtdcErrorMsgType ErrorMsg; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///IP地址 + TThostFtdcIPAddressType IPAddress; }; ///查询错误执行宣告 @@ -3276,18 +3433,22 @@ struct CThostFtdcErrExecOrderActionField { TThostFtdcActionFlagType ActionFlag; ///用户代码 TThostFtdcUserIDType UserID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; - ///IP地址 - TThostFtdcIPAddressType IPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve2; ///Mac地址 TThostFtdcMacAddressType MacAddress; ///错误代码 TThostFtdcErrorIDType ErrorID; ///错误信息 TThostFtdcErrorMsgType ErrorMsg; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///IP地址 + TThostFtdcIPAddressType IPAddress; }; ///查询错误执行宣告操作 @@ -3300,8 +3461,8 @@ struct CThostFtdcQryErrExecOrderActionField { ///投资者期权合约交易权限 struct CThostFtdcOptionInstrTradingRightField { - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///投资者范围 TThostFtdcInvestorRangeType InvestorRange; ///经纪公司代码 @@ -3312,6 +3473,8 @@ struct CThostFtdcOptionInstrTradingRightField { TThostFtdcDirectionType Direction; ///交易权限 TThostFtdcTradingRightType TradingRight; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///查询期权合约交易权限 @@ -3320,10 +3483,12 @@ struct CThostFtdcQryOptionInstrTradingRightField { TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///买卖方向 TThostFtdcDirectionType Direction; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///输入的询价 @@ -3332,8 +3497,8 @@ struct CThostFtdcInputForQuoteField { TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///询价引用 TThostFtdcOrderRefType ForQuoteRef; ///用户代码 @@ -3342,10 +3507,14 @@ struct CThostFtdcInputForQuoteField { TThostFtdcExchangeIDType ExchangeID; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; - ///IP地址 - TThostFtdcIPAddressType IPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve2; ///Mac地址 TThostFtdcMacAddressType MacAddress; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///IP地址 + TThostFtdcIPAddressType IPAddress; }; ///询价 @@ -3354,8 +3523,8 @@ struct CThostFtdcForQuoteField { TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///询价引用 TThostFtdcOrderRefType ForQuoteRef; ///用户代码 @@ -3368,8 +3537,8 @@ struct CThostFtdcForQuoteField { TThostFtdcParticipantIDType ParticipantID; ///客户代码 TThostFtdcClientIDType ClientID; - ///合约在交易所的代码 - TThostFtdcExchangeInstIDType ExchangeInstID; + ///保留的无效字段 + TThostFtdcOldExchangeInstIDType reserve2; ///交易所交易员代码 TThostFtdcTraderIDType TraderID; ///安装编号 @@ -3392,10 +3561,16 @@ struct CThostFtdcForQuoteField { TThostFtdcSequenceNoType BrokerForQutoSeq; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; - ///IP地址 - TThostFtdcIPAddressType IPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve3; ///Mac地址 TThostFtdcMacAddressType MacAddress; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///IP地址 + TThostFtdcIPAddressType IPAddress; }; ///询价查询 @@ -3404,8 +3579,8 @@ struct CThostFtdcQryForQuoteField { TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; ///开始时间 @@ -3414,6 +3589,8 @@ struct CThostFtdcQryForQuoteField { TThostFtdcTimeType InsertTimeEnd; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///交易所询价信息 @@ -3426,8 +3603,8 @@ struct CThostFtdcExchangeForQuoteField { TThostFtdcParticipantIDType ParticipantID; ///客户代码 TThostFtdcClientIDType ClientID; - ///合约在交易所的代码 - TThostFtdcExchangeInstIDType ExchangeInstID; + ///保留的无效字段 + TThostFtdcOldExchangeInstIDType reserve1; ///交易所交易员代码 TThostFtdcTraderIDType TraderID; ///安装编号 @@ -3438,10 +3615,14 @@ struct CThostFtdcExchangeForQuoteField { TThostFtdcTimeType InsertTime; ///询价状态 TThostFtdcForQuoteStatusType ForQuoteStatus; - ///IP地址 - TThostFtdcIPAddressType IPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve2; ///Mac地址 TThostFtdcMacAddressType MacAddress; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///IP地址 + TThostFtdcIPAddressType IPAddress; }; ///交易所询价查询 @@ -3450,12 +3631,14 @@ struct CThostFtdcQryExchangeForQuoteField { TThostFtdcParticipantIDType ParticipantID; ///客户代码 TThostFtdcClientIDType ClientID; - ///合约在交易所的代码 - TThostFtdcExchangeInstIDType ExchangeInstID; + ///保留的无效字段 + TThostFtdcOldExchangeInstIDType reserve1; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; ///交易所交易员代码 TThostFtdcTraderIDType TraderID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; }; ///输入的报价 @@ -3464,8 +3647,8 @@ struct CThostFtdcInputQuoteField { TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///报价引用 TThostFtdcOrderRefType QuoteRef; ///用户代码 @@ -3502,10 +3685,14 @@ struct CThostFtdcInputQuoteField { TThostFtdcInvestUnitIDType InvestUnitID; ///交易编码 TThostFtdcClientIDType ClientID; - ///IP地址 - TThostFtdcIPAddressType IPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve2; ///Mac地址 TThostFtdcMacAddressType MacAddress; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///IP地址 + TThostFtdcIPAddressType IPAddress; }; ///输入报价操作 @@ -3532,16 +3719,20 @@ struct CThostFtdcInputQuoteActionField { TThostFtdcActionFlagType ActionFlag; ///用户代码 TThostFtdcUserIDType UserID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; ///交易编码 TThostFtdcClientIDType ClientID; - ///IP地址 - TThostFtdcIPAddressType IPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve2; ///Mac地址 TThostFtdcMacAddressType MacAddress; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///IP地址 + TThostFtdcIPAddressType IPAddress; }; ///报价 @@ -3550,8 +3741,8 @@ struct CThostFtdcQuoteField { TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///报价引用 TThostFtdcOrderRefType QuoteRef; ///用户代码 @@ -3584,8 +3775,8 @@ struct CThostFtdcQuoteField { TThostFtdcParticipantIDType ParticipantID; ///客户代码 TThostFtdcClientIDType ClientID; - ///合约在交易所的代码 - TThostFtdcExchangeInstIDType ExchangeInstID; + ///保留的无效字段 + TThostFtdcOldExchangeInstIDType reserve2; ///交易所交易员代码 TThostFtdcTraderIDType TraderID; ///安装编号 @@ -3642,10 +3833,16 @@ struct CThostFtdcQuoteField { TThostFtdcAccountIDType AccountID; ///币种代码 TThostFtdcCurrencyIDType CurrencyID; - ///IP地址 - TThostFtdcIPAddressType IPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve3; ///Mac地址 TThostFtdcMacAddressType MacAddress; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///IP地址 + TThostFtdcIPAddressType IPAddress; }; ///报价操作 @@ -3694,16 +3891,20 @@ struct CThostFtdcQuoteActionField { TThostFtdcUserIDType UserID; ///状态信息 TThostFtdcErrorMsgType StatusMsg; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///营业部编号 TThostFtdcBranchIDType BranchID; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; - ///IP地址 - TThostFtdcIPAddressType IPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve2; ///Mac地址 TThostFtdcMacAddressType MacAddress; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///IP地址 + TThostFtdcIPAddressType IPAddress; }; ///报价查询 @@ -3712,8 +3913,8 @@ struct CThostFtdcQryQuoteField { TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; ///报价编号 @@ -3724,6 +3925,8 @@ struct CThostFtdcQryQuoteField { TThostFtdcTimeType InsertTimeEnd; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///交易所报价信息 @@ -3756,8 +3959,8 @@ struct CThostFtdcExchangeQuoteField { TThostFtdcParticipantIDType ParticipantID; ///客户代码 TThostFtdcClientIDType ClientID; - ///合约在交易所的代码 - TThostFtdcExchangeInstIDType ExchangeInstID; + ///保留的无效字段 + TThostFtdcOldExchangeInstIDType reserve1; ///交易所交易员代码 TThostFtdcTraderIDType TraderID; ///安装编号 @@ -3792,10 +3995,14 @@ struct CThostFtdcExchangeQuoteField { TThostFtdcOrderSysIDType ForQuoteSysID; ///营业部编号 TThostFtdcBranchIDType BranchID; - ///IP地址 - TThostFtdcIPAddressType IPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve2; ///Mac地址 TThostFtdcMacAddressType MacAddress; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///IP地址 + TThostFtdcIPAddressType IPAddress; }; ///交易所报价查询 @@ -3804,12 +4011,14 @@ struct CThostFtdcQryExchangeQuoteField { TThostFtdcParticipantIDType ParticipantID; ///客户代码 TThostFtdcClientIDType ClientID; - ///合约在交易所的代码 - TThostFtdcExchangeInstIDType ExchangeInstID; + ///保留的无效字段 + TThostFtdcOldExchangeInstIDType reserve1; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; ///交易所交易员代码 TThostFtdcTraderIDType TraderID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; }; ///报价操作查询 @@ -3852,10 +4061,12 @@ struct CThostFtdcExchangeQuoteActionField { TThostFtdcOrderActionStatusType OrderActionStatus; ///用户代码 TThostFtdcUserIDType UserID; - ///IP地址 - TThostFtdcIPAddressType IPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve1; ///Mac地址 TThostFtdcMacAddressType MacAddress; + ///IP地址 + TThostFtdcIPAddressType IPAddress; }; ///交易所报价操作查询 @@ -3872,8 +4083,8 @@ struct CThostFtdcQryExchangeQuoteActionField { ///期权合约delta值 struct CThostFtdcOptionInstrDeltaField { - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///投资者范围 TThostFtdcInvestorRangeType InvestorRange; ///经纪公司代码 @@ -3882,14 +4093,16 @@ struct CThostFtdcOptionInstrDeltaField { TThostFtdcInvestorIDType InvestorID; ///Delta值 TThostFtdcRatioType Delta; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///发给做市商的询价请求 struct CThostFtdcForQuoteRspField { ///交易日 TThostFtdcDateType TradingDay; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///询价编号 TThostFtdcOrderSysIDType ForQuoteSysID; ///询价时间 @@ -3898,12 +4111,14 @@ struct CThostFtdcForQuoteRspField { TThostFtdcDateType ActionDay; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///当前期权合约执行偏移值的详细内容 struct CThostFtdcStrikeOffsetField { - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///投资者范围 TThostFtdcInvestorRangeType InvestorRange; ///经纪公司代码 @@ -3914,6 +4129,8 @@ struct CThostFtdcStrikeOffsetField { TThostFtdcMoneyType Offset; ///执行偏移类型 TThostFtdcStrikeOffsetTypeType OffsetType; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///期权执行偏移值查询 @@ -3922,6 +4139,8 @@ struct CThostFtdcQryStrikeOffsetField { TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///合约代码 TThostFtdcInstrumentIDType InstrumentID; }; @@ -3946,10 +4165,12 @@ struct CThostFtdcInputBatchOrderActionField { TThostFtdcUserIDType UserID; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; - ///IP地址 - TThostFtdcIPAddressType IPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve1; ///Mac地址 TThostFtdcMacAddressType MacAddress; + ///IP地址 + TThostFtdcIPAddressType IPAddress; }; ///批量报单操作 @@ -3992,10 +4213,12 @@ struct CThostFtdcBatchOrderActionField { TThostFtdcErrorMsgType StatusMsg; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; - ///IP地址 - TThostFtdcIPAddressType IPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve1; ///Mac地址 TThostFtdcMacAddressType MacAddress; + ///IP地址 + TThostFtdcIPAddressType IPAddress; }; ///交易所批量报单操作 @@ -4022,10 +4245,12 @@ struct CThostFtdcExchangeBatchOrderActionField { TThostFtdcOrderActionStatusType OrderActionStatus; ///用户代码 TThostFtdcUserIDType UserID; - ///IP地址 - TThostFtdcIPAddressType IPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve1; ///Mac地址 TThostFtdcMacAddressType MacAddress; + ///IP地址 + TThostFtdcIPAddressType IPAddress; }; ///查询批量报单操作 @@ -4042,22 +4267,26 @@ struct CThostFtdcQryBatchOrderActionField { struct CThostFtdcCombInstrumentGuardField { ///经纪公司代码 TThostFtdcBrokerIDType BrokerID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; /// TThostFtdcRatioType GuarantRatio; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///组合合约安全系数查询 struct CThostFtdcQryCombInstrumentGuardField { ///经纪公司代码 TThostFtdcBrokerIDType BrokerID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///输入的申请组合 @@ -4066,8 +4295,8 @@ struct CThostFtdcInputCombActionField { TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///组合引用 TThostFtdcOrderRefType CombActionRef; ///用户代码 @@ -4082,8 +4311,8 @@ struct CThostFtdcInputCombActionField { TThostFtdcHedgeFlagType HedgeFlag; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; - ///IP地址 - TThostFtdcIPAddressType IPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve2; ///Mac地址 TThostFtdcMacAddressType MacAddress; ///投资单元代码 @@ -4092,6 +4321,10 @@ struct CThostFtdcInputCombActionField { TThostFtdcFrontIDType FrontID; ///会话编号 TThostFtdcSessionIDType SessionID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///IP地址 + TThostFtdcIPAddressType IPAddress; }; ///申请组合 @@ -4100,8 +4333,8 @@ struct CThostFtdcCombActionField { TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///组合引用 TThostFtdcOrderRefType CombActionRef; ///用户代码 @@ -4122,8 +4355,8 @@ struct CThostFtdcCombActionField { TThostFtdcParticipantIDType ParticipantID; ///客户代码 TThostFtdcClientIDType ClientID; - ///合约在交易所的代码 - TThostFtdcExchangeInstIDType ExchangeInstID; + ///保留的无效字段 + TThostFtdcOldExchangeInstIDType reserve2; ///交易所交易员代码 TThostFtdcTraderIDType TraderID; ///安装编号 @@ -4146,8 +4379,8 @@ struct CThostFtdcCombActionField { TThostFtdcProductInfoType UserProductInfo; ///状态信息 TThostFtdcErrorMsgType StatusMsg; - ///IP地址 - TThostFtdcIPAddressType IPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve3; ///Mac地址 TThostFtdcMacAddressType MacAddress; ///组合编号 @@ -4156,6 +4389,12 @@ struct CThostFtdcCombActionField { TThostFtdcBranchIDType BranchID; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///IP地址 + TThostFtdcIPAddressType IPAddress; }; ///申请组合查询 @@ -4164,12 +4403,14 @@ struct CThostFtdcQryCombActionField { TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///交易所申请组合信息 @@ -4190,8 +4431,8 @@ struct CThostFtdcExchangeCombActionField { TThostFtdcParticipantIDType ParticipantID; ///客户代码 TThostFtdcClientIDType ClientID; - ///合约在交易所的代码 - TThostFtdcExchangeInstIDType ExchangeInstID; + ///保留的无效字段 + TThostFtdcOldExchangeInstIDType reserve1; ///交易所交易员代码 TThostFtdcTraderIDType TraderID; ///安装编号 @@ -4206,14 +4447,18 @@ struct CThostFtdcExchangeCombActionField { TThostFtdcSettlementIDType SettlementID; ///序号 TThostFtdcSequenceNoType SequenceNo; - ///IP地址 - TThostFtdcIPAddressType IPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve2; ///Mac地址 TThostFtdcMacAddressType MacAddress; ///组合编号 TThostFtdcTradeIDType ComTradeID; ///营业部编号 TThostFtdcBranchIDType BranchID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///IP地址 + TThostFtdcIPAddressType IPAddress; }; ///交易所申请组合查询 @@ -4222,62 +4467,72 @@ struct CThostFtdcQryExchangeCombActionField { TThostFtdcParticipantIDType ParticipantID; ///客户代码 TThostFtdcClientIDType ClientID; - ///合约在交易所的代码 - TThostFtdcExchangeInstIDType ExchangeInstID; + ///保留的无效字段 + TThostFtdcOldExchangeInstIDType reserve1; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; ///交易所交易员代码 TThostFtdcTraderIDType TraderID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; }; ///产品报价汇率 struct CThostFtdcProductExchRateField { - ///产品代码 - TThostFtdcInstrumentIDType ProductID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///报价币种类型 TThostFtdcCurrencyIDType QuoteCurrencyID; ///汇率 TThostFtdcExchangeRateType ExchangeRate; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; + ///产品代码 + TThostFtdcInstrumentIDType ProductID; }; ///产品报价汇率查询 struct CThostFtdcQryProductExchRateField { - ///产品代码 - TThostFtdcInstrumentIDType ProductID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; + ///产品代码 + TThostFtdcInstrumentIDType ProductID; }; ///查询询价价差参数 struct CThostFtdcQryForQuoteParamField { ///经纪公司代码 TThostFtdcBrokerIDType BrokerID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///询价价差参数 struct CThostFtdcForQuoteParamField { ///经纪公司代码 TThostFtdcBrokerIDType BrokerID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; ///最新价 TThostFtdcPriceType LastPrice; ///价差 TThostFtdcPriceType PriceInterval; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///当前做市商期权合约手续费的详细内容 struct CThostFtdcMMOptionInstrCommRateField { - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///投资者范围 TThostFtdcInvestorRangeType InvestorRange; ///经纪公司代码 @@ -4300,6 +4555,8 @@ struct CThostFtdcMMOptionInstrCommRateField { TThostFtdcRatioType StrikeRatioByMoney; ///执行手续费 TThostFtdcRatioType StrikeRatioByVolume; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///做市商期权手续费率查询 @@ -4308,14 +4565,16 @@ struct CThostFtdcQryMMOptionInstrCommRateField { TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///合约代码 TThostFtdcInstrumentIDType InstrumentID; }; ///做市商合约手续费率 struct CThostFtdcMMInstrumentCommissionRateField { - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///投资者范围 TThostFtdcInvestorRangeType InvestorRange; ///经纪公司代码 @@ -4334,6 +4593,8 @@ struct CThostFtdcMMInstrumentCommissionRateField { TThostFtdcRatioType CloseTodayRatioByMoney; ///平今手续费 TThostFtdcRatioType CloseTodayRatioByVolume; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///查询做市商合约手续费率 @@ -4342,14 +4603,16 @@ struct CThostFtdcQryMMInstrumentCommissionRateField { TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///合约代码 TThostFtdcInstrumentIDType InstrumentID; }; ///当前报单手续费的详细内容 struct CThostFtdcInstrumentOrderCommRateField { - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///投资者范围 TThostFtdcInvestorRangeType InvestorRange; ///经纪公司代码 @@ -4366,6 +4629,8 @@ struct CThostFtdcInstrumentOrderCommRateField { TThostFtdcExchangeIDType ExchangeID; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///报单手续费率查询 @@ -4374,6 +4639,8 @@ struct CThostFtdcQryInstrumentOrderCommRateField { TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///合约代码 TThostFtdcInstrumentIDType InstrumentID; }; @@ -4392,8 +4659,8 @@ struct CThostFtdcTradeParamField { ///合约保证金率调整 struct CThostFtdcInstrumentMarginRateULField { - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///投资者范围 TThostFtdcInvestorRangeType InvestorRange; ///经纪公司代码 @@ -4410,6 +4677,8 @@ struct CThostFtdcInstrumentMarginRateULField { TThostFtdcRatioType ShortMarginRatioByMoney; ///空头保证金费 TThostFtdcMoneyType ShortMarginRatioByVolume; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///期货持仓限制参数 @@ -4420,28 +4689,34 @@ struct CThostFtdcFutureLimitPosiParamField { TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; - ///产品代码 - TThostFtdcInstrumentIDType ProductID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///当日投机开仓数量限制 TThostFtdcVolumeType SpecOpenVolume; ///当日套利开仓数量限制 TThostFtdcVolumeType ArbiOpenVolume; ///当日投机+套利开仓数量限制 TThostFtdcVolumeType OpenVolume; + ///产品代码 + TThostFtdcInstrumentIDType ProductID; }; ///禁止登录IP struct CThostFtdcLoginForbiddenIPField { + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve1; ///IP地址 TThostFtdcIPAddressType IPAddress; }; ///IP列表 struct CThostFtdcIPListField { - ///IP地址 - TThostFtdcIPAddressType IPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve1; ///是否白名单 TThostFtdcBoolType IsWhite; + ///IP地址 + TThostFtdcIPAddressType IPAddress; }; ///输入的期权自对冲 @@ -4450,8 +4725,8 @@ struct CThostFtdcInputOptionSelfCloseField { TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///期权自对冲引用 TThostFtdcOrderRefType OptionSelfCloseRef; ///用户代码 @@ -4476,10 +4751,14 @@ struct CThostFtdcInputOptionSelfCloseField { TThostFtdcCurrencyIDType CurrencyID; ///交易编码 TThostFtdcClientIDType ClientID; - ///IP地址 - TThostFtdcIPAddressType IPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve2; ///Mac地址 TThostFtdcMacAddressType MacAddress; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///IP地址 + TThostFtdcIPAddressType IPAddress; }; ///输入期权自对冲操作 @@ -4506,14 +4785,18 @@ struct CThostFtdcInputOptionSelfCloseActionField { TThostFtdcActionFlagType ActionFlag; ///用户代码 TThostFtdcUserIDType UserID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; - ///IP地址 - TThostFtdcIPAddressType IPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve2; ///Mac地址 TThostFtdcMacAddressType MacAddress; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///IP地址 + TThostFtdcIPAddressType IPAddress; }; ///期权自对冲 @@ -4522,8 +4805,8 @@ struct CThostFtdcOptionSelfCloseField { TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///期权自对冲引用 TThostFtdcOrderRefType OptionSelfCloseRef; ///用户代码 @@ -4546,8 +4829,8 @@ struct CThostFtdcOptionSelfCloseField { TThostFtdcParticipantIDType ParticipantID; ///客户代码 TThostFtdcClientIDType ClientID; - ///合约在交易所的代码 - TThostFtdcExchangeInstIDType ExchangeInstID; + ///保留的无效字段 + TThostFtdcOldExchangeInstIDType reserve2; ///交易所交易员代码 TThostFtdcTraderIDType TraderID; ///安装编号 @@ -4594,10 +4877,16 @@ struct CThostFtdcOptionSelfCloseField { TThostFtdcAccountIDType AccountID; ///币种代码 TThostFtdcCurrencyIDType CurrencyID; - ///IP地址 - TThostFtdcIPAddressType IPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve3; ///Mac地址 TThostFtdcMacAddressType MacAddress; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///IP地址 + TThostFtdcIPAddressType IPAddress; }; ///期权自对冲操作 @@ -4646,16 +4935,20 @@ struct CThostFtdcOptionSelfCloseActionField { TThostFtdcUserIDType UserID; ///状态信息 TThostFtdcErrorMsgType StatusMsg; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///营业部编号 TThostFtdcBranchIDType BranchID; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; - ///IP地址 - TThostFtdcIPAddressType IPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve2; ///Mac地址 TThostFtdcMacAddressType MacAddress; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///IP地址 + TThostFtdcIPAddressType IPAddress; }; ///期权自对冲查询 @@ -4664,8 +4957,8 @@ struct CThostFtdcQryOptionSelfCloseField { TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; ///期权自对冲编号 @@ -4674,6 +4967,8 @@ struct CThostFtdcQryOptionSelfCloseField { TThostFtdcTimeType InsertTimeStart; ///结束时间 TThostFtdcTimeType InsertTimeEnd; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///交易所期权自对冲信息 @@ -4696,8 +4991,8 @@ struct CThostFtdcExchangeOptionSelfCloseField { TThostFtdcParticipantIDType ParticipantID; ///客户代码 TThostFtdcClientIDType ClientID; - ///合约在交易所的代码 - TThostFtdcExchangeInstIDType ExchangeInstID; + ///保留的无效字段 + TThostFtdcOldExchangeInstIDType reserve1; ///交易所交易员代码 TThostFtdcTraderIDType TraderID; ///安装编号 @@ -4725,11 +5020,15 @@ struct CThostFtdcExchangeOptionSelfCloseField { ///序号 TThostFtdcSequenceNoType SequenceNo; ///营业部编号 - TThostFtdcBranchIDType BranchID; - ///IP地址 - TThostFtdcIPAddressType IPAddress; + TThostFtdcBranchIDType BranchID; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve2; ///Mac地址 TThostFtdcMacAddressType MacAddress; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///IP地址 + TThostFtdcIPAddressType IPAddress; }; ///期权自对冲操作查询 @@ -4774,14 +5073,18 @@ struct CThostFtdcExchangeOptionSelfCloseActionField { TThostFtdcUserIDType UserID; ///营业部编号 TThostFtdcBranchIDType BranchID; - ///IP地址 - TThostFtdcIPAddressType IPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve1; ///Mac地址 TThostFtdcMacAddressType MacAddress; - ///合约在交易所的代码 - TThostFtdcExchangeInstIDType ExchangeInstID; + ///保留的无效字段 + TThostFtdcOldExchangeInstIDType reserve2; ///期权行权的头寸是否自对冲 TThostFtdcOptSelfCloseFlagType OptSelfCloseFlag; + ///IP地址 + TThostFtdcIPAddressType IPAddress; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; }; ///延时换汇同步 @@ -4880,12 +5183,12 @@ struct CThostFtdcSecAgentTradeInfoField { struct CThostFtdcMarketDataField { ///交易日 TThostFtdcDateType TradingDay; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; - ///合约在交易所的代码 - TThostFtdcExchangeInstIDType ExchangeInstID; + ///保留的无效字段 + TThostFtdcOldExchangeInstIDType reserve2; ///最新价 TThostFtdcPriceType LastPrice; ///上次结算价 @@ -4924,6 +5227,10 @@ struct CThostFtdcMarketDataField { TThostFtdcMillisecType UpdateMillisec; ///业务日期 TThostFtdcDateType ActionDay; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; }; ///行情基础属性 @@ -5034,14 +5341,16 @@ struct CThostFtdcMarketDataAsk45Field { ///行情更新时间属性 struct CThostFtdcMarketDataUpdateTimeField { - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///最后修改时间 TThostFtdcTimeType UpdateTime; ///最后修改毫秒 TThostFtdcMillisecType UpdateMillisec; ///业务日期 TThostFtdcDateType ActionDay; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///行情交易所代码属性 @@ -5052,6 +5361,8 @@ struct CThostFtdcMarketDataExchangeField { ///指定的合约 struct CThostFtdcSpecificInstrumentField { + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///合约代码 TThostFtdcInstrumentIDType InstrumentID; }; @@ -5060,12 +5371,12 @@ struct CThostFtdcSpecificInstrumentField { struct CThostFtdcInstrumentStatusField { ///交易所代码 TThostFtdcExchangeIDType ExchangeID; - ///合约在交易所的代码 - TThostFtdcExchangeInstIDType ExchangeInstID; + ///保留的无效字段 + TThostFtdcOldExchangeInstIDType reserve1; ///结算组代码 TThostFtdcSettlementGroupIDType SettlementGroupID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve2; ///合约交易状态 TThostFtdcInstrumentStatusType InstrumentStatus; ///交易阶段编号 @@ -5074,12 +5385,18 @@ struct CThostFtdcInstrumentStatusField { TThostFtdcTimeType EnterTime; ///进入本状态原因 TThostFtdcInstStatusEnterReasonType EnterReason; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///查询合约状态 struct CThostFtdcQryInstrumentStatusField { ///交易所代码 TThostFtdcExchangeIDType ExchangeID; + ///保留的无效字段 + TThostFtdcOldExchangeInstIDType reserve1; ///合约在交易所的代码 TThostFtdcExchangeInstIDType ExchangeInstID; }; @@ -5148,18 +5465,20 @@ struct CThostFtdcQryInvestorPositionDetailField { TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///投资者持仓明细 struct CThostFtdcInvestorPositionDetailField { - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///经纪公司代码 TThostFtdcBrokerIDType BrokerID; ///投资者代码 @@ -5182,8 +5501,8 @@ struct CThostFtdcInvestorPositionDetailField { TThostFtdcSettlementIDType SettlementID; ///成交类型 TThostFtdcTradeTypeType TradeType; - ///组合合约代码 - TThostFtdcInstrumentIDType CombInstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve2; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; ///逐日盯市平仓盈亏 @@ -5216,6 +5535,10 @@ struct CThostFtdcInvestorPositionDetailField { TThostFtdcInvestUnitIDType InvestUnitID; ///特殊持仓标志 TThostFtdcSpecPosiTypeType SpecPosiType; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///组合合约代码 + TThostFtdcInstrumentIDType CombInstrumentID; }; ///资金账户口令域 @@ -5380,10 +5703,14 @@ struct CThostFtdcTradingAccountPasswordUpdateField { ///查询组合合约分腿 struct CThostFtdcQryCombinationLegField { - ///组合合约代码 - TThostFtdcInstrumentIDType CombInstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///单腿编号 TThostFtdcLegIDType LegID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve2; + ///组合合约代码 + TThostFtdcInstrumentIDType CombInstrumentID; ///单腿合约代码 TThostFtdcInstrumentIDType LegInstrumentID; }; @@ -5396,18 +5723,22 @@ struct CThostFtdcQrySyncStatusField { ///组合交易合约的单腿 struct CThostFtdcCombinationLegField { - ///组合合约代码 - TThostFtdcInstrumentIDType CombInstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///单腿编号 TThostFtdcLegIDType LegID; - ///单腿合约代码 - TThostFtdcInstrumentIDType LegInstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve2; ///买卖方向 TThostFtdcDirectionType Direction; ///单腿乘数 TThostFtdcLegMultipleType LegMultiple; ///派生层数 TThostFtdcImplyLevelType ImplyLevel; + ///组合合约代码 + TThostFtdcInstrumentIDType CombInstrumentID; + ///单腿合约代码 + TThostFtdcInstrumentIDType LegInstrumentID; }; ///数据同步状态 @@ -5482,6 +5813,8 @@ struct CThostFtdcBrokerUserEventField { TThostFtdcUserEventInfoType UserEventInfo; ///投资者代码 TThostFtdcInvestorIDType InvestorID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///合约代码 TThostFtdcInstrumentIDType InstrumentID; }; @@ -5526,8 +5859,8 @@ struct CThostFtdcInvestorPositionCombineDetailField { TThostFtdcTradeIDType ComTradeID; ///撮合编号 TThostFtdcTradeIDType TradeID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///投机套保标志 TThostFtdcHedgeFlagType HedgeFlag; ///买卖 @@ -5546,12 +5879,16 @@ struct CThostFtdcInvestorPositionCombineDetailField { TThostFtdcLegIDType LegID; ///单腿乘数 TThostFtdcLegMultipleType LegMultiple; - ///组合持仓合约编码 - TThostFtdcInstrumentIDType CombInstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve2; ///成交组号 TThostFtdcTradeGroupIDType TradeGroupID; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///组合持仓合约编码 + TThostFtdcInstrumentIDType CombInstrumentID; }; ///预埋单 @@ -5560,8 +5897,8 @@ struct CThostFtdcParkedOrderField { TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///报单引用 TThostFtdcOrderRefType OrderRef; ///用户代码 @@ -5622,10 +5959,14 @@ struct CThostFtdcParkedOrderField { TThostFtdcClientIDType ClientID; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; - ///IP地址 - TThostFtdcIPAddressType IPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve2; ///Mac地址 TThostFtdcMacAddressType MacAddress; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///IP地址 + TThostFtdcIPAddressType IPAddress; }; ///输入预埋单操作 @@ -5656,8 +5997,8 @@ struct CThostFtdcParkedOrderActionField { TThostFtdcVolumeType VolumeChange; ///用户代码 TThostFtdcUserIDType UserID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///预埋撤单单编号 TThostFtdcParkedOrderActionIDType ParkedOrderActionID; ///用户类型 @@ -5670,10 +6011,14 @@ struct CThostFtdcParkedOrderActionField { TThostFtdcErrorMsgType ErrorMsg; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; - ///IP地址 - TThostFtdcIPAddressType IPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve2; ///Mac地址 TThostFtdcMacAddressType MacAddress; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///IP地址 + TThostFtdcIPAddressType IPAddress; }; ///查询预埋单 @@ -5682,12 +6027,14 @@ struct CThostFtdcQryParkedOrderField { TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///查询预埋撤单 @@ -5696,12 +6043,14 @@ struct CThostFtdcQryParkedOrderActionField { TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///删除预埋单 @@ -5750,12 +6099,14 @@ struct CThostFtdcQryInvestorPositionCombineDetailField { TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; - ///组合持仓合约编码 - TThostFtdcInstrumentIDType CombInstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; + ///组合持仓合约编码 + TThostFtdcInstrumentIDType CombInstrumentID; }; ///成交均价 @@ -5780,12 +6131,16 @@ struct CThostFtdcUserIPField { TThostFtdcBrokerIDType BrokerID; ///用户代码 TThostFtdcUserIDType UserID; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve1; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve2; + ///Mac地址 + TThostFtdcMacAddressType MacAddress; ///IP地址 TThostFtdcIPAddressType IPAddress; ///IP地址掩码 TThostFtdcIPAddressType IPMask; - ///Mac地址 - TThostFtdcMacAddressType MacAddress; }; ///用户事件通知信息 @@ -5852,8 +6207,8 @@ struct CThostFtdcErrOrderField { TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///报单引用 TThostFtdcOrderRefType OrderRef; ///用户代码 @@ -5908,10 +6263,14 @@ struct CThostFtdcErrOrderField { TThostFtdcCurrencyIDType CurrencyID; ///交易编码 TThostFtdcClientIDType ClientID; - ///IP地址 - TThostFtdcIPAddressType IPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve2; ///Mac地址 TThostFtdcMacAddressType MacAddress; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///IP地址 + TThostFtdcIPAddressType IPAddress; }; ///查询错误报单操作 @@ -5920,8 +6279,8 @@ struct CThostFtdcErrorConditionalOrderField { TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///报单引用 TThostFtdcOrderRefType OrderRef; ///用户代码 @@ -5966,8 +6325,8 @@ struct CThostFtdcErrorConditionalOrderField { TThostFtdcParticipantIDType ParticipantID; ///客户代码 TThostFtdcClientIDType ClientID; - ///合约在交易所的代码 - TThostFtdcExchangeInstIDType ExchangeInstID; + ///保留的无效字段 + TThostFtdcOldExchangeInstIDType reserve2; ///交易所交易员代码 TThostFtdcTraderIDType TraderID; ///安装编号 @@ -6042,10 +6401,16 @@ struct CThostFtdcErrorConditionalOrderField { TThostFtdcAccountIDType AccountID; ///币种代码 TThostFtdcCurrencyIDType CurrencyID; - ///IP地址 - TThostFtdcIPAddressType IPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve3; ///Mac地址 TThostFtdcMacAddressType MacAddress; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///IP地址 + TThostFtdcIPAddressType IPAddress; }; ///查询错误报单操作 @@ -6106,20 +6471,24 @@ struct CThostFtdcErrOrderActionField { TThostFtdcUserIDType UserID; ///状态信息 TThostFtdcErrorMsgType StatusMsg; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///营业部编号 TThostFtdcBranchIDType BranchID; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; - ///IP地址 - TThostFtdcIPAddressType IPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve2; ///Mac地址 TThostFtdcMacAddressType MacAddress; ///错误代码 TThostFtdcErrorIDType ErrorID; ///错误信息 TThostFtdcErrorMsgType ErrorMsg; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///IP地址 + TThostFtdcIPAddressType IPAddress; }; ///查询交易所状态 @@ -6139,13 +6508,13 @@ struct CThostFtdcExchangeSequenceField { }; ///根据价格查询最大报单数量 -struct CThostFtdcQueryMaxOrderVolumeWithPriceField { +struct CThostFtdcQryMaxOrderVolumeWithPriceField { ///经纪公司代码 TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///买卖方向 TThostFtdcDirectionType Direction; ///开平标志 @@ -6160,6 +6529,8 @@ struct CThostFtdcQueryMaxOrderVolumeWithPriceField { TThostFtdcExchangeIDType ExchangeID; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///查询经纪公司交易参数 @@ -6200,6 +6571,8 @@ struct CThostFtdcQryBrokerTradingAlgosField { TThostFtdcBrokerIDType BrokerID; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///合约代码 TThostFtdcInstrumentIDType InstrumentID; }; @@ -6210,14 +6583,16 @@ struct CThostFtdcBrokerTradingAlgosField { TThostFtdcBrokerIDType BrokerID; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///持仓处理算法编号 TThostFtdcHandlePositionAlgoIDType HandlePositionAlgoID; ///寻找保证金率算法编号 TThostFtdcFindMarginRateAlgoIDType FindMarginRateAlgoID; ///资金处理算法编号 TThostFtdcHandleTradingAccountAlgoIDType HandleTradingAccountAlgoID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///查询经纪公司资金 @@ -6384,8 +6759,8 @@ struct CThostFtdcEWarrantOffsetField { TThostFtdcInvestorIDType InvestorID; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///买卖方向 TThostFtdcDirectionType Direction; ///投机套保标志 @@ -6394,6 +6769,8 @@ struct CThostFtdcEWarrantOffsetField { TThostFtdcVolumeType Volume; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///查询仓单折抵信息 @@ -6404,10 +6781,12 @@ struct CThostFtdcQryEWarrantOffsetField { TThostFtdcInvestorIDType InvestorID; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///查询投资者品种/跨品种保证金 @@ -6416,20 +6795,22 @@ struct CThostFtdcQryInvestorProductGroupMarginField { TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; - ///品种/跨品种标示 - TThostFtdcInstrumentIDType ProductGroupID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///投机套保标志 TThostFtdcHedgeFlagType HedgeFlag; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; + ///品种/跨品种标示 + TThostFtdcInstrumentIDType ProductGroupID; }; ///投资者品种/跨品种保证金 struct CThostFtdcInvestorProductGroupMarginField { - ///品种/跨品种标示 - TThostFtdcInstrumentIDType ProductGroupID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///经纪公司代码 TThostFtdcBrokerIDType BrokerID; ///投资者代码 @@ -6486,6 +6867,8 @@ struct CThostFtdcInvestorProductGroupMarginField { TThostFtdcExchangeIDType ExchangeID; ///投资单元代码 TThostFtdcInvestUnitIDType InvestUnitID; + ///品种/跨品种标示 + TThostFtdcInstrumentIDType ProductGroupID; }; ///查询监控中心用户令牌 @@ -6514,18 +6897,24 @@ struct CThostFtdcCFMMCTradingAccountTokenField { ///查询产品组 struct CThostFtdcQryProductGroupField { - ///产品代码 - TThostFtdcInstrumentIDType ProductID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; + ///产品代码 + TThostFtdcInstrumentIDType ProductID; }; ///投资者品种/跨品种保证金产品组 struct CThostFtdcProductGroupField { - ///产品代码 - TThostFtdcInstrumentIDType ProductID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///交易所代码 TThostFtdcExchangeIDType ExchangeID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve2; + ///产品代码 + TThostFtdcInstrumentIDType ProductID; ///产品组代码 TThostFtdcInstrumentIDType ProductGroupID; }; @@ -6576,8 +6965,8 @@ struct CThostFtdcQryBulletinField { struct CThostFtdcMulticastInstrumentField { ///主题号 TThostFtdcInstallIDType TopicID; - ///合约代码 - TThostFtdcInstrumentIDType InstrumentID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///合约编号 TThostFtdcInstallIDType InstrumentNo; ///基准价 @@ -6586,12 +6975,16 @@ struct CThostFtdcMulticastInstrumentField { TThostFtdcVolumeMultipleType VolumeMultiple; ///最小变动价位 TThostFtdcPriceType PriceTick; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; }; ///QryMulticastInstrument struct CThostFtdcQryMulticastInstrumentField { ///主题号 TThostFtdcInstallIDType TopicID; + ///保留的无效字段 + TThostFtdcOldInstrumentIDType reserve1; ///合约代码 TThostFtdcInstrumentIDType InstrumentID; }; @@ -8710,6 +9103,8 @@ struct CThostFtdcLoginForbiddenUserField { TThostFtdcBrokerIDType BrokerID; ///用户代码 TThostFtdcUserIDType UserID; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve1; ///IP地址 TThostFtdcIPAddressType IPAddress; }; @@ -8722,16 +9117,6 @@ struct CThostFtdcQryLoginForbiddenUserField { TThostFtdcUserIDType UserID; }; -///UDP组播组信息 -struct CThostFtdcMulticastGroupInfoField { - ///组播组IP地址 - TThostFtdcIPAddressType GroupIP; - ///组播组IP端口 - TThostFtdcIPPortType GroupPort; - ///源地址 - TThostFtdcIPAddressType SourceIP; -}; - ///资金账户基本准备金 struct CThostFtdcTradingAccountReserveField { ///经纪公司代码 @@ -8746,12 +9131,16 @@ struct CThostFtdcTradingAccountReserveField { ///查询禁止登录IP struct CThostFtdcQryLoginForbiddenIPField { + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve1; ///IP地址 TThostFtdcIPAddressType IPAddress; }; ///查询IP列表 struct CThostFtdcQryIPListField { + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve1; ///IP地址 TThostFtdcIPAddressType IPAddress; }; @@ -8988,26 +9377,6 @@ struct CThostFtdcQrySecAgentTradeInfoField { TThostFtdcAccountIDType BrokerSecAgentID; }; -///用户系统信息 -struct CThostFtdcUserSystemInfoField { - ///经纪公司代码 - TThostFtdcBrokerIDType BrokerID; - ///用户代码 - TThostFtdcUserIDType UserID; - ///用户端系统内部信息长度 - TThostFtdcSystemInfoLenType ClientSystemInfoLen; - ///用户端系统内部信息 - TThostFtdcClientSystemInfoType ClientSystemInfo; - ///用户公网IP - TThostFtdcIPAddressType ClientPublicIP; - ///终端IP端口 - TThostFtdcIPPortType ClientIPPort; - ///登录成功时间 - TThostFtdcTimeType ClientLoginTime; - ///App代码 - TThostFtdcAppIDType ClientAppID; -}; - ///用户发出获取安全安全登陆方法请求 struct CThostFtdcReqUserAuthMethodField { ///交易日 @@ -9080,14 +9449,16 @@ struct CThostFtdcReqUserLoginWithCaptchaField { TThostFtdcProtocolInfoType ProtocolInfo; ///Mac地址 TThostFtdcMacAddressType MacAddress; - ///终端IP地址 - TThostFtdcIPAddressType ClientIPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve1; ///登录备注 TThostFtdcLoginRemarkType LoginRemark; ///图形验证码的文字内容 TThostFtdcPasswordType Captcha; ///终端IP端口 TThostFtdcIPPortType ClientIPPort; + ///终端IP地址 + TThostFtdcIPAddressType ClientIPAddress; }; ///用户发出带短信验证码的登录请求请求 @@ -9108,14 +9479,16 @@ struct CThostFtdcReqUserLoginWithTextField { TThostFtdcProtocolInfoType ProtocolInfo; ///Mac地址 TThostFtdcMacAddressType MacAddress; - ///终端IP地址 - TThostFtdcIPAddressType ClientIPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve1; ///登录备注 TThostFtdcLoginRemarkType LoginRemark; ///短信验证码文字内容 TThostFtdcPasswordType Text; ///终端IP端口 TThostFtdcIPPortType ClientIPPort; + ///终端IP地址 + TThostFtdcIPAddressType ClientIPAddress; }; ///用户发出带动态验证码的登录请求请求 @@ -9136,14 +9509,16 @@ struct CThostFtdcReqUserLoginWithOTPField { TThostFtdcProtocolInfoType ProtocolInfo; ///Mac地址 TThostFtdcMacAddressType MacAddress; - ///终端IP地址 - TThostFtdcIPAddressType ClientIPAddress; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve1; ///登录备注 TThostFtdcLoginRemarkType LoginRemark; ///OTP密码 TThostFtdcPasswordType OTPPassword; ///终端IP端口 TThostFtdcIPPortType ClientIPPort; + ///终端IP地址 + TThostFtdcIPAddressType ClientIPAddress; }; ///api握手请求 @@ -9190,12 +9565,16 @@ struct CThostFtdcQueryFreqField { ///禁止认证IP struct CThostFtdcAuthForbiddenIPField { + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve1; ///IP地址 TThostFtdcIPAddressType IPAddress; }; ///查询禁止认证IP struct CThostFtdcQryAuthForbiddenIPField { + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve1; ///IP地址 TThostFtdcIPAddressType IPAddress; }; @@ -9216,5 +9595,85 @@ struct CThostFtdcSyncDelaySwapFrozenField { TThostFtdcBoolType IsManualSwap; }; +///用户系统信息 +struct CThostFtdcUserSystemInfoField { + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///用户端系统内部信息长度 + TThostFtdcSystemInfoLenType ClientSystemInfoLen; + ///用户端系统内部信息 + TThostFtdcClientSystemInfoType ClientSystemInfo; + ///保留的无效字段 + TThostFtdcOldIPAddressType reserve1; + ///终端IP端口 + TThostFtdcIPPortType ClientIPPort; + ///登录成功时间 + TThostFtdcTimeType ClientLoginTime; + ///App代码 + TThostFtdcAppIDType ClientAppID; + ///用户公网IP + TThostFtdcIPAddressType ClientPublicIP; +}; + +///终端用户绑定信息 +struct CThostFtdcAuthUserIDField { + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///App代码 + TThostFtdcAppIDType AppID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///校验类型 + TThostFtdcAuthTypeType AuthType; +}; + +///用户IP绑定信息 +struct CThostFtdcAuthIPField { + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///App代码 + TThostFtdcAppIDType AppID; + ///用户代码 + TThostFtdcIPAddressType IPAddress; +}; + +///查询分类合约 +struct CThostFtdcQryClassifiedInstrumentField { + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///产品代码 + TThostFtdcInstrumentIDType ProductID; + ///合约交易状态 + TThostFtdcTradingTypeType TradingType; + ///合约分类类型 + TThostFtdcClassTypeType ClassType; +}; + +///查询组合优惠比例 +struct CThostFtdcQryCombPromotionParamField { + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; +}; + +///组合优惠比例 +struct CThostFtdcCombPromotionParamField { + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投机套保标志 + TThostFtdcCombHedgeFlagType CombHedgeFlag; + ///期权组合保证金比例 + TThostFtdcDiscountRatioType Xparameter; +}; + #endif diff --git a/ctp/header/error.xml b/ctp/header/error.xml old mode 100755 new mode 100644 index 1f865f3..1e4b881 --- a/ctp/header/error.xml +++ b/ctp/header/error.xml @@ -1 +1,251 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ctp/linux/libthostmduserapi_se.so b/ctp/linux/libthostmduserapi_se.so index 5d7d280..3129b3d 100755 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 index e534853..af3f02f 100755 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 ad15444..503ca51 100644 --- a/ctp/version.txt +++ b/ctp/version.txt @@ -1,3 +1,3 @@ -6.3.19 p1 +6.5.1_20200908 windows-64x linux-64x \ No newline at end of file diff --git a/ctp/win/thostmduserapi_se.dll b/ctp/win/thostmduserapi_se.dll old mode 100755 new mode 100644 index 0960d2c..a8245eb 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 old mode 100755 new mode 100644 index 19b1cfc..8d48793 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 old mode 100755 new mode 100644 index 468c76d..f8f4350 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 old mode 100755 new mode 100644 index 60b393a..8b2a345 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 a1724a6..5027c6f 100644 --- a/ctpwrapper/ApiStructure.py +++ b/ctpwrapper/ApiStructure.py @@ -1,6 +1,5 @@ # encoding=utf-8 import ctypes - from ctpwrapper.base import Base @@ -29,14 +28,14 @@ class ReqUserLoginField(Base): ('ProtocolInfo', ctypes.c_char * 11), # 协议信息 ('MacAddress', ctypes.c_char * 21), # Mac地址 ('OneTimePassword', ctypes.c_char * 41), # 动态密码 - ('ClientIPAddress', ctypes.c_char * 16), # 终端IP地址 + ('reserve1', ctypes.c_char * 16), # 保留的无效字段 ('LoginRemark', ctypes.c_char * 36), # 登录备注 ('ClientIPPort', ctypes.c_int), # 终端IP端口 + ('ClientIPAddress', ctypes.c_char * 33), # 终端IP地址 ] - def __init__(self, TradingDay='', BrokerID='', UserID='', Password='', UserProductInfo='', InterfaceProductInfo='', - ProtocolInfo='', MacAddress='', OneTimePassword='', ClientIPAddress='', LoginRemark='', - ClientIPPort=0): + def __init__(self, TradingDay='', BrokerID='', UserID='', Password='', UserProductInfo='', InterfaceProductInfo='', ProtocolInfo='', MacAddress='', OneTimePassword='', reserve1='', LoginRemark='', + ClientIPPort=0, ClientIPAddress=''): super(ReqUserLoginField, self).__init__() self.TradingDay = self._to_bytes(TradingDay) self.BrokerID = self._to_bytes(BrokerID) @@ -47,9 +46,10 @@ def __init__(self, TradingDay='', BrokerID='', UserID='', Password='', UserProdu 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) class RspUserLoginField(Base): @@ -70,8 +70,7 @@ class RspUserLoginField(Base): ('INETime', ctypes.c_char * 9), # 能源中心时间 ] - def __init__(self, TradingDay='', LoginTime='', BrokerID='', UserID='', SystemName='', FrontID=0, SessionID=0, - MaxOrderRef='', SHFETime='', DCETime='', CZCETime='', FFEXTime='', INETime=''): + def __init__(self, TradingDay='', LoginTime='', BrokerID='', UserID='', SystemName='', FrontID=0, SessionID=0, MaxOrderRef='', SHFETime='', DCETime='', CZCETime='', FFEXTime='', INETime=''): super(RspUserLoginField, self).__init__() self.TradingDay = self._to_bytes(TradingDay) self.LoginTime = self._to_bytes(LoginTime) @@ -162,11 +161,11 @@ class AuthenticationInfoField(Base): ('IsResult', ctypes.c_int), # 是否为认证结果 ('AppID', ctypes.c_char * 33), # App代码 ('AppType', ctypes.c_char), # App类型 - ('ClientIPAddress', ctypes.c_char * 16), # 终端IP地址 + ('reserve1', ctypes.c_char * 16), # 保留的无效字段 + ('ClientIPAddress', ctypes.c_char * 33), # 终端IP地址 ] - def __init__(self, BrokerID='', UserID='', UserProductInfo='', AuthInfo='', IsResult=0, AppID='', AppType='', - ClientIPAddress=''): + def __init__(self, BrokerID='', UserID='', UserProductInfo='', AuthInfo='', IsResult=0, AppID='', AppType='', reserve1='', ClientIPAddress=''): super(AuthenticationInfoField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.UserID = self._to_bytes(UserID) @@ -175,6 +174,7 @@ def __init__(self, BrokerID='', UserID='', UserProductInfo='', AuthInfo='', IsRe self.IsResult = int(IsResult) self.AppID = self._to_bytes(AppID) self.AppType = self._to_bytes(AppType) + self.reserve1 = self._to_bytes(reserve1) self.ClientIPAddress = self._to_bytes(ClientIPAddress) @@ -197,8 +197,8 @@ class RspUserLogin2Field(Base): ('RandomString', ctypes.c_char * 17), # 随机串 ] - def __init__(self, TradingDay='', LoginTime='', BrokerID='', UserID='', SystemName='', FrontID=0, SessionID=0, - MaxOrderRef='', SHFETime='', DCETime='', CZCETime='', FFEXTime='', INETime='', RandomString=''): + def __init__(self, TradingDay='', LoginTime='', BrokerID='', UserID='', SystemName='', FrontID=0, SessionID=0, MaxOrderRef='', SHFETime='', DCETime='', CZCETime='', FFEXTime='', INETime='', + RandomString=''): super(RspUserLogin2Field, self).__init__() self.TradingDay = self._to_bytes(TradingDay) self.LoginTime = self._to_bytes(LoginTime) @@ -234,8 +234,7 @@ class TransferHeaderField(Base): ('RequestID', ctypes.c_int), # 请求编号,N/A ] - def __init__(self, Version='', TradeCode='', TradeDate='', TradeTime='', TradeSerial='', FutureID='', BankID='', - BankBrchID='', OperNo='', DeviceID='', RecordNum='', SessionID=0, RequestID=0): + def __init__(self, Version='', TradeCode='', TradeDate='', TradeTime='', TradeSerial='', FutureID='', BankID='', BankBrchID='', OperNo='', DeviceID='', RecordNum='', SessionID=0, RequestID=0): super(TransferHeaderField, self).__init__() self.Version = self._to_bytes(Version) self.TradeCode = self._to_bytes(TradeCode) @@ -365,8 +364,7 @@ class TransferQryBankRspField(Base): ('CurrencyCode', ctypes.c_char * 4), # 币种 ] - def __init__(self, RetCode='', RetInfo='', FutureAccount='', TradeAmt=0.0, UseAmt=0.0, FetchAmt=0.0, - CurrencyCode=''): + def __init__(self, RetCode='', RetInfo='', FutureAccount='', TradeAmt=0.0, UseAmt=0.0, FetchAmt=0.0, CurrencyCode=''): super(TransferQryBankRspField, self).__init__() self.RetCode = self._to_bytes(RetCode) self.RetInfo = self._to_bytes(RetInfo) @@ -407,9 +405,8 @@ class TransferQryDetailRspField(Base): ('Flag', ctypes.c_char), # 有效标志 ] - def __init__(self, TradeDate='', TradeTime='', TradeCode='', FutureSerial=0, FutureID='', FutureAccount='', - BankSerial=0, BankID='', BankBrchID='', BankAccount='', CertCode='', CurrencyCode='', TxAmount=0.0, - Flag=''): + def __init__(self, TradeDate='', TradeTime='', TradeCode='', FutureSerial=0, FutureID='', FutureAccount='', BankSerial=0, BankID='', BankBrchID='', BankAccount='', CertCode='', CurrencyCode='', + TxAmount=0.0, Flag=''): super(TransferQryDetailRspField, self).__init__() self.TradeDate = self._to_bytes(TradeDate) self.TradeTime = self._to_bytes(TradeTime) @@ -458,7 +455,7 @@ def __init__(self, ExchangeID='', ExchangeName='', ExchangeProperty=''): class ProductField(Base): """产品""" _fields_ = [ - ('ProductID', ctypes.c_char * 31), # 产品代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('ProductName', ctypes.c_char * 21), # 产品名称 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('ProductClass', ctypes.c_char), # 产品类型 @@ -473,16 +470,17 @@ class ProductField(Base): ('CloseDealType', ctypes.c_char), # 平仓处理类型 ('TradeCurrencyID', ctypes.c_char * 4), # 交易币种类型 ('MortgageFundUseRange', ctypes.c_char), # 质押资金可用范围 - ('ExchangeProductID', ctypes.c_char * 31), # 交易所产品代码 + ('reserve2', ctypes.c_char * 31), # 保留的无效字段 ('UnderlyingMultiple', ctypes.c_double), # 合约基础商品乘数 + ('ProductID', ctypes.c_char * 81), # 产品代码 + ('ExchangeProductID', ctypes.c_char * 81), # 交易所产品代码 ] - def __init__(self, ProductID='', ProductName='', ExchangeID='', ProductClass='', VolumeMultiple=0, PriceTick=0.0, - MaxMarketOrderVolume=0, MinMarketOrderVolume=0, MaxLimitOrderVolume=0, MinLimitOrderVolume=0, - PositionType='', PositionDateType='', CloseDealType='', TradeCurrencyID='', MortgageFundUseRange='', - ExchangeProductID='', UnderlyingMultiple=0.0): + def __init__(self, reserve1='', ProductName='', ExchangeID='', ProductClass='', VolumeMultiple=0, PriceTick=0.0, MaxMarketOrderVolume=0, MinMarketOrderVolume=0, MaxLimitOrderVolume=0, + MinLimitOrderVolume=0, PositionType='', PositionDateType='', CloseDealType='', TradeCurrencyID='', MortgageFundUseRange='', reserve2='', UnderlyingMultiple=0.0, ProductID='', + ExchangeProductID=''): super(ProductField, self).__init__() - self.ProductID = self._to_bytes(ProductID) + self.reserve1 = self._to_bytes(reserve1) self.ProductName = self._to_bytes(ProductName) self.ExchangeID = self._to_bytes(ExchangeID) self.ProductClass = self._to_bytes(ProductClass) @@ -497,18 +495,20 @@ def __init__(self, ProductID='', ProductName='', ExchangeID='', ProductClass='', self.CloseDealType = self._to_bytes(CloseDealType) self.TradeCurrencyID = self._to_bytes(TradeCurrencyID) self.MortgageFundUseRange = self._to_bytes(MortgageFundUseRange) - self.ExchangeProductID = self._to_bytes(ExchangeProductID) + self.reserve2 = self._to_bytes(reserve2) self.UnderlyingMultiple = float(UnderlyingMultiple) + self.ProductID = self._to_bytes(ProductID) + self.ExchangeProductID = self._to_bytes(ExchangeProductID) class InstrumentField(Base): """合约""" _fields_ = [ - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('InstrumentName', ctypes.c_char * 21), # 合约名称 - ('ExchangeInstID', ctypes.c_char * 31), # 合约在交易所的代码 - ('ProductID', ctypes.c_char * 31), # 产品代码 + ('reserve2', ctypes.c_char * 31), # 保留的无效字段 + ('reserve3', ctypes.c_char * 31), # 保留的无效字段 ('ProductClass', ctypes.c_char), # 产品类型 ('DeliveryYear', ctypes.c_int), # 交割年份 ('DeliveryMonth', ctypes.c_int), # 交割月 @@ -530,26 +530,27 @@ class InstrumentField(Base): ('LongMarginRatio', ctypes.c_double), # 多头保证金率 ('ShortMarginRatio', ctypes.c_double), # 空头保证金率 ('MaxMarginSideAlgorithm', ctypes.c_char), # 是否使用大额单边保证金算法 - ('UnderlyingInstrID', ctypes.c_char * 31), # 基础商品代码 + ('reserve4', ctypes.c_char * 31), # 保留的无效字段 ('StrikePrice', ctypes.c_double), # 执行价 ('OptionsType', ctypes.c_char), # 期权类型 ('UnderlyingMultiple', ctypes.c_double), # 合约基础商品乘数 ('CombinationType', ctypes.c_char), # 组合类型 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('ExchangeInstID', ctypes.c_char * 81), # 合约在交易所的代码 + ('ProductID', ctypes.c_char * 81), # 产品代码 + ('UnderlyingInstrID', ctypes.c_char * 81), # 基础商品代码 ] - def __init__(self, InstrumentID='', ExchangeID='', InstrumentName='', ExchangeInstID='', ProductID='', - ProductClass='', DeliveryYear=0, DeliveryMonth=0, MaxMarketOrderVolume=0, MinMarketOrderVolume=0, - MaxLimitOrderVolume=0, MinLimitOrderVolume=0, VolumeMultiple=0, PriceTick=0.0, CreateDate='', - OpenDate='', ExpireDate='', StartDelivDate='', EndDelivDate='', InstLifePhase='', IsTrading=0, - PositionType='', PositionDateType='', LongMarginRatio=0.0, ShortMarginRatio=0.0, - MaxMarginSideAlgorithm='', UnderlyingInstrID='', StrikePrice=0.0, OptionsType='', - UnderlyingMultiple=0.0, CombinationType=''): + def __init__(self, reserve1='', ExchangeID='', InstrumentName='', reserve2='', reserve3='', ProductClass='', DeliveryYear=0, DeliveryMonth=0, MaxMarketOrderVolume=0, MinMarketOrderVolume=0, + MaxLimitOrderVolume=0, MinLimitOrderVolume=0, VolumeMultiple=0, PriceTick=0.0, CreateDate='', OpenDate='', ExpireDate='', StartDelivDate='', EndDelivDate='', InstLifePhase='', + IsTrading=0, PositionType='', PositionDateType='', LongMarginRatio=0.0, ShortMarginRatio=0.0, MaxMarginSideAlgorithm='', reserve4='', StrikePrice=0.0, OptionsType='', + UnderlyingMultiple=0.0, CombinationType='', InstrumentID='', ExchangeInstID='', ProductID='', UnderlyingInstrID=''): super(InstrumentField, self).__init__() - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.ExchangeID = self._to_bytes(ExchangeID) self.InstrumentName = self._to_bytes(InstrumentName) - self.ExchangeInstID = self._to_bytes(ExchangeInstID) - self.ProductID = self._to_bytes(ProductID) + self.reserve2 = self._to_bytes(reserve2) + self.reserve3 = self._to_bytes(reserve3) self.ProductClass = self._to_bytes(ProductClass) self.DeliveryYear = int(DeliveryYear) self.DeliveryMonth = int(DeliveryMonth) @@ -571,11 +572,15 @@ def __init__(self, InstrumentID='', ExchangeID='', InstrumentName='', ExchangeIn self.LongMarginRatio = float(LongMarginRatio) self.ShortMarginRatio = float(ShortMarginRatio) self.MaxMarginSideAlgorithm = self._to_bytes(MaxMarginSideAlgorithm) - self.UnderlyingInstrID = self._to_bytes(UnderlyingInstrID) + self.reserve4 = self._to_bytes(reserve4) self.StrikePrice = float(StrikePrice) self.OptionsType = self._to_bytes(OptionsType) self.UnderlyingMultiple = float(UnderlyingMultiple) self.CombinationType = self._to_bytes(CombinationType) + self.InstrumentID = self._to_bytes(InstrumentID) + self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.ProductID = self._to_bytes(ProductID) + self.UnderlyingInstrID = self._to_bytes(UnderlyingInstrID) class BrokerField(Base): @@ -634,9 +639,8 @@ class InvestorField(Base): ('MarginModelID', ctypes.c_char * 13), # 保证金率模板代码 ] - def __init__(self, InvestorID='', BrokerID='', InvestorGroupID='', InvestorName='', IdentifiedCardType='', - IdentifiedCardNo='', IsActive=0, Telephone='', Address='', OpenDate='', Mobile='', CommModelID='', - MarginModelID=''): + def __init__(self, InvestorID='', BrokerID='', InvestorGroupID='', InvestorName='', IdentifiedCardType='', IdentifiedCardNo='', IsActive=0, Telephone='', Address='', OpenDate='', Mobile='', + CommModelID='', MarginModelID=''): super(InvestorField, self).__init__() self.InvestorID = self._to_bytes(InvestorID) self.BrokerID = self._to_bytes(BrokerID) @@ -667,8 +671,7 @@ class TradingCodeField(Base): ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 ] - def __init__(self, InvestorID='', BrokerID='', ExchangeID='', ClientID='', IsActive=0, ClientIDType='', BranchID='', - BizType='', InvestUnitID=''): + def __init__(self, InvestorID='', BrokerID='', ExchangeID='', ClientID='', IsActive=0, ClientIDType='', BranchID='', BizType='', InvestUnitID=''): super(TradingCodeField, self).__init__() self.InvestorID = self._to_bytes(InvestorID) self.BrokerID = self._to_bytes(BrokerID) @@ -797,17 +800,12 @@ class TradingAccountField(Base): ('RemainSwap', ctypes.c_double), # 剩余换汇额度 ] - def __init__(self, BrokerID='', AccountID='', PreMortgage=0.0, PreCredit=0.0, PreDeposit=0.0, PreBalance=0.0, - PreMargin=0.0, InterestBase=0.0, Interest=0.0, Deposit=0.0, Withdraw=0.0, FrozenMargin=0.0, - FrozenCash=0.0, FrozenCommission=0.0, CurrMargin=0.0, CashIn=0.0, Commission=0.0, CloseProfit=0.0, - PositionProfit=0.0, Balance=0.0, Available=0.0, WithdrawQuota=0.0, Reserve=0.0, TradingDay='', - SettlementID=0, Credit=0.0, Mortgage=0.0, ExchangeMargin=0.0, DeliveryMargin=0.0, - ExchangeDeliveryMargin=0.0, ReserveBalance=0.0, CurrencyID='', PreFundMortgageIn=0.0, - PreFundMortgageOut=0.0, FundMortgageIn=0.0, FundMortgageOut=0.0, FundMortgageAvailable=0.0, - MortgageableFund=0.0, SpecProductMargin=0.0, SpecProductFrozenMargin=0.0, SpecProductCommission=0.0, - SpecProductFrozenCommission=0.0, SpecProductPositionProfit=0.0, SpecProductCloseProfit=0.0, - SpecProductPositionProfitByAlg=0.0, SpecProductExchangeMargin=0.0, BizType='', FrozenSwap=0.0, - RemainSwap=0.0): + def __init__(self, BrokerID='', AccountID='', PreMortgage=0.0, PreCredit=0.0, PreDeposit=0.0, PreBalance=0.0, PreMargin=0.0, InterestBase=0.0, Interest=0.0, Deposit=0.0, Withdraw=0.0, + FrozenMargin=0.0, FrozenCash=0.0, FrozenCommission=0.0, CurrMargin=0.0, CashIn=0.0, Commission=0.0, CloseProfit=0.0, PositionProfit=0.0, Balance=0.0, Available=0.0, WithdrawQuota=0.0, + Reserve=0.0, TradingDay='', SettlementID=0, Credit=0.0, Mortgage=0.0, ExchangeMargin=0.0, DeliveryMargin=0.0, ExchangeDeliveryMargin=0.0, ReserveBalance=0.0, CurrencyID='', + PreFundMortgageIn=0.0, PreFundMortgageOut=0.0, FundMortgageIn=0.0, FundMortgageOut=0.0, FundMortgageAvailable=0.0, MortgageableFund=0.0, SpecProductMargin=0.0, + SpecProductFrozenMargin=0.0, SpecProductCommission=0.0, SpecProductFrozenCommission=0.0, SpecProductPositionProfit=0.0, SpecProductCloseProfit=0.0, SpecProductPositionProfitByAlg=0.0, + SpecProductExchangeMargin=0.0, BizType='', FrozenSwap=0.0, RemainSwap=0.0): super(TradingAccountField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.AccountID = self._to_bytes(AccountID) @@ -863,7 +861,7 @@ def __init__(self, BrokerID='', AccountID='', PreMortgage=0.0, PreCredit=0.0, Pr class InvestorPositionField(Base): """投资者持仓""" _fields_ = [ - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 ('PosiDirection', ctypes.c_char), # 持仓多空方向 @@ -912,19 +910,17 @@ class InvestorPositionField(Base): ('PositionCostOffset', ctypes.c_double), # 大商所持仓成本差值,只有大商所使用 ('TasPosition', ctypes.c_int), # tas持仓手数 ('TasPositionCost', ctypes.c_double), # tas持仓成本 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, InstrumentID='', BrokerID='', InvestorID='', PosiDirection='', HedgeFlag='', PositionDate='', - YdPosition=0, Position=0, LongFrozen=0, ShortFrozen=0, LongFrozenAmount=0.0, ShortFrozenAmount=0.0, - OpenVolume=0, CloseVolume=0, OpenAmount=0.0, CloseAmount=0.0, PositionCost=0.0, PreMargin=0.0, - UseMargin=0.0, FrozenMargin=0.0, FrozenCash=0.0, FrozenCommission=0.0, CashIn=0.0, Commission=0.0, - CloseProfit=0.0, PositionProfit=0.0, PreSettlementPrice=0.0, SettlementPrice=0.0, TradingDay='', - SettlementID=0, OpenCost=0.0, ExchangeMargin=0.0, CombPosition=0, CombLongFrozen=0, CombShortFrozen=0, - CloseProfitByDate=0.0, CloseProfitByTrade=0.0, TodayPosition=0, MarginRateByMoney=0.0, - MarginRateByVolume=0.0, StrikeFrozen=0, StrikeFrozenAmount=0.0, AbandonFrozen=0, ExchangeID='', - YdStrikeFrozen=0, InvestUnitID='', PositionCostOffset=0.0, TasPosition=0, TasPositionCost=0.0): + def __init__(self, reserve1='', BrokerID='', InvestorID='', PosiDirection='', HedgeFlag='', PositionDate='', YdPosition=0, Position=0, LongFrozen=0, ShortFrozen=0, LongFrozenAmount=0.0, + ShortFrozenAmount=0.0, OpenVolume=0, CloseVolume=0, OpenAmount=0.0, CloseAmount=0.0, PositionCost=0.0, PreMargin=0.0, UseMargin=0.0, FrozenMargin=0.0, FrozenCash=0.0, + FrozenCommission=0.0, CashIn=0.0, Commission=0.0, CloseProfit=0.0, PositionProfit=0.0, PreSettlementPrice=0.0, SettlementPrice=0.0, TradingDay='', SettlementID=0, OpenCost=0.0, + ExchangeMargin=0.0, CombPosition=0, CombLongFrozen=0, CombShortFrozen=0, CloseProfitByDate=0.0, CloseProfitByTrade=0.0, TodayPosition=0, MarginRateByMoney=0.0, MarginRateByVolume=0.0, + StrikeFrozen=0, StrikeFrozenAmount=0.0, AbandonFrozen=0, ExchangeID='', YdStrikeFrozen=0, InvestUnitID='', PositionCostOffset=0.0, TasPosition=0, TasPositionCost=0.0, + InstrumentID=''): super(InvestorPositionField, self).__init__() - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) self.PosiDirection = self._to_bytes(PosiDirection) @@ -973,12 +969,13 @@ def __init__(self, InstrumentID='', BrokerID='', InvestorID='', PosiDirection='' self.PositionCostOffset = float(PositionCostOffset) self.TasPosition = int(TasPosition) self.TasPositionCost = float(TasPositionCost) + self.InstrumentID = self._to_bytes(InstrumentID) class InstrumentMarginRateField(Base): """合约保证金率""" _fields_ = [ - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('InvestorRange', ctypes.c_char), # 投资者范围 ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 @@ -990,13 +987,13 @@ class InstrumentMarginRateField(Base): ('IsRelative', ctypes.c_int), # 是否相对交易所收取 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, InstrumentID='', InvestorRange='', BrokerID='', InvestorID='', HedgeFlag='', - LongMarginRatioByMoney=0.0, LongMarginRatioByVolume=0.0, ShortMarginRatioByMoney=0.0, - ShortMarginRatioByVolume=0.0, IsRelative=0, ExchangeID='', InvestUnitID=''): + def __init__(self, reserve1='', InvestorRange='', BrokerID='', InvestorID='', HedgeFlag='', LongMarginRatioByMoney=0.0, LongMarginRatioByVolume=0.0, ShortMarginRatioByMoney=0.0, + ShortMarginRatioByVolume=0.0, IsRelative=0, ExchangeID='', InvestUnitID='', InstrumentID=''): super(InstrumentMarginRateField, self).__init__() - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.InvestorRange = self._to_bytes(InvestorRange) self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -1008,12 +1005,13 @@ def __init__(self, InstrumentID='', InvestorRange='', BrokerID='', InvestorID='' self.IsRelative = int(IsRelative) self.ExchangeID = self._to_bytes(ExchangeID) self.InvestUnitID = self._to_bytes(InvestUnitID) + self.InstrumentID = self._to_bytes(InstrumentID) class InstrumentCommissionRateField(Base): """合约手续费率""" _fields_ = [ - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('InvestorRange', ctypes.c_char), # 投资者范围 ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 @@ -1026,13 +1024,13 @@ class InstrumentCommissionRateField(Base): ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('BizType', ctypes.c_char), # 业务类型 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, InstrumentID='', InvestorRange='', BrokerID='', InvestorID='', OpenRatioByMoney=0.0, - OpenRatioByVolume=0.0, CloseRatioByMoney=0.0, CloseRatioByVolume=0.0, CloseTodayRatioByMoney=0.0, - CloseTodayRatioByVolume=0.0, ExchangeID='', BizType='', InvestUnitID=''): + def __init__(self, reserve1='', InvestorRange='', BrokerID='', InvestorID='', OpenRatioByMoney=0.0, OpenRatioByVolume=0.0, CloseRatioByMoney=0.0, CloseRatioByVolume=0.0, + CloseTodayRatioByMoney=0.0, CloseTodayRatioByVolume=0.0, ExchangeID='', BizType='', InvestUnitID='', InstrumentID=''): super(InstrumentCommissionRateField, self).__init__() - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.InvestorRange = self._to_bytes(InvestorRange) self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -1045,15 +1043,16 @@ def __init__(self, InstrumentID='', InvestorRange='', BrokerID='', InvestorID='' self.ExchangeID = self._to_bytes(ExchangeID) self.BizType = self._to_bytes(BizType) self.InvestUnitID = self._to_bytes(InvestUnitID) + self.InstrumentID = self._to_bytes(InstrumentID) class DepthMarketDataField(Base): """深度行情""" _fields_ = [ ('TradingDay', ctypes.c_char * 9), # 交易日 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 - ('ExchangeInstID', ctypes.c_char * 31), # 合约在交易所的代码 + ('reserve2', ctypes.c_char * 31), # 保留的无效字段 ('LastPrice', ctypes.c_double), # 最新价 ('PreSettlementPrice', ctypes.c_double), # 上次结算价 ('PreClosePrice', ctypes.c_double), # 昨收盘 @@ -1094,21 +1093,20 @@ class DepthMarketDataField(Base): ('AskVolume5', ctypes.c_int), # 申卖量五 ('AveragePrice', ctypes.c_double), # 当日均价 ('ActionDay', ctypes.c_char * 9), # 业务日期 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('ExchangeInstID', ctypes.c_char * 81), # 合约在交易所的代码 ] - def __init__(self, TradingDay='', InstrumentID='', ExchangeID='', ExchangeInstID='', LastPrice=0.0, - PreSettlementPrice=0.0, PreClosePrice=0.0, PreOpenInterest=0.0, OpenPrice=0.0, HighestPrice=0.0, - LowestPrice=0.0, Volume=0, Turnover=0.0, OpenInterest=0.0, ClosePrice=0.0, SettlementPrice=0.0, - UpperLimitPrice=0.0, LowerLimitPrice=0.0, PreDelta=0.0, CurrDelta=0.0, UpdateTime='', UpdateMillisec=0, - BidPrice1=0.0, BidVolume1=0, AskPrice1=0.0, AskVolume1=0, BidPrice2=0.0, BidVolume2=0, AskPrice2=0.0, - AskVolume2=0, BidPrice3=0.0, BidVolume3=0, AskPrice3=0.0, AskVolume3=0, BidPrice4=0.0, BidVolume4=0, - AskPrice4=0.0, AskVolume4=0, BidPrice5=0.0, BidVolume5=0, AskPrice5=0.0, AskVolume5=0, - AveragePrice=0.0, ActionDay=''): + def __init__(self, TradingDay='', reserve1='', ExchangeID='', reserve2='', LastPrice=0.0, PreSettlementPrice=0.0, PreClosePrice=0.0, PreOpenInterest=0.0, OpenPrice=0.0, HighestPrice=0.0, + LowestPrice=0.0, Volume=0, Turnover=0.0, OpenInterest=0.0, ClosePrice=0.0, SettlementPrice=0.0, UpperLimitPrice=0.0, LowerLimitPrice=0.0, PreDelta=0.0, CurrDelta=0.0, UpdateTime='', + UpdateMillisec=0, BidPrice1=0.0, BidVolume1=0, AskPrice1=0.0, AskVolume1=0, BidPrice2=0.0, BidVolume2=0, AskPrice2=0.0, AskVolume2=0, BidPrice3=0.0, BidVolume3=0, AskPrice3=0.0, + AskVolume3=0, BidPrice4=0.0, BidVolume4=0, AskPrice4=0.0, AskVolume4=0, BidPrice5=0.0, BidVolume5=0, AskPrice5=0.0, AskVolume5=0, AveragePrice=0.0, ActionDay='', InstrumentID='', + ExchangeInstID=''): super(DepthMarketDataField, self).__init__() self.TradingDay = self._to_bytes(TradingDay) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.ExchangeID = self._to_bytes(ExchangeID) - self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.reserve2 = self._to_bytes(reserve2) self.LastPrice = float(LastPrice) self.PreSettlementPrice = float(PreSettlementPrice) self.PreClosePrice = float(PreClosePrice) @@ -1149,25 +1147,29 @@ def __init__(self, TradingDay='', InstrumentID='', ExchangeID='', ExchangeInstID self.AskVolume5 = int(AskVolume5) self.AveragePrice = float(AveragePrice) self.ActionDay = self._to_bytes(ActionDay) + self.InstrumentID = self._to_bytes(InstrumentID) + self.ExchangeInstID = self._to_bytes(ExchangeInstID) class InstrumentTradingRightField(Base): """投资者合约交易权限""" _fields_ = [ - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('InvestorRange', ctypes.c_char), # 投资者范围 ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 ('TradingRight', ctypes.c_char), # 交易权限 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, InstrumentID='', InvestorRange='', BrokerID='', InvestorID='', TradingRight=''): + def __init__(self, reserve1='', InvestorRange='', BrokerID='', InvestorID='', TradingRight='', InstrumentID=''): super(InstrumentTradingRightField, self).__init__() - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.InvestorRange = self._to_bytes(InvestorRange) self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) self.TradingRight = self._to_bytes(TradingRight) + self.InstrumentID = self._to_bytes(InstrumentID) class BrokerUserField(Base): @@ -1205,8 +1207,7 @@ class BrokerUserPasswordField(Base): ('WeakExpireDate', ctypes.c_char * 9), # 弱密码过期时间 ] - def __init__(self, BrokerID='', UserID='', Password='', LastUpdateTime='', LastLoginTime='', ExpireDate='', - WeakExpireDate=''): + def __init__(self, BrokerID='', UserID='', Password='', LastUpdateTime='', LastLoginTime='', ExpireDate='', WeakExpireDate=''): super(BrokerUserPasswordField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.UserID = self._to_bytes(UserID) @@ -1256,10 +1257,8 @@ class TraderOfferField(Base): ('MaxOrderMessageReference', ctypes.c_char * 7), # 本席位最大报单备拷 ] - def __init__(self, ExchangeID='', TraderID='', ParticipantID='', Password='', InstallID=0, OrderLocalID='', - TraderConnectStatus='', ConnectRequestDate='', ConnectRequestTime='', LastReportDate='', - LastReportTime='', ConnectDate='', ConnectTime='', StartDate='', StartTime='', TradingDay='', - BrokerID='', MaxTradeID='', MaxOrderMessageReference=''): + def __init__(self, ExchangeID='', TraderID='', ParticipantID='', Password='', InstallID=0, OrderLocalID='', TraderConnectStatus='', ConnectRequestDate='', ConnectRequestTime='', LastReportDate='', + LastReportTime='', ConnectDate='', ConnectTime='', StartDate='', StartTime='', TradingDay='', BrokerID='', MaxTradeID='', MaxOrderMessageReference=''): super(TraderOfferField, self).__init__() self.ExchangeID = self._to_bytes(ExchangeID) self.TraderID = self._to_bytes(TraderID) @@ -1295,8 +1294,7 @@ class SettlementInfoField(Base): ('CurrencyID', ctypes.c_char * 4), # 币种代码 ] - def __init__(self, TradingDay='', SettlementID=0, BrokerID='', InvestorID='', SequenceNo=0, Content='', - AccountID='', CurrencyID=''): + def __init__(self, TradingDay='', SettlementID=0, BrokerID='', InvestorID='', SequenceNo=0, Content='', AccountID='', CurrencyID=''): super(SettlementInfoField, self).__init__() self.TradingDay = self._to_bytes(TradingDay) self.SettlementID = int(SettlementID) @@ -1311,7 +1309,7 @@ def __init__(self, TradingDay='', SettlementID=0, BrokerID='', InvestorID='', Se class InstrumentMarginRateAdjustField(Base): """合约保证金率调整""" _fields_ = [ - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('InvestorRange', ctypes.c_char), # 投资者范围 ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 @@ -1321,13 +1319,13 @@ class InstrumentMarginRateAdjustField(Base): ('ShortMarginRatioByMoney', ctypes.c_double), # 空头保证金率 ('ShortMarginRatioByVolume', ctypes.c_double), # 空头保证金费 ('IsRelative', ctypes.c_int), # 是否相对交易所收取 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, InstrumentID='', InvestorRange='', BrokerID='', InvestorID='', HedgeFlag='', - LongMarginRatioByMoney=0.0, LongMarginRatioByVolume=0.0, ShortMarginRatioByMoney=0.0, - ShortMarginRatioByVolume=0.0, IsRelative=0): + def __init__(self, reserve1='', InvestorRange='', BrokerID='', InvestorID='', HedgeFlag='', LongMarginRatioByMoney=0.0, LongMarginRatioByVolume=0.0, ShortMarginRatioByMoney=0.0, + ShortMarginRatioByVolume=0.0, IsRelative=0, InstrumentID=''): super(InstrumentMarginRateAdjustField, self).__init__() - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.InvestorRange = self._to_bytes(InvestorRange) self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -1337,39 +1335,42 @@ def __init__(self, InstrumentID='', InvestorRange='', BrokerID='', InvestorID='' self.ShortMarginRatioByMoney = float(ShortMarginRatioByMoney) self.ShortMarginRatioByVolume = float(ShortMarginRatioByVolume) self.IsRelative = int(IsRelative) + self.InstrumentID = self._to_bytes(InstrumentID) class ExchangeMarginRateField(Base): """交易所保证金率""" _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('HedgeFlag', ctypes.c_char), # 投机套保标志 ('LongMarginRatioByMoney', ctypes.c_double), # 多头保证金率 ('LongMarginRatioByVolume', ctypes.c_double), # 多头保证金费 ('ShortMarginRatioByMoney', ctypes.c_double), # 空头保证金率 ('ShortMarginRatioByVolume', ctypes.c_double), # 空头保证金费 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID='', InstrumentID='', HedgeFlag='', LongMarginRatioByMoney=0.0, - LongMarginRatioByVolume=0.0, ShortMarginRatioByMoney=0.0, ShortMarginRatioByVolume=0.0, ExchangeID=''): + def __init__(self, BrokerID='', reserve1='', HedgeFlag='', LongMarginRatioByMoney=0.0, LongMarginRatioByVolume=0.0, ShortMarginRatioByMoney=0.0, ShortMarginRatioByVolume=0.0, ExchangeID='', + InstrumentID=''): super(ExchangeMarginRateField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.HedgeFlag = self._to_bytes(HedgeFlag) self.LongMarginRatioByMoney = float(LongMarginRatioByMoney) self.LongMarginRatioByVolume = float(LongMarginRatioByVolume) self.ShortMarginRatioByMoney = float(ShortMarginRatioByMoney) self.ShortMarginRatioByVolume = float(ShortMarginRatioByVolume) self.ExchangeID = self._to_bytes(ExchangeID) + self.InstrumentID = self._to_bytes(InstrumentID) class ExchangeMarginRateAdjustField(Base): """交易所保证金率调整""" _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('HedgeFlag', ctypes.c_char), # 投机套保标志 ('LongMarginRatioByMoney', ctypes.c_double), # 跟随交易所投资者多头保证金率 ('LongMarginRatioByVolume', ctypes.c_double), # 跟随交易所投资者多头保证金费 @@ -1383,16 +1384,15 @@ class ExchangeMarginRateAdjustField(Base): ('NoLongMarginRatioByVolume', ctypes.c_double), # 不跟随交易所投资者多头保证金费 ('NoShortMarginRatioByMoney', ctypes.c_double), # 不跟随交易所投资者空头保证金率 ('NoShortMarginRatioByVolume', ctypes.c_double), # 不跟随交易所投资者空头保证金费 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID='', InstrumentID='', HedgeFlag='', LongMarginRatioByMoney=0.0, - LongMarginRatioByVolume=0.0, ShortMarginRatioByMoney=0.0, ShortMarginRatioByVolume=0.0, - ExchLongMarginRatioByMoney=0.0, ExchLongMarginRatioByVolume=0.0, ExchShortMarginRatioByMoney=0.0, - ExchShortMarginRatioByVolume=0.0, NoLongMarginRatioByMoney=0.0, NoLongMarginRatioByVolume=0.0, - NoShortMarginRatioByMoney=0.0, NoShortMarginRatioByVolume=0.0): + def __init__(self, BrokerID='', reserve1='', HedgeFlag='', LongMarginRatioByMoney=0.0, LongMarginRatioByVolume=0.0, ShortMarginRatioByMoney=0.0, ShortMarginRatioByVolume=0.0, + ExchLongMarginRatioByMoney=0.0, ExchLongMarginRatioByVolume=0.0, ExchShortMarginRatioByMoney=0.0, ExchShortMarginRatioByVolume=0.0, NoLongMarginRatioByMoney=0.0, + NoLongMarginRatioByVolume=0.0, NoShortMarginRatioByMoney=0.0, NoShortMarginRatioByVolume=0.0, InstrumentID=''): super(ExchangeMarginRateAdjustField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.HedgeFlag = self._to_bytes(HedgeFlag) self.LongMarginRatioByMoney = float(LongMarginRatioByMoney) self.LongMarginRatioByVolume = float(LongMarginRatioByVolume) @@ -1406,6 +1406,7 @@ def __init__(self, BrokerID='', InstrumentID='', HedgeFlag='', LongMarginRatioBy self.NoLongMarginRatioByVolume = float(NoLongMarginRatioByVolume) self.NoShortMarginRatioByMoney = float(NoShortMarginRatioByMoney) self.NoShortMarginRatioByVolume = float(NoShortMarginRatioByVolume) + self.InstrumentID = self._to_bytes(InstrumentID) class ExchangeRateField(Base): @@ -1481,7 +1482,7 @@ class LoginInfoField(Base): ('UserID', ctypes.c_char * 16), # 用户代码 ('LoginDate', ctypes.c_char * 9), # 登录日期 ('LoginTime', ctypes.c_char * 9), # 登录时间 - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve1', ctypes.c_char * 16), # 保留的无效字段 ('UserProductInfo', ctypes.c_char * 11), # 用户端产品信息 ('InterfaceProductInfo', ctypes.c_char * 11), # 接口端产品信息 ('ProtocolInfo', ctypes.c_char * 11), # 协议信息 @@ -1498,12 +1499,12 @@ class LoginInfoField(Base): ('IsQryControl', ctypes.c_int), # 查询时是否需要流控 ('LoginRemark', ctypes.c_char * 36), # 登录备注 ('Password', ctypes.c_char * 41), # 密码 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, FrontID=0, SessionID=0, BrokerID='', UserID='', LoginDate='', LoginTime='', IPAddress='', - UserProductInfo='', InterfaceProductInfo='', ProtocolInfo='', SystemName='', PasswordDeprecated='', - MaxOrderRef='', SHFETime='', DCETime='', CZCETime='', FFEXTime='', MacAddress='', OneTimePassword='', - INETime='', IsQryControl=0, LoginRemark='', Password=''): + def __init__(self, FrontID=0, SessionID=0, BrokerID='', UserID='', LoginDate='', LoginTime='', reserve1='', UserProductInfo='', InterfaceProductInfo='', ProtocolInfo='', SystemName='', + PasswordDeprecated='', MaxOrderRef='', SHFETime='', DCETime='', CZCETime='', FFEXTime='', MacAddress='', OneTimePassword='', INETime='', IsQryControl=0, LoginRemark='', Password='', + IPAddress=''): super(LoginInfoField, self).__init__() self.FrontID = int(FrontID) self.SessionID = int(SessionID) @@ -1511,7 +1512,7 @@ def __init__(self, FrontID=0, SessionID=0, BrokerID='', UserID='', LoginDate='', self.UserID = self._to_bytes(UserID) self.LoginDate = self._to_bytes(LoginDate) self.LoginTime = self._to_bytes(LoginTime) - self.IPAddress = self._to_bytes(IPAddress) + self.reserve1 = self._to_bytes(reserve1) self.UserProductInfo = self._to_bytes(UserProductInfo) self.InterfaceProductInfo = self._to_bytes(InterfaceProductInfo) self.ProtocolInfo = self._to_bytes(ProtocolInfo) @@ -1528,6 +1529,7 @@ def __init__(self, FrontID=0, SessionID=0, BrokerID='', UserID='', LoginDate='', self.IsQryControl = int(IsQryControl) self.LoginRemark = self._to_bytes(LoginRemark) self.Password = self._to_bytes(Password) + self.IPAddress = self._to_bytes(IPAddress) class LogoutAllField(Base): @@ -1584,7 +1586,7 @@ class InputOrderField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('OrderRef', ctypes.c_char * 13), # 报单引用 ('UserID', ctypes.c_char * 16), # 用户代码 ('OrderPriceType', ctypes.c_char), # 报单价格条件 @@ -1610,19 +1612,19 @@ class InputOrderField(Base): ('AccountID', ctypes.c_char * 13), # 资金账号 ('CurrencyID', ctypes.c_char * 4), # 币种代码 ('ClientID', ctypes.c_char * 11), # 交易编码 - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve2', ctypes.c_char * 16), # 保留的无效字段 ('MacAddress', ctypes.c_char * 21), # Mac地址 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID='', InvestorID='', InstrumentID='', OrderRef='', UserID='', OrderPriceType='', - Direction='', CombOffsetFlag='', CombHedgeFlag='', LimitPrice=0.0, VolumeTotalOriginal=0, - TimeCondition='', GTDDate='', VolumeCondition='', MinVolume=0, ContingentCondition='', StopPrice=0.0, - ForceCloseReason='', IsAutoSuspend=0, BusinessUnit='', RequestID=0, UserForceClose=0, IsSwapOrder=0, - ExchangeID='', InvestUnitID='', AccountID='', CurrencyID='', ClientID='', IPAddress='', MacAddress=''): + def __init__(self, BrokerID='', InvestorID='', reserve1='', OrderRef='', UserID='', OrderPriceType='', Direction='', CombOffsetFlag='', CombHedgeFlag='', LimitPrice=0.0, VolumeTotalOriginal=0, + TimeCondition='', GTDDate='', VolumeCondition='', MinVolume=0, ContingentCondition='', StopPrice=0.0, ForceCloseReason='', IsAutoSuspend=0, BusinessUnit='', RequestID=0, + UserForceClose=0, IsSwapOrder=0, ExchangeID='', InvestUnitID='', AccountID='', CurrencyID='', ClientID='', reserve2='', MacAddress='', InstrumentID='', IPAddress=''): super(InputOrderField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.OrderRef = self._to_bytes(OrderRef) self.UserID = self._to_bytes(UserID) self.OrderPriceType = self._to_bytes(OrderPriceType) @@ -1648,8 +1650,10 @@ def __init__(self, BrokerID='', InvestorID='', InstrumentID='', OrderRef='', Use self.AccountID = self._to_bytes(AccountID) self.CurrencyID = self._to_bytes(CurrencyID) self.ClientID = self._to_bytes(ClientID) - self.IPAddress = self._to_bytes(IPAddress) + self.reserve2 = self._to_bytes(reserve2) self.MacAddress = self._to_bytes(MacAddress) + self.InstrumentID = self._to_bytes(InstrumentID) + self.IPAddress = self._to_bytes(IPAddress) class OrderField(Base): @@ -1657,7 +1661,7 @@ class OrderField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('OrderRef', ctypes.c_char * 13), # 报单引用 ('UserID', ctypes.c_char * 16), # 用户代码 ('OrderPriceType', ctypes.c_char), # 报单价格条件 @@ -1680,7 +1684,7 @@ class OrderField(Base): ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('ParticipantID', ctypes.c_char * 11), # 会员代码 ('ClientID', ctypes.c_char * 11), # 客户代码 - ('ExchangeInstID', ctypes.c_char * 31), # 合约在交易所的代码 + ('reserve2', ctypes.c_char * 31), # 保留的无效字段 ('TraderID', ctypes.c_char * 21), # 交易所交易员代码 ('InstallID', ctypes.c_int), # 安装编号 ('OrderSubmitStatus', ctypes.c_char), # 报单提交状态 @@ -1716,25 +1720,24 @@ class OrderField(Base): ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 ('AccountID', ctypes.c_char * 13), # 资金账号 ('CurrencyID', ctypes.c_char * 4), # 币种代码 - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve3', ctypes.c_char * 16), # 保留的无效字段 ('MacAddress', ctypes.c_char * 21), # Mac地址 - ] - - def __init__(self, BrokerID='', InvestorID='', InstrumentID='', OrderRef='', UserID='', OrderPriceType='', - Direction='', CombOffsetFlag='', CombHedgeFlag='', LimitPrice=0.0, VolumeTotalOriginal=0, - TimeCondition='', GTDDate='', VolumeCondition='', MinVolume=0, ContingentCondition='', StopPrice=0.0, - ForceCloseReason='', IsAutoSuspend=0, BusinessUnit='', RequestID=0, OrderLocalID='', ExchangeID='', - ParticipantID='', ClientID='', ExchangeInstID='', TraderID='', InstallID=0, OrderSubmitStatus='', - NotifySequence=0, TradingDay='', SettlementID=0, OrderSysID='', OrderSource='', OrderStatus='', - OrderType='', VolumeTraded=0, VolumeTotal=0, InsertDate='', InsertTime='', ActiveTime='', - SuspendTime='', UpdateTime='', CancelTime='', ActiveTraderID='', ClearingPartID='', SequenceNo=0, - FrontID=0, SessionID=0, UserProductInfo='', StatusMsg='', UserForceClose=0, ActiveUserID='', - BrokerOrderSeq=0, RelativeOrderSysID='', ZCETotalTradedVolume=0, IsSwapOrder=0, BranchID='', - InvestUnitID='', AccountID='', CurrencyID='', IPAddress='', MacAddress=''): + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('ExchangeInstID', ctypes.c_char * 81), # 合约在交易所的代码 + ('IPAddress', ctypes.c_char * 33), # IP地址 + ] + + def __init__(self, BrokerID='', InvestorID='', reserve1='', OrderRef='', UserID='', OrderPriceType='', Direction='', CombOffsetFlag='', CombHedgeFlag='', LimitPrice=0.0, VolumeTotalOriginal=0, + TimeCondition='', GTDDate='', VolumeCondition='', MinVolume=0, ContingentCondition='', StopPrice=0.0, ForceCloseReason='', IsAutoSuspend=0, BusinessUnit='', RequestID=0, + OrderLocalID='', ExchangeID='', ParticipantID='', ClientID='', reserve2='', TraderID='', InstallID=0, OrderSubmitStatus='', NotifySequence=0, TradingDay='', SettlementID=0, + OrderSysID='', OrderSource='', OrderStatus='', OrderType='', VolumeTraded=0, VolumeTotal=0, InsertDate='', InsertTime='', ActiveTime='', SuspendTime='', UpdateTime='', CancelTime='', + ActiveTraderID='', ClearingPartID='', SequenceNo=0, FrontID=0, SessionID=0, UserProductInfo='', StatusMsg='', UserForceClose=0, ActiveUserID='', BrokerOrderSeq=0, + RelativeOrderSysID='', ZCETotalTradedVolume=0, IsSwapOrder=0, BranchID='', InvestUnitID='', AccountID='', CurrencyID='', reserve3='', MacAddress='', InstrumentID='', + ExchangeInstID='', IPAddress=''): super(OrderField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.OrderRef = self._to_bytes(OrderRef) self.UserID = self._to_bytes(UserID) self.OrderPriceType = self._to_bytes(OrderPriceType) @@ -1757,7 +1760,7 @@ def __init__(self, BrokerID='', InvestorID='', InstrumentID='', OrderRef='', Use self.ExchangeID = self._to_bytes(ExchangeID) self.ParticipantID = self._to_bytes(ParticipantID) self.ClientID = self._to_bytes(ClientID) - self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.reserve2 = self._to_bytes(reserve2) self.TraderID = self._to_bytes(TraderID) self.InstallID = int(InstallID) self.OrderSubmitStatus = self._to_bytes(OrderSubmitStatus) @@ -1793,8 +1796,11 @@ def __init__(self, BrokerID='', InvestorID='', InstrumentID='', OrderRef='', Use self.InvestUnitID = self._to_bytes(InvestUnitID) self.AccountID = self._to_bytes(AccountID) self.CurrencyID = self._to_bytes(CurrencyID) - self.IPAddress = self._to_bytes(IPAddress) + self.reserve3 = self._to_bytes(reserve3) self.MacAddress = self._to_bytes(MacAddress) + self.InstrumentID = self._to_bytes(InstrumentID) + self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.IPAddress = self._to_bytes(IPAddress) class ExchangeOrderField(Base): @@ -1820,7 +1826,7 @@ class ExchangeOrderField(Base): ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('ParticipantID', ctypes.c_char * 11), # 会员代码 ('ClientID', ctypes.c_char * 11), # 客户代码 - ('ExchangeInstID', ctypes.c_char * 31), # 合约在交易所的代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('TraderID', ctypes.c_char * 21), # 交易所交易员代码 ('InstallID', ctypes.c_int), # 安装编号 ('OrderSubmitStatus', ctypes.c_char), # 报单提交状态 @@ -1843,18 +1849,17 @@ class ExchangeOrderField(Base): ('ClearingPartID', ctypes.c_char * 11), # 结算会员编号 ('SequenceNo', ctypes.c_int), # 序号 ('BranchID', ctypes.c_char * 9), # 营业部编号 - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve2', ctypes.c_char * 16), # 保留的无效字段 ('MacAddress', ctypes.c_char * 21), # Mac地址 + ('ExchangeInstID', ctypes.c_char * 81), # 合约在交易所的代码 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, OrderPriceType='', Direction='', CombOffsetFlag='', CombHedgeFlag='', LimitPrice=0.0, - VolumeTotalOriginal=0, TimeCondition='', GTDDate='', VolumeCondition='', MinVolume=0, - ContingentCondition='', StopPrice=0.0, ForceCloseReason='', IsAutoSuspend=0, BusinessUnit='', - RequestID=0, OrderLocalID='', ExchangeID='', ParticipantID='', ClientID='', ExchangeInstID='', - TraderID='', InstallID=0, OrderSubmitStatus='', NotifySequence=0, TradingDay='', SettlementID=0, - OrderSysID='', OrderSource='', OrderStatus='', OrderType='', VolumeTraded=0, VolumeTotal=0, - InsertDate='', InsertTime='', ActiveTime='', SuspendTime='', UpdateTime='', CancelTime='', - ActiveTraderID='', ClearingPartID='', SequenceNo=0, BranchID='', IPAddress='', MacAddress=''): + def __init__(self, OrderPriceType='', Direction='', CombOffsetFlag='', CombHedgeFlag='', LimitPrice=0.0, VolumeTotalOriginal=0, TimeCondition='', GTDDate='', VolumeCondition='', MinVolume=0, + ContingentCondition='', StopPrice=0.0, ForceCloseReason='', IsAutoSuspend=0, BusinessUnit='', RequestID=0, OrderLocalID='', ExchangeID='', ParticipantID='', ClientID='', reserve1='', + TraderID='', InstallID=0, OrderSubmitStatus='', NotifySequence=0, TradingDay='', SettlementID=0, OrderSysID='', OrderSource='', OrderStatus='', OrderType='', VolumeTraded=0, + VolumeTotal=0, InsertDate='', InsertTime='', ActiveTime='', SuspendTime='', UpdateTime='', CancelTime='', ActiveTraderID='', ClearingPartID='', SequenceNo=0, BranchID='', reserve2='', + MacAddress='', ExchangeInstID='', IPAddress=''): super(ExchangeOrderField, self).__init__() self.OrderPriceType = self._to_bytes(OrderPriceType) self.Direction = self._to_bytes(Direction) @@ -1876,7 +1881,7 @@ def __init__(self, OrderPriceType='', Direction='', CombOffsetFlag='', CombHedge self.ExchangeID = self._to_bytes(ExchangeID) self.ParticipantID = self._to_bytes(ParticipantID) self.ClientID = self._to_bytes(ClientID) - self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.reserve1 = self._to_bytes(reserve1) self.TraderID = self._to_bytes(TraderID) self.InstallID = int(InstallID) self.OrderSubmitStatus = self._to_bytes(OrderSubmitStatus) @@ -1899,8 +1904,10 @@ def __init__(self, OrderPriceType='', Direction='', CombOffsetFlag='', CombHedge self.ClearingPartID = self._to_bytes(ClearingPartID) self.SequenceNo = int(SequenceNo) self.BranchID = self._to_bytes(BranchID) - self.IPAddress = self._to_bytes(IPAddress) + self.reserve2 = self._to_bytes(reserve2) self.MacAddress = self._to_bytes(MacAddress) + self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.IPAddress = self._to_bytes(IPAddress) class ExchangeOrderInsertErrorField(Base): @@ -1915,8 +1922,7 @@ class ExchangeOrderInsertErrorField(Base): ('ErrorMsg', ctypes.c_char * 81), # 错误信息 ] - def __init__(self, ExchangeID='', ParticipantID='', TraderID='', InstallID=0, OrderLocalID='', ErrorID=0, - ErrorMsg=''): + def __init__(self, ExchangeID='', ParticipantID='', TraderID='', InstallID=0, OrderLocalID='', ErrorID=0, ErrorMsg=''): super(ExchangeOrderInsertErrorField, self).__init__() self.ExchangeID = self._to_bytes(ExchangeID) self.ParticipantID = self._to_bytes(ParticipantID) @@ -1943,15 +1949,16 @@ class InputOrderActionField(Base): ('LimitPrice', ctypes.c_double), # 价格 ('VolumeChange', ctypes.c_int), # 数量变化 ('UserID', ctypes.c_char * 16), # 用户代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve2', ctypes.c_char * 16), # 保留的无效字段 ('MacAddress', ctypes.c_char * 21), # Mac地址 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID='', InvestorID='', OrderActionRef=0, OrderRef='', RequestID=0, FrontID=0, SessionID=0, - ExchangeID='', OrderSysID='', ActionFlag='', LimitPrice=0.0, VolumeChange=0, UserID='', - InstrumentID='', InvestUnitID='', IPAddress='', MacAddress=''): + def __init__(self, BrokerID='', InvestorID='', OrderActionRef=0, OrderRef='', RequestID=0, FrontID=0, SessionID=0, ExchangeID='', OrderSysID='', ActionFlag='', LimitPrice=0.0, VolumeChange=0, + UserID='', reserve1='', InvestUnitID='', reserve2='', MacAddress='', InstrumentID='', IPAddress=''): super(InputOrderActionField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -1966,10 +1973,12 @@ def __init__(self, BrokerID='', InvestorID='', OrderActionRef=0, OrderRef='', Re self.LimitPrice = float(LimitPrice) self.VolumeChange = int(VolumeChange) self.UserID = self._to_bytes(UserID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.InvestUnitID = self._to_bytes(InvestUnitID) - self.IPAddress = self._to_bytes(IPAddress) + self.reserve2 = self._to_bytes(reserve2) self.MacAddress = self._to_bytes(MacAddress) + self.InstrumentID = self._to_bytes(InstrumentID) + self.IPAddress = self._to_bytes(IPAddress) class OrderActionField(Base): @@ -1999,18 +2008,18 @@ class OrderActionField(Base): ('OrderActionStatus', ctypes.c_char), # 报单操作状态 ('UserID', ctypes.c_char * 16), # 用户代码 ('StatusMsg', ctypes.c_char * 81), # 状态信息 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('BranchID', ctypes.c_char * 9), # 营业部编号 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve2', ctypes.c_char * 16), # 保留的无效字段 ('MacAddress', ctypes.c_char * 21), # Mac地址 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID='', InvestorID='', OrderActionRef=0, OrderRef='', RequestID=0, FrontID=0, SessionID=0, - ExchangeID='', OrderSysID='', ActionFlag='', LimitPrice=0.0, VolumeChange=0, ActionDate='', - ActionTime='', TraderID='', InstallID=0, OrderLocalID='', ActionLocalID='', ParticipantID='', - ClientID='', BusinessUnit='', OrderActionStatus='', UserID='', StatusMsg='', InstrumentID='', - BranchID='', InvestUnitID='', IPAddress='', MacAddress=''): + def __init__(self, BrokerID='', InvestorID='', OrderActionRef=0, OrderRef='', RequestID=0, FrontID=0, SessionID=0, ExchangeID='', OrderSysID='', ActionFlag='', LimitPrice=0.0, VolumeChange=0, + ActionDate='', ActionTime='', TraderID='', InstallID=0, OrderLocalID='', ActionLocalID='', ParticipantID='', ClientID='', BusinessUnit='', OrderActionStatus='', UserID='', + StatusMsg='', reserve1='', BranchID='', InvestUnitID='', reserve2='', MacAddress='', InstrumentID='', IPAddress=''): super(OrderActionField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -2036,11 +2045,13 @@ def __init__(self, BrokerID='', InvestorID='', OrderActionRef=0, OrderRef='', Re self.OrderActionStatus = self._to_bytes(OrderActionStatus) self.UserID = self._to_bytes(UserID) self.StatusMsg = self._to_bytes(StatusMsg) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.BranchID = self._to_bytes(BranchID) self.InvestUnitID = self._to_bytes(InvestUnitID) - self.IPAddress = self._to_bytes(IPAddress) + self.reserve2 = self._to_bytes(reserve2) self.MacAddress = self._to_bytes(MacAddress) + self.InstrumentID = self._to_bytes(InstrumentID) + self.IPAddress = self._to_bytes(IPAddress) class ExchangeOrderActionField(Base): @@ -2063,14 +2074,13 @@ class ExchangeOrderActionField(Base): ('OrderActionStatus', ctypes.c_char), # 报单操作状态 ('UserID', ctypes.c_char * 16), # 用户代码 ('BranchID', ctypes.c_char * 9), # 营业部编号 - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve1', ctypes.c_char * 16), # 保留的无效字段 ('MacAddress', ctypes.c_char * 21), # Mac地址 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, ExchangeID='', OrderSysID='', ActionFlag='', LimitPrice=0.0, VolumeChange=0, ActionDate='', - ActionTime='', TraderID='', InstallID=0, OrderLocalID='', ActionLocalID='', ParticipantID='', - ClientID='', BusinessUnit='', OrderActionStatus='', UserID='', BranchID='', IPAddress='', - MacAddress=''): + def __init__(self, ExchangeID='', OrderSysID='', ActionFlag='', LimitPrice=0.0, VolumeChange=0, ActionDate='', ActionTime='', TraderID='', InstallID=0, OrderLocalID='', ActionLocalID='', + ParticipantID='', ClientID='', BusinessUnit='', OrderActionStatus='', UserID='', BranchID='', reserve1='', MacAddress='', IPAddress=''): super(ExchangeOrderActionField, self).__init__() self.ExchangeID = self._to_bytes(ExchangeID) self.OrderSysID = self._to_bytes(OrderSysID) @@ -2089,8 +2099,9 @@ def __init__(self, ExchangeID='', OrderSysID='', ActionFlag='', LimitPrice=0.0, self.OrderActionStatus = self._to_bytes(OrderActionStatus) self.UserID = self._to_bytes(UserID) self.BranchID = self._to_bytes(BranchID) - self.IPAddress = self._to_bytes(IPAddress) + self.reserve1 = self._to_bytes(reserve1) self.MacAddress = self._to_bytes(MacAddress) + self.IPAddress = self._to_bytes(IPAddress) class ExchangeOrderActionErrorField(Base): @@ -2106,8 +2117,7 @@ class ExchangeOrderActionErrorField(Base): ('ErrorMsg', ctypes.c_char * 81), # 错误信息 ] - def __init__(self, ExchangeID='', OrderSysID='', TraderID='', InstallID=0, OrderLocalID='', ActionLocalID='', - ErrorID=0, ErrorMsg=''): + def __init__(self, ExchangeID='', OrderSysID='', TraderID='', InstallID=0, OrderLocalID='', ActionLocalID='', ErrorID=0, ErrorMsg=''): super(ExchangeOrderActionErrorField, self).__init__() self.ExchangeID = self._to_bytes(ExchangeID) self.OrderSysID = self._to_bytes(OrderSysID) @@ -2129,7 +2139,7 @@ class ExchangeTradeField(Base): ('ParticipantID', ctypes.c_char * 11), # 会员代码 ('ClientID', ctypes.c_char * 11), # 客户代码 ('TradingRole', ctypes.c_char), # 交易角色 - ('ExchangeInstID', ctypes.c_char * 31), # 合约在交易所的代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('OffsetFlag', ctypes.c_char), # 开平标志 ('HedgeFlag', ctypes.c_char), # 投机套保标志 ('Price', ctypes.c_double), # 价格 @@ -2144,12 +2154,11 @@ class ExchangeTradeField(Base): ('BusinessUnit', ctypes.c_char * 21), # 业务单元 ('SequenceNo', ctypes.c_int), # 序号 ('TradeSource', ctypes.c_char), # 成交来源 + ('ExchangeInstID', ctypes.c_char * 81), # 合约在交易所的代码 ] - def __init__(self, ExchangeID='', TradeID='', Direction='', OrderSysID='', ParticipantID='', ClientID='', - TradingRole='', ExchangeInstID='', OffsetFlag='', HedgeFlag='', Price=0.0, Volume=0, TradeDate='', - TradeTime='', TradeType='', PriceSource='', TraderID='', OrderLocalID='', ClearingPartID='', - BusinessUnit='', SequenceNo=0, TradeSource=''): + def __init__(self, ExchangeID='', TradeID='', Direction='', OrderSysID='', ParticipantID='', ClientID='', TradingRole='', reserve1='', OffsetFlag='', HedgeFlag='', Price=0.0, Volume=0, + TradeDate='', TradeTime='', TradeType='', PriceSource='', TraderID='', OrderLocalID='', ClearingPartID='', BusinessUnit='', SequenceNo=0, TradeSource='', ExchangeInstID=''): super(ExchangeTradeField, self).__init__() self.ExchangeID = self._to_bytes(ExchangeID) self.TradeID = self._to_bytes(TradeID) @@ -2158,7 +2167,7 @@ def __init__(self, ExchangeID='', TradeID='', Direction='', OrderSysID='', Parti self.ParticipantID = self._to_bytes(ParticipantID) self.ClientID = self._to_bytes(ClientID) self.TradingRole = self._to_bytes(TradingRole) - self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.reserve1 = self._to_bytes(reserve1) self.OffsetFlag = self._to_bytes(OffsetFlag) self.HedgeFlag = self._to_bytes(HedgeFlag) self.Price = float(Price) @@ -2173,6 +2182,7 @@ def __init__(self, ExchangeID='', TradeID='', Direction='', OrderSysID='', Parti self.BusinessUnit = self._to_bytes(BusinessUnit) self.SequenceNo = int(SequenceNo) self.TradeSource = self._to_bytes(TradeSource) + self.ExchangeInstID = self._to_bytes(ExchangeInstID) class TradeField(Base): @@ -2180,7 +2190,7 @@ class TradeField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('OrderRef', ctypes.c_char * 13), # 报单引用 ('UserID', ctypes.c_char * 16), # 用户代码 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 @@ -2190,7 +2200,7 @@ class TradeField(Base): ('ParticipantID', ctypes.c_char * 11), # 会员代码 ('ClientID', ctypes.c_char * 11), # 客户代码 ('TradingRole', ctypes.c_char), # 交易角色 - ('ExchangeInstID', ctypes.c_char * 31), # 合约在交易所的代码 + ('reserve2', ctypes.c_char * 31), # 保留的无效字段 ('OffsetFlag', ctypes.c_char), # 开平标志 ('HedgeFlag', ctypes.c_char), # 投机套保标志 ('Price', ctypes.c_double), # 价格 @@ -2209,17 +2219,17 @@ class TradeField(Base): ('BrokerOrderSeq', ctypes.c_int), # 经纪公司报单编号 ('TradeSource', ctypes.c_char), # 成交来源 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('ExchangeInstID', ctypes.c_char * 81), # 合约在交易所的代码 ] - def __init__(self, BrokerID='', InvestorID='', InstrumentID='', OrderRef='', UserID='', ExchangeID='', TradeID='', - Direction='', OrderSysID='', ParticipantID='', ClientID='', TradingRole='', ExchangeInstID='', - OffsetFlag='', HedgeFlag='', Price=0.0, Volume=0, TradeDate='', TradeTime='', TradeType='', - PriceSource='', TraderID='', OrderLocalID='', ClearingPartID='', BusinessUnit='', SequenceNo=0, - TradingDay='', SettlementID=0, BrokerOrderSeq=0, TradeSource='', InvestUnitID=''): + def __init__(self, BrokerID='', InvestorID='', reserve1='', OrderRef='', UserID='', ExchangeID='', TradeID='', Direction='', OrderSysID='', ParticipantID='', ClientID='', TradingRole='', + reserve2='', OffsetFlag='', HedgeFlag='', Price=0.0, Volume=0, TradeDate='', TradeTime='', TradeType='', PriceSource='', TraderID='', OrderLocalID='', ClearingPartID='', + BusinessUnit='', SequenceNo=0, TradingDay='', SettlementID=0, BrokerOrderSeq=0, TradeSource='', InvestUnitID='', InstrumentID='', ExchangeInstID=''): super(TradeField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.OrderRef = self._to_bytes(OrderRef) self.UserID = self._to_bytes(UserID) self.ExchangeID = self._to_bytes(ExchangeID) @@ -2229,7 +2239,7 @@ def __init__(self, BrokerID='', InvestorID='', InstrumentID='', OrderRef='', Use self.ParticipantID = self._to_bytes(ParticipantID) self.ClientID = self._to_bytes(ClientID) self.TradingRole = self._to_bytes(TradingRole) - self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.reserve2 = self._to_bytes(reserve2) self.OffsetFlag = self._to_bytes(OffsetFlag) self.HedgeFlag = self._to_bytes(HedgeFlag) self.Price = float(Price) @@ -2248,6 +2258,8 @@ def __init__(self, BrokerID='', InvestorID='', InstrumentID='', OrderRef='', Use self.BrokerOrderSeq = int(BrokerOrderSeq) self.TradeSource = self._to_bytes(TradeSource) self.InvestUnitID = self._to_bytes(InvestUnitID) + self.InstrumentID = self._to_bytes(InstrumentID) + self.ExchangeInstID = self._to_bytes(ExchangeInstID) class UserSessionField(Base): @@ -2259,16 +2271,17 @@ class UserSessionField(Base): ('UserID', ctypes.c_char * 16), # 用户代码 ('LoginDate', ctypes.c_char * 9), # 登录日期 ('LoginTime', ctypes.c_char * 9), # 登录时间 - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve1', ctypes.c_char * 16), # 保留的无效字段 ('UserProductInfo', ctypes.c_char * 11), # 用户端产品信息 ('InterfaceProductInfo', ctypes.c_char * 11), # 接口端产品信息 ('ProtocolInfo', ctypes.c_char * 11), # 协议信息 ('MacAddress', ctypes.c_char * 21), # Mac地址 ('LoginRemark', ctypes.c_char * 36), # 登录备注 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, FrontID=0, SessionID=0, BrokerID='', UserID='', LoginDate='', LoginTime='', IPAddress='', - UserProductInfo='', InterfaceProductInfo='', ProtocolInfo='', MacAddress='', LoginRemark=''): + def __init__(self, FrontID=0, SessionID=0, BrokerID='', UserID='', LoginDate='', LoginTime='', reserve1='', UserProductInfo='', InterfaceProductInfo='', ProtocolInfo='', MacAddress='', + LoginRemark='', IPAddress=''): super(UserSessionField, self).__init__() self.FrontID = int(FrontID) self.SessionID = int(SessionID) @@ -2276,40 +2289,42 @@ def __init__(self, FrontID=0, SessionID=0, BrokerID='', UserID='', LoginDate='', self.UserID = self._to_bytes(UserID) self.LoginDate = self._to_bytes(LoginDate) self.LoginTime = self._to_bytes(LoginTime) - self.IPAddress = self._to_bytes(IPAddress) + self.reserve1 = self._to_bytes(reserve1) self.UserProductInfo = self._to_bytes(UserProductInfo) self.InterfaceProductInfo = self._to_bytes(InterfaceProductInfo) self.ProtocolInfo = self._to_bytes(ProtocolInfo) self.MacAddress = self._to_bytes(MacAddress) self.LoginRemark = self._to_bytes(LoginRemark) + self.IPAddress = self._to_bytes(IPAddress) -class QueryMaxOrderVolumeField(Base): +class QryMaxOrderVolumeField(Base): """查询最大报单数量""" _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('Direction', ctypes.c_char), # 买卖方向 ('OffsetFlag', ctypes.c_char), # 开平标志 ('HedgeFlag', ctypes.c_char), # 投机套保标志 ('MaxVolume', ctypes.c_int), # 最大允许报单数量 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID='', InvestorID='', InstrumentID='', Direction='', OffsetFlag='', HedgeFlag='', - MaxVolume=0, ExchangeID='', InvestUnitID=''): - super(QueryMaxOrderVolumeField, self).__init__() + def __init__(self, BrokerID='', InvestorID='', reserve1='', Direction='', OffsetFlag='', HedgeFlag='', MaxVolume=0, ExchangeID='', InvestUnitID='', InstrumentID=''): + super(QryMaxOrderVolumeField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.Direction = self._to_bytes(Direction) self.OffsetFlag = self._to_bytes(OffsetFlag) self.HedgeFlag = self._to_bytes(HedgeFlag) self.MaxVolume = int(MaxVolume) self.ExchangeID = self._to_bytes(ExchangeID) self.InvestUnitID = self._to_bytes(InvestUnitID) + self.InstrumentID = self._to_bytes(InstrumentID) class SettlementInfoConfirmField(Base): @@ -2324,8 +2339,7 @@ class SettlementInfoConfirmField(Base): ('CurrencyID', ctypes.c_char * 4), # 币种代码 ] - def __init__(self, BrokerID='', InvestorID='', ConfirmDate='', ConfirmTime='', SettlementID=0, AccountID='', - CurrencyID=''): + def __init__(self, BrokerID='', InvestorID='', ConfirmDate='', ConfirmTime='', SettlementID=0, AccountID='', CurrencyID=''): super(SettlementInfoConfirmField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -2368,8 +2382,7 @@ class SyncFundMortgageField(Base): ('ToCurrencyID', ctypes.c_char * 4), # 目标币种 ] - def __init__(self, MortgageSeqNo='', BrokerID='', InvestorID='', FromCurrencyID='', MortgageAmount=0.0, - ToCurrencyID=''): + def __init__(self, MortgageSeqNo='', BrokerID='', InvestorID='', FromCurrencyID='', MortgageAmount=0.0, ToCurrencyID=''): super(SyncFundMortgageField, self).__init__() self.MortgageSeqNo = self._to_bytes(MortgageSeqNo) self.BrokerID = self._to_bytes(BrokerID) @@ -2408,9 +2421,8 @@ class SyncingInvestorField(Base): ('MarginModelID', ctypes.c_char * 13), # 保证金率模板代码 ] - def __init__(self, InvestorID='', BrokerID='', InvestorGroupID='', InvestorName='', IdentifiedCardType='', - IdentifiedCardNo='', IsActive=0, Telephone='', Address='', OpenDate='', Mobile='', CommModelID='', - MarginModelID=''): + def __init__(self, InvestorID='', BrokerID='', InvestorGroupID='', InvestorName='', IdentifiedCardType='', IdentifiedCardNo='', IsActive=0, Telephone='', Address='', OpenDate='', Mobile='', + CommModelID='', MarginModelID=''): super(SyncingInvestorField, self).__init__() self.InvestorID = self._to_bytes(InvestorID) self.BrokerID = self._to_bytes(BrokerID) @@ -2516,16 +2528,12 @@ class SyncingTradingAccountField(Base): ('RemainSwap', ctypes.c_double), # 剩余换汇额度 ] - def __init__(self, BrokerID='', AccountID='', PreMortgage=0.0, PreCredit=0.0, PreDeposit=0.0, PreBalance=0.0, - PreMargin=0.0, InterestBase=0.0, Interest=0.0, Deposit=0.0, Withdraw=0.0, FrozenMargin=0.0, - FrozenCash=0.0, FrozenCommission=0.0, CurrMargin=0.0, CashIn=0.0, Commission=0.0, CloseProfit=0.0, - PositionProfit=0.0, Balance=0.0, Available=0.0, WithdrawQuota=0.0, Reserve=0.0, TradingDay='', - SettlementID=0, Credit=0.0, Mortgage=0.0, ExchangeMargin=0.0, DeliveryMargin=0.0, - ExchangeDeliveryMargin=0.0, ReserveBalance=0.0, CurrencyID='', PreFundMortgageIn=0.0, - PreFundMortgageOut=0.0, FundMortgageIn=0.0, FundMortgageOut=0.0, FundMortgageAvailable=0.0, - MortgageableFund=0.0, SpecProductMargin=0.0, SpecProductFrozenMargin=0.0, SpecProductCommission=0.0, - SpecProductFrozenCommission=0.0, SpecProductPositionProfit=0.0, SpecProductCloseProfit=0.0, - SpecProductPositionProfitByAlg=0.0, SpecProductExchangeMargin=0.0, FrozenSwap=0.0, RemainSwap=0.0): + def __init__(self, BrokerID='', AccountID='', PreMortgage=0.0, PreCredit=0.0, PreDeposit=0.0, PreBalance=0.0, PreMargin=0.0, InterestBase=0.0, Interest=0.0, Deposit=0.0, Withdraw=0.0, + FrozenMargin=0.0, FrozenCash=0.0, FrozenCommission=0.0, CurrMargin=0.0, CashIn=0.0, Commission=0.0, CloseProfit=0.0, PositionProfit=0.0, Balance=0.0, Available=0.0, WithdrawQuota=0.0, + Reserve=0.0, TradingDay='', SettlementID=0, Credit=0.0, Mortgage=0.0, ExchangeMargin=0.0, DeliveryMargin=0.0, ExchangeDeliveryMargin=0.0, ReserveBalance=0.0, CurrencyID='', + PreFundMortgageIn=0.0, PreFundMortgageOut=0.0, FundMortgageIn=0.0, FundMortgageOut=0.0, FundMortgageAvailable=0.0, MortgageableFund=0.0, SpecProductMargin=0.0, + SpecProductFrozenMargin=0.0, SpecProductCommission=0.0, SpecProductFrozenCommission=0.0, SpecProductPositionProfit=0.0, SpecProductCloseProfit=0.0, SpecProductPositionProfitByAlg=0.0, + SpecProductExchangeMargin=0.0, FrozenSwap=0.0, RemainSwap=0.0): super(SyncingTradingAccountField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.AccountID = self._to_bytes(AccountID) @@ -2580,7 +2588,7 @@ def __init__(self, BrokerID='', AccountID='', PreMortgage=0.0, PreCredit=0.0, Pr class SyncingInvestorPositionField(Base): """正在同步中的投资者持仓""" _fields_ = [ - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 ('PosiDirection', ctypes.c_char), # 持仓多空方向 @@ -2629,19 +2637,17 @@ class SyncingInvestorPositionField(Base): ('PositionCostOffset', ctypes.c_double), # 大商所持仓成本差值,只有大商所使用 ('TasPosition', ctypes.c_int), # tas持仓手数 ('TasPositionCost', ctypes.c_double), # tas持仓成本 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, InstrumentID='', BrokerID='', InvestorID='', PosiDirection='', HedgeFlag='', PositionDate='', - YdPosition=0, Position=0, LongFrozen=0, ShortFrozen=0, LongFrozenAmount=0.0, ShortFrozenAmount=0.0, - OpenVolume=0, CloseVolume=0, OpenAmount=0.0, CloseAmount=0.0, PositionCost=0.0, PreMargin=0.0, - UseMargin=0.0, FrozenMargin=0.0, FrozenCash=0.0, FrozenCommission=0.0, CashIn=0.0, Commission=0.0, - CloseProfit=0.0, PositionProfit=0.0, PreSettlementPrice=0.0, SettlementPrice=0.0, TradingDay='', - SettlementID=0, OpenCost=0.0, ExchangeMargin=0.0, CombPosition=0, CombLongFrozen=0, CombShortFrozen=0, - CloseProfitByDate=0.0, CloseProfitByTrade=0.0, TodayPosition=0, MarginRateByMoney=0.0, - MarginRateByVolume=0.0, StrikeFrozen=0, StrikeFrozenAmount=0.0, AbandonFrozen=0, ExchangeID='', - YdStrikeFrozen=0, InvestUnitID='', PositionCostOffset=0.0, TasPosition=0, TasPositionCost=0.0): + def __init__(self, reserve1='', BrokerID='', InvestorID='', PosiDirection='', HedgeFlag='', PositionDate='', YdPosition=0, Position=0, LongFrozen=0, ShortFrozen=0, LongFrozenAmount=0.0, + ShortFrozenAmount=0.0, OpenVolume=0, CloseVolume=0, OpenAmount=0.0, CloseAmount=0.0, PositionCost=0.0, PreMargin=0.0, UseMargin=0.0, FrozenMargin=0.0, FrozenCash=0.0, + FrozenCommission=0.0, CashIn=0.0, Commission=0.0, CloseProfit=0.0, PositionProfit=0.0, PreSettlementPrice=0.0, SettlementPrice=0.0, TradingDay='', SettlementID=0, OpenCost=0.0, + ExchangeMargin=0.0, CombPosition=0, CombLongFrozen=0, CombShortFrozen=0, CloseProfitByDate=0.0, CloseProfitByTrade=0.0, TodayPosition=0, MarginRateByMoney=0.0, MarginRateByVolume=0.0, + StrikeFrozen=0, StrikeFrozenAmount=0.0, AbandonFrozen=0, ExchangeID='', YdStrikeFrozen=0, InvestUnitID='', PositionCostOffset=0.0, TasPosition=0, TasPositionCost=0.0, + InstrumentID=''): super(SyncingInvestorPositionField, self).__init__() - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) self.PosiDirection = self._to_bytes(PosiDirection) @@ -2690,12 +2696,13 @@ def __init__(self, InstrumentID='', BrokerID='', InvestorID='', PosiDirection='' self.PositionCostOffset = float(PositionCostOffset) self.TasPosition = int(TasPosition) self.TasPositionCost = float(TasPositionCost) + self.InstrumentID = self._to_bytes(InstrumentID) class SyncingInstrumentMarginRateField(Base): """正在同步中的合约保证金率""" _fields_ = [ - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('InvestorRange', ctypes.c_char), # 投资者范围 ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 @@ -2705,13 +2712,13 @@ class SyncingInstrumentMarginRateField(Base): ('ShortMarginRatioByMoney', ctypes.c_double), # 空头保证金率 ('ShortMarginRatioByVolume', ctypes.c_double), # 空头保证金费 ('IsRelative', ctypes.c_int), # 是否相对交易所收取 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, InstrumentID='', InvestorRange='', BrokerID='', InvestorID='', HedgeFlag='', - LongMarginRatioByMoney=0.0, LongMarginRatioByVolume=0.0, ShortMarginRatioByMoney=0.0, - ShortMarginRatioByVolume=0.0, IsRelative=0): + def __init__(self, reserve1='', InvestorRange='', BrokerID='', InvestorID='', HedgeFlag='', LongMarginRatioByMoney=0.0, LongMarginRatioByVolume=0.0, ShortMarginRatioByMoney=0.0, + ShortMarginRatioByVolume=0.0, IsRelative=0, InstrumentID=''): super(SyncingInstrumentMarginRateField, self).__init__() - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.InvestorRange = self._to_bytes(InvestorRange) self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -2721,12 +2728,13 @@ def __init__(self, InstrumentID='', InvestorRange='', BrokerID='', InvestorID='' self.ShortMarginRatioByMoney = float(ShortMarginRatioByMoney) self.ShortMarginRatioByVolume = float(ShortMarginRatioByVolume) self.IsRelative = int(IsRelative) + self.InstrumentID = self._to_bytes(InstrumentID) class SyncingInstrumentCommissionRateField(Base): """正在同步中的合约手续费率""" _fields_ = [ - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('InvestorRange', ctypes.c_char), # 投资者范围 ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 @@ -2736,13 +2744,13 @@ class SyncingInstrumentCommissionRateField(Base): ('CloseRatioByVolume', ctypes.c_double), # 平仓手续费 ('CloseTodayRatioByMoney', ctypes.c_double), # 平今手续费率 ('CloseTodayRatioByVolume', ctypes.c_double), # 平今手续费 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, InstrumentID='', InvestorRange='', BrokerID='', InvestorID='', OpenRatioByMoney=0.0, - OpenRatioByVolume=0.0, CloseRatioByMoney=0.0, CloseRatioByVolume=0.0, CloseTodayRatioByMoney=0.0, - CloseTodayRatioByVolume=0.0): + def __init__(self, reserve1='', InvestorRange='', BrokerID='', InvestorID='', OpenRatioByMoney=0.0, OpenRatioByVolume=0.0, CloseRatioByMoney=0.0, CloseRatioByVolume=0.0, + CloseTodayRatioByMoney=0.0, CloseTodayRatioByVolume=0.0, InstrumentID=''): super(SyncingInstrumentCommissionRateField, self).__init__() - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.InvestorRange = self._to_bytes(InvestorRange) self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -2752,25 +2760,28 @@ def __init__(self, InstrumentID='', InvestorRange='', BrokerID='', InvestorID='' self.CloseRatioByVolume = float(CloseRatioByVolume) self.CloseTodayRatioByMoney = float(CloseTodayRatioByMoney) self.CloseTodayRatioByVolume = float(CloseTodayRatioByVolume) + self.InstrumentID = self._to_bytes(InstrumentID) class SyncingInstrumentTradingRightField(Base): """正在同步中的合约交易权限""" _fields_ = [ - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('InvestorRange', ctypes.c_char), # 投资者范围 ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 ('TradingRight', ctypes.c_char), # 交易权限 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, InstrumentID='', InvestorRange='', BrokerID='', InvestorID='', TradingRight=''): + def __init__(self, reserve1='', InvestorRange='', BrokerID='', InvestorID='', TradingRight='', InstrumentID=''): super(SyncingInstrumentTradingRightField, self).__init__() - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.InvestorRange = self._to_bytes(InvestorRange) self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) self.TradingRight = self._to_bytes(TradingRight) + self.InstrumentID = self._to_bytes(InstrumentID) class QryOrderField(Base): @@ -2778,25 +2789,26 @@ class QryOrderField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('OrderSysID', ctypes.c_char * 21), # 报单编号 ('InsertTimeStart', ctypes.c_char * 9), # 开始时间 ('InsertTimeEnd', ctypes.c_char * 9), # 结束时间 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID='', InvestorID='', InstrumentID='', ExchangeID='', OrderSysID='', InsertTimeStart='', - InsertTimeEnd='', InvestUnitID=''): + def __init__(self, BrokerID='', InvestorID='', reserve1='', ExchangeID='', OrderSysID='', InsertTimeStart='', InsertTimeEnd='', InvestUnitID='', InstrumentID=''): super(QryOrderField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.ExchangeID = self._to_bytes(ExchangeID) self.OrderSysID = self._to_bytes(OrderSysID) self.InsertTimeStart = self._to_bytes(InsertTimeStart) self.InsertTimeEnd = self._to_bytes(InsertTimeEnd) self.InvestUnitID = self._to_bytes(InvestUnitID) + self.InstrumentID = self._to_bytes(InstrumentID) class QryTradeField(Base): @@ -2804,25 +2816,26 @@ class QryTradeField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('TradeID', ctypes.c_char * 21), # 成交编号 ('TradeTimeStart', ctypes.c_char * 9), # 开始时间 ('TradeTimeEnd', ctypes.c_char * 9), # 结束时间 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID='', InvestorID='', InstrumentID='', ExchangeID='', TradeID='', TradeTimeStart='', - TradeTimeEnd='', InvestUnitID=''): + def __init__(self, BrokerID='', InvestorID='', reserve1='', ExchangeID='', TradeID='', TradeTimeStart='', TradeTimeEnd='', InvestUnitID='', InstrumentID=''): super(QryTradeField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.ExchangeID = self._to_bytes(ExchangeID) self.TradeID = self._to_bytes(TradeID) self.TradeTimeStart = self._to_bytes(TradeTimeStart) self.TradeTimeEnd = self._to_bytes(TradeTimeEnd) self.InvestUnitID = self._to_bytes(InvestUnitID) + self.InstrumentID = self._to_bytes(InstrumentID) class QryInvestorPositionField(Base): @@ -2830,18 +2843,20 @@ class QryInvestorPositionField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID='', InvestorID='', InstrumentID='', ExchangeID='', InvestUnitID=''): + def __init__(self, BrokerID='', InvestorID='', reserve1='', ExchangeID='', InvestUnitID='', InstrumentID=''): super(QryInvestorPositionField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.ExchangeID = self._to_bytes(ExchangeID) self.InvestUnitID = self._to_bytes(InvestUnitID) + self.InstrumentID = self._to_bytes(InstrumentID) class QryTradingAccountField(Base): @@ -2850,11 +2865,11 @@ class QryTradingAccountField(Base): ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 ('CurrencyID', ctypes.c_char * 4), # 币种代码 - ('BizType', ctypes.c_char), # 业务类型 1 期货 2 证券 + ('BizType', ctypes.c_char), # 业务类型 ('AccountID', ctypes.c_char * 13), # 投资者帐号 ] - def __init__(self, BrokerID='', InvestorID='', CurrencyID='', BizType='1', AccountID=''): + def __init__(self, BrokerID='', InvestorID='', CurrencyID='', BizType='', AccountID=''): super(QryTradingAccountField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -2913,20 +2928,22 @@ class QryInstrumentMarginRateField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('HedgeFlag', ctypes.c_char), # 投机套保标志 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID='', InvestorID='', InstrumentID='', HedgeFlag='', ExchangeID='', InvestUnitID=''): + def __init__(self, BrokerID='', InvestorID='', reserve1='', HedgeFlag='', ExchangeID='', InvestUnitID='', InstrumentID=''): super(QryInstrumentMarginRateField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.HedgeFlag = self._to_bytes(HedgeFlag) self.ExchangeID = self._to_bytes(ExchangeID) self.InvestUnitID = self._to_bytes(InvestUnitID) + self.InstrumentID = self._to_bytes(InstrumentID) class QryInstrumentCommissionRateField(Base): @@ -2934,18 +2951,20 @@ class QryInstrumentCommissionRateField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID='', InvestorID='', InstrumentID='', ExchangeID='', InvestUnitID=''): + def __init__(self, BrokerID='', InvestorID='', reserve1='', ExchangeID='', InvestUnitID='', InstrumentID=''): super(QryInstrumentCommissionRateField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.ExchangeID = self._to_bytes(ExchangeID) self.InvestUnitID = self._to_bytes(InvestUnitID) + self.InstrumentID = self._to_bytes(InstrumentID) class QryInstrumentTradingRightField(Base): @@ -2953,13 +2972,15 @@ class QryInstrumentTradingRightField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID='', InvestorID='', InstrumentID=''): + def __init__(self, BrokerID='', InvestorID='', reserve1='', InstrumentID=''): super(QryInstrumentTradingRightField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) + self.reserve1 = self._to_bytes(reserve1) self.InstrumentID = self._to_bytes(InstrumentID) @@ -3048,18 +3069,20 @@ class QryExchangeOrderField(Base): _fields_ = [ ('ParticipantID', ctypes.c_char * 11), # 会员代码 ('ClientID', ctypes.c_char * 11), # 客户代码 - ('ExchangeInstID', ctypes.c_char * 31), # 合约在交易所的代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('TraderID', ctypes.c_char * 21), # 交易所交易员代码 + ('ExchangeInstID', ctypes.c_char * 81), # 合约在交易所的代码 ] - def __init__(self, ParticipantID='', ClientID='', ExchangeInstID='', ExchangeID='', TraderID=''): + def __init__(self, ParticipantID='', ClientID='', reserve1='', ExchangeID='', TraderID='', ExchangeInstID=''): super(QryExchangeOrderField, self).__init__() self.ParticipantID = self._to_bytes(ParticipantID) self.ClientID = self._to_bytes(ClientID) - self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.reserve1 = self._to_bytes(reserve1) self.ExchangeID = self._to_bytes(ExchangeID) self.TraderID = self._to_bytes(TraderID) + self.ExchangeInstID = self._to_bytes(ExchangeInstID) class QryOrderActionField(Base): @@ -3119,31 +3142,39 @@ def __init__(self, ExchangeID=''): class QryProductField(Base): """查询产品""" _fields_ = [ - ('ProductID', ctypes.c_char * 31), # 产品代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('ProductClass', ctypes.c_char), # 产品类型 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('ProductID', ctypes.c_char * 81), # 产品代码 ] - def __init__(self, ProductID='', ProductClass='', ExchangeID=''): + def __init__(self, reserve1='', ProductClass='', ExchangeID='', ProductID=''): super(QryProductField, self).__init__() - self.ProductID = self._to_bytes(ProductID) + self.reserve1 = self._to_bytes(reserve1) self.ProductClass = self._to_bytes(ProductClass) self.ExchangeID = self._to_bytes(ExchangeID) + self.ProductID = self._to_bytes(ProductID) class QryInstrumentField(Base): """查询合约""" _fields_ = [ - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 - ('ExchangeInstID', ctypes.c_char * 31), # 合约在交易所的代码 - ('ProductID', ctypes.c_char * 31), # 产品代码 + ('reserve2', ctypes.c_char * 31), # 保留的无效字段 + ('reserve3', ctypes.c_char * 31), # 保留的无效字段 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('ExchangeInstID', ctypes.c_char * 81), # 合约在交易所的代码 + ('ProductID', ctypes.c_char * 81), # 产品代码 ] - def __init__(self, InstrumentID='', ExchangeID='', ExchangeInstID='', ProductID=''): + def __init__(self, reserve1='', ExchangeID='', reserve2='', reserve3='', InstrumentID='', ExchangeInstID='', ProductID=''): super(QryInstrumentField, self).__init__() - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.ExchangeID = self._to_bytes(ExchangeID) + self.reserve2 = self._to_bytes(reserve2) + self.reserve3 = self._to_bytes(reserve3) + self.InstrumentID = self._to_bytes(InstrumentID) self.ExchangeInstID = self._to_bytes(ExchangeInstID) self.ProductID = self._to_bytes(ProductID) @@ -3151,14 +3182,16 @@ def __init__(self, InstrumentID='', ExchangeID='', ExchangeInstID='', ProductID= class QryDepthMarketDataField(Base): """查询行情""" _fields_ = [ - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, InstrumentID='', ExchangeID=''): + def __init__(self, reserve1='', ExchangeID='', InstrumentID=''): super(QryDepthMarketDataField, self).__init__() - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.ExchangeID = self._to_bytes(ExchangeID) + self.InstrumentID = self._to_bytes(InstrumentID) class QryBrokerUserField(Base): @@ -3238,32 +3271,36 @@ class QryExchangeMarginRateField(Base): """查询交易所保证金率""" _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('HedgeFlag', ctypes.c_char), # 投机套保标志 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID='', InstrumentID='', HedgeFlag='', ExchangeID=''): + def __init__(self, BrokerID='', reserve1='', HedgeFlag='', ExchangeID='', InstrumentID=''): super(QryExchangeMarginRateField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.HedgeFlag = self._to_bytes(HedgeFlag) self.ExchangeID = self._to_bytes(ExchangeID) + self.InstrumentID = self._to_bytes(InstrumentID) class QryExchangeMarginRateAdjustField(Base): """查询交易所调整保证金率""" _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('HedgeFlag', ctypes.c_char), # 投机套保标志 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID='', InstrumentID='', HedgeFlag=''): + def __init__(self, BrokerID='', reserve1='', HedgeFlag='', InstrumentID=''): super(QryExchangeMarginRateAdjustField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.HedgeFlag = self._to_bytes(HedgeFlag) + self.InstrumentID = self._to_bytes(InstrumentID) class QryExchangeRateField(Base): @@ -3299,57 +3336,59 @@ class QryHisOrderField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('OrderSysID', ctypes.c_char * 21), # 报单编号 ('InsertTimeStart', ctypes.c_char * 9), # 开始时间 ('InsertTimeEnd', ctypes.c_char * 9), # 结束时间 ('TradingDay', ctypes.c_char * 9), # 交易日 ('SettlementID', ctypes.c_int), # 结算编号 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID='', InvestorID='', InstrumentID='', ExchangeID='', OrderSysID='', InsertTimeStart='', - InsertTimeEnd='', TradingDay='', SettlementID=0): + def __init__(self, BrokerID='', InvestorID='', reserve1='', ExchangeID='', OrderSysID='', InsertTimeStart='', InsertTimeEnd='', TradingDay='', SettlementID=0, InstrumentID=''): super(QryHisOrderField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.ExchangeID = self._to_bytes(ExchangeID) self.OrderSysID = self._to_bytes(OrderSysID) self.InsertTimeStart = self._to_bytes(InsertTimeStart) self.InsertTimeEnd = self._to_bytes(InsertTimeEnd) self.TradingDay = self._to_bytes(TradingDay) self.SettlementID = int(SettlementID) + self.InstrumentID = self._to_bytes(InstrumentID) class OptionInstrMiniMarginField(Base): """当前期权合约最小保证金""" _fields_ = [ - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('InvestorRange', ctypes.c_char), # 投资者范围 ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 ('MinMargin', ctypes.c_double), # 单位(手)期权合约最小保证金 ('ValueMethod', ctypes.c_char), # 取值方式 ('IsRelative', ctypes.c_int), # 是否跟随交易所收取 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, InstrumentID='', InvestorRange='', BrokerID='', InvestorID='', MinMargin=0.0, ValueMethod='', - IsRelative=0): + def __init__(self, reserve1='', InvestorRange='', BrokerID='', InvestorID='', MinMargin=0.0, ValueMethod='', IsRelative=0, InstrumentID=''): super(OptionInstrMiniMarginField, self).__init__() - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.InvestorRange = self._to_bytes(InvestorRange) self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) self.MinMargin = float(MinMargin) self.ValueMethod = self._to_bytes(ValueMethod) self.IsRelative = int(IsRelative) + self.InstrumentID = self._to_bytes(InstrumentID) class OptionInstrMarginAdjustField(Base): """当前期权合约保证金调整系数""" _fields_ = [ - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('InvestorRange', ctypes.c_char), # 投资者范围 ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 @@ -3362,14 +3401,14 @@ class OptionInstrMarginAdjustField(Base): ('IsRelative', ctypes.c_int), # 是否跟随交易所收取 ('MShortMarginRatioByMoney', ctypes.c_double), # 做市商空头保证金调整系数 ('MShortMarginRatioByVolume', ctypes.c_double), # 做市商空头保证金调整系数 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, InstrumentID='', InvestorRange='', BrokerID='', InvestorID='', SShortMarginRatioByMoney=0.0, - SShortMarginRatioByVolume=0.0, HShortMarginRatioByMoney=0.0, HShortMarginRatioByVolume=0.0, - AShortMarginRatioByMoney=0.0, AShortMarginRatioByVolume=0.0, IsRelative=0, - MShortMarginRatioByMoney=0.0, MShortMarginRatioByVolume=0.0): + def __init__(self, reserve1='', InvestorRange='', BrokerID='', InvestorID='', SShortMarginRatioByMoney=0.0, SShortMarginRatioByVolume=0.0, HShortMarginRatioByMoney=0.0, + HShortMarginRatioByVolume=0.0, AShortMarginRatioByMoney=0.0, AShortMarginRatioByVolume=0.0, IsRelative=0, MShortMarginRatioByMoney=0.0, MShortMarginRatioByVolume=0.0, + InstrumentID=''): super(OptionInstrMarginAdjustField, self).__init__() - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.InvestorRange = self._to_bytes(InvestorRange) self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -3382,12 +3421,13 @@ def __init__(self, InstrumentID='', InvestorRange='', BrokerID='', InvestorID='' self.IsRelative = int(IsRelative) self.MShortMarginRatioByMoney = float(MShortMarginRatioByMoney) self.MShortMarginRatioByVolume = float(MShortMarginRatioByVolume) + self.InstrumentID = self._to_bytes(InstrumentID) class OptionInstrCommRateField(Base): """当前期权合约手续费的详细内容""" _fields_ = [ - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('InvestorRange', ctypes.c_char), # 投资者范围 ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 @@ -3401,14 +3441,13 @@ class OptionInstrCommRateField(Base): ('StrikeRatioByVolume', ctypes.c_double), # 执行手续费 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, InstrumentID='', InvestorRange='', BrokerID='', InvestorID='', OpenRatioByMoney=0.0, - OpenRatioByVolume=0.0, CloseRatioByMoney=0.0, CloseRatioByVolume=0.0, CloseTodayRatioByMoney=0.0, - CloseTodayRatioByVolume=0.0, StrikeRatioByMoney=0.0, StrikeRatioByVolume=0.0, ExchangeID='', - InvestUnitID=''): + def __init__(self, reserve1='', InvestorRange='', BrokerID='', InvestorID='', OpenRatioByMoney=0.0, OpenRatioByVolume=0.0, CloseRatioByMoney=0.0, CloseRatioByVolume=0.0, + CloseTodayRatioByMoney=0.0, CloseTodayRatioByVolume=0.0, StrikeRatioByMoney=0.0, StrikeRatioByVolume=0.0, ExchangeID='', InvestUnitID='', InstrumentID=''): super(OptionInstrCommRateField, self).__init__() - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.InvestorRange = self._to_bytes(InvestorRange) self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -3422,6 +3461,7 @@ def __init__(self, InstrumentID='', InvestorRange='', BrokerID='', InvestorID='' self.StrikeRatioByVolume = float(StrikeRatioByVolume) self.ExchangeID = self._to_bytes(ExchangeID) self.InvestUnitID = self._to_bytes(InvestUnitID) + self.InstrumentID = self._to_bytes(InstrumentID) class OptionInstrTradeCostField(Base): @@ -3429,7 +3469,7 @@ class OptionInstrTradeCostField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('HedgeFlag', ctypes.c_char), # 投机套保标志 ('FixedMargin', ctypes.c_double), # 期权合约保证金不变部分 ('MiniMargin', ctypes.c_double), # 期权合约最小保证金 @@ -3438,14 +3478,15 @@ class OptionInstrTradeCostField(Base): ('ExchMiniMargin', ctypes.c_double), # 交易所期权合约最小保证金 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID='', InvestorID='', InstrumentID='', HedgeFlag='', FixedMargin=0.0, MiniMargin=0.0, - Royalty=0.0, ExchFixedMargin=0.0, ExchMiniMargin=0.0, ExchangeID='', InvestUnitID=''): + def __init__(self, BrokerID='', InvestorID='', reserve1='', HedgeFlag='', FixedMargin=0.0, MiniMargin=0.0, Royalty=0.0, ExchFixedMargin=0.0, ExchMiniMargin=0.0, ExchangeID='', InvestUnitID='', + InstrumentID=''): super(OptionInstrTradeCostField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.HedgeFlag = self._to_bytes(HedgeFlag) self.FixedMargin = float(FixedMargin) self.MiniMargin = float(MiniMargin) @@ -3454,6 +3495,7 @@ def __init__(self, BrokerID='', InvestorID='', InstrumentID='', HedgeFlag='', Fi self.ExchMiniMargin = float(ExchMiniMargin) self.ExchangeID = self._to_bytes(ExchangeID) self.InvestUnitID = self._to_bytes(InvestUnitID) + self.InstrumentID = self._to_bytes(InstrumentID) class QryOptionInstrTradeCostField(Base): @@ -3461,25 +3503,26 @@ class QryOptionInstrTradeCostField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('HedgeFlag', ctypes.c_char), # 投机套保标志 ('InputPrice', ctypes.c_double), # 期权合约报价 ('UnderlyingPrice', ctypes.c_double), # 标的价格,填0则用昨结算价 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID='', InvestorID='', InstrumentID='', HedgeFlag='', InputPrice=0.0, UnderlyingPrice=0.0, - ExchangeID='', InvestUnitID=''): + def __init__(self, BrokerID='', InvestorID='', reserve1='', HedgeFlag='', InputPrice=0.0, UnderlyingPrice=0.0, ExchangeID='', InvestUnitID='', InstrumentID=''): super(QryOptionInstrTradeCostField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.HedgeFlag = self._to_bytes(HedgeFlag) self.InputPrice = float(InputPrice) self.UnderlyingPrice = float(UnderlyingPrice) self.ExchangeID = self._to_bytes(ExchangeID) self.InvestUnitID = self._to_bytes(InvestUnitID) + self.InstrumentID = self._to_bytes(InstrumentID) class QryOptionInstrCommRateField(Base): @@ -3487,33 +3530,37 @@ class QryOptionInstrCommRateField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID='', InvestorID='', InstrumentID='', ExchangeID='', InvestUnitID=''): + def __init__(self, BrokerID='', InvestorID='', reserve1='', ExchangeID='', InvestUnitID='', InstrumentID=''): super(QryOptionInstrCommRateField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.ExchangeID = self._to_bytes(ExchangeID) self.InvestUnitID = self._to_bytes(InvestUnitID) + self.InstrumentID = self._to_bytes(InstrumentID) class IndexPriceField(Base): """股指现货指数""" _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('ClosePrice', ctypes.c_double), # 指数现货收盘价 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID='', InstrumentID='', ClosePrice=0.0): + def __init__(self, BrokerID='', reserve1='', ClosePrice=0.0, InstrumentID=''): super(IndexPriceField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.ClosePrice = float(ClosePrice) + self.InstrumentID = self._to_bytes(InstrumentID) class InputExecOrderField(Base): @@ -3521,7 +3568,7 @@ class InputExecOrderField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('ExecOrderRef', ctypes.c_char * 13), # 执行宣告引用 ('UserID', ctypes.c_char * 16), # 用户代码 ('Volume', ctypes.c_int), # 数量 @@ -3538,18 +3585,18 @@ class InputExecOrderField(Base): ('AccountID', ctypes.c_char * 13), # 资金账号 ('CurrencyID', ctypes.c_char * 4), # 币种代码 ('ClientID', ctypes.c_char * 11), # 交易编码 - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve2', ctypes.c_char * 16), # 保留的无效字段 ('MacAddress', ctypes.c_char * 21), # Mac地址 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID='', InvestorID='', InstrumentID='', ExecOrderRef='', UserID='', Volume=0, RequestID=0, - BusinessUnit='', OffsetFlag='', HedgeFlag='', ActionType='', PosiDirection='', ReservePositionFlag='', - CloseFlag='', ExchangeID='', InvestUnitID='', AccountID='', CurrencyID='', ClientID='', IPAddress='', - MacAddress=''): + def __init__(self, BrokerID='', InvestorID='', reserve1='', ExecOrderRef='', UserID='', Volume=0, RequestID=0, BusinessUnit='', OffsetFlag='', HedgeFlag='', ActionType='', PosiDirection='', + ReservePositionFlag='', CloseFlag='', ExchangeID='', InvestUnitID='', AccountID='', CurrencyID='', ClientID='', reserve2='', MacAddress='', InstrumentID='', IPAddress=''): super(InputExecOrderField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.ExecOrderRef = self._to_bytes(ExecOrderRef) self.UserID = self._to_bytes(UserID) self.Volume = int(Volume) @@ -3566,8 +3613,10 @@ def __init__(self, BrokerID='', InvestorID='', InstrumentID='', ExecOrderRef='', self.AccountID = self._to_bytes(AccountID) self.CurrencyID = self._to_bytes(CurrencyID) self.ClientID = self._to_bytes(ClientID) - self.IPAddress = self._to_bytes(IPAddress) + self.reserve2 = self._to_bytes(reserve2) self.MacAddress = self._to_bytes(MacAddress) + self.InstrumentID = self._to_bytes(InstrumentID) + self.IPAddress = self._to_bytes(IPAddress) class InputExecOrderActionField(Base): @@ -3584,15 +3633,16 @@ class InputExecOrderActionField(Base): ('ExecOrderSysID', ctypes.c_char * 21), # 执行宣告操作编号 ('ActionFlag', ctypes.c_char), # 操作标志 ('UserID', ctypes.c_char * 16), # 用户代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve2', ctypes.c_char * 16), # 保留的无效字段 ('MacAddress', ctypes.c_char * 21), # Mac地址 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID='', InvestorID='', ExecOrderActionRef=0, ExecOrderRef='', RequestID=0, FrontID=0, - SessionID=0, ExchangeID='', ExecOrderSysID='', ActionFlag='', UserID='', InstrumentID='', - InvestUnitID='', IPAddress='', MacAddress=''): + def __init__(self, BrokerID='', InvestorID='', ExecOrderActionRef=0, ExecOrderRef='', RequestID=0, FrontID=0, SessionID=0, ExchangeID='', ExecOrderSysID='', ActionFlag='', UserID='', reserve1='', + InvestUnitID='', reserve2='', MacAddress='', InstrumentID='', IPAddress=''): super(InputExecOrderActionField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -3605,10 +3655,12 @@ def __init__(self, BrokerID='', InvestorID='', ExecOrderActionRef=0, ExecOrderRe self.ExecOrderSysID = self._to_bytes(ExecOrderSysID) self.ActionFlag = self._to_bytes(ActionFlag) self.UserID = self._to_bytes(UserID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.InvestUnitID = self._to_bytes(InvestUnitID) - self.IPAddress = self._to_bytes(IPAddress) + self.reserve2 = self._to_bytes(reserve2) self.MacAddress = self._to_bytes(MacAddress) + self.InstrumentID = self._to_bytes(InstrumentID) + self.IPAddress = self._to_bytes(IPAddress) class ExecOrderField(Base): @@ -3616,7 +3668,7 @@ class ExecOrderField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('ExecOrderRef', ctypes.c_char * 13), # 执行宣告引用 ('UserID', ctypes.c_char * 16), # 用户代码 ('Volume', ctypes.c_int), # 数量 @@ -3632,7 +3684,7 @@ class ExecOrderField(Base): ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('ParticipantID', ctypes.c_char * 11), # 会员代码 ('ClientID', ctypes.c_char * 11), # 客户代码 - ('ExchangeInstID', ctypes.c_char * 31), # 合约在交易所的代码 + ('reserve2', ctypes.c_char * 31), # 保留的无效字段 ('TraderID', ctypes.c_char * 21), # 交易所交易员代码 ('InstallID', ctypes.c_int), # 安装编号 ('OrderSubmitStatus', ctypes.c_char), # 执行宣告提交状态 @@ -3656,22 +3708,22 @@ class ExecOrderField(Base): ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 ('AccountID', ctypes.c_char * 13), # 资金账号 ('CurrencyID', ctypes.c_char * 4), # 币种代码 - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve3', ctypes.c_char * 16), # 保留的无效字段 ('MacAddress', ctypes.c_char * 21), # Mac地址 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('ExchangeInstID', ctypes.c_char * 81), # 合约在交易所的代码 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID='', InvestorID='', InstrumentID='', ExecOrderRef='', UserID='', Volume=0, RequestID=0, - BusinessUnit='', OffsetFlag='', HedgeFlag='', ActionType='', PosiDirection='', ReservePositionFlag='', - CloseFlag='', ExecOrderLocalID='', ExchangeID='', ParticipantID='', ClientID='', ExchangeInstID='', - TraderID='', InstallID=0, OrderSubmitStatus='', NotifySequence=0, TradingDay='', SettlementID=0, - ExecOrderSysID='', InsertDate='', InsertTime='', CancelTime='', ExecResult='', ClearingPartID='', - SequenceNo=0, FrontID=0, SessionID=0, UserProductInfo='', StatusMsg='', ActiveUserID='', - BrokerExecOrderSeq=0, BranchID='', InvestUnitID='', AccountID='', CurrencyID='', IPAddress='', - MacAddress=''): + def __init__(self, BrokerID='', InvestorID='', reserve1='', ExecOrderRef='', UserID='', Volume=0, RequestID=0, BusinessUnit='', OffsetFlag='', HedgeFlag='', ActionType='', PosiDirection='', + ReservePositionFlag='', CloseFlag='', ExecOrderLocalID='', ExchangeID='', ParticipantID='', ClientID='', reserve2='', TraderID='', InstallID=0, OrderSubmitStatus='', NotifySequence=0, + TradingDay='', SettlementID=0, ExecOrderSysID='', InsertDate='', InsertTime='', CancelTime='', ExecResult='', ClearingPartID='', SequenceNo=0, FrontID=0, SessionID=0, + UserProductInfo='', StatusMsg='', ActiveUserID='', BrokerExecOrderSeq=0, BranchID='', InvestUnitID='', AccountID='', CurrencyID='', reserve3='', MacAddress='', InstrumentID='', + ExchangeInstID='', IPAddress=''): super(ExecOrderField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.ExecOrderRef = self._to_bytes(ExecOrderRef) self.UserID = self._to_bytes(UserID) self.Volume = int(Volume) @@ -3687,7 +3739,7 @@ def __init__(self, BrokerID='', InvestorID='', InstrumentID='', ExecOrderRef='', self.ExchangeID = self._to_bytes(ExchangeID) self.ParticipantID = self._to_bytes(ParticipantID) self.ClientID = self._to_bytes(ClientID) - self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.reserve2 = self._to_bytes(reserve2) self.TraderID = self._to_bytes(TraderID) self.InstallID = int(InstallID) self.OrderSubmitStatus = self._to_bytes(OrderSubmitStatus) @@ -3711,8 +3763,11 @@ def __init__(self, BrokerID='', InvestorID='', InstrumentID='', ExecOrderRef='', self.InvestUnitID = self._to_bytes(InvestUnitID) self.AccountID = self._to_bytes(AccountID) self.CurrencyID = self._to_bytes(CurrencyID) - self.IPAddress = self._to_bytes(IPAddress) + self.reserve3 = self._to_bytes(reserve3) self.MacAddress = self._to_bytes(MacAddress) + self.InstrumentID = self._to_bytes(InstrumentID) + self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.IPAddress = self._to_bytes(IPAddress) class ExecOrderActionField(Base): @@ -3741,18 +3796,18 @@ class ExecOrderActionField(Base): ('UserID', ctypes.c_char * 16), # 用户代码 ('ActionType', ctypes.c_char), # 执行类型 ('StatusMsg', ctypes.c_char * 81), # 状态信息 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('BranchID', ctypes.c_char * 9), # 营业部编号 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve2', ctypes.c_char * 16), # 保留的无效字段 ('MacAddress', ctypes.c_char * 21), # Mac地址 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID='', InvestorID='', ExecOrderActionRef=0, ExecOrderRef='', RequestID=0, FrontID=0, - SessionID=0, ExchangeID='', ExecOrderSysID='', ActionFlag='', ActionDate='', ActionTime='', - TraderID='', InstallID=0, ExecOrderLocalID='', ActionLocalID='', ParticipantID='', ClientID='', - BusinessUnit='', OrderActionStatus='', UserID='', ActionType='', StatusMsg='', InstrumentID='', - BranchID='', InvestUnitID='', IPAddress='', MacAddress=''): + def __init__(self, BrokerID='', InvestorID='', ExecOrderActionRef=0, ExecOrderRef='', RequestID=0, FrontID=0, SessionID=0, ExchangeID='', ExecOrderSysID='', ActionFlag='', ActionDate='', + ActionTime='', TraderID='', InstallID=0, ExecOrderLocalID='', ActionLocalID='', ParticipantID='', ClientID='', BusinessUnit='', OrderActionStatus='', UserID='', ActionType='', + StatusMsg='', reserve1='', BranchID='', InvestUnitID='', reserve2='', MacAddress='', InstrumentID='', IPAddress=''): super(ExecOrderActionField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -3777,11 +3832,13 @@ def __init__(self, BrokerID='', InvestorID='', ExecOrderActionRef=0, ExecOrderRe self.UserID = self._to_bytes(UserID) self.ActionType = self._to_bytes(ActionType) self.StatusMsg = self._to_bytes(StatusMsg) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.BranchID = self._to_bytes(BranchID) self.InvestUnitID = self._to_bytes(InvestUnitID) - self.IPAddress = self._to_bytes(IPAddress) + self.reserve2 = self._to_bytes(reserve2) self.MacAddress = self._to_bytes(MacAddress) + self.InstrumentID = self._to_bytes(InstrumentID) + self.IPAddress = self._to_bytes(IPAddress) class QryExecOrderField(Base): @@ -3789,23 +3846,24 @@ class QryExecOrderField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('ExecOrderSysID', ctypes.c_char * 21), # 执行宣告编号 ('InsertTimeStart', ctypes.c_char * 9), # 开始时间 ('InsertTimeEnd', ctypes.c_char * 9), # 结束时间 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID='', InvestorID='', InstrumentID='', ExchangeID='', ExecOrderSysID='', - InsertTimeStart='', InsertTimeEnd=''): + def __init__(self, BrokerID='', InvestorID='', reserve1='', ExchangeID='', ExecOrderSysID='', InsertTimeStart='', InsertTimeEnd='', InstrumentID=''): super(QryExecOrderField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.ExchangeID = self._to_bytes(ExchangeID) self.ExecOrderSysID = self._to_bytes(ExecOrderSysID) self.InsertTimeStart = self._to_bytes(InsertTimeStart) self.InsertTimeEnd = self._to_bytes(InsertTimeEnd) + self.InstrumentID = self._to_bytes(InstrumentID) class ExchangeExecOrderField(Base): @@ -3824,7 +3882,7 @@ class ExchangeExecOrderField(Base): ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('ParticipantID', ctypes.c_char * 11), # 会员代码 ('ClientID', ctypes.c_char * 11), # 客户代码 - ('ExchangeInstID', ctypes.c_char * 31), # 合约在交易所的代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('TraderID', ctypes.c_char * 21), # 交易所交易员代码 ('InstallID', ctypes.c_int), # 安装编号 ('OrderSubmitStatus', ctypes.c_char), # 执行宣告提交状态 @@ -3839,16 +3897,15 @@ class ExchangeExecOrderField(Base): ('ClearingPartID', ctypes.c_char * 11), # 结算会员编号 ('SequenceNo', ctypes.c_int), # 序号 ('BranchID', ctypes.c_char * 9), # 营业部编号 - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve2', ctypes.c_char * 16), # 保留的无效字段 ('MacAddress', ctypes.c_char * 21), # Mac地址 + ('ExchangeInstID', ctypes.c_char * 81), # 合约在交易所的代码 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, Volume=0, RequestID=0, BusinessUnit='', OffsetFlag='', HedgeFlag='', ActionType='', - PosiDirection='', ReservePositionFlag='', CloseFlag='', ExecOrderLocalID='', ExchangeID='', - ParticipantID='', ClientID='', ExchangeInstID='', TraderID='', InstallID=0, OrderSubmitStatus='', - NotifySequence=0, TradingDay='', SettlementID=0, ExecOrderSysID='', InsertDate='', InsertTime='', - CancelTime='', ExecResult='', ClearingPartID='', SequenceNo=0, BranchID='', IPAddress='', - MacAddress=''): + def __init__(self, Volume=0, RequestID=0, BusinessUnit='', OffsetFlag='', HedgeFlag='', ActionType='', PosiDirection='', ReservePositionFlag='', CloseFlag='', ExecOrderLocalID='', ExchangeID='', + ParticipantID='', ClientID='', reserve1='', TraderID='', InstallID=0, OrderSubmitStatus='', NotifySequence=0, TradingDay='', SettlementID=0, ExecOrderSysID='', InsertDate='', + InsertTime='', CancelTime='', ExecResult='', ClearingPartID='', SequenceNo=0, BranchID='', reserve2='', MacAddress='', ExchangeInstID='', IPAddress=''): super(ExchangeExecOrderField, self).__init__() self.Volume = int(Volume) self.RequestID = int(RequestID) @@ -3863,7 +3920,7 @@ def __init__(self, Volume=0, RequestID=0, BusinessUnit='', OffsetFlag='', HedgeF self.ExchangeID = self._to_bytes(ExchangeID) self.ParticipantID = self._to_bytes(ParticipantID) self.ClientID = self._to_bytes(ClientID) - self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.reserve1 = self._to_bytes(reserve1) self.TraderID = self._to_bytes(TraderID) self.InstallID = int(InstallID) self.OrderSubmitStatus = self._to_bytes(OrderSubmitStatus) @@ -3878,8 +3935,10 @@ def __init__(self, Volume=0, RequestID=0, BusinessUnit='', OffsetFlag='', HedgeF self.ClearingPartID = self._to_bytes(ClearingPartID) self.SequenceNo = int(SequenceNo) self.BranchID = self._to_bytes(BranchID) - self.IPAddress = self._to_bytes(IPAddress) + self.reserve2 = self._to_bytes(reserve2) self.MacAddress = self._to_bytes(MacAddress) + self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.IPAddress = self._to_bytes(IPAddress) class QryExchangeExecOrderField(Base): @@ -3887,18 +3946,20 @@ class QryExchangeExecOrderField(Base): _fields_ = [ ('ParticipantID', ctypes.c_char * 11), # 会员代码 ('ClientID', ctypes.c_char * 11), # 客户代码 - ('ExchangeInstID', ctypes.c_char * 31), # 合约在交易所的代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('TraderID', ctypes.c_char * 21), # 交易所交易员代码 + ('ExchangeInstID', ctypes.c_char * 81), # 合约在交易所的代码 ] - def __init__(self, ParticipantID='', ClientID='', ExchangeInstID='', ExchangeID='', TraderID=''): + def __init__(self, ParticipantID='', ClientID='', reserve1='', ExchangeID='', TraderID='', ExchangeInstID=''): super(QryExchangeExecOrderField, self).__init__() self.ParticipantID = self._to_bytes(ParticipantID) self.ClientID = self._to_bytes(ClientID) - self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.reserve1 = self._to_bytes(reserve1) self.ExchangeID = self._to_bytes(ExchangeID) self.TraderID = self._to_bytes(TraderID) + self.ExchangeInstID = self._to_bytes(ExchangeInstID) class QryExecOrderActionField(Base): @@ -3935,16 +3996,16 @@ class ExchangeExecOrderActionField(Base): ('UserID', ctypes.c_char * 16), # 用户代码 ('ActionType', ctypes.c_char), # 执行类型 ('BranchID', ctypes.c_char * 9), # 营业部编号 - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve1', ctypes.c_char * 16), # 保留的无效字段 ('MacAddress', ctypes.c_char * 21), # Mac地址 - ('ExchangeInstID', ctypes.c_char * 31), # 合约在交易所的代码 + ('reserve2', ctypes.c_char * 31), # 保留的无效字段 ('Volume', ctypes.c_int), # 数量 + ('IPAddress', ctypes.c_char * 33), # IP地址 + ('ExchangeInstID', ctypes.c_char * 81), # 合约在交易所的代码 ] - def __init__(self, ExchangeID='', ExecOrderSysID='', ActionFlag='', ActionDate='', ActionTime='', TraderID='', - InstallID=0, ExecOrderLocalID='', ActionLocalID='', ParticipantID='', ClientID='', BusinessUnit='', - OrderActionStatus='', UserID='', ActionType='', BranchID='', IPAddress='', MacAddress='', - ExchangeInstID='', Volume=0): + def __init__(self, ExchangeID='', ExecOrderSysID='', ActionFlag='', ActionDate='', ActionTime='', TraderID='', InstallID=0, ExecOrderLocalID='', ActionLocalID='', ParticipantID='', ClientID='', + BusinessUnit='', OrderActionStatus='', UserID='', ActionType='', BranchID='', reserve1='', MacAddress='', reserve2='', Volume=0, IPAddress='', ExchangeInstID=''): super(ExchangeExecOrderActionField, self).__init__() self.ExchangeID = self._to_bytes(ExchangeID) self.ExecOrderSysID = self._to_bytes(ExecOrderSysID) @@ -3962,10 +4023,12 @@ def __init__(self, ExchangeID='', ExecOrderSysID='', ActionFlag='', ActionDate=' self.UserID = self._to_bytes(UserID) self.ActionType = self._to_bytes(ActionType) self.BranchID = self._to_bytes(BranchID) - self.IPAddress = self._to_bytes(IPAddress) + self.reserve1 = self._to_bytes(reserve1) self.MacAddress = self._to_bytes(MacAddress) - self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.reserve2 = self._to_bytes(reserve2) self.Volume = int(Volume) + self.IPAddress = self._to_bytes(IPAddress) + self.ExchangeInstID = self._to_bytes(ExchangeInstID) class QryExchangeExecOrderActionField(Base): @@ -3990,7 +4053,7 @@ class ErrExecOrderField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('ExecOrderRef', ctypes.c_char * 13), # 执行宣告引用 ('UserID', ctypes.c_char * 16), # 用户代码 ('Volume', ctypes.c_int), # 数量 @@ -4007,20 +4070,21 @@ class ErrExecOrderField(Base): ('AccountID', ctypes.c_char * 13), # 资金账号 ('CurrencyID', ctypes.c_char * 4), # 币种代码 ('ClientID', ctypes.c_char * 11), # 交易编码 - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve2', ctypes.c_char * 16), # 保留的无效字段 ('MacAddress', ctypes.c_char * 21), # Mac地址 ('ErrorID', ctypes.c_int), # 错误代码 ('ErrorMsg', ctypes.c_char * 81), # 错误信息 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID='', InvestorID='', InstrumentID='', ExecOrderRef='', UserID='', Volume=0, RequestID=0, - BusinessUnit='', OffsetFlag='', HedgeFlag='', ActionType='', PosiDirection='', ReservePositionFlag='', - CloseFlag='', ExchangeID='', InvestUnitID='', AccountID='', CurrencyID='', ClientID='', IPAddress='', - MacAddress='', ErrorID=0, ErrorMsg=''): + def __init__(self, BrokerID='', InvestorID='', reserve1='', ExecOrderRef='', UserID='', Volume=0, RequestID=0, BusinessUnit='', OffsetFlag='', HedgeFlag='', ActionType='', PosiDirection='', + ReservePositionFlag='', CloseFlag='', ExchangeID='', InvestUnitID='', AccountID='', CurrencyID='', ClientID='', reserve2='', MacAddress='', ErrorID=0, ErrorMsg='', InstrumentID='', + IPAddress=''): super(ErrExecOrderField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.ExecOrderRef = self._to_bytes(ExecOrderRef) self.UserID = self._to_bytes(UserID) self.Volume = int(Volume) @@ -4037,10 +4101,12 @@ def __init__(self, BrokerID='', InvestorID='', InstrumentID='', ExecOrderRef='', self.AccountID = self._to_bytes(AccountID) self.CurrencyID = self._to_bytes(CurrencyID) self.ClientID = self._to_bytes(ClientID) - self.IPAddress = self._to_bytes(IPAddress) + self.reserve2 = self._to_bytes(reserve2) self.MacAddress = self._to_bytes(MacAddress) self.ErrorID = int(ErrorID) self.ErrorMsg = self._to_bytes(ErrorMsg) + self.InstrumentID = self._to_bytes(InstrumentID) + self.IPAddress = self._to_bytes(IPAddress) class QryErrExecOrderField(Base): @@ -4070,17 +4136,18 @@ class ErrExecOrderActionField(Base): ('ExecOrderSysID', ctypes.c_char * 21), # 执行宣告操作编号 ('ActionFlag', ctypes.c_char), # 操作标志 ('UserID', ctypes.c_char * 16), # 用户代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve2', ctypes.c_char * 16), # 保留的无效字段 ('MacAddress', ctypes.c_char * 21), # Mac地址 ('ErrorID', ctypes.c_int), # 错误代码 ('ErrorMsg', ctypes.c_char * 81), # 错误信息 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID='', InvestorID='', ExecOrderActionRef=0, ExecOrderRef='', RequestID=0, FrontID=0, - SessionID=0, ExchangeID='', ExecOrderSysID='', ActionFlag='', UserID='', InstrumentID='', - InvestUnitID='', IPAddress='', MacAddress='', ErrorID=0, ErrorMsg=''): + def __init__(self, BrokerID='', InvestorID='', ExecOrderActionRef=0, ExecOrderRef='', RequestID=0, FrontID=0, SessionID=0, ExchangeID='', ExecOrderSysID='', ActionFlag='', UserID='', reserve1='', + InvestUnitID='', reserve2='', MacAddress='', ErrorID=0, ErrorMsg='', InstrumentID='', IPAddress=''): super(ErrExecOrderActionField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -4093,12 +4160,14 @@ def __init__(self, BrokerID='', InvestorID='', ExecOrderActionRef=0, ExecOrderRe self.ExecOrderSysID = self._to_bytes(ExecOrderSysID) self.ActionFlag = self._to_bytes(ActionFlag) self.UserID = self._to_bytes(UserID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.InvestUnitID = self._to_bytes(InvestUnitID) - self.IPAddress = self._to_bytes(IPAddress) + self.reserve2 = self._to_bytes(reserve2) self.MacAddress = self._to_bytes(MacAddress) self.ErrorID = int(ErrorID) self.ErrorMsg = self._to_bytes(ErrorMsg) + self.InstrumentID = self._to_bytes(InstrumentID) + self.IPAddress = self._to_bytes(IPAddress) class QryErrExecOrderActionField(Base): @@ -4117,22 +4186,24 @@ def __init__(self, BrokerID='', InvestorID=''): class OptionInstrTradingRightField(Base): """投资者期权合约交易权限""" _fields_ = [ - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('InvestorRange', ctypes.c_char), # 投资者范围 ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 ('Direction', ctypes.c_char), # 买卖方向 ('TradingRight', ctypes.c_char), # 交易权限 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, InstrumentID='', InvestorRange='', BrokerID='', InvestorID='', Direction='', TradingRight=''): + def __init__(self, reserve1='', InvestorRange='', BrokerID='', InvestorID='', Direction='', TradingRight='', InstrumentID=''): super(OptionInstrTradingRightField, self).__init__() - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.InvestorRange = self._to_bytes(InvestorRange) self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) self.Direction = self._to_bytes(Direction) self.TradingRight = self._to_bytes(TradingRight) + self.InstrumentID = self._to_bytes(InstrumentID) class QryOptionInstrTradingRightField(Base): @@ -4140,16 +4211,18 @@ class QryOptionInstrTradingRightField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('Direction', ctypes.c_char), # 买卖方向 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID='', InvestorID='', InstrumentID='', Direction=''): + def __init__(self, BrokerID='', InvestorID='', reserve1='', Direction='', InstrumentID=''): super(QryOptionInstrTradingRightField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.Direction = self._to_bytes(Direction) + self.InstrumentID = self._to_bytes(InstrumentID) class InputForQuoteField(Base): @@ -4157,27 +4230,30 @@ class InputForQuoteField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('ForQuoteRef', ctypes.c_char * 13), # 询价引用 ('UserID', ctypes.c_char * 16), # 用户代码 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve2', ctypes.c_char * 16), # 保留的无效字段 ('MacAddress', ctypes.c_char * 21), # Mac地址 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID='', InvestorID='', InstrumentID='', ForQuoteRef='', UserID='', ExchangeID='', - InvestUnitID='', IPAddress='', MacAddress=''): + def __init__(self, BrokerID='', InvestorID='', reserve1='', ForQuoteRef='', UserID='', ExchangeID='', InvestUnitID='', reserve2='', MacAddress='', InstrumentID='', IPAddress=''): super(InputForQuoteField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.ForQuoteRef = self._to_bytes(ForQuoteRef) self.UserID = self._to_bytes(UserID) self.ExchangeID = self._to_bytes(ExchangeID) self.InvestUnitID = self._to_bytes(InvestUnitID) - self.IPAddress = self._to_bytes(IPAddress) + self.reserve2 = self._to_bytes(reserve2) self.MacAddress = self._to_bytes(MacAddress) + self.InstrumentID = self._to_bytes(InstrumentID) + self.IPAddress = self._to_bytes(IPAddress) class ForQuoteField(Base): @@ -4185,14 +4261,14 @@ class ForQuoteField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('ForQuoteRef', ctypes.c_char * 13), # 询价引用 ('UserID', ctypes.c_char * 16), # 用户代码 ('ForQuoteLocalID', ctypes.c_char * 13), # 本地询价编号 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('ParticipantID', ctypes.c_char * 11), # 会员代码 ('ClientID', ctypes.c_char * 11), # 客户代码 - ('ExchangeInstID', ctypes.c_char * 31), # 合约在交易所的代码 + ('reserve2', ctypes.c_char * 31), # 保留的无效字段 ('TraderID', ctypes.c_char * 21), # 交易所交易员代码 ('InstallID', ctypes.c_int), # 安装编号 ('InsertDate', ctypes.c_char * 9), # 报单日期 @@ -4204,25 +4280,27 @@ class ForQuoteField(Base): ('ActiveUserID', ctypes.c_char * 16), # 操作用户代码 ('BrokerForQutoSeq', ctypes.c_int), # 经纪公司询价编号 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve3', ctypes.c_char * 16), # 保留的无效字段 ('MacAddress', ctypes.c_char * 21), # Mac地址 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('ExchangeInstID', ctypes.c_char * 81), # 合约在交易所的代码 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID='', InvestorID='', InstrumentID='', ForQuoteRef='', UserID='', ForQuoteLocalID='', - ExchangeID='', ParticipantID='', ClientID='', ExchangeInstID='', TraderID='', InstallID=0, - InsertDate='', InsertTime='', ForQuoteStatus='', FrontID=0, SessionID=0, StatusMsg='', ActiveUserID='', - BrokerForQutoSeq=0, InvestUnitID='', IPAddress='', MacAddress=''): + def __init__(self, BrokerID='', InvestorID='', reserve1='', ForQuoteRef='', UserID='', ForQuoteLocalID='', ExchangeID='', ParticipantID='', ClientID='', reserve2='', TraderID='', InstallID=0, + InsertDate='', InsertTime='', ForQuoteStatus='', FrontID=0, SessionID=0, StatusMsg='', ActiveUserID='', BrokerForQutoSeq=0, InvestUnitID='', reserve3='', MacAddress='', + InstrumentID='', ExchangeInstID='', IPAddress=''): super(ForQuoteField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.ForQuoteRef = self._to_bytes(ForQuoteRef) self.UserID = self._to_bytes(UserID) self.ForQuoteLocalID = self._to_bytes(ForQuoteLocalID) self.ExchangeID = self._to_bytes(ExchangeID) self.ParticipantID = self._to_bytes(ParticipantID) self.ClientID = self._to_bytes(ClientID) - self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.reserve2 = self._to_bytes(reserve2) self.TraderID = self._to_bytes(TraderID) self.InstallID = int(InstallID) self.InsertDate = self._to_bytes(InsertDate) @@ -4234,8 +4312,11 @@ def __init__(self, BrokerID='', InvestorID='', InstrumentID='', ForQuoteRef='', self.ActiveUserID = self._to_bytes(ActiveUserID) self.BrokerForQutoSeq = int(BrokerForQutoSeq) self.InvestUnitID = self._to_bytes(InvestUnitID) - self.IPAddress = self._to_bytes(IPAddress) + self.reserve3 = self._to_bytes(reserve3) self.MacAddress = self._to_bytes(MacAddress) + self.InstrumentID = self._to_bytes(InstrumentID) + self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.IPAddress = self._to_bytes(IPAddress) class QryForQuoteField(Base): @@ -4243,23 +4324,24 @@ class QryForQuoteField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('InsertTimeStart', ctypes.c_char * 9), # 开始时间 ('InsertTimeEnd', ctypes.c_char * 9), # 结束时间 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID='', InvestorID='', InstrumentID='', ExchangeID='', InsertTimeStart='', InsertTimeEnd='', - InvestUnitID=''): + def __init__(self, BrokerID='', InvestorID='', reserve1='', ExchangeID='', InsertTimeStart='', InsertTimeEnd='', InvestUnitID='', InstrumentID=''): super(QryForQuoteField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.ExchangeID = self._to_bytes(ExchangeID) self.InsertTimeStart = self._to_bytes(InsertTimeStart) self.InsertTimeEnd = self._to_bytes(InsertTimeEnd) self.InvestUnitID = self._to_bytes(InvestUnitID) + self.InstrumentID = self._to_bytes(InstrumentID) class ExchangeForQuoteField(Base): @@ -4269,31 +4351,35 @@ class ExchangeForQuoteField(Base): ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('ParticipantID', ctypes.c_char * 11), # 会员代码 ('ClientID', ctypes.c_char * 11), # 客户代码 - ('ExchangeInstID', ctypes.c_char * 31), # 合约在交易所的代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('TraderID', ctypes.c_char * 21), # 交易所交易员代码 ('InstallID', ctypes.c_int), # 安装编号 ('InsertDate', ctypes.c_char * 9), # 报单日期 ('InsertTime', ctypes.c_char * 9), # 插入时间 ('ForQuoteStatus', ctypes.c_char), # 询价状态 - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve2', ctypes.c_char * 16), # 保留的无效字段 ('MacAddress', ctypes.c_char * 21), # Mac地址 + ('ExchangeInstID', ctypes.c_char * 81), # 合约在交易所的代码 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, ForQuoteLocalID='', ExchangeID='', ParticipantID='', ClientID='', ExchangeInstID='', TraderID='', - InstallID=0, InsertDate='', InsertTime='', ForQuoteStatus='', IPAddress='', MacAddress=''): + def __init__(self, ForQuoteLocalID='', ExchangeID='', ParticipantID='', ClientID='', reserve1='', TraderID='', InstallID=0, InsertDate='', InsertTime='', ForQuoteStatus='', reserve2='', + MacAddress='', ExchangeInstID='', IPAddress=''): super(ExchangeForQuoteField, self).__init__() self.ForQuoteLocalID = self._to_bytes(ForQuoteLocalID) self.ExchangeID = self._to_bytes(ExchangeID) self.ParticipantID = self._to_bytes(ParticipantID) self.ClientID = self._to_bytes(ClientID) - self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.reserve1 = self._to_bytes(reserve1) self.TraderID = self._to_bytes(TraderID) self.InstallID = int(InstallID) self.InsertDate = self._to_bytes(InsertDate) self.InsertTime = self._to_bytes(InsertTime) self.ForQuoteStatus = self._to_bytes(ForQuoteStatus) - self.IPAddress = self._to_bytes(IPAddress) + self.reserve2 = self._to_bytes(reserve2) self.MacAddress = self._to_bytes(MacAddress) + self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.IPAddress = self._to_bytes(IPAddress) class QryExchangeForQuoteField(Base): @@ -4301,18 +4387,20 @@ class QryExchangeForQuoteField(Base): _fields_ = [ ('ParticipantID', ctypes.c_char * 11), # 会员代码 ('ClientID', ctypes.c_char * 11), # 客户代码 - ('ExchangeInstID', ctypes.c_char * 31), # 合约在交易所的代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('TraderID', ctypes.c_char * 21), # 交易所交易员代码 + ('ExchangeInstID', ctypes.c_char * 81), # 合约在交易所的代码 ] - def __init__(self, ParticipantID='', ClientID='', ExchangeInstID='', ExchangeID='', TraderID=''): + def __init__(self, ParticipantID='', ClientID='', reserve1='', ExchangeID='', TraderID='', ExchangeInstID=''): super(QryExchangeForQuoteField, self).__init__() self.ParticipantID = self._to_bytes(ParticipantID) self.ClientID = self._to_bytes(ClientID) - self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.reserve1 = self._to_bytes(reserve1) self.ExchangeID = self._to_bytes(ExchangeID) self.TraderID = self._to_bytes(TraderID) + self.ExchangeInstID = self._to_bytes(ExchangeInstID) class InputQuoteField(Base): @@ -4320,7 +4408,7 @@ class InputQuoteField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('QuoteRef', ctypes.c_char * 13), # 报价引用 ('UserID', ctypes.c_char * 16), # 用户代码 ('AskPrice', ctypes.c_double), # 卖价格 @@ -4339,18 +4427,19 @@ class InputQuoteField(Base): ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 ('ClientID', ctypes.c_char * 11), # 交易编码 - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve2', ctypes.c_char * 16), # 保留的无效字段 ('MacAddress', ctypes.c_char * 21), # Mac地址 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID='', InvestorID='', InstrumentID='', QuoteRef='', UserID='', AskPrice=0.0, BidPrice=0.0, - AskVolume=0, BidVolume=0, RequestID=0, BusinessUnit='', AskOffsetFlag='', BidOffsetFlag='', - AskHedgeFlag='', BidHedgeFlag='', AskOrderRef='', BidOrderRef='', ForQuoteSysID='', ExchangeID='', - InvestUnitID='', ClientID='', IPAddress='', MacAddress=''): + def __init__(self, BrokerID='', InvestorID='', reserve1='', QuoteRef='', UserID='', AskPrice=0.0, BidPrice=0.0, AskVolume=0, BidVolume=0, RequestID=0, BusinessUnit='', AskOffsetFlag='', + BidOffsetFlag='', AskHedgeFlag='', BidHedgeFlag='', AskOrderRef='', BidOrderRef='', ForQuoteSysID='', ExchangeID='', InvestUnitID='', ClientID='', reserve2='', MacAddress='', + InstrumentID='', IPAddress=''): super(InputQuoteField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.QuoteRef = self._to_bytes(QuoteRef) self.UserID = self._to_bytes(UserID) self.AskPrice = float(AskPrice) @@ -4369,8 +4458,10 @@ def __init__(self, BrokerID='', InvestorID='', InstrumentID='', QuoteRef='', Use self.ExchangeID = self._to_bytes(ExchangeID) self.InvestUnitID = self._to_bytes(InvestUnitID) self.ClientID = self._to_bytes(ClientID) - self.IPAddress = self._to_bytes(IPAddress) + self.reserve2 = self._to_bytes(reserve2) self.MacAddress = self._to_bytes(MacAddress) + self.InstrumentID = self._to_bytes(InstrumentID) + self.IPAddress = self._to_bytes(IPAddress) class InputQuoteActionField(Base): @@ -4387,16 +4478,17 @@ class InputQuoteActionField(Base): ('QuoteSysID', ctypes.c_char * 21), # 报价操作编号 ('ActionFlag', ctypes.c_char), # 操作标志 ('UserID', ctypes.c_char * 16), # 用户代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 ('ClientID', ctypes.c_char * 11), # 交易编码 - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve2', ctypes.c_char * 16), # 保留的无效字段 ('MacAddress', ctypes.c_char * 21), # Mac地址 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID='', InvestorID='', QuoteActionRef=0, QuoteRef='', RequestID=0, FrontID=0, SessionID=0, - ExchangeID='', QuoteSysID='', ActionFlag='', UserID='', InstrumentID='', InvestUnitID='', ClientID='', - IPAddress='', MacAddress=''): + def __init__(self, BrokerID='', InvestorID='', QuoteActionRef=0, QuoteRef='', RequestID=0, FrontID=0, SessionID=0, ExchangeID='', QuoteSysID='', ActionFlag='', UserID='', reserve1='', + InvestUnitID='', ClientID='', reserve2='', MacAddress='', InstrumentID='', IPAddress=''): super(InputQuoteActionField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -4409,11 +4501,13 @@ def __init__(self, BrokerID='', InvestorID='', QuoteActionRef=0, QuoteRef='', Re self.QuoteSysID = self._to_bytes(QuoteSysID) self.ActionFlag = self._to_bytes(ActionFlag) self.UserID = self._to_bytes(UserID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.InvestUnitID = self._to_bytes(InvestUnitID) self.ClientID = self._to_bytes(ClientID) - self.IPAddress = self._to_bytes(IPAddress) + self.reserve2 = self._to_bytes(reserve2) self.MacAddress = self._to_bytes(MacAddress) + self.InstrumentID = self._to_bytes(InstrumentID) + self.IPAddress = self._to_bytes(IPAddress) class QuoteField(Base): @@ -4421,7 +4515,7 @@ class QuoteField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('QuoteRef', ctypes.c_char * 13), # 报价引用 ('UserID', ctypes.c_char * 16), # 用户代码 ('AskPrice', ctypes.c_double), # 卖价格 @@ -4438,7 +4532,7 @@ class QuoteField(Base): ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('ParticipantID', ctypes.c_char * 11), # 会员代码 ('ClientID', ctypes.c_char * 11), # 客户代码 - ('ExchangeInstID', ctypes.c_char * 31), # 合约在交易所的代码 + ('reserve2', ctypes.c_char * 31), # 保留的无效字段 ('TraderID', ctypes.c_char * 21), # 交易所交易员代码 ('InstallID', ctypes.c_int), # 安装编号 ('NotifySequence', ctypes.c_int), # 报价提示序号 @@ -4467,23 +4561,22 @@ class QuoteField(Base): ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 ('AccountID', ctypes.c_char * 13), # 资金账号 ('CurrencyID', ctypes.c_char * 4), # 币种代码 - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve3', ctypes.c_char * 16), # 保留的无效字段 ('MacAddress', ctypes.c_char * 21), # Mac地址 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('ExchangeInstID', ctypes.c_char * 81), # 合约在交易所的代码 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID='', InvestorID='', InstrumentID='', QuoteRef='', UserID='', AskPrice=0.0, BidPrice=0.0, - AskVolume=0, BidVolume=0, RequestID=0, BusinessUnit='', AskOffsetFlag='', BidOffsetFlag='', - AskHedgeFlag='', BidHedgeFlag='', QuoteLocalID='', ExchangeID='', ParticipantID='', ClientID='', - ExchangeInstID='', TraderID='', InstallID=0, NotifySequence=0, OrderSubmitStatus='', TradingDay='', - SettlementID=0, QuoteSysID='', InsertDate='', InsertTime='', CancelTime='', QuoteStatus='', - ClearingPartID='', SequenceNo=0, AskOrderSysID='', BidOrderSysID='', FrontID=0, SessionID=0, - UserProductInfo='', StatusMsg='', ActiveUserID='', BrokerQuoteSeq=0, AskOrderRef='', BidOrderRef='', - ForQuoteSysID='', BranchID='', InvestUnitID='', AccountID='', CurrencyID='', IPAddress='', - MacAddress=''): + def __init__(self, BrokerID='', InvestorID='', reserve1='', QuoteRef='', UserID='', AskPrice=0.0, BidPrice=0.0, AskVolume=0, BidVolume=0, RequestID=0, BusinessUnit='', AskOffsetFlag='', + BidOffsetFlag='', AskHedgeFlag='', BidHedgeFlag='', QuoteLocalID='', ExchangeID='', ParticipantID='', ClientID='', reserve2='', TraderID='', InstallID=0, NotifySequence=0, + OrderSubmitStatus='', TradingDay='', SettlementID=0, QuoteSysID='', InsertDate='', InsertTime='', CancelTime='', QuoteStatus='', ClearingPartID='', SequenceNo=0, AskOrderSysID='', + BidOrderSysID='', FrontID=0, SessionID=0, UserProductInfo='', StatusMsg='', ActiveUserID='', BrokerQuoteSeq=0, AskOrderRef='', BidOrderRef='', ForQuoteSysID='', BranchID='', + InvestUnitID='', AccountID='', CurrencyID='', reserve3='', MacAddress='', InstrumentID='', ExchangeInstID='', IPAddress=''): super(QuoteField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.QuoteRef = self._to_bytes(QuoteRef) self.UserID = self._to_bytes(UserID) self.AskPrice = float(AskPrice) @@ -4500,7 +4593,7 @@ def __init__(self, BrokerID='', InvestorID='', InstrumentID='', QuoteRef='', Use self.ExchangeID = self._to_bytes(ExchangeID) self.ParticipantID = self._to_bytes(ParticipantID) self.ClientID = self._to_bytes(ClientID) - self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.reserve2 = self._to_bytes(reserve2) self.TraderID = self._to_bytes(TraderID) self.InstallID = int(InstallID) self.NotifySequence = int(NotifySequence) @@ -4529,8 +4622,11 @@ def __init__(self, BrokerID='', InvestorID='', InstrumentID='', QuoteRef='', Use self.InvestUnitID = self._to_bytes(InvestUnitID) self.AccountID = self._to_bytes(AccountID) self.CurrencyID = self._to_bytes(CurrencyID) - self.IPAddress = self._to_bytes(IPAddress) + self.reserve3 = self._to_bytes(reserve3) self.MacAddress = self._to_bytes(MacAddress) + self.InstrumentID = self._to_bytes(InstrumentID) + self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.IPAddress = self._to_bytes(IPAddress) class QuoteActionField(Base): @@ -4558,18 +4654,18 @@ class QuoteActionField(Base): ('OrderActionStatus', ctypes.c_char), # 报单操作状态 ('UserID', ctypes.c_char * 16), # 用户代码 ('StatusMsg', ctypes.c_char * 81), # 状态信息 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('BranchID', ctypes.c_char * 9), # 营业部编号 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve2', ctypes.c_char * 16), # 保留的无效字段 ('MacAddress', ctypes.c_char * 21), # Mac地址 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID='', InvestorID='', QuoteActionRef=0, QuoteRef='', RequestID=0, FrontID=0, SessionID=0, - ExchangeID='', QuoteSysID='', ActionFlag='', ActionDate='', ActionTime='', TraderID='', InstallID=0, - QuoteLocalID='', ActionLocalID='', ParticipantID='', ClientID='', BusinessUnit='', - OrderActionStatus='', UserID='', StatusMsg='', InstrumentID='', BranchID='', InvestUnitID='', - IPAddress='', MacAddress=''): + def __init__(self, BrokerID='', InvestorID='', QuoteActionRef=0, QuoteRef='', RequestID=0, FrontID=0, SessionID=0, ExchangeID='', QuoteSysID='', ActionFlag='', ActionDate='', ActionTime='', + TraderID='', InstallID=0, QuoteLocalID='', ActionLocalID='', ParticipantID='', ClientID='', BusinessUnit='', OrderActionStatus='', UserID='', StatusMsg='', reserve1='', BranchID='', + InvestUnitID='', reserve2='', MacAddress='', InstrumentID='', IPAddress=''): super(QuoteActionField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -4593,11 +4689,13 @@ def __init__(self, BrokerID='', InvestorID='', QuoteActionRef=0, QuoteRef='', Re self.OrderActionStatus = self._to_bytes(OrderActionStatus) self.UserID = self._to_bytes(UserID) self.StatusMsg = self._to_bytes(StatusMsg) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.BranchID = self._to_bytes(BranchID) self.InvestUnitID = self._to_bytes(InvestUnitID) - self.IPAddress = self._to_bytes(IPAddress) + self.reserve2 = self._to_bytes(reserve2) self.MacAddress = self._to_bytes(MacAddress) + self.InstrumentID = self._to_bytes(InstrumentID) + self.IPAddress = self._to_bytes(IPAddress) class QryQuoteField(Base): @@ -4605,25 +4703,26 @@ class QryQuoteField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('QuoteSysID', ctypes.c_char * 21), # 报价编号 ('InsertTimeStart', ctypes.c_char * 9), # 开始时间 ('InsertTimeEnd', ctypes.c_char * 9), # 结束时间 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID='', InvestorID='', InstrumentID='', ExchangeID='', QuoteSysID='', InsertTimeStart='', - InsertTimeEnd='', InvestUnitID=''): + def __init__(self, BrokerID='', InvestorID='', reserve1='', ExchangeID='', QuoteSysID='', InsertTimeStart='', InsertTimeEnd='', InvestUnitID='', InstrumentID=''): super(QryQuoteField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.ExchangeID = self._to_bytes(ExchangeID) self.QuoteSysID = self._to_bytes(QuoteSysID) self.InsertTimeStart = self._to_bytes(InsertTimeStart) self.InsertTimeEnd = self._to_bytes(InsertTimeEnd) self.InvestUnitID = self._to_bytes(InvestUnitID) + self.InstrumentID = self._to_bytes(InstrumentID) class ExchangeQuoteField(Base): @@ -4643,7 +4742,7 @@ class ExchangeQuoteField(Base): ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('ParticipantID', ctypes.c_char * 11), # 会员代码 ('ClientID', ctypes.c_char * 11), # 客户代码 - ('ExchangeInstID', ctypes.c_char * 31), # 合约在交易所的代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('TraderID', ctypes.c_char * 21), # 交易所交易员代码 ('InstallID', ctypes.c_int), # 安装编号 ('NotifySequence', ctypes.c_int), # 报价提示序号 @@ -4661,16 +4760,16 @@ class ExchangeQuoteField(Base): ('BidOrderSysID', ctypes.c_char * 21), # 买方报单编号 ('ForQuoteSysID', ctypes.c_char * 21), # 应价编号 ('BranchID', ctypes.c_char * 9), # 营业部编号 - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve2', ctypes.c_char * 16), # 保留的无效字段 ('MacAddress', ctypes.c_char * 21), # Mac地址 + ('ExchangeInstID', ctypes.c_char * 81), # 合约在交易所的代码 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, AskPrice=0.0, BidPrice=0.0, AskVolume=0, BidVolume=0, RequestID=0, BusinessUnit='', - AskOffsetFlag='', BidOffsetFlag='', AskHedgeFlag='', BidHedgeFlag='', QuoteLocalID='', ExchangeID='', - ParticipantID='', ClientID='', ExchangeInstID='', TraderID='', InstallID=0, NotifySequence=0, - OrderSubmitStatus='', TradingDay='', SettlementID=0, QuoteSysID='', InsertDate='', InsertTime='', - CancelTime='', QuoteStatus='', ClearingPartID='', SequenceNo=0, AskOrderSysID='', BidOrderSysID='', - ForQuoteSysID='', BranchID='', IPAddress='', MacAddress=''): + def __init__(self, AskPrice=0.0, BidPrice=0.0, AskVolume=0, BidVolume=0, RequestID=0, BusinessUnit='', AskOffsetFlag='', BidOffsetFlag='', AskHedgeFlag='', BidHedgeFlag='', QuoteLocalID='', + ExchangeID='', ParticipantID='', ClientID='', reserve1='', TraderID='', InstallID=0, NotifySequence=0, OrderSubmitStatus='', TradingDay='', SettlementID=0, QuoteSysID='', + InsertDate='', InsertTime='', CancelTime='', QuoteStatus='', ClearingPartID='', SequenceNo=0, AskOrderSysID='', BidOrderSysID='', ForQuoteSysID='', BranchID='', reserve2='', + MacAddress='', ExchangeInstID='', IPAddress=''): super(ExchangeQuoteField, self).__init__() self.AskPrice = float(AskPrice) self.BidPrice = float(BidPrice) @@ -4686,7 +4785,7 @@ def __init__(self, AskPrice=0.0, BidPrice=0.0, AskVolume=0, BidVolume=0, Request self.ExchangeID = self._to_bytes(ExchangeID) self.ParticipantID = self._to_bytes(ParticipantID) self.ClientID = self._to_bytes(ClientID) - self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.reserve1 = self._to_bytes(reserve1) self.TraderID = self._to_bytes(TraderID) self.InstallID = int(InstallID) self.NotifySequence = int(NotifySequence) @@ -4704,8 +4803,10 @@ def __init__(self, AskPrice=0.0, BidPrice=0.0, AskVolume=0, BidVolume=0, Request self.BidOrderSysID = self._to_bytes(BidOrderSysID) self.ForQuoteSysID = self._to_bytes(ForQuoteSysID) self.BranchID = self._to_bytes(BranchID) - self.IPAddress = self._to_bytes(IPAddress) + self.reserve2 = self._to_bytes(reserve2) self.MacAddress = self._to_bytes(MacAddress) + self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.IPAddress = self._to_bytes(IPAddress) class QryExchangeQuoteField(Base): @@ -4713,18 +4814,20 @@ class QryExchangeQuoteField(Base): _fields_ = [ ('ParticipantID', ctypes.c_char * 11), # 会员代码 ('ClientID', ctypes.c_char * 11), # 客户代码 - ('ExchangeInstID', ctypes.c_char * 31), # 合约在交易所的代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('TraderID', ctypes.c_char * 21), # 交易所交易员代码 + ('ExchangeInstID', ctypes.c_char * 81), # 合约在交易所的代码 ] - def __init__(self, ParticipantID='', ClientID='', ExchangeInstID='', ExchangeID='', TraderID=''): + def __init__(self, ParticipantID='', ClientID='', reserve1='', ExchangeID='', TraderID='', ExchangeInstID=''): super(QryExchangeQuoteField, self).__init__() self.ParticipantID = self._to_bytes(ParticipantID) self.ClientID = self._to_bytes(ClientID) - self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.reserve1 = self._to_bytes(reserve1) self.ExchangeID = self._to_bytes(ExchangeID) self.TraderID = self._to_bytes(TraderID) + self.ExchangeInstID = self._to_bytes(ExchangeInstID) class QryQuoteActionField(Base): @@ -4759,13 +4862,13 @@ class ExchangeQuoteActionField(Base): ('BusinessUnit', ctypes.c_char * 21), # 业务单元 ('OrderActionStatus', ctypes.c_char), # 报单操作状态 ('UserID', ctypes.c_char * 16), # 用户代码 - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve1', ctypes.c_char * 16), # 保留的无效字段 ('MacAddress', ctypes.c_char * 21), # Mac地址 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, ExchangeID='', QuoteSysID='', ActionFlag='', ActionDate='', ActionTime='', TraderID='', - InstallID=0, QuoteLocalID='', ActionLocalID='', ParticipantID='', ClientID='', BusinessUnit='', - OrderActionStatus='', UserID='', IPAddress='', MacAddress=''): + def __init__(self, ExchangeID='', QuoteSysID='', ActionFlag='', ActionDate='', ActionTime='', TraderID='', InstallID=0, QuoteLocalID='', ActionLocalID='', ParticipantID='', ClientID='', + BusinessUnit='', OrderActionStatus='', UserID='', reserve1='', MacAddress='', IPAddress=''): super(ExchangeQuoteActionField, self).__init__() self.ExchangeID = self._to_bytes(ExchangeID) self.QuoteSysID = self._to_bytes(QuoteSysID) @@ -4781,8 +4884,9 @@ def __init__(self, ExchangeID='', QuoteSysID='', ActionFlag='', ActionDate='', A self.BusinessUnit = self._to_bytes(BusinessUnit) self.OrderActionStatus = self._to_bytes(OrderActionStatus) self.UserID = self._to_bytes(UserID) - self.IPAddress = self._to_bytes(IPAddress) + self.reserve1 = self._to_bytes(reserve1) self.MacAddress = self._to_bytes(MacAddress) + self.IPAddress = self._to_bytes(IPAddress) class QryExchangeQuoteActionField(Base): @@ -4805,62 +4909,68 @@ def __init__(self, ParticipantID='', ClientID='', ExchangeID='', TraderID=''): class OptionInstrDeltaField(Base): """期权合约delta值""" _fields_ = [ - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('InvestorRange', ctypes.c_char), # 投资者范围 ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 ('Delta', ctypes.c_double), # Delta值 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, InstrumentID='', InvestorRange='', BrokerID='', InvestorID='', Delta=0.0): + def __init__(self, reserve1='', InvestorRange='', BrokerID='', InvestorID='', Delta=0.0, InstrumentID=''): super(OptionInstrDeltaField, self).__init__() - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.InvestorRange = self._to_bytes(InvestorRange) self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) self.Delta = float(Delta) + self.InstrumentID = self._to_bytes(InstrumentID) class ForQuoteRspField(Base): """发给做市商的询价请求""" _fields_ = [ ('TradingDay', ctypes.c_char * 9), # 交易日 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('ForQuoteSysID', ctypes.c_char * 21), # 询价编号 ('ForQuoteTime', ctypes.c_char * 9), # 询价时间 ('ActionDay', ctypes.c_char * 9), # 业务日期 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, TradingDay='', InstrumentID='', ForQuoteSysID='', ForQuoteTime='', ActionDay='', ExchangeID=''): + def __init__(self, TradingDay='', reserve1='', ForQuoteSysID='', ForQuoteTime='', ActionDay='', ExchangeID='', InstrumentID=''): super(ForQuoteRspField, self).__init__() self.TradingDay = self._to_bytes(TradingDay) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.ForQuoteSysID = self._to_bytes(ForQuoteSysID) self.ForQuoteTime = self._to_bytes(ForQuoteTime) self.ActionDay = self._to_bytes(ActionDay) self.ExchangeID = self._to_bytes(ExchangeID) + self.InstrumentID = self._to_bytes(InstrumentID) class StrikeOffsetField(Base): """当前期权合约执行偏移值的详细内容""" _fields_ = [ - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('InvestorRange', ctypes.c_char), # 投资者范围 ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 ('Offset', ctypes.c_double), # 执行偏移值 ('OffsetType', ctypes.c_char), # 执行偏移类型 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, InstrumentID='', InvestorRange='', BrokerID='', InvestorID='', Offset=0.0, OffsetType=''): + def __init__(self, reserve1='', InvestorRange='', BrokerID='', InvestorID='', Offset=0.0, OffsetType='', InstrumentID=''): super(StrikeOffsetField, self).__init__() - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.InvestorRange = self._to_bytes(InvestorRange) self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) self.Offset = float(Offset) self.OffsetType = self._to_bytes(OffsetType) + self.InstrumentID = self._to_bytes(InstrumentID) class QryStrikeOffsetField(Base): @@ -4868,13 +4978,15 @@ class QryStrikeOffsetField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID='', InvestorID='', InstrumentID=''): + def __init__(self, BrokerID='', InvestorID='', reserve1='', InstrumentID=''): super(QryStrikeOffsetField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) + self.reserve1 = self._to_bytes(reserve1) self.InstrumentID = self._to_bytes(InstrumentID) @@ -4890,12 +5002,12 @@ class InputBatchOrderActionField(Base): ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('UserID', ctypes.c_char * 16), # 用户代码 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve1', ctypes.c_char * 16), # 保留的无效字段 ('MacAddress', ctypes.c_char * 21), # Mac地址 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID='', InvestorID='', OrderActionRef=0, RequestID=0, FrontID=0, SessionID=0, ExchangeID='', - UserID='', InvestUnitID='', IPAddress='', MacAddress=''): + def __init__(self, BrokerID='', InvestorID='', OrderActionRef=0, RequestID=0, FrontID=0, SessionID=0, ExchangeID='', UserID='', InvestUnitID='', reserve1='', MacAddress='', IPAddress=''): super(InputBatchOrderActionField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -4906,8 +5018,9 @@ def __init__(self, BrokerID='', InvestorID='', OrderActionRef=0, RequestID=0, Fr self.ExchangeID = self._to_bytes(ExchangeID) self.UserID = self._to_bytes(UserID) self.InvestUnitID = self._to_bytes(InvestUnitID) - self.IPAddress = self._to_bytes(IPAddress) + self.reserve1 = self._to_bytes(reserve1) self.MacAddress = self._to_bytes(MacAddress) + self.IPAddress = self._to_bytes(IPAddress) class BatchOrderActionField(Base): @@ -4932,14 +5045,13 @@ class BatchOrderActionField(Base): ('UserID', ctypes.c_char * 16), # 用户代码 ('StatusMsg', ctypes.c_char * 81), # 状态信息 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve1', ctypes.c_char * 16), # 保留的无效字段 ('MacAddress', ctypes.c_char * 21), # Mac地址 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID='', InvestorID='', OrderActionRef=0, RequestID=0, FrontID=0, SessionID=0, ExchangeID='', - ActionDate='', ActionTime='', TraderID='', InstallID=0, ActionLocalID='', ParticipantID='', - ClientID='', BusinessUnit='', OrderActionStatus='', UserID='', StatusMsg='', InvestUnitID='', - IPAddress='', MacAddress=''): + def __init__(self, BrokerID='', InvestorID='', OrderActionRef=0, RequestID=0, FrontID=0, SessionID=0, ExchangeID='', ActionDate='', ActionTime='', TraderID='', InstallID=0, ActionLocalID='', + ParticipantID='', ClientID='', BusinessUnit='', OrderActionStatus='', UserID='', StatusMsg='', InvestUnitID='', reserve1='', MacAddress='', IPAddress=''): super(BatchOrderActionField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -4960,8 +5072,9 @@ def __init__(self, BrokerID='', InvestorID='', OrderActionRef=0, RequestID=0, Fr self.UserID = self._to_bytes(UserID) self.StatusMsg = self._to_bytes(StatusMsg) self.InvestUnitID = self._to_bytes(InvestUnitID) - self.IPAddress = self._to_bytes(IPAddress) + self.reserve1 = self._to_bytes(reserve1) self.MacAddress = self._to_bytes(MacAddress) + self.IPAddress = self._to_bytes(IPAddress) class ExchangeBatchOrderActionField(Base): @@ -4978,13 +5091,13 @@ class ExchangeBatchOrderActionField(Base): ('BusinessUnit', ctypes.c_char * 21), # 业务单元 ('OrderActionStatus', ctypes.c_char), # 报单操作状态 ('UserID', ctypes.c_char * 16), # 用户代码 - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve1', ctypes.c_char * 16), # 保留的无效字段 ('MacAddress', ctypes.c_char * 21), # Mac地址 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, ExchangeID='', ActionDate='', ActionTime='', TraderID='', InstallID=0, ActionLocalID='', - ParticipantID='', ClientID='', BusinessUnit='', OrderActionStatus='', UserID='', IPAddress='', - MacAddress=''): + def __init__(self, ExchangeID='', ActionDate='', ActionTime='', TraderID='', InstallID=0, ActionLocalID='', ParticipantID='', ClientID='', BusinessUnit='', OrderActionStatus='', UserID='', + reserve1='', MacAddress='', IPAddress=''): super(ExchangeBatchOrderActionField, self).__init__() self.ExchangeID = self._to_bytes(ExchangeID) self.ActionDate = self._to_bytes(ActionDate) @@ -4997,8 +5110,9 @@ def __init__(self, ExchangeID='', ActionDate='', ActionTime='', TraderID='', Ins self.BusinessUnit = self._to_bytes(BusinessUnit) self.OrderActionStatus = self._to_bytes(OrderActionStatus) self.UserID = self._to_bytes(UserID) - self.IPAddress = self._to_bytes(IPAddress) + self.reserve1 = self._to_bytes(reserve1) self.MacAddress = self._to_bytes(MacAddress) + self.IPAddress = self._to_bytes(IPAddress) class QryBatchOrderActionField(Base): @@ -5020,32 +5134,36 @@ class CombInstrumentGuardField(Base): """组合合约安全系数""" _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('GuarantRatio', ctypes.c_double), # ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID='', InstrumentID='', GuarantRatio=0.0, ExchangeID=''): + def __init__(self, BrokerID='', reserve1='', GuarantRatio=0.0, ExchangeID='', InstrumentID=''): super(CombInstrumentGuardField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.GuarantRatio = float(GuarantRatio) self.ExchangeID = self._to_bytes(ExchangeID) + self.InstrumentID = self._to_bytes(InstrumentID) class QryCombInstrumentGuardField(Base): """组合合约安全系数查询""" _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID='', InstrumentID='', ExchangeID=''): + def __init__(self, BrokerID='', reserve1='', ExchangeID='', InstrumentID=''): super(QryCombInstrumentGuardField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.ExchangeID = self._to_bytes(ExchangeID) + self.InstrumentID = self._to_bytes(InstrumentID) class InputCombActionField(Base): @@ -5053,7 +5171,7 @@ class InputCombActionField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('CombActionRef', ctypes.c_char * 13), # 组合引用 ('UserID', ctypes.c_char * 16), # 用户代码 ('Direction', ctypes.c_char), # 买卖方向 @@ -5061,20 +5179,21 @@ class InputCombActionField(Base): ('CombDirection', ctypes.c_char), # 组合指令方向 ('HedgeFlag', ctypes.c_char), # 投机套保标志 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve2', ctypes.c_char * 16), # 保留的无效字段 ('MacAddress', ctypes.c_char * 21), # Mac地址 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 ('FrontID', ctypes.c_int), # 前置编号 ('SessionID', ctypes.c_int), # 会话编号 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID='', InvestorID='', InstrumentID='', CombActionRef='', UserID='', Direction='', Volume=0, - CombDirection='', HedgeFlag='', ExchangeID='', IPAddress='', MacAddress='', InvestUnitID='', FrontID=0, - SessionID=0): + def __init__(self, BrokerID='', InvestorID='', reserve1='', CombActionRef='', UserID='', Direction='', Volume=0, CombDirection='', HedgeFlag='', ExchangeID='', reserve2='', MacAddress='', + InvestUnitID='', FrontID=0, SessionID=0, InstrumentID='', IPAddress=''): super(InputCombActionField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.CombActionRef = self._to_bytes(CombActionRef) self.UserID = self._to_bytes(UserID) self.Direction = self._to_bytes(Direction) @@ -5082,11 +5201,13 @@ def __init__(self, BrokerID='', InvestorID='', InstrumentID='', CombActionRef='' self.CombDirection = self._to_bytes(CombDirection) self.HedgeFlag = self._to_bytes(HedgeFlag) self.ExchangeID = self._to_bytes(ExchangeID) - self.IPAddress = self._to_bytes(IPAddress) + self.reserve2 = self._to_bytes(reserve2) self.MacAddress = self._to_bytes(MacAddress) self.InvestUnitID = self._to_bytes(InvestUnitID) self.FrontID = int(FrontID) self.SessionID = int(SessionID) + self.InstrumentID = self._to_bytes(InstrumentID) + self.IPAddress = self._to_bytes(IPAddress) class CombActionField(Base): @@ -5094,7 +5215,7 @@ class CombActionField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('CombActionRef', ctypes.c_char * 13), # 组合引用 ('UserID', ctypes.c_char * 16), # 用户代码 ('Direction', ctypes.c_char), # 买卖方向 @@ -5105,7 +5226,7 @@ class CombActionField(Base): ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('ParticipantID', ctypes.c_char * 11), # 会员代码 ('ClientID', ctypes.c_char * 11), # 客户代码 - ('ExchangeInstID', ctypes.c_char * 31), # 合约在交易所的代码 + ('reserve2', ctypes.c_char * 31), # 保留的无效字段 ('TraderID', ctypes.c_char * 21), # 交易所交易员代码 ('InstallID', ctypes.c_int), # 安装编号 ('ActionStatus', ctypes.c_char), # 组合状态 @@ -5117,22 +5238,23 @@ class CombActionField(Base): ('SessionID', ctypes.c_int), # 会话编号 ('UserProductInfo', ctypes.c_char * 11), # 用户端产品信息 ('StatusMsg', ctypes.c_char * 81), # 状态信息 - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve3', ctypes.c_char * 16), # 保留的无效字段 ('MacAddress', ctypes.c_char * 21), # Mac地址 ('ComTradeID', ctypes.c_char * 21), # 组合编号 ('BranchID', ctypes.c_char * 9), # 营业部编号 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('ExchangeInstID', ctypes.c_char * 81), # 合约在交易所的代码 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID='', InvestorID='', InstrumentID='', CombActionRef='', UserID='', Direction='', Volume=0, - CombDirection='', HedgeFlag='', ActionLocalID='', ExchangeID='', ParticipantID='', ClientID='', - ExchangeInstID='', TraderID='', InstallID=0, ActionStatus='', NotifySequence=0, TradingDay='', - SettlementID=0, SequenceNo=0, FrontID=0, SessionID=0, UserProductInfo='', StatusMsg='', IPAddress='', - MacAddress='', ComTradeID='', BranchID='', InvestUnitID=''): + def __init__(self, BrokerID='', InvestorID='', reserve1='', CombActionRef='', UserID='', Direction='', Volume=0, CombDirection='', HedgeFlag='', ActionLocalID='', ExchangeID='', ParticipantID='', + ClientID='', reserve2='', TraderID='', InstallID=0, ActionStatus='', NotifySequence=0, TradingDay='', SettlementID=0, SequenceNo=0, FrontID=0, SessionID=0, UserProductInfo='', + StatusMsg='', reserve3='', MacAddress='', ComTradeID='', BranchID='', InvestUnitID='', InstrumentID='', ExchangeInstID='', IPAddress=''): super(CombActionField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.CombActionRef = self._to_bytes(CombActionRef) self.UserID = self._to_bytes(UserID) self.Direction = self._to_bytes(Direction) @@ -5143,7 +5265,7 @@ def __init__(self, BrokerID='', InvestorID='', InstrumentID='', CombActionRef='' self.ExchangeID = self._to_bytes(ExchangeID) self.ParticipantID = self._to_bytes(ParticipantID) self.ClientID = self._to_bytes(ClientID) - self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.reserve2 = self._to_bytes(reserve2) self.TraderID = self._to_bytes(TraderID) self.InstallID = int(InstallID) self.ActionStatus = self._to_bytes(ActionStatus) @@ -5155,11 +5277,14 @@ def __init__(self, BrokerID='', InvestorID='', InstrumentID='', CombActionRef='' self.SessionID = int(SessionID) self.UserProductInfo = self._to_bytes(UserProductInfo) self.StatusMsg = self._to_bytes(StatusMsg) - self.IPAddress = self._to_bytes(IPAddress) + self.reserve3 = self._to_bytes(reserve3) self.MacAddress = self._to_bytes(MacAddress) self.ComTradeID = self._to_bytes(ComTradeID) self.BranchID = self._to_bytes(BranchID) self.InvestUnitID = self._to_bytes(InvestUnitID) + self.InstrumentID = self._to_bytes(InstrumentID) + self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.IPAddress = self._to_bytes(IPAddress) class QryCombActionField(Base): @@ -5167,18 +5292,20 @@ class QryCombActionField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID='', InvestorID='', InstrumentID='', ExchangeID='', InvestUnitID=''): + def __init__(self, BrokerID='', InvestorID='', reserve1='', ExchangeID='', InvestUnitID='', InstrumentID=''): super(QryCombActionField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.ExchangeID = self._to_bytes(ExchangeID) self.InvestUnitID = self._to_bytes(InvestUnitID) + self.InstrumentID = self._to_bytes(InstrumentID) class ExchangeCombActionField(Base): @@ -5192,7 +5319,7 @@ class ExchangeCombActionField(Base): ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('ParticipantID', ctypes.c_char * 11), # 会员代码 ('ClientID', ctypes.c_char * 11), # 客户代码 - ('ExchangeInstID', ctypes.c_char * 31), # 合约在交易所的代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('TraderID', ctypes.c_char * 21), # 交易所交易员代码 ('InstallID', ctypes.c_int), # 安装编号 ('ActionStatus', ctypes.c_char), # 组合状态 @@ -5200,16 +5327,16 @@ class ExchangeCombActionField(Base): ('TradingDay', ctypes.c_char * 9), # 交易日 ('SettlementID', ctypes.c_int), # 结算编号 ('SequenceNo', ctypes.c_int), # 序号 - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve2', ctypes.c_char * 16), # 保留的无效字段 ('MacAddress', ctypes.c_char * 21), # Mac地址 ('ComTradeID', ctypes.c_char * 21), # 组合编号 ('BranchID', ctypes.c_char * 9), # 营业部编号 + ('ExchangeInstID', ctypes.c_char * 81), # 合约在交易所的代码 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, Direction='', Volume=0, CombDirection='', HedgeFlag='', ActionLocalID='', ExchangeID='', - ParticipantID='', ClientID='', ExchangeInstID='', TraderID='', InstallID=0, ActionStatus='', - NotifySequence=0, TradingDay='', SettlementID=0, SequenceNo=0, IPAddress='', MacAddress='', - ComTradeID='', BranchID=''): + def __init__(self, Direction='', Volume=0, CombDirection='', HedgeFlag='', ActionLocalID='', ExchangeID='', ParticipantID='', ClientID='', reserve1='', TraderID='', InstallID=0, ActionStatus='', + NotifySequence=0, TradingDay='', SettlementID=0, SequenceNo=0, reserve2='', MacAddress='', ComTradeID='', BranchID='', ExchangeInstID='', IPAddress=''): super(ExchangeCombActionField, self).__init__() self.Direction = self._to_bytes(Direction) self.Volume = int(Volume) @@ -5219,7 +5346,7 @@ def __init__(self, Direction='', Volume=0, CombDirection='', HedgeFlag='', Actio self.ExchangeID = self._to_bytes(ExchangeID) self.ParticipantID = self._to_bytes(ParticipantID) self.ClientID = self._to_bytes(ClientID) - self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.reserve1 = self._to_bytes(reserve1) self.TraderID = self._to_bytes(TraderID) self.InstallID = int(InstallID) self.ActionStatus = self._to_bytes(ActionStatus) @@ -5227,10 +5354,12 @@ def __init__(self, Direction='', Volume=0, CombDirection='', HedgeFlag='', Actio self.TradingDay = self._to_bytes(TradingDay) self.SettlementID = int(SettlementID) self.SequenceNo = int(SequenceNo) - self.IPAddress = self._to_bytes(IPAddress) + self.reserve2 = self._to_bytes(reserve2) self.MacAddress = self._to_bytes(MacAddress) self.ComTradeID = self._to_bytes(ComTradeID) self.BranchID = self._to_bytes(BranchID) + self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.IPAddress = self._to_bytes(IPAddress) class QryExchangeCombActionField(Base): @@ -5238,88 +5367,98 @@ class QryExchangeCombActionField(Base): _fields_ = [ ('ParticipantID', ctypes.c_char * 11), # 会员代码 ('ClientID', ctypes.c_char * 11), # 客户代码 - ('ExchangeInstID', ctypes.c_char * 31), # 合约在交易所的代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('TraderID', ctypes.c_char * 21), # 交易所交易员代码 + ('ExchangeInstID', ctypes.c_char * 81), # 合约在交易所的代码 ] - def __init__(self, ParticipantID='', ClientID='', ExchangeInstID='', ExchangeID='', TraderID=''): + def __init__(self, ParticipantID='', ClientID='', reserve1='', ExchangeID='', TraderID='', ExchangeInstID=''): super(QryExchangeCombActionField, self).__init__() self.ParticipantID = self._to_bytes(ParticipantID) self.ClientID = self._to_bytes(ClientID) - self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.reserve1 = self._to_bytes(reserve1) self.ExchangeID = self._to_bytes(ExchangeID) self.TraderID = self._to_bytes(TraderID) + self.ExchangeInstID = self._to_bytes(ExchangeInstID) class ProductExchRateField(Base): """产品报价汇率""" _fields_ = [ - ('ProductID', ctypes.c_char * 31), # 产品代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('QuoteCurrencyID', ctypes.c_char * 4), # 报价币种类型 ('ExchangeRate', ctypes.c_double), # 汇率 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('ProductID', ctypes.c_char * 81), # 产品代码 ] - def __init__(self, ProductID='', QuoteCurrencyID='', ExchangeRate=0.0, ExchangeID=''): + def __init__(self, reserve1='', QuoteCurrencyID='', ExchangeRate=0.0, ExchangeID='', ProductID=''): super(ProductExchRateField, self).__init__() - self.ProductID = self._to_bytes(ProductID) + self.reserve1 = self._to_bytes(reserve1) self.QuoteCurrencyID = self._to_bytes(QuoteCurrencyID) self.ExchangeRate = float(ExchangeRate) self.ExchangeID = self._to_bytes(ExchangeID) + self.ProductID = self._to_bytes(ProductID) class QryProductExchRateField(Base): """产品报价汇率查询""" _fields_ = [ - ('ProductID', ctypes.c_char * 31), # 产品代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('ProductID', ctypes.c_char * 81), # 产品代码 ] - def __init__(self, ProductID='', ExchangeID=''): + def __init__(self, reserve1='', ExchangeID='', ProductID=''): super(QryProductExchRateField, self).__init__() - self.ProductID = self._to_bytes(ProductID) + self.reserve1 = self._to_bytes(reserve1) self.ExchangeID = self._to_bytes(ExchangeID) + self.ProductID = self._to_bytes(ProductID) class QryForQuoteParamField(Base): """查询询价价差参数""" _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID='', InstrumentID='', ExchangeID=''): + def __init__(self, BrokerID='', reserve1='', ExchangeID='', InstrumentID=''): super(QryForQuoteParamField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.ExchangeID = self._to_bytes(ExchangeID) + self.InstrumentID = self._to_bytes(InstrumentID) class ForQuoteParamField(Base): """询价价差参数""" _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('LastPrice', ctypes.c_double), # 最新价 ('PriceInterval', ctypes.c_double), # 价差 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID='', InstrumentID='', ExchangeID='', LastPrice=0.0, PriceInterval=0.0): + def __init__(self, BrokerID='', reserve1='', ExchangeID='', LastPrice=0.0, PriceInterval=0.0, InstrumentID=''): super(ForQuoteParamField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.ExchangeID = self._to_bytes(ExchangeID) self.LastPrice = float(LastPrice) self.PriceInterval = float(PriceInterval) + self.InstrumentID = self._to_bytes(InstrumentID) class MMOptionInstrCommRateField(Base): """当前做市商期权合约手续费的详细内容""" _fields_ = [ - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('InvestorRange', ctypes.c_char), # 投资者范围 ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 @@ -5331,13 +5470,13 @@ class MMOptionInstrCommRateField(Base): ('CloseTodayRatioByVolume', ctypes.c_double), # 平今手续费 ('StrikeRatioByMoney', ctypes.c_double), # 执行手续费率 ('StrikeRatioByVolume', ctypes.c_double), # 执行手续费 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, InstrumentID='', InvestorRange='', BrokerID='', InvestorID='', OpenRatioByMoney=0.0, - OpenRatioByVolume=0.0, CloseRatioByMoney=0.0, CloseRatioByVolume=0.0, CloseTodayRatioByMoney=0.0, - CloseTodayRatioByVolume=0.0, StrikeRatioByMoney=0.0, StrikeRatioByVolume=0.0): + def __init__(self, reserve1='', InvestorRange='', BrokerID='', InvestorID='', OpenRatioByMoney=0.0, OpenRatioByVolume=0.0, CloseRatioByMoney=0.0, CloseRatioByVolume=0.0, + CloseTodayRatioByMoney=0.0, CloseTodayRatioByVolume=0.0, StrikeRatioByMoney=0.0, StrikeRatioByVolume=0.0, InstrumentID=''): super(MMOptionInstrCommRateField, self).__init__() - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.InvestorRange = self._to_bytes(InvestorRange) self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -5349,6 +5488,7 @@ def __init__(self, InstrumentID='', InvestorRange='', BrokerID='', InvestorID='' self.CloseTodayRatioByVolume = float(CloseTodayRatioByVolume) self.StrikeRatioByMoney = float(StrikeRatioByMoney) self.StrikeRatioByVolume = float(StrikeRatioByVolume) + self.InstrumentID = self._to_bytes(InstrumentID) class QryMMOptionInstrCommRateField(Base): @@ -5356,20 +5496,22 @@ class QryMMOptionInstrCommRateField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID='', InvestorID='', InstrumentID=''): + def __init__(self, BrokerID='', InvestorID='', reserve1='', InstrumentID=''): super(QryMMOptionInstrCommRateField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) + self.reserve1 = self._to_bytes(reserve1) self.InstrumentID = self._to_bytes(InstrumentID) class MMInstrumentCommissionRateField(Base): """做市商合约手续费率""" _fields_ = [ - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('InvestorRange', ctypes.c_char), # 投资者范围 ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 @@ -5379,13 +5521,13 @@ class MMInstrumentCommissionRateField(Base): ('CloseRatioByVolume', ctypes.c_double), # 平仓手续费 ('CloseTodayRatioByMoney', ctypes.c_double), # 平今手续费率 ('CloseTodayRatioByVolume', ctypes.c_double), # 平今手续费 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, InstrumentID='', InvestorRange='', BrokerID='', InvestorID='', OpenRatioByMoney=0.0, - OpenRatioByVolume=0.0, CloseRatioByMoney=0.0, CloseRatioByVolume=0.0, CloseTodayRatioByMoney=0.0, - CloseTodayRatioByVolume=0.0): + def __init__(self, reserve1='', InvestorRange='', BrokerID='', InvestorID='', OpenRatioByMoney=0.0, OpenRatioByVolume=0.0, CloseRatioByMoney=0.0, CloseRatioByVolume=0.0, + CloseTodayRatioByMoney=0.0, CloseTodayRatioByVolume=0.0, InstrumentID=''): super(MMInstrumentCommissionRateField, self).__init__() - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.InvestorRange = self._to_bytes(InvestorRange) self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -5395,6 +5537,7 @@ def __init__(self, InstrumentID='', InvestorRange='', BrokerID='', InvestorID='' self.CloseRatioByVolume = float(CloseRatioByVolume) self.CloseTodayRatioByMoney = float(CloseTodayRatioByMoney) self.CloseTodayRatioByVolume = float(CloseTodayRatioByVolume) + self.InstrumentID = self._to_bytes(InstrumentID) class QryMMInstrumentCommissionRateField(Base): @@ -5402,20 +5545,22 @@ class QryMMInstrumentCommissionRateField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID='', InvestorID='', InstrumentID=''): + def __init__(self, BrokerID='', InvestorID='', reserve1='', InstrumentID=''): super(QryMMInstrumentCommissionRateField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) + self.reserve1 = self._to_bytes(reserve1) self.InstrumentID = self._to_bytes(InstrumentID) class InstrumentOrderCommRateField(Base): """当前报单手续费的详细内容""" _fields_ = [ - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('InvestorRange', ctypes.c_char), # 投资者范围 ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 @@ -5424,12 +5569,12 @@ class InstrumentOrderCommRateField(Base): ('OrderActionCommByVolume', ctypes.c_double), # 撤单手续费 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, InstrumentID='', InvestorRange='', BrokerID='', InvestorID='', HedgeFlag='', - OrderCommByVolume=0.0, OrderActionCommByVolume=0.0, ExchangeID='', InvestUnitID=''): + def __init__(self, reserve1='', InvestorRange='', BrokerID='', InvestorID='', HedgeFlag='', OrderCommByVolume=0.0, OrderActionCommByVolume=0.0, ExchangeID='', InvestUnitID='', InstrumentID=''): super(InstrumentOrderCommRateField, self).__init__() - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.InvestorRange = self._to_bytes(InvestorRange) self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -5438,6 +5583,7 @@ def __init__(self, InstrumentID='', InvestorRange='', BrokerID='', InvestorID='' self.OrderActionCommByVolume = float(OrderActionCommByVolume) self.ExchangeID = self._to_bytes(ExchangeID) self.InvestUnitID = self._to_bytes(InvestUnitID) + self.InstrumentID = self._to_bytes(InstrumentID) class QryInstrumentOrderCommRateField(Base): @@ -5445,13 +5591,15 @@ class QryInstrumentOrderCommRateField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID='', InvestorID='', InstrumentID=''): + def __init__(self, BrokerID='', InvestorID='', reserve1='', InstrumentID=''): super(QryInstrumentOrderCommRateField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) + self.reserve1 = self._to_bytes(reserve1) self.InstrumentID = self._to_bytes(InstrumentID) @@ -5475,7 +5623,7 @@ def __init__(self, BrokerID='', TradeParamID='', TradeParamValue='', Memo=''): class InstrumentMarginRateULField(Base): """合约保证金率调整""" _fields_ = [ - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('InvestorRange', ctypes.c_char), # 投资者范围 ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 @@ -5484,13 +5632,13 @@ class InstrumentMarginRateULField(Base): ('LongMarginRatioByVolume', ctypes.c_double), # 多头保证金费 ('ShortMarginRatioByMoney', ctypes.c_double), # 空头保证金率 ('ShortMarginRatioByVolume', ctypes.c_double), # 空头保证金费 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, InstrumentID='', InvestorRange='', BrokerID='', InvestorID='', HedgeFlag='', - LongMarginRatioByMoney=0.0, LongMarginRatioByVolume=0.0, ShortMarginRatioByMoney=0.0, - ShortMarginRatioByVolume=0.0): + def __init__(self, reserve1='', InvestorRange='', BrokerID='', InvestorID='', HedgeFlag='', LongMarginRatioByMoney=0.0, LongMarginRatioByVolume=0.0, ShortMarginRatioByMoney=0.0, + ShortMarginRatioByVolume=0.0, InstrumentID=''): super(InstrumentMarginRateULField, self).__init__() - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.InvestorRange = self._to_bytes(InvestorRange) self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -5499,6 +5647,7 @@ def __init__(self, InstrumentID='', InvestorRange='', BrokerID='', InvestorID='' self.LongMarginRatioByVolume = float(LongMarginRatioByVolume) self.ShortMarginRatioByMoney = float(ShortMarginRatioByMoney) self.ShortMarginRatioByVolume = float(ShortMarginRatioByVolume) + self.InstrumentID = self._to_bytes(InstrumentID) class FutureLimitPosiParamField(Base): @@ -5507,46 +5656,51 @@ class FutureLimitPosiParamField(Base): ('InvestorRange', ctypes.c_char), # 投资者范围 ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('ProductID', ctypes.c_char * 31), # 产品代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('SpecOpenVolume', ctypes.c_int), # 当日投机开仓数量限制 ('ArbiOpenVolume', ctypes.c_int), # 当日套利开仓数量限制 ('OpenVolume', ctypes.c_int), # 当日投机+套利开仓数量限制 + ('ProductID', ctypes.c_char * 81), # 产品代码 ] - def __init__(self, InvestorRange='', BrokerID='', InvestorID='', ProductID='', SpecOpenVolume=0, ArbiOpenVolume=0, - OpenVolume=0): + def __init__(self, InvestorRange='', BrokerID='', InvestorID='', reserve1='', SpecOpenVolume=0, ArbiOpenVolume=0, OpenVolume=0, ProductID=''): super(FutureLimitPosiParamField, self).__init__() self.InvestorRange = self._to_bytes(InvestorRange) self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) - self.ProductID = self._to_bytes(ProductID) + self.reserve1 = self._to_bytes(reserve1) self.SpecOpenVolume = int(SpecOpenVolume) self.ArbiOpenVolume = int(ArbiOpenVolume) self.OpenVolume = int(OpenVolume) + self.ProductID = self._to_bytes(ProductID) class LoginForbiddenIPField(Base): """禁止登录IP""" _fields_ = [ - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve1', ctypes.c_char * 16), # 保留的无效字段 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, IPAddress=''): + def __init__(self, reserve1='', IPAddress=''): super(LoginForbiddenIPField, self).__init__() + self.reserve1 = self._to_bytes(reserve1) self.IPAddress = self._to_bytes(IPAddress) class IPListField(Base): """IP列表""" _fields_ = [ - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve1', ctypes.c_char * 16), # 保留的无效字段 ('IsWhite', ctypes.c_int), # 是否白名单 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, IPAddress='', IsWhite=0): + def __init__(self, reserve1='', IsWhite=0, IPAddress=''): super(IPListField, self).__init__() - self.IPAddress = self._to_bytes(IPAddress) + self.reserve1 = self._to_bytes(reserve1) self.IsWhite = int(IsWhite) + self.IPAddress = self._to_bytes(IPAddress) class InputOptionSelfCloseField(Base): @@ -5554,7 +5708,7 @@ class InputOptionSelfCloseField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('OptionSelfCloseRef', ctypes.c_char * 13), # 期权自对冲引用 ('UserID', ctypes.c_char * 16), # 用户代码 ('Volume', ctypes.c_int), # 数量 @@ -5567,17 +5721,18 @@ class InputOptionSelfCloseField(Base): ('AccountID', ctypes.c_char * 13), # 资金账号 ('CurrencyID', ctypes.c_char * 4), # 币种代码 ('ClientID', ctypes.c_char * 11), # 交易编码 - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve2', ctypes.c_char * 16), # 保留的无效字段 ('MacAddress', ctypes.c_char * 21), # Mac地址 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID='', InvestorID='', InstrumentID='', OptionSelfCloseRef='', UserID='', Volume=0, - RequestID=0, BusinessUnit='', HedgeFlag='', OptSelfCloseFlag='', ExchangeID='', InvestUnitID='', - AccountID='', CurrencyID='', ClientID='', IPAddress='', MacAddress=''): + def __init__(self, BrokerID='', InvestorID='', reserve1='', OptionSelfCloseRef='', UserID='', Volume=0, RequestID=0, BusinessUnit='', HedgeFlag='', OptSelfCloseFlag='', ExchangeID='', + InvestUnitID='', AccountID='', CurrencyID='', ClientID='', reserve2='', MacAddress='', InstrumentID='', IPAddress=''): super(InputOptionSelfCloseField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.OptionSelfCloseRef = self._to_bytes(OptionSelfCloseRef) self.UserID = self._to_bytes(UserID) self.Volume = int(Volume) @@ -5590,8 +5745,10 @@ def __init__(self, BrokerID='', InvestorID='', InstrumentID='', OptionSelfCloseR self.AccountID = self._to_bytes(AccountID) self.CurrencyID = self._to_bytes(CurrencyID) self.ClientID = self._to_bytes(ClientID) - self.IPAddress = self._to_bytes(IPAddress) + self.reserve2 = self._to_bytes(reserve2) self.MacAddress = self._to_bytes(MacAddress) + self.InstrumentID = self._to_bytes(InstrumentID) + self.IPAddress = self._to_bytes(IPAddress) class InputOptionSelfCloseActionField(Base): @@ -5608,15 +5765,16 @@ class InputOptionSelfCloseActionField(Base): ('OptionSelfCloseSysID', ctypes.c_char * 21), # 期权自对冲操作编号 ('ActionFlag', ctypes.c_char), # 操作标志 ('UserID', ctypes.c_char * 16), # 用户代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve2', ctypes.c_char * 16), # 保留的无效字段 ('MacAddress', ctypes.c_char * 21), # Mac地址 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID='', InvestorID='', OptionSelfCloseActionRef=0, OptionSelfCloseRef='', RequestID=0, - FrontID=0, SessionID=0, ExchangeID='', OptionSelfCloseSysID='', ActionFlag='', UserID='', - InstrumentID='', InvestUnitID='', IPAddress='', MacAddress=''): + def __init__(self, BrokerID='', InvestorID='', OptionSelfCloseActionRef=0, OptionSelfCloseRef='', RequestID=0, FrontID=0, SessionID=0, ExchangeID='', OptionSelfCloseSysID='', ActionFlag='', + UserID='', reserve1='', InvestUnitID='', reserve2='', MacAddress='', InstrumentID='', IPAddress=''): super(InputOptionSelfCloseActionField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -5629,10 +5787,12 @@ def __init__(self, BrokerID='', InvestorID='', OptionSelfCloseActionRef=0, Optio self.OptionSelfCloseSysID = self._to_bytes(OptionSelfCloseSysID) self.ActionFlag = self._to_bytes(ActionFlag) self.UserID = self._to_bytes(UserID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.InvestUnitID = self._to_bytes(InvestUnitID) - self.IPAddress = self._to_bytes(IPAddress) + self.reserve2 = self._to_bytes(reserve2) self.MacAddress = self._to_bytes(MacAddress) + self.InstrumentID = self._to_bytes(InstrumentID) + self.IPAddress = self._to_bytes(IPAddress) class OptionSelfCloseField(Base): @@ -5640,7 +5800,7 @@ class OptionSelfCloseField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('OptionSelfCloseRef', ctypes.c_char * 13), # 期权自对冲引用 ('UserID', ctypes.c_char * 16), # 用户代码 ('Volume', ctypes.c_int), # 数量 @@ -5652,7 +5812,7 @@ class OptionSelfCloseField(Base): ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('ParticipantID', ctypes.c_char * 11), # 会员代码 ('ClientID', ctypes.c_char * 11), # 客户代码 - ('ExchangeInstID', ctypes.c_char * 31), # 合约在交易所的代码 + ('reserve2', ctypes.c_char * 31), # 保留的无效字段 ('TraderID', ctypes.c_char * 21), # 交易所交易员代码 ('InstallID', ctypes.c_int), # 安装编号 ('OrderSubmitStatus', ctypes.c_char), # 期权自对冲提交状态 @@ -5676,21 +5836,21 @@ class OptionSelfCloseField(Base): ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 ('AccountID', ctypes.c_char * 13), # 资金账号 ('CurrencyID', ctypes.c_char * 4), # 币种代码 - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve3', ctypes.c_char * 16), # 保留的无效字段 ('MacAddress', ctypes.c_char * 21), # Mac地址 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('ExchangeInstID', ctypes.c_char * 81), # 合约在交易所的代码 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID='', InvestorID='', InstrumentID='', OptionSelfCloseRef='', UserID='', Volume=0, - RequestID=0, BusinessUnit='', HedgeFlag='', OptSelfCloseFlag='', OptionSelfCloseLocalID='', - ExchangeID='', ParticipantID='', ClientID='', ExchangeInstID='', TraderID='', InstallID=0, - OrderSubmitStatus='', NotifySequence=0, TradingDay='', SettlementID=0, OptionSelfCloseSysID='', - InsertDate='', InsertTime='', CancelTime='', ExecResult='', ClearingPartID='', SequenceNo=0, FrontID=0, - SessionID=0, UserProductInfo='', StatusMsg='', ActiveUserID='', BrokerOptionSelfCloseSeq=0, - BranchID='', InvestUnitID='', AccountID='', CurrencyID='', IPAddress='', MacAddress=''): + def __init__(self, BrokerID='', InvestorID='', reserve1='', OptionSelfCloseRef='', UserID='', Volume=0, RequestID=0, BusinessUnit='', HedgeFlag='', OptSelfCloseFlag='', OptionSelfCloseLocalID='', + ExchangeID='', ParticipantID='', ClientID='', reserve2='', TraderID='', InstallID=0, OrderSubmitStatus='', NotifySequence=0, TradingDay='', SettlementID=0, OptionSelfCloseSysID='', + InsertDate='', InsertTime='', CancelTime='', ExecResult='', ClearingPartID='', SequenceNo=0, FrontID=0, SessionID=0, UserProductInfo='', StatusMsg='', ActiveUserID='', + BrokerOptionSelfCloseSeq=0, BranchID='', InvestUnitID='', AccountID='', CurrencyID='', reserve3='', MacAddress='', InstrumentID='', ExchangeInstID='', IPAddress=''): super(OptionSelfCloseField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.OptionSelfCloseRef = self._to_bytes(OptionSelfCloseRef) self.UserID = self._to_bytes(UserID) self.Volume = int(Volume) @@ -5702,7 +5862,7 @@ def __init__(self, BrokerID='', InvestorID='', InstrumentID='', OptionSelfCloseR self.ExchangeID = self._to_bytes(ExchangeID) self.ParticipantID = self._to_bytes(ParticipantID) self.ClientID = self._to_bytes(ClientID) - self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.reserve2 = self._to_bytes(reserve2) self.TraderID = self._to_bytes(TraderID) self.InstallID = int(InstallID) self.OrderSubmitStatus = self._to_bytes(OrderSubmitStatus) @@ -5726,8 +5886,11 @@ def __init__(self, BrokerID='', InvestorID='', InstrumentID='', OptionSelfCloseR self.InvestUnitID = self._to_bytes(InvestUnitID) self.AccountID = self._to_bytes(AccountID) self.CurrencyID = self._to_bytes(CurrencyID) - self.IPAddress = self._to_bytes(IPAddress) + self.reserve3 = self._to_bytes(reserve3) self.MacAddress = self._to_bytes(MacAddress) + self.InstrumentID = self._to_bytes(InstrumentID) + self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.IPAddress = self._to_bytes(IPAddress) class OptionSelfCloseActionField(Base): @@ -5755,18 +5918,18 @@ class OptionSelfCloseActionField(Base): ('OrderActionStatus', ctypes.c_char), # 报单操作状态 ('UserID', ctypes.c_char * 16), # 用户代码 ('StatusMsg', ctypes.c_char * 81), # 状态信息 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('BranchID', ctypes.c_char * 9), # 营业部编号 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve2', ctypes.c_char * 16), # 保留的无效字段 ('MacAddress', ctypes.c_char * 21), # Mac地址 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID='', InvestorID='', OptionSelfCloseActionRef=0, OptionSelfCloseRef='', RequestID=0, - FrontID=0, SessionID=0, ExchangeID='', OptionSelfCloseSysID='', ActionFlag='', ActionDate='', - ActionTime='', TraderID='', InstallID=0, OptionSelfCloseLocalID='', ActionLocalID='', ParticipantID='', - ClientID='', BusinessUnit='', OrderActionStatus='', UserID='', StatusMsg='', InstrumentID='', - BranchID='', InvestUnitID='', IPAddress='', MacAddress=''): + def __init__(self, BrokerID='', InvestorID='', OptionSelfCloseActionRef=0, OptionSelfCloseRef='', RequestID=0, FrontID=0, SessionID=0, ExchangeID='', OptionSelfCloseSysID='', ActionFlag='', + ActionDate='', ActionTime='', TraderID='', InstallID=0, OptionSelfCloseLocalID='', ActionLocalID='', ParticipantID='', ClientID='', BusinessUnit='', OrderActionStatus='', UserID='', + StatusMsg='', reserve1='', BranchID='', InvestUnitID='', reserve2='', MacAddress='', InstrumentID='', IPAddress=''): super(OptionSelfCloseActionField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -5790,11 +5953,13 @@ def __init__(self, BrokerID='', InvestorID='', OptionSelfCloseActionRef=0, Optio self.OrderActionStatus = self._to_bytes(OrderActionStatus) self.UserID = self._to_bytes(UserID) self.StatusMsg = self._to_bytes(StatusMsg) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.BranchID = self._to_bytes(BranchID) self.InvestUnitID = self._to_bytes(InvestUnitID) - self.IPAddress = self._to_bytes(IPAddress) + self.reserve2 = self._to_bytes(reserve2) self.MacAddress = self._to_bytes(MacAddress) + self.InstrumentID = self._to_bytes(InstrumentID) + self.IPAddress = self._to_bytes(IPAddress) class QryOptionSelfCloseField(Base): @@ -5802,23 +5967,24 @@ class QryOptionSelfCloseField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('OptionSelfCloseSysID', ctypes.c_char * 21), # 期权自对冲编号 ('InsertTimeStart', ctypes.c_char * 9), # 开始时间 ('InsertTimeEnd', ctypes.c_char * 9), # 结束时间 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID='', InvestorID='', InstrumentID='', ExchangeID='', OptionSelfCloseSysID='', - InsertTimeStart='', InsertTimeEnd=''): + def __init__(self, BrokerID='', InvestorID='', reserve1='', ExchangeID='', OptionSelfCloseSysID='', InsertTimeStart='', InsertTimeEnd='', InstrumentID=''): super(QryOptionSelfCloseField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.ExchangeID = self._to_bytes(ExchangeID) self.OptionSelfCloseSysID = self._to_bytes(OptionSelfCloseSysID) self.InsertTimeStart = self._to_bytes(InsertTimeStart) self.InsertTimeEnd = self._to_bytes(InsertTimeEnd) + self.InstrumentID = self._to_bytes(InstrumentID) class ExchangeOptionSelfCloseField(Base): @@ -5833,7 +5999,7 @@ class ExchangeOptionSelfCloseField(Base): ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('ParticipantID', ctypes.c_char * 11), # 会员代码 ('ClientID', ctypes.c_char * 11), # 客户代码 - ('ExchangeInstID', ctypes.c_char * 31), # 合约在交易所的代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('TraderID', ctypes.c_char * 21), # 交易所交易员代码 ('InstallID', ctypes.c_int), # 安装编号 ('OrderSubmitStatus', ctypes.c_char), # 期权自对冲提交状态 @@ -5848,15 +6014,15 @@ class ExchangeOptionSelfCloseField(Base): ('ClearingPartID', ctypes.c_char * 11), # 结算会员编号 ('SequenceNo', ctypes.c_int), # 序号 ('BranchID', ctypes.c_char * 9), # 营业部编号 - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve2', ctypes.c_char * 16), # 保留的无效字段 ('MacAddress', ctypes.c_char * 21), # Mac地址 + ('ExchangeInstID', ctypes.c_char * 81), # 合约在交易所的代码 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, Volume=0, RequestID=0, BusinessUnit='', HedgeFlag='', OptSelfCloseFlag='', - OptionSelfCloseLocalID='', ExchangeID='', ParticipantID='', ClientID='', ExchangeInstID='', - TraderID='', InstallID=0, OrderSubmitStatus='', NotifySequence=0, TradingDay='', SettlementID=0, - OptionSelfCloseSysID='', InsertDate='', InsertTime='', CancelTime='', ExecResult='', ClearingPartID='', - SequenceNo=0, BranchID='', IPAddress='', MacAddress=''): + def __init__(self, Volume=0, RequestID=0, BusinessUnit='', HedgeFlag='', OptSelfCloseFlag='', OptionSelfCloseLocalID='', ExchangeID='', ParticipantID='', ClientID='', reserve1='', TraderID='', + InstallID=0, OrderSubmitStatus='', NotifySequence=0, TradingDay='', SettlementID=0, OptionSelfCloseSysID='', InsertDate='', InsertTime='', CancelTime='', ExecResult='', + ClearingPartID='', SequenceNo=0, BranchID='', reserve2='', MacAddress='', ExchangeInstID='', IPAddress=''): super(ExchangeOptionSelfCloseField, self).__init__() self.Volume = int(Volume) self.RequestID = int(RequestID) @@ -5867,7 +6033,7 @@ def __init__(self, Volume=0, RequestID=0, BusinessUnit='', HedgeFlag='', OptSelf self.ExchangeID = self._to_bytes(ExchangeID) self.ParticipantID = self._to_bytes(ParticipantID) self.ClientID = self._to_bytes(ClientID) - self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.reserve1 = self._to_bytes(reserve1) self.TraderID = self._to_bytes(TraderID) self.InstallID = int(InstallID) self.OrderSubmitStatus = self._to_bytes(OrderSubmitStatus) @@ -5882,8 +6048,10 @@ def __init__(self, Volume=0, RequestID=0, BusinessUnit='', HedgeFlag='', OptSelf self.ClearingPartID = self._to_bytes(ClearingPartID) self.SequenceNo = int(SequenceNo) self.BranchID = self._to_bytes(BranchID) - self.IPAddress = self._to_bytes(IPAddress) + self.reserve2 = self._to_bytes(reserve2) self.MacAddress = self._to_bytes(MacAddress) + self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.IPAddress = self._to_bytes(IPAddress) class QryOptionSelfCloseActionField(Base): @@ -5919,16 +6087,16 @@ class ExchangeOptionSelfCloseActionField(Base): ('OrderActionStatus', ctypes.c_char), # 报单操作状态 ('UserID', ctypes.c_char * 16), # 用户代码 ('BranchID', ctypes.c_char * 9), # 营业部编号 - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve1', ctypes.c_char * 16), # 保留的无效字段 ('MacAddress', ctypes.c_char * 21), # Mac地址 - ('ExchangeInstID', ctypes.c_char * 31), # 合约在交易所的代码 + ('reserve2', ctypes.c_char * 31), # 保留的无效字段 ('OptSelfCloseFlag', ctypes.c_char), # 期权行权的头寸是否自对冲 + ('IPAddress', ctypes.c_char * 33), # IP地址 + ('ExchangeInstID', ctypes.c_char * 81), # 合约在交易所的代码 ] - def __init__(self, ExchangeID='', OptionSelfCloseSysID='', ActionFlag='', ActionDate='', ActionTime='', TraderID='', - InstallID=0, OptionSelfCloseLocalID='', ActionLocalID='', ParticipantID='', ClientID='', - BusinessUnit='', OrderActionStatus='', UserID='', BranchID='', IPAddress='', MacAddress='', - ExchangeInstID='', OptSelfCloseFlag=''): + def __init__(self, ExchangeID='', OptionSelfCloseSysID='', ActionFlag='', ActionDate='', ActionTime='', TraderID='', InstallID=0, OptionSelfCloseLocalID='', ActionLocalID='', ParticipantID='', + ClientID='', BusinessUnit='', OrderActionStatus='', UserID='', BranchID='', reserve1='', MacAddress='', reserve2='', OptSelfCloseFlag='', IPAddress='', ExchangeInstID=''): super(ExchangeOptionSelfCloseActionField, self).__init__() self.ExchangeID = self._to_bytes(ExchangeID) self.OptionSelfCloseSysID = self._to_bytes(OptionSelfCloseSysID) @@ -5945,10 +6113,12 @@ def __init__(self, ExchangeID='', OptionSelfCloseSysID='', ActionFlag='', Action self.OrderActionStatus = self._to_bytes(OrderActionStatus) self.UserID = self._to_bytes(UserID) self.BranchID = self._to_bytes(BranchID) - self.IPAddress = self._to_bytes(IPAddress) + self.reserve1 = self._to_bytes(reserve1) self.MacAddress = self._to_bytes(MacAddress) - self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.reserve2 = self._to_bytes(reserve2) self.OptSelfCloseFlag = self._to_bytes(OptSelfCloseFlag) + self.IPAddress = self._to_bytes(IPAddress) + self.ExchangeInstID = self._to_bytes(ExchangeInstID) class SyncDelaySwapField(Base): @@ -5967,8 +6137,7 @@ class SyncDelaySwapField(Base): ('IsAllRemainSetZero', ctypes.c_int), # 是否将所有外币的剩余换汇额度设置为0 ] - def __init__(self, DelaySwapSeqNo='', BrokerID='', InvestorID='', FromCurrencyID='', FromAmount=0.0, - FromFrozenSwap=0.0, FromRemainSwap=0.0, ToCurrencyID='', ToAmount=0.0, IsManualSwap=0, + def __init__(self, DelaySwapSeqNo='', BrokerID='', InvestorID='', FromCurrencyID='', FromAmount=0.0, FromFrozenSwap=0.0, FromRemainSwap=0.0, ToCurrencyID='', ToAmount=0.0, IsManualSwap=0, IsAllRemainSetZero=0): super(SyncDelaySwapField, self).__init__() self.DelaySwapSeqNo = self._to_bytes(DelaySwapSeqNo) @@ -6011,8 +6180,7 @@ class InvestUnitField(Base): ('CurrencyID', ctypes.c_char * 4), # 币种代码 ] - def __init__(self, BrokerID='', InvestorID='', InvestUnitID='', InvestorUnitName='', InvestorGroupID='', - CommModelID='', MarginModelID='', AccountID='', CurrencyID=''): + def __init__(self, BrokerID='', InvestorID='', InvestUnitID='', InvestorUnitName='', InvestorGroupID='', CommModelID='', MarginModelID='', AccountID='', CurrencyID=''): super(InvestUnitField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -6080,9 +6248,9 @@ class MarketDataField(Base): """市场行情""" _fields_ = [ ('TradingDay', ctypes.c_char * 9), # 交易日 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 - ('ExchangeInstID', ctypes.c_char * 31), # 合约在交易所的代码 + ('reserve2', ctypes.c_char * 31), # 保留的无效字段 ('LastPrice', ctypes.c_double), # 最新价 ('PreSettlementPrice', ctypes.c_double), # 上次结算价 ('PreClosePrice', ctypes.c_double), # 昨收盘 @@ -6102,18 +6270,18 @@ class MarketDataField(Base): ('UpdateTime', ctypes.c_char * 9), # 最后修改时间 ('UpdateMillisec', ctypes.c_int), # 最后修改毫秒 ('ActionDay', ctypes.c_char * 9), # 业务日期 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('ExchangeInstID', ctypes.c_char * 81), # 合约在交易所的代码 ] - def __init__(self, TradingDay='', InstrumentID='', ExchangeID='', ExchangeInstID='', LastPrice=0.0, - PreSettlementPrice=0.0, PreClosePrice=0.0, PreOpenInterest=0.0, OpenPrice=0.0, HighestPrice=0.0, - LowestPrice=0.0, Volume=0, Turnover=0.0, OpenInterest=0.0, ClosePrice=0.0, SettlementPrice=0.0, - UpperLimitPrice=0.0, LowerLimitPrice=0.0, PreDelta=0.0, CurrDelta=0.0, UpdateTime='', UpdateMillisec=0, - ActionDay=''): + def __init__(self, TradingDay='', reserve1='', ExchangeID='', reserve2='', LastPrice=0.0, PreSettlementPrice=0.0, PreClosePrice=0.0, PreOpenInterest=0.0, OpenPrice=0.0, HighestPrice=0.0, + LowestPrice=0.0, Volume=0, Turnover=0.0, OpenInterest=0.0, ClosePrice=0.0, SettlementPrice=0.0, UpperLimitPrice=0.0, LowerLimitPrice=0.0, PreDelta=0.0, CurrDelta=0.0, UpdateTime='', + UpdateMillisec=0, ActionDay='', InstrumentID='', ExchangeInstID=''): super(MarketDataField, self).__init__() self.TradingDay = self._to_bytes(TradingDay) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.ExchangeID = self._to_bytes(ExchangeID) - self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.reserve2 = self._to_bytes(reserve2) self.LastPrice = float(LastPrice) self.PreSettlementPrice = float(PreSettlementPrice) self.PreClosePrice = float(PreClosePrice) @@ -6133,6 +6301,8 @@ def __init__(self, TradingDay='', InstrumentID='', ExchangeID='', ExchangeInstID self.UpdateTime = self._to_bytes(UpdateTime) self.UpdateMillisec = int(UpdateMillisec) self.ActionDay = self._to_bytes(ActionDay) + self.InstrumentID = self._to_bytes(InstrumentID) + self.ExchangeInstID = self._to_bytes(ExchangeInstID) class MarketDataBaseField(Base): @@ -6167,8 +6337,7 @@ class MarketDataStaticField(Base): ('CurrDelta', ctypes.c_double), # 今虚实度 ] - def __init__(self, OpenPrice=0.0, HighestPrice=0.0, LowestPrice=0.0, ClosePrice=0.0, UpperLimitPrice=0.0, - LowerLimitPrice=0.0, SettlementPrice=0.0, CurrDelta=0.0): + def __init__(self, OpenPrice=0.0, HighestPrice=0.0, LowestPrice=0.0, ClosePrice=0.0, UpperLimitPrice=0.0, LowerLimitPrice=0.0, SettlementPrice=0.0, CurrDelta=0.0): super(MarketDataStaticField, self).__init__() self.OpenPrice = float(OpenPrice) self.HighestPrice = float(HighestPrice) @@ -6285,18 +6454,20 @@ def __init__(self, AskPrice4=0.0, AskVolume4=0, AskPrice5=0.0, AskVolume5=0): class MarketDataUpdateTimeField(Base): """行情更新时间属性""" _fields_ = [ - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('UpdateTime', ctypes.c_char * 9), # 最后修改时间 ('UpdateMillisec', ctypes.c_int), # 最后修改毫秒 ('ActionDay', ctypes.c_char * 9), # 业务日期 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, InstrumentID='', UpdateTime='', UpdateMillisec=0, ActionDay=''): + def __init__(self, reserve1='', UpdateTime='', UpdateMillisec=0, ActionDay='', InstrumentID=''): super(MarketDataUpdateTimeField, self).__init__() - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.UpdateTime = self._to_bytes(UpdateTime) self.UpdateMillisec = int(UpdateMillisec) self.ActionDay = self._to_bytes(ActionDay) + self.InstrumentID = self._to_bytes(InstrumentID) class MarketDataExchangeField(Base): @@ -6313,11 +6484,13 @@ def __init__(self, ExchangeID=''): class SpecificInstrumentField(Base): """指定的合约""" _fields_ = [ - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, InstrumentID=''): + def __init__(self, reserve1='', InstrumentID=''): super(SpecificInstrumentField, self).__init__() + self.reserve1 = self._to_bytes(reserve1) self.InstrumentID = self._to_bytes(InstrumentID) @@ -6325,38 +6498,43 @@ class InstrumentStatusField(Base): """合约状态""" _fields_ = [ ('ExchangeID', ctypes.c_char * 9), # 交易所代码 - ('ExchangeInstID', ctypes.c_char * 31), # 合约在交易所的代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('SettlementGroupID', ctypes.c_char * 9), # 结算组代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve2', ctypes.c_char * 31), # 保留的无效字段 ('InstrumentStatus', ctypes.c_char), # 合约交易状态 ('TradingSegmentSN', ctypes.c_int), # 交易阶段编号 ('EnterTime', ctypes.c_char * 9), # 进入本状态时间 ('EnterReason', ctypes.c_char), # 进入本状态原因 + ('ExchangeInstID', ctypes.c_char * 81), # 合约在交易所的代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, ExchangeID='', ExchangeInstID='', SettlementGroupID='', InstrumentID='', InstrumentStatus='', - TradingSegmentSN=0, EnterTime='', EnterReason=''): + def __init__(self, ExchangeID='', reserve1='', SettlementGroupID='', reserve2='', InstrumentStatus='', TradingSegmentSN=0, EnterTime='', EnterReason='', ExchangeInstID='', InstrumentID=''): super(InstrumentStatusField, self).__init__() self.ExchangeID = self._to_bytes(ExchangeID) - self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.reserve1 = self._to_bytes(reserve1) self.SettlementGroupID = self._to_bytes(SettlementGroupID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve2 = self._to_bytes(reserve2) self.InstrumentStatus = self._to_bytes(InstrumentStatus) self.TradingSegmentSN = int(TradingSegmentSN) self.EnterTime = self._to_bytes(EnterTime) self.EnterReason = self._to_bytes(EnterReason) + self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.InstrumentID = self._to_bytes(InstrumentID) class QryInstrumentStatusField(Base): """查询合约状态""" _fields_ = [ ('ExchangeID', ctypes.c_char * 9), # 交易所代码 - ('ExchangeInstID', ctypes.c_char * 31), # 合约在交易所的代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 + ('ExchangeInstID', ctypes.c_char * 81), # 合约在交易所的代码 ] - def __init__(self, ExchangeID='', ExchangeInstID=''): + def __init__(self, ExchangeID='', reserve1='', ExchangeInstID=''): super(QryInstrumentStatusField, self).__init__() self.ExchangeID = self._to_bytes(ExchangeID) + self.reserve1 = self._to_bytes(reserve1) self.ExchangeInstID = self._to_bytes(ExchangeInstID) @@ -6448,24 +6626,26 @@ class QryInvestorPositionDetailField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID='', InvestorID='', InstrumentID='', ExchangeID='', InvestUnitID=''): + def __init__(self, BrokerID='', InvestorID='', reserve1='', ExchangeID='', InvestUnitID='', InstrumentID=''): super(QryInvestorPositionDetailField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.ExchangeID = self._to_bytes(ExchangeID) self.InvestUnitID = self._to_bytes(InvestUnitID) + self.InstrumentID = self._to_bytes(InstrumentID) class InvestorPositionDetailField(Base): """投资者持仓明细""" _fields_ = [ - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 ('HedgeFlag', ctypes.c_char), # 投机套保标志 @@ -6477,7 +6657,7 @@ class InvestorPositionDetailField(Base): ('TradingDay', ctypes.c_char * 9), # 交易日 ('SettlementID', ctypes.c_int), # 结算编号 ('TradeType', ctypes.c_char), # 成交类型 - ('CombInstrumentID', ctypes.c_char * 31), # 组合合约代码 + ('reserve2', ctypes.c_char * 31), # 保留的无效字段 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('CloseProfitByDate', ctypes.c_double), # 逐日盯市平仓盈亏 ('CloseProfitByTrade', ctypes.c_double), # 逐笔对冲平仓盈亏 @@ -6494,16 +6674,16 @@ class InvestorPositionDetailField(Base): ('TimeFirstVolume', ctypes.c_int), # 先开先平剩余数量(DCE) ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 ('SpecPosiType', ctypes.c_char), # 特殊持仓标志 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('CombInstrumentID', ctypes.c_char * 81), # 组合合约代码 ] - def __init__(self, InstrumentID='', BrokerID='', InvestorID='', HedgeFlag='', Direction='', OpenDate='', TradeID='', - Volume=0, OpenPrice=0.0, TradingDay='', SettlementID=0, TradeType='', CombInstrumentID='', - ExchangeID='', CloseProfitByDate=0.0, CloseProfitByTrade=0.0, PositionProfitByDate=0.0, - PositionProfitByTrade=0.0, Margin=0.0, ExchMargin=0.0, MarginRateByMoney=0.0, MarginRateByVolume=0.0, - LastSettlementPrice=0.0, SettlementPrice=0.0, CloseVolume=0, CloseAmount=0.0, TimeFirstVolume=0, - InvestUnitID='', SpecPosiType=''): + def __init__(self, reserve1='', BrokerID='', InvestorID='', HedgeFlag='', Direction='', OpenDate='', TradeID='', Volume=0, OpenPrice=0.0, TradingDay='', SettlementID=0, TradeType='', reserve2='', + ExchangeID='', CloseProfitByDate=0.0, CloseProfitByTrade=0.0, PositionProfitByDate=0.0, PositionProfitByTrade=0.0, Margin=0.0, ExchMargin=0.0, MarginRateByMoney=0.0, + MarginRateByVolume=0.0, LastSettlementPrice=0.0, SettlementPrice=0.0, CloseVolume=0, CloseAmount=0.0, TimeFirstVolume=0, InvestUnitID='', SpecPosiType='', InstrumentID='', + CombInstrumentID=''): super(InvestorPositionDetailField, self).__init__() - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) self.HedgeFlag = self._to_bytes(HedgeFlag) @@ -6515,7 +6695,7 @@ def __init__(self, InstrumentID='', BrokerID='', InvestorID='', HedgeFlag='', Di self.TradingDay = self._to_bytes(TradingDay) self.SettlementID = int(SettlementID) self.TradeType = self._to_bytes(TradeType) - self.CombInstrumentID = self._to_bytes(CombInstrumentID) + self.reserve2 = self._to_bytes(reserve2) self.ExchangeID = self._to_bytes(ExchangeID) self.CloseProfitByDate = float(CloseProfitByDate) self.CloseProfitByTrade = float(CloseProfitByTrade) @@ -6532,6 +6712,8 @@ def __init__(self, InstrumentID='', BrokerID='', InvestorID='', HedgeFlag='', Di self.TimeFirstVolume = int(TimeFirstVolume) self.InvestUnitID = self._to_bytes(InvestUnitID) self.SpecPosiType = self._to_bytes(SpecPosiType) + self.InstrumentID = self._to_bytes(InstrumentID) + self.CombInstrumentID = self._to_bytes(CombInstrumentID) class TradingAccountPasswordField(Base): @@ -6575,10 +6757,8 @@ class MDTraderOfferField(Base): ('MaxOrderMessageReference', ctypes.c_char * 7), # 本席位最大报单备拷 ] - def __init__(self, ExchangeID='', TraderID='', ParticipantID='', Password='', InstallID=0, OrderLocalID='', - TraderConnectStatus='', ConnectRequestDate='', ConnectRequestTime='', LastReportDate='', - LastReportTime='', ConnectDate='', ConnectTime='', StartDate='', StartTime='', TradingDay='', - BrokerID='', MaxTradeID='', MaxOrderMessageReference=''): + def __init__(self, ExchangeID='', TraderID='', ParticipantID='', Password='', InstallID=0, OrderLocalID='', TraderConnectStatus='', ConnectRequestDate='', ConnectRequestTime='', LastReportDate='', + LastReportTime='', ConnectDate='', ConnectTime='', StartDate='', StartTime='', TradingDay='', BrokerID='', MaxTradeID='', MaxOrderMessageReference=''): super(MDTraderOfferField, self).__init__() self.ExchangeID = self._to_bytes(ExchangeID) self.TraderID = self._to_bytes(TraderID) @@ -6702,9 +6882,8 @@ class BrokerWithdrawAlgorithmField(Base): ('BalanceAlgorithm', ctypes.c_char), # 权益算法 ] - def __init__(self, BrokerID='', WithdrawAlgorithm='', UsingRatio=0.0, IncludeCloseProfit='', AllWithoutTrade='', - AvailIncludeCloseProfit='', IsBrokerUserEvent=0, CurrencyID='', FundMortgageRatio=0.0, - BalanceAlgorithm=''): + def __init__(self, BrokerID='', WithdrawAlgorithm='', UsingRatio=0.0, IncludeCloseProfit='', AllWithoutTrade='', AvailIncludeCloseProfit='', IsBrokerUserEvent=0, CurrencyID='', + FundMortgageRatio=0.0, BalanceAlgorithm=''): super(BrokerWithdrawAlgorithmField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.WithdrawAlgorithm = self._to_bytes(WithdrawAlgorithm) @@ -6757,15 +6936,19 @@ def __init__(self, BrokerID='', AccountID='', OldPassword='', NewPassword='', Cu class QryCombinationLegField(Base): """查询组合合约分腿""" _fields_ = [ - ('CombInstrumentID', ctypes.c_char * 31), # 组合合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('LegID', ctypes.c_int), # 单腿编号 - ('LegInstrumentID', ctypes.c_char * 31), # 单腿合约代码 + ('reserve2', ctypes.c_char * 31), # 保留的无效字段 + ('CombInstrumentID', ctypes.c_char * 81), # 组合合约代码 + ('LegInstrumentID', ctypes.c_char * 81), # 单腿合约代码 ] - def __init__(self, CombInstrumentID='', LegID=0, LegInstrumentID=''): + def __init__(self, reserve1='', LegID=0, reserve2='', CombInstrumentID='', LegInstrumentID=''): super(QryCombinationLegField, self).__init__() - self.CombInstrumentID = self._to_bytes(CombInstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.LegID = int(LegID) + self.reserve2 = self._to_bytes(reserve2) + self.CombInstrumentID = self._to_bytes(CombInstrumentID) self.LegInstrumentID = self._to_bytes(LegInstrumentID) @@ -6783,22 +6966,26 @@ def __init__(self, TradingDay=''): class CombinationLegField(Base): """组合交易合约的单腿""" _fields_ = [ - ('CombInstrumentID', ctypes.c_char * 31), # 组合合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('LegID', ctypes.c_int), # 单腿编号 - ('LegInstrumentID', ctypes.c_char * 31), # 单腿合约代码 + ('reserve2', ctypes.c_char * 31), # 保留的无效字段 ('Direction', ctypes.c_char), # 买卖方向 ('LegMultiple', ctypes.c_int), # 单腿乘数 ('ImplyLevel', ctypes.c_int), # 派生层数 + ('CombInstrumentID', ctypes.c_char * 81), # 组合合约代码 + ('LegInstrumentID', ctypes.c_char * 81), # 单腿合约代码 ] - def __init__(self, CombInstrumentID='', LegID=0, LegInstrumentID='', Direction='', LegMultiple=0, ImplyLevel=0): + def __init__(self, reserve1='', LegID=0, reserve2='', Direction='', LegMultiple=0, ImplyLevel=0, CombInstrumentID='', LegInstrumentID=''): super(CombinationLegField, self).__init__() - self.CombInstrumentID = self._to_bytes(CombInstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.LegID = int(LegID) - self.LegInstrumentID = self._to_bytes(LegInstrumentID) + self.reserve2 = self._to_bytes(reserve2) self.Direction = self._to_bytes(Direction) self.LegMultiple = int(LegMultiple) self.ImplyLevel = int(ImplyLevel) + self.CombInstrumentID = self._to_bytes(CombInstrumentID) + self.LegInstrumentID = self._to_bytes(LegInstrumentID) class SyncStatusField(Base): @@ -6844,8 +7031,8 @@ class LinkManField(Base): ('PersonFullName', ctypes.c_char * 101), # 全称 ] - def __init__(self, BrokerID='', InvestorID='', PersonType='', IdentifiedCardType='', IdentifiedCardNo='', - PersonName='', Telephone='', Address='', ZipCode='', Priority=0, UOAZipCode='', PersonFullName=''): + def __init__(self, BrokerID='', InvestorID='', PersonType='', IdentifiedCardType='', IdentifiedCardNo='', PersonName='', Telephone='', Address='', ZipCode='', Priority=0, UOAZipCode='', + PersonFullName=''): super(LinkManField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -6887,11 +7074,11 @@ class BrokerUserEventField(Base): ('EventTime', ctypes.c_char * 9), # 事件发生时间 ('UserEventInfo', ctypes.c_char * 1025), # 用户事件信息 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID='', UserID='', UserEventType='', EventSequenceNo=0, EventDate='', EventTime='', - UserEventInfo='', InvestorID='', InstrumentID=''): + def __init__(self, BrokerID='', UserID='', UserEventType='', EventSequenceNo=0, EventDate='', EventTime='', UserEventInfo='', InvestorID='', reserve1='', InstrumentID=''): super(BrokerUserEventField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.UserID = self._to_bytes(UserID) @@ -6901,6 +7088,7 @@ def __init__(self, BrokerID='', UserID='', UserEventType='', EventSequenceNo=0, self.EventTime = self._to_bytes(EventTime) self.UserEventInfo = self._to_bytes(UserEventInfo) self.InvestorID = self._to_bytes(InvestorID) + self.reserve1 = self._to_bytes(reserve1) self.InstrumentID = self._to_bytes(InstrumentID) @@ -6947,7 +7135,7 @@ class InvestorPositionCombineDetailField(Base): ('InvestorID', ctypes.c_char * 13), # 投资者代码 ('ComTradeID', ctypes.c_char * 21), # 组合编号 ('TradeID', ctypes.c_char * 21), # 撮合编号 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('HedgeFlag', ctypes.c_char), # 投机套保标志 ('Direction', ctypes.c_char), # 买卖 ('TotalAmt', ctypes.c_int), # 持仓量 @@ -6957,15 +7145,15 @@ class InvestorPositionCombineDetailField(Base): ('MarginRateByVolume', ctypes.c_double), # 保证金率(按手数) ('LegID', ctypes.c_int), # 单腿编号 ('LegMultiple', ctypes.c_int), # 单腿乘数 - ('CombInstrumentID', ctypes.c_char * 31), # 组合持仓合约编码 + ('reserve2', ctypes.c_char * 31), # 保留的无效字段 ('TradeGroupID', ctypes.c_int), # 成交组号 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('CombInstrumentID', ctypes.c_char * 81), # 组合持仓合约编码 ] - def __init__(self, TradingDay='', OpenDate='', ExchangeID='', SettlementID=0, BrokerID='', InvestorID='', - ComTradeID='', TradeID='', InstrumentID='', HedgeFlag='', Direction='', TotalAmt=0, Margin=0.0, - ExchMargin=0.0, MarginRateByMoney=0.0, MarginRateByVolume=0.0, LegID=0, LegMultiple=0, - CombInstrumentID='', TradeGroupID=0, InvestUnitID=''): + def __init__(self, TradingDay='', OpenDate='', ExchangeID='', SettlementID=0, BrokerID='', InvestorID='', ComTradeID='', TradeID='', reserve1='', HedgeFlag='', Direction='', TotalAmt=0, + Margin=0.0, ExchMargin=0.0, MarginRateByMoney=0.0, MarginRateByVolume=0.0, LegID=0, LegMultiple=0, reserve2='', TradeGroupID=0, InvestUnitID='', InstrumentID='', CombInstrumentID=''): super(InvestorPositionCombineDetailField, self).__init__() self.TradingDay = self._to_bytes(TradingDay) self.OpenDate = self._to_bytes(OpenDate) @@ -6975,7 +7163,7 @@ def __init__(self, TradingDay='', OpenDate='', ExchangeID='', SettlementID=0, Br self.InvestorID = self._to_bytes(InvestorID) self.ComTradeID = self._to_bytes(ComTradeID) self.TradeID = self._to_bytes(TradeID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.HedgeFlag = self._to_bytes(HedgeFlag) self.Direction = self._to_bytes(Direction) self.TotalAmt = int(TotalAmt) @@ -6985,9 +7173,11 @@ def __init__(self, TradingDay='', OpenDate='', ExchangeID='', SettlementID=0, Br self.MarginRateByVolume = float(MarginRateByVolume) self.LegID = int(LegID) self.LegMultiple = int(LegMultiple) - self.CombInstrumentID = self._to_bytes(CombInstrumentID) + self.reserve2 = self._to_bytes(reserve2) self.TradeGroupID = int(TradeGroupID) self.InvestUnitID = self._to_bytes(InvestUnitID) + self.InstrumentID = self._to_bytes(InstrumentID) + self.CombInstrumentID = self._to_bytes(CombInstrumentID) class ParkedOrderField(Base): @@ -6995,7 +7185,7 @@ class ParkedOrderField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('OrderRef', ctypes.c_char * 13), # 报单引用 ('UserID', ctypes.c_char * 16), # 用户代码 ('OrderPriceType', ctypes.c_char), # 报单价格条件 @@ -7026,20 +7216,20 @@ class ParkedOrderField(Base): ('CurrencyID', ctypes.c_char * 4), # 币种代码 ('ClientID', ctypes.c_char * 11), # 交易编码 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve2', ctypes.c_char * 16), # 保留的无效字段 ('MacAddress', ctypes.c_char * 21), # Mac地址 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID='', InvestorID='', InstrumentID='', OrderRef='', UserID='', OrderPriceType='', - Direction='', CombOffsetFlag='', CombHedgeFlag='', LimitPrice=0.0, VolumeTotalOriginal=0, - TimeCondition='', GTDDate='', VolumeCondition='', MinVolume=0, ContingentCondition='', StopPrice=0.0, - ForceCloseReason='', IsAutoSuspend=0, BusinessUnit='', RequestID=0, UserForceClose=0, ExchangeID='', - ParkedOrderID='', UserType='', Status='', ErrorID=0, ErrorMsg='', IsSwapOrder=0, AccountID='', - CurrencyID='', ClientID='', InvestUnitID='', IPAddress='', MacAddress=''): + def __init__(self, BrokerID='', InvestorID='', reserve1='', OrderRef='', UserID='', OrderPriceType='', Direction='', CombOffsetFlag='', CombHedgeFlag='', LimitPrice=0.0, VolumeTotalOriginal=0, + TimeCondition='', GTDDate='', VolumeCondition='', MinVolume=0, ContingentCondition='', StopPrice=0.0, ForceCloseReason='', IsAutoSuspend=0, BusinessUnit='', RequestID=0, + UserForceClose=0, ExchangeID='', ParkedOrderID='', UserType='', Status='', ErrorID=0, ErrorMsg='', IsSwapOrder=0, AccountID='', CurrencyID='', ClientID='', InvestUnitID='', + reserve2='', MacAddress='', InstrumentID='', IPAddress=''): super(ParkedOrderField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.OrderRef = self._to_bytes(OrderRef) self.UserID = self._to_bytes(UserID) self.OrderPriceType = self._to_bytes(OrderPriceType) @@ -7070,8 +7260,10 @@ def __init__(self, BrokerID='', InvestorID='', InstrumentID='', OrderRef='', Use self.CurrencyID = self._to_bytes(CurrencyID) self.ClientID = self._to_bytes(ClientID) self.InvestUnitID = self._to_bytes(InvestUnitID) - self.IPAddress = self._to_bytes(IPAddress) + self.reserve2 = self._to_bytes(reserve2) self.MacAddress = self._to_bytes(MacAddress) + self.InstrumentID = self._to_bytes(InstrumentID) + self.IPAddress = self._to_bytes(IPAddress) class ParkedOrderActionField(Base): @@ -7090,21 +7282,21 @@ class ParkedOrderActionField(Base): ('LimitPrice', ctypes.c_double), # 价格 ('VolumeChange', ctypes.c_int), # 数量变化 ('UserID', ctypes.c_char * 16), # 用户代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('ParkedOrderActionID', ctypes.c_char * 13), # 预埋撤单单编号 ('UserType', ctypes.c_char), # 用户类型 ('Status', ctypes.c_char), # 预埋撤单状态 ('ErrorID', ctypes.c_int), # 错误代码 ('ErrorMsg', ctypes.c_char * 81), # 错误信息 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve2', ctypes.c_char * 16), # 保留的无效字段 ('MacAddress', ctypes.c_char * 21), # Mac地址 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID='', InvestorID='', OrderActionRef=0, OrderRef='', RequestID=0, FrontID=0, SessionID=0, - ExchangeID='', OrderSysID='', ActionFlag='', LimitPrice=0.0, VolumeChange=0, UserID='', - InstrumentID='', ParkedOrderActionID='', UserType='', Status='', ErrorID=0, ErrorMsg='', - InvestUnitID='', IPAddress='', MacAddress=''): + def __init__(self, BrokerID='', InvestorID='', OrderActionRef=0, OrderRef='', RequestID=0, FrontID=0, SessionID=0, ExchangeID='', OrderSysID='', ActionFlag='', LimitPrice=0.0, VolumeChange=0, + UserID='', reserve1='', ParkedOrderActionID='', UserType='', Status='', ErrorID=0, ErrorMsg='', InvestUnitID='', reserve2='', MacAddress='', InstrumentID='', IPAddress=''): super(ParkedOrderActionField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -7119,15 +7311,17 @@ def __init__(self, BrokerID='', InvestorID='', OrderActionRef=0, OrderRef='', Re self.LimitPrice = float(LimitPrice) self.VolumeChange = int(VolumeChange) self.UserID = self._to_bytes(UserID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.ParkedOrderActionID = self._to_bytes(ParkedOrderActionID) self.UserType = self._to_bytes(UserType) self.Status = self._to_bytes(Status) self.ErrorID = int(ErrorID) self.ErrorMsg = self._to_bytes(ErrorMsg) self.InvestUnitID = self._to_bytes(InvestUnitID) - self.IPAddress = self._to_bytes(IPAddress) + self.reserve2 = self._to_bytes(reserve2) self.MacAddress = self._to_bytes(MacAddress) + self.InstrumentID = self._to_bytes(InstrumentID) + self.IPAddress = self._to_bytes(IPAddress) class QryParkedOrderField(Base): @@ -7135,18 +7329,20 @@ class QryParkedOrderField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID='', InvestorID='', InstrumentID='', ExchangeID='', InvestUnitID=''): + def __init__(self, BrokerID='', InvestorID='', reserve1='', ExchangeID='', InvestUnitID='', InstrumentID=''): super(QryParkedOrderField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.ExchangeID = self._to_bytes(ExchangeID) self.InvestUnitID = self._to_bytes(InvestUnitID) + self.InstrumentID = self._to_bytes(InstrumentID) class QryParkedOrderActionField(Base): @@ -7154,18 +7350,20 @@ class QryParkedOrderActionField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID='', InvestorID='', InstrumentID='', ExchangeID='', InvestUnitID=''): + def __init__(self, BrokerID='', InvestorID='', reserve1='', ExchangeID='', InvestUnitID='', InstrumentID=''): super(QryParkedOrderActionField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.ExchangeID = self._to_bytes(ExchangeID) self.InvestUnitID = self._to_bytes(InvestUnitID) + self.InstrumentID = self._to_bytes(InstrumentID) class RemoveParkedOrderField(Base): @@ -7213,8 +7411,7 @@ class InvestorWithdrawAlgorithmField(Base): ('FundMortgageRatio', ctypes.c_double), # 货币质押比率 ] - def __init__(self, BrokerID='', InvestorRange='', InvestorID='', UsingRatio=0.0, CurrencyID='', - FundMortgageRatio=0.0): + def __init__(self, BrokerID='', InvestorRange='', InvestorID='', UsingRatio=0.0, CurrencyID='', FundMortgageRatio=0.0): super(InvestorWithdrawAlgorithmField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorRange = self._to_bytes(InvestorRange) @@ -7229,18 +7426,20 @@ class QryInvestorPositionCombineDetailField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('CombInstrumentID', ctypes.c_char * 31), # 组合持仓合约编码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 + ('CombInstrumentID', ctypes.c_char * 81), # 组合持仓合约编码 ] - def __init__(self, BrokerID='', InvestorID='', CombInstrumentID='', ExchangeID='', InvestUnitID=''): + def __init__(self, BrokerID='', InvestorID='', reserve1='', ExchangeID='', InvestUnitID='', CombInstrumentID=''): super(QryInvestorPositionCombineDetailField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) - self.CombInstrumentID = self._to_bytes(CombInstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.ExchangeID = self._to_bytes(ExchangeID) self.InvestUnitID = self._to_bytes(InvestUnitID) + self.CombInstrumentID = self._to_bytes(CombInstrumentID) class MarketDataAveragePriceField(Base): @@ -7274,18 +7473,22 @@ class UserIPField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('UserID', ctypes.c_char * 16), # 用户代码 - ('IPAddress', ctypes.c_char * 16), # IP地址 - ('IPMask', ctypes.c_char * 16), # IP地址掩码 + ('reserve1', ctypes.c_char * 16), # 保留的无效字段 + ('reserve2', ctypes.c_char * 16), # 保留的无效字段 ('MacAddress', ctypes.c_char * 21), # Mac地址 + ('IPAddress', ctypes.c_char * 33), # IP地址 + ('IPMask', ctypes.c_char * 33), # IP地址掩码 ] - def __init__(self, BrokerID='', UserID='', IPAddress='', IPMask='', MacAddress=''): + def __init__(self, BrokerID='', UserID='', reserve1='', reserve2='', MacAddress='', IPAddress='', IPMask=''): super(UserIPField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.UserID = self._to_bytes(UserID) + self.reserve1 = self._to_bytes(reserve1) + self.reserve2 = self._to_bytes(reserve2) + self.MacAddress = self._to_bytes(MacAddress) self.IPAddress = self._to_bytes(IPAddress) self.IPMask = self._to_bytes(IPMask) - self.MacAddress = self._to_bytes(MacAddress) class TradingNoticeInfoField(Base): @@ -7300,8 +7503,7 @@ class TradingNoticeInfoField(Base): ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 ] - def __init__(self, BrokerID='', InvestorID='', SendTime='', FieldContent='', SequenceSeries=0, SequenceNo=0, - InvestUnitID=''): + def __init__(self, BrokerID='', InvestorID='', SendTime='', FieldContent='', SequenceSeries=0, SequenceNo=0, InvestUnitID=''): super(TradingNoticeInfoField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -7326,8 +7528,7 @@ class TradingNoticeField(Base): ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 ] - def __init__(self, BrokerID='', InvestorRange='', InvestorID='', SequenceSeries=0, UserID='', SendTime='', - SequenceNo=0, FieldContent='', InvestUnitID=''): + def __init__(self, BrokerID='', InvestorRange='', InvestorID='', SequenceSeries=0, UserID='', SendTime='', SequenceNo=0, FieldContent='', InvestUnitID=''): super(TradingNoticeField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorRange = self._to_bytes(InvestorRange) @@ -7373,7 +7574,7 @@ class ErrOrderField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('OrderRef', ctypes.c_char * 13), # 报单引用 ('UserID', ctypes.c_char * 16), # 用户代码 ('OrderPriceType', ctypes.c_char), # 报单价格条件 @@ -7401,20 +7602,20 @@ class ErrOrderField(Base): ('AccountID', ctypes.c_char * 13), # 资金账号 ('CurrencyID', ctypes.c_char * 4), # 币种代码 ('ClientID', ctypes.c_char * 11), # 交易编码 - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve2', ctypes.c_char * 16), # 保留的无效字段 ('MacAddress', ctypes.c_char * 21), # Mac地址 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID='', InvestorID='', InstrumentID='', OrderRef='', UserID='', OrderPriceType='', - Direction='', CombOffsetFlag='', CombHedgeFlag='', LimitPrice=0.0, VolumeTotalOriginal=0, - TimeCondition='', GTDDate='', VolumeCondition='', MinVolume=0, ContingentCondition='', StopPrice=0.0, - ForceCloseReason='', IsAutoSuspend=0, BusinessUnit='', RequestID=0, UserForceClose=0, ErrorID=0, - ErrorMsg='', IsSwapOrder=0, ExchangeID='', InvestUnitID='', AccountID='', CurrencyID='', ClientID='', - IPAddress='', MacAddress=''): + def __init__(self, BrokerID='', InvestorID='', reserve1='', OrderRef='', UserID='', OrderPriceType='', Direction='', CombOffsetFlag='', CombHedgeFlag='', LimitPrice=0.0, VolumeTotalOriginal=0, + TimeCondition='', GTDDate='', VolumeCondition='', MinVolume=0, ContingentCondition='', StopPrice=0.0, ForceCloseReason='', IsAutoSuspend=0, BusinessUnit='', RequestID=0, + UserForceClose=0, ErrorID=0, ErrorMsg='', IsSwapOrder=0, ExchangeID='', InvestUnitID='', AccountID='', CurrencyID='', ClientID='', reserve2='', MacAddress='', InstrumentID='', + IPAddress=''): super(ErrOrderField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.OrderRef = self._to_bytes(OrderRef) self.UserID = self._to_bytes(UserID) self.OrderPriceType = self._to_bytes(OrderPriceType) @@ -7442,8 +7643,10 @@ def __init__(self, BrokerID='', InvestorID='', InstrumentID='', OrderRef='', Use self.AccountID = self._to_bytes(AccountID) self.CurrencyID = self._to_bytes(CurrencyID) self.ClientID = self._to_bytes(ClientID) - self.IPAddress = self._to_bytes(IPAddress) + self.reserve2 = self._to_bytes(reserve2) self.MacAddress = self._to_bytes(MacAddress) + self.InstrumentID = self._to_bytes(InstrumentID) + self.IPAddress = self._to_bytes(IPAddress) class ErrorConditionalOrderField(Base): @@ -7451,7 +7654,7 @@ class ErrorConditionalOrderField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('OrderRef', ctypes.c_char * 13), # 报单引用 ('UserID', ctypes.c_char * 16), # 用户代码 ('OrderPriceType', ctypes.c_char), # 报单价格条件 @@ -7474,7 +7677,7 @@ class ErrorConditionalOrderField(Base): ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('ParticipantID', ctypes.c_char * 11), # 会员代码 ('ClientID', ctypes.c_char * 11), # 客户代码 - ('ExchangeInstID', ctypes.c_char * 31), # 合约在交易所的代码 + ('reserve2', ctypes.c_char * 31), # 保留的无效字段 ('TraderID', ctypes.c_char * 21), # 交易所交易员代码 ('InstallID', ctypes.c_int), # 安装编号 ('OrderSubmitStatus', ctypes.c_char), # 报单提交状态 @@ -7512,25 +7715,24 @@ class ErrorConditionalOrderField(Base): ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 ('AccountID', ctypes.c_char * 13), # 资金账号 ('CurrencyID', ctypes.c_char * 4), # 币种代码 - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve3', ctypes.c_char * 16), # 保留的无效字段 ('MacAddress', ctypes.c_char * 21), # Mac地址 - ] - - def __init__(self, BrokerID='', InvestorID='', InstrumentID='', OrderRef='', UserID='', OrderPriceType='', - Direction='', CombOffsetFlag='', CombHedgeFlag='', LimitPrice=0.0, VolumeTotalOriginal=0, - TimeCondition='', GTDDate='', VolumeCondition='', MinVolume=0, ContingentCondition='', StopPrice=0.0, - ForceCloseReason='', IsAutoSuspend=0, BusinessUnit='', RequestID=0, OrderLocalID='', ExchangeID='', - ParticipantID='', ClientID='', ExchangeInstID='', TraderID='', InstallID=0, OrderSubmitStatus='', - NotifySequence=0, TradingDay='', SettlementID=0, OrderSysID='', OrderSource='', OrderStatus='', - OrderType='', VolumeTraded=0, VolumeTotal=0, InsertDate='', InsertTime='', ActiveTime='', - SuspendTime='', UpdateTime='', CancelTime='', ActiveTraderID='', ClearingPartID='', SequenceNo=0, - FrontID=0, SessionID=0, UserProductInfo='', StatusMsg='', UserForceClose=0, ActiveUserID='', - BrokerOrderSeq=0, RelativeOrderSysID='', ZCETotalTradedVolume=0, ErrorID=0, ErrorMsg='', IsSwapOrder=0, - BranchID='', InvestUnitID='', AccountID='', CurrencyID='', IPAddress='', MacAddress=''): + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('ExchangeInstID', ctypes.c_char * 81), # 合约在交易所的代码 + ('IPAddress', ctypes.c_char * 33), # IP地址 + ] + + def __init__(self, BrokerID='', InvestorID='', reserve1='', OrderRef='', UserID='', OrderPriceType='', Direction='', CombOffsetFlag='', CombHedgeFlag='', LimitPrice=0.0, VolumeTotalOriginal=0, + TimeCondition='', GTDDate='', VolumeCondition='', MinVolume=0, ContingentCondition='', StopPrice=0.0, ForceCloseReason='', IsAutoSuspend=0, BusinessUnit='', RequestID=0, + OrderLocalID='', ExchangeID='', ParticipantID='', ClientID='', reserve2='', TraderID='', InstallID=0, OrderSubmitStatus='', NotifySequence=0, TradingDay='', SettlementID=0, + OrderSysID='', OrderSource='', OrderStatus='', OrderType='', VolumeTraded=0, VolumeTotal=0, InsertDate='', InsertTime='', ActiveTime='', SuspendTime='', UpdateTime='', CancelTime='', + ActiveTraderID='', ClearingPartID='', SequenceNo=0, FrontID=0, SessionID=0, UserProductInfo='', StatusMsg='', UserForceClose=0, ActiveUserID='', BrokerOrderSeq=0, + RelativeOrderSysID='', ZCETotalTradedVolume=0, ErrorID=0, ErrorMsg='', IsSwapOrder=0, BranchID='', InvestUnitID='', AccountID='', CurrencyID='', reserve3='', MacAddress='', + InstrumentID='', ExchangeInstID='', IPAddress=''): super(ErrorConditionalOrderField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.OrderRef = self._to_bytes(OrderRef) self.UserID = self._to_bytes(UserID) self.OrderPriceType = self._to_bytes(OrderPriceType) @@ -7553,7 +7755,7 @@ def __init__(self, BrokerID='', InvestorID='', InstrumentID='', OrderRef='', Use self.ExchangeID = self._to_bytes(ExchangeID) self.ParticipantID = self._to_bytes(ParticipantID) self.ClientID = self._to_bytes(ClientID) - self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.reserve2 = self._to_bytes(reserve2) self.TraderID = self._to_bytes(TraderID) self.InstallID = int(InstallID) self.OrderSubmitStatus = self._to_bytes(OrderSubmitStatus) @@ -7591,8 +7793,11 @@ def __init__(self, BrokerID='', InvestorID='', InstrumentID='', OrderRef='', Use self.InvestUnitID = self._to_bytes(InvestUnitID) self.AccountID = self._to_bytes(AccountID) self.CurrencyID = self._to_bytes(CurrencyID) - self.IPAddress = self._to_bytes(IPAddress) + self.reserve3 = self._to_bytes(reserve3) self.MacAddress = self._to_bytes(MacAddress) + self.InstrumentID = self._to_bytes(InstrumentID) + self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.IPAddress = self._to_bytes(IPAddress) class QryErrOrderActionField(Base): @@ -7635,20 +7840,20 @@ class ErrOrderActionField(Base): ('OrderActionStatus', ctypes.c_char), # 报单操作状态 ('UserID', ctypes.c_char * 16), # 用户代码 ('StatusMsg', ctypes.c_char * 81), # 状态信息 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('BranchID', ctypes.c_char * 9), # 营业部编号 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve2', ctypes.c_char * 16), # 保留的无效字段 ('MacAddress', ctypes.c_char * 21), # Mac地址 ('ErrorID', ctypes.c_int), # 错误代码 ('ErrorMsg', ctypes.c_char * 81), # 错误信息 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID='', InvestorID='', OrderActionRef=0, OrderRef='', RequestID=0, FrontID=0, SessionID=0, - ExchangeID='', OrderSysID='', ActionFlag='', LimitPrice=0.0, VolumeChange=0, ActionDate='', - ActionTime='', TraderID='', InstallID=0, OrderLocalID='', ActionLocalID='', ParticipantID='', - ClientID='', BusinessUnit='', OrderActionStatus='', UserID='', StatusMsg='', InstrumentID='', - BranchID='', InvestUnitID='', IPAddress='', MacAddress='', ErrorID=0, ErrorMsg=''): + def __init__(self, BrokerID='', InvestorID='', OrderActionRef=0, OrderRef='', RequestID=0, FrontID=0, SessionID=0, ExchangeID='', OrderSysID='', ActionFlag='', LimitPrice=0.0, VolumeChange=0, + ActionDate='', ActionTime='', TraderID='', InstallID=0, OrderLocalID='', ActionLocalID='', ParticipantID='', ClientID='', BusinessUnit='', OrderActionStatus='', UserID='', + StatusMsg='', reserve1='', BranchID='', InvestUnitID='', reserve2='', MacAddress='', ErrorID=0, ErrorMsg='', InstrumentID='', IPAddress=''): super(ErrOrderActionField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -7674,13 +7879,15 @@ def __init__(self, BrokerID='', InvestorID='', OrderActionRef=0, OrderRef='', Re self.OrderActionStatus = self._to_bytes(OrderActionStatus) self.UserID = self._to_bytes(UserID) self.StatusMsg = self._to_bytes(StatusMsg) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.BranchID = self._to_bytes(BranchID) self.InvestUnitID = self._to_bytes(InvestUnitID) - self.IPAddress = self._to_bytes(IPAddress) + self.reserve2 = self._to_bytes(reserve2) self.MacAddress = self._to_bytes(MacAddress) self.ErrorID = int(ErrorID) self.ErrorMsg = self._to_bytes(ErrorMsg) + self.InstrumentID = self._to_bytes(InstrumentID) + self.IPAddress = self._to_bytes(IPAddress) class QryExchangeSequenceField(Base): @@ -7709,12 +7916,12 @@ def __init__(self, ExchangeID='', SequenceNo=0, MarketStatus=''): self.MarketStatus = self._to_bytes(MarketStatus) -class QueryMaxOrderVolumeWithPriceField(Base): +class QryMaxOrderVolumeWithPriceField(Base): """根据价格查询最大报单数量""" _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('Direction', ctypes.c_char), # 买卖方向 ('OffsetFlag', ctypes.c_char), # 开平标志 ('HedgeFlag', ctypes.c_char), # 投机套保标志 @@ -7722,14 +7929,14 @@ class QueryMaxOrderVolumeWithPriceField(Base): ('Price', ctypes.c_double), # 报单价格 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID='', InvestorID='', InstrumentID='', Direction='', OffsetFlag='', HedgeFlag='', - MaxVolume=0, Price=0.0, ExchangeID='', InvestUnitID=''): - super(QueryMaxOrderVolumeWithPriceField, self).__init__() + def __init__(self, BrokerID='', InvestorID='', reserve1='', Direction='', OffsetFlag='', HedgeFlag='', MaxVolume=0, Price=0.0, ExchangeID='', InvestUnitID='', InstrumentID=''): + super(QryMaxOrderVolumeWithPriceField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.Direction = self._to_bytes(Direction) self.OffsetFlag = self._to_bytes(OffsetFlag) self.HedgeFlag = self._to_bytes(HedgeFlag) @@ -7737,6 +7944,7 @@ def __init__(self, BrokerID='', InvestorID='', InstrumentID='', Direction='', Of self.Price = float(Price) self.ExchangeID = self._to_bytes(ExchangeID) self.InvestUnitID = self._to_bytes(InvestUnitID) + self.InstrumentID = self._to_bytes(InstrumentID) class QryBrokerTradingParamsField(Base): @@ -7769,8 +7977,7 @@ class BrokerTradingParamsField(Base): ('AccountID', ctypes.c_char * 13), # 投资者帐号 ] - def __init__(self, BrokerID='', InvestorID='', MarginPriceType='', Algorithm='', AvailIncludeCloseProfit='', - CurrencyID='', OptionRoyaltyPriceType='', AccountID=''): + def __init__(self, BrokerID='', InvestorID='', MarginPriceType='', Algorithm='', AvailIncludeCloseProfit='', CurrencyID='', OptionRoyaltyPriceType='', AccountID=''): super(BrokerTradingParamsField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) @@ -7787,13 +7994,15 @@ class QryBrokerTradingAlgosField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID='', ExchangeID='', InstrumentID=''): + def __init__(self, BrokerID='', ExchangeID='', reserve1='', InstrumentID=''): super(QryBrokerTradingAlgosField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.ExchangeID = self._to_bytes(ExchangeID) + self.reserve1 = self._to_bytes(reserve1) self.InstrumentID = self._to_bytes(InstrumentID) @@ -7802,21 +8011,22 @@ class BrokerTradingAlgosField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('HandlePositionAlgoID', ctypes.c_char), # 持仓处理算法编号 ('FindMarginRateAlgoID', ctypes.c_char), # 寻找保证金率算法编号 ('HandleTradingAccountAlgoID', ctypes.c_char), # 资金处理算法编号 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID='', ExchangeID='', InstrumentID='', HandlePositionAlgoID='', FindMarginRateAlgoID='', - HandleTradingAccountAlgoID=''): + def __init__(self, BrokerID='', ExchangeID='', reserve1='', HandlePositionAlgoID='', FindMarginRateAlgoID='', HandleTradingAccountAlgoID='', InstrumentID=''): super(BrokerTradingAlgosField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.ExchangeID = self._to_bytes(ExchangeID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.HandlePositionAlgoID = self._to_bytes(HandlePositionAlgoID) self.FindMarginRateAlgoID = self._to_bytes(FindMarginRateAlgoID) self.HandleTradingAccountAlgoID = self._to_bytes(HandleTradingAccountAlgoID) + self.InstrumentID = self._to_bytes(InstrumentID) class QueryBrokerDepositField(Base): @@ -7850,8 +8060,8 @@ class BrokerDepositField(Base): ('FrozenMargin', ctypes.c_double), # 冻结的保证金 ] - def __init__(self, TradingDay='', BrokerID='', ParticipantID='', ExchangeID='', PreBalance=0.0, CurrMargin=0.0, - CloseProfit=0.0, Balance=0.0, Deposit=0.0, Withdraw=0.0, Available=0.0, Reserve=0.0, FrozenMargin=0.0): + def __init__(self, TradingDay='', BrokerID='', ParticipantID='', ExchangeID='', PreBalance=0.0, CurrMargin=0.0, CloseProfit=0.0, Balance=0.0, Deposit=0.0, Withdraw=0.0, Available=0.0, Reserve=0.0, + FrozenMargin=0.0): super(BrokerDepositField, self).__init__() self.TradingDay = self._to_bytes(TradingDay) self.BrokerID = self._to_bytes(BrokerID) @@ -7947,8 +8157,7 @@ class BrokerUserOTPParamField(Base): ('OTPType', ctypes.c_char), # 动态令牌类型 ] - def __init__(self, BrokerID='', UserID='', OTPVendorsID='', SerialNumber='', AuthKey='', LastDrift=0, LastSuccess=0, - OTPType=''): + def __init__(self, BrokerID='', UserID='', OTPVendorsID='', SerialNumber='', AuthKey='', LastDrift=0, LastSuccess=0, OTPType=''): super(BrokerUserOTPParamField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.UserID = self._to_bytes(UserID) @@ -8042,25 +8251,26 @@ class EWarrantOffsetField(Base): ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('Direction', ctypes.c_char), # 买卖方向 ('HedgeFlag', ctypes.c_char), # 投机套保标志 ('Volume', ctypes.c_int), # 数量 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, TradingDay='', BrokerID='', InvestorID='', ExchangeID='', InstrumentID='', Direction='', - HedgeFlag='', Volume=0, InvestUnitID=''): + def __init__(self, TradingDay='', BrokerID='', InvestorID='', ExchangeID='', reserve1='', Direction='', HedgeFlag='', Volume=0, InvestUnitID='', InstrumentID=''): super(EWarrantOffsetField, self).__init__() self.TradingDay = self._to_bytes(TradingDay) self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) self.ExchangeID = self._to_bytes(ExchangeID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.Direction = self._to_bytes(Direction) self.HedgeFlag = self._to_bytes(HedgeFlag) self.Volume = int(Volume) self.InvestUnitID = self._to_bytes(InvestUnitID) + self.InstrumentID = self._to_bytes(InstrumentID) class QryEWarrantOffsetField(Base): @@ -8069,17 +8279,19 @@ class QryEWarrantOffsetField(Base): ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, BrokerID='', InvestorID='', ExchangeID='', InstrumentID='', InvestUnitID=''): + def __init__(self, BrokerID='', InvestorID='', ExchangeID='', reserve1='', InvestUnitID='', InstrumentID=''): super(QryEWarrantOffsetField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) self.ExchangeID = self._to_bytes(ExchangeID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.InvestUnitID = self._to_bytes(InvestUnitID) + self.InstrumentID = self._to_bytes(InstrumentID) class QryInvestorProductGroupMarginField(Base): @@ -8087,26 +8299,28 @@ class QryInvestorProductGroupMarginField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 - ('ProductGroupID', ctypes.c_char * 31), # 品种/跨品种标示 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('HedgeFlag', ctypes.c_char), # 投机套保标志 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 + ('ProductGroupID', ctypes.c_char * 81), # 品种/跨品种标示 ] - def __init__(self, BrokerID='', InvestorID='', ProductGroupID='', HedgeFlag='', ExchangeID='', InvestUnitID=''): + def __init__(self, BrokerID='', InvestorID='', reserve1='', HedgeFlag='', ExchangeID='', InvestUnitID='', ProductGroupID=''): super(QryInvestorProductGroupMarginField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) - self.ProductGroupID = self._to_bytes(ProductGroupID) + self.reserve1 = self._to_bytes(reserve1) self.HedgeFlag = self._to_bytes(HedgeFlag) self.ExchangeID = self._to_bytes(ExchangeID) self.InvestUnitID = self._to_bytes(InvestUnitID) + self.ProductGroupID = self._to_bytes(ProductGroupID) class InvestorProductGroupMarginField(Base): """投资者品种/跨品种保证金""" _fields_ = [ - ('ProductGroupID', ctypes.c_char * 31), # 品种/跨品种标示 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('InvestorID', ctypes.c_char * 13), # 投资者代码 ('TradingDay', ctypes.c_char * 9), # 交易日 @@ -8135,16 +8349,15 @@ class InvestorProductGroupMarginField(Base): ('HedgeFlag', ctypes.c_char), # 投机套保标志 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 ('InvestUnitID', ctypes.c_char * 17), # 投资单元代码 + ('ProductGroupID', ctypes.c_char * 81), # 品种/跨品种标示 ] - def __init__(self, ProductGroupID='', BrokerID='', InvestorID='', TradingDay='', SettlementID=0, FrozenMargin=0.0, - LongFrozenMargin=0.0, ShortFrozenMargin=0.0, UseMargin=0.0, LongUseMargin=0.0, ShortUseMargin=0.0, - ExchMargin=0.0, LongExchMargin=0.0, ShortExchMargin=0.0, CloseProfit=0.0, FrozenCommission=0.0, - Commission=0.0, FrozenCash=0.0, CashIn=0.0, PositionProfit=0.0, OffsetAmount=0.0, LongOffsetAmount=0.0, - ShortOffsetAmount=0.0, ExchOffsetAmount=0.0, LongExchOffsetAmount=0.0, ShortExchOffsetAmount=0.0, - HedgeFlag='', ExchangeID='', InvestUnitID=''): + def __init__(self, reserve1='', BrokerID='', InvestorID='', TradingDay='', SettlementID=0, FrozenMargin=0.0, LongFrozenMargin=0.0, ShortFrozenMargin=0.0, UseMargin=0.0, LongUseMargin=0.0, + ShortUseMargin=0.0, ExchMargin=0.0, LongExchMargin=0.0, ShortExchMargin=0.0, CloseProfit=0.0, FrozenCommission=0.0, Commission=0.0, FrozenCash=0.0, CashIn=0.0, PositionProfit=0.0, + OffsetAmount=0.0, LongOffsetAmount=0.0, ShortOffsetAmount=0.0, ExchOffsetAmount=0.0, LongExchOffsetAmount=0.0, ShortExchOffsetAmount=0.0, HedgeFlag='', ExchangeID='', InvestUnitID='', + ProductGroupID=''): super(InvestorProductGroupMarginField, self).__init__() - self.ProductGroupID = self._to_bytes(ProductGroupID) + self.reserve1 = self._to_bytes(reserve1) self.BrokerID = self._to_bytes(BrokerID) self.InvestorID = self._to_bytes(InvestorID) self.TradingDay = self._to_bytes(TradingDay) @@ -8173,6 +8386,7 @@ def __init__(self, ProductGroupID='', BrokerID='', InvestorID='', TradingDay='', self.HedgeFlag = self._to_bytes(HedgeFlag) self.ExchangeID = self._to_bytes(ExchangeID) self.InvestUnitID = self._to_bytes(InvestUnitID) + self.ProductGroupID = self._to_bytes(ProductGroupID) class QueryCFMMCTradingAccountTokenField(Base): @@ -8212,28 +8426,34 @@ def __init__(self, BrokerID='', ParticipantID='', AccountID='', KeyID=0, Token=' class QryProductGroupField(Base): """查询产品组""" _fields_ = [ - ('ProductID', ctypes.c_char * 31), # 产品代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('ProductID', ctypes.c_char * 81), # 产品代码 ] - def __init__(self, ProductID='', ExchangeID=''): + def __init__(self, reserve1='', ExchangeID='', ProductID=''): super(QryProductGroupField, self).__init__() - self.ProductID = self._to_bytes(ProductID) + self.reserve1 = self._to_bytes(reserve1) self.ExchangeID = self._to_bytes(ExchangeID) + self.ProductID = self._to_bytes(ProductID) class ProductGroupField(Base): """投资者品种/跨品种保证金产品组""" _fields_ = [ - ('ProductID', ctypes.c_char * 31), # 产品代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('ExchangeID', ctypes.c_char * 9), # 交易所代码 - ('ProductGroupID', ctypes.c_char * 31), # 产品组代码 + ('reserve2', ctypes.c_char * 31), # 保留的无效字段 + ('ProductID', ctypes.c_char * 81), # 产品代码 + ('ProductGroupID', ctypes.c_char * 81), # 产品组代码 ] - def __init__(self, ProductID='', ExchangeID='', ProductGroupID=''): + def __init__(self, reserve1='', ExchangeID='', reserve2='', ProductID='', ProductGroupID=''): super(ProductGroupField, self).__init__() - self.ProductID = self._to_bytes(ProductID) + self.reserve1 = self._to_bytes(reserve1) self.ExchangeID = self._to_bytes(ExchangeID) + self.reserve2 = self._to_bytes(reserve2) + self.ProductID = self._to_bytes(ProductID) self.ProductGroupID = self._to_bytes(ProductGroupID) @@ -8254,8 +8474,7 @@ class BulletinField(Base): ('MarketID', ctypes.c_char * 31), # 市场代码 ] - def __init__(self, ExchangeID='', TradingDay='', BulletinID=0, SequenceNo=0, NewsType='', NewsUrgency='', - SendTime='', Abstract='', ComeFrom='', Content='', URLLink='', MarketID=''): + def __init__(self, ExchangeID='', TradingDay='', BulletinID=0, SequenceNo=0, NewsType='', NewsUrgency='', SendTime='', Abstract='', ComeFrom='', Content='', URLLink='', MarketID=''): super(BulletinField, self).__init__() self.ExchangeID = self._to_bytes(ExchangeID) self.TradingDay = self._to_bytes(TradingDay) @@ -8294,33 +8513,37 @@ class MulticastInstrumentField(Base): """MulticastInstrument""" _fields_ = [ ('TopicID', ctypes.c_int), # 主题号 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 ('InstrumentNo', ctypes.c_int), # 合约编号 ('CodePrice', ctypes.c_double), # 基准价 ('VolumeMultiple', ctypes.c_int), # 合约数量乘数 ('PriceTick', ctypes.c_double), # 最小变动价位 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, TopicID=0, InstrumentID='', InstrumentNo=0, CodePrice=0.0, VolumeMultiple=0, PriceTick=0.0): + def __init__(self, TopicID=0, reserve1='', InstrumentNo=0, CodePrice=0.0, VolumeMultiple=0, PriceTick=0.0, InstrumentID=''): super(MulticastInstrumentField, self).__init__() self.TopicID = int(TopicID) - self.InstrumentID = self._to_bytes(InstrumentID) + self.reserve1 = self._to_bytes(reserve1) self.InstrumentNo = int(InstrumentNo) self.CodePrice = float(CodePrice) self.VolumeMultiple = int(VolumeMultiple) self.PriceTick = float(PriceTick) + self.InstrumentID = self._to_bytes(InstrumentID) class QryMulticastInstrumentField(Base): """QryMulticastInstrument""" _fields_ = [ ('TopicID', ctypes.c_int), # 主题号 - ('InstrumentID', ctypes.c_char * 31), # 合约代码 + ('reserve1', ctypes.c_char * 31), # 保留的无效字段 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 ] - def __init__(self, TopicID=0, InstrumentID=''): + def __init__(self, TopicID=0, reserve1='', InstrumentID=''): super(QryMulticastInstrumentField, self).__init__() self.TopicID = int(TopicID) + self.reserve1 = self._to_bytes(reserve1) self.InstrumentID = self._to_bytes(InstrumentID) @@ -8389,14 +8612,10 @@ class ReqOpenAccountField(Base): ('LongCustomerName', ctypes.c_char * 161), # 长客户姓名 ] - def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', - TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, - CustomerName='', IdCardType='', IdentifiedCardNo='', Gender='', CountryCode='', CustType='', - Address='', ZipCode='', Telephone='', MobilePhone='', Fax='', EMail='', MoneyAccountStatus='', - BankAccount='', BankPassWord='', AccountID='', Password='', InstallID=0, VerifyCertNoFlag='', - CurrencyID='', CashExchangeCode='', Digest='', BankAccType='', DeviceID='', BankSecuAccType='', - BrokerIDByBank='', BankSecuAcc='', BankPwdFlag='', SecuPwdFlag='', OperNo='', TID=0, UserID='', - LongCustomerName=''): + def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, + CustomerName='', IdCardType='', IdentifiedCardNo='', Gender='', CountryCode='', CustType='', Address='', ZipCode='', Telephone='', MobilePhone='', Fax='', EMail='', + MoneyAccountStatus='', BankAccount='', BankPassWord='', AccountID='', Password='', InstallID=0, VerifyCertNoFlag='', CurrencyID='', CashExchangeCode='', Digest='', BankAccType='', + DeviceID='', BankSecuAccType='', BrokerIDByBank='', BankSecuAcc='', BankPwdFlag='', SecuPwdFlag='', OperNo='', TID=0, UserID='', LongCustomerName=''): super(ReqOpenAccountField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -8495,14 +8714,10 @@ class ReqCancelAccountField(Base): ('LongCustomerName', ctypes.c_char * 161), # 长客户姓名 ] - def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', - TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, - CustomerName='', IdCardType='', IdentifiedCardNo='', Gender='', CountryCode='', CustType='', - Address='', ZipCode='', Telephone='', MobilePhone='', Fax='', EMail='', MoneyAccountStatus='', - BankAccount='', BankPassWord='', AccountID='', Password='', InstallID=0, VerifyCertNoFlag='', - CurrencyID='', CashExchangeCode='', Digest='', BankAccType='', DeviceID='', BankSecuAccType='', - BrokerIDByBank='', BankSecuAcc='', BankPwdFlag='', SecuPwdFlag='', OperNo='', TID=0, UserID='', - LongCustomerName=''): + def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, + CustomerName='', IdCardType='', IdentifiedCardNo='', Gender='', CountryCode='', CustType='', Address='', ZipCode='', Telephone='', MobilePhone='', Fax='', EMail='', + MoneyAccountStatus='', BankAccount='', BankPassWord='', AccountID='', Password='', InstallID=0, VerifyCertNoFlag='', CurrencyID='', CashExchangeCode='', Digest='', BankAccType='', + DeviceID='', BankSecuAccType='', BrokerIDByBank='', BankSecuAcc='', BankPwdFlag='', SecuPwdFlag='', OperNo='', TID=0, UserID='', LongCustomerName=''): super(ReqCancelAccountField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -8597,13 +8812,10 @@ class ReqChangeAccountField(Base): ('LongCustomerName', ctypes.c_char * 161), # 长客户姓名 ] - def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', - TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, - CustomerName='', IdCardType='', IdentifiedCardNo='', Gender='', CountryCode='', CustType='', - Address='', ZipCode='', Telephone='', MobilePhone='', Fax='', EMail='', MoneyAccountStatus='', - BankAccount='', BankPassWord='', NewBankAccount='', NewBankPassWord='', AccountID='', Password='', - BankAccType='', InstallID=0, VerifyCertNoFlag='', CurrencyID='', BrokerIDByBank='', BankPwdFlag='', - SecuPwdFlag='', TID=0, Digest='', LongCustomerName=''): + def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, + CustomerName='', IdCardType='', IdentifiedCardNo='', Gender='', CountryCode='', CustType='', Address='', ZipCode='', Telephone='', MobilePhone='', Fax='', EMail='', + MoneyAccountStatus='', BankAccount='', BankPassWord='', NewBankAccount='', NewBankPassWord='', AccountID='', Password='', BankAccType='', InstallID=0, VerifyCertNoFlag='', + CurrencyID='', BrokerIDByBank='', BankPwdFlag='', SecuPwdFlag='', TID=0, Digest='', LongCustomerName=''): super(ReqChangeAccountField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -8697,13 +8909,10 @@ class ReqTransferField(Base): ('LongCustomerName', ctypes.c_char * 161), # 长客户姓名 ] - def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', - TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, - CustomerName='', IdCardType='', IdentifiedCardNo='', CustType='', BankAccount='', BankPassWord='', - AccountID='', Password='', InstallID=0, FutureSerial=0, UserID='', VerifyCertNoFlag='', CurrencyID='', - TradeAmount=0.0, FutureFetchAmount=0.0, FeePayFlag='', CustFee=0.0, BrokerFee=0.0, Message='', - Digest='', BankAccType='', DeviceID='', BankSecuAccType='', BrokerIDByBank='', BankSecuAcc='', - BankPwdFlag='', SecuPwdFlag='', OperNo='', RequestID=0, TID=0, TransferStatus='', LongCustomerName=''): + def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, + CustomerName='', IdCardType='', IdentifiedCardNo='', CustType='', BankAccount='', BankPassWord='', AccountID='', Password='', InstallID=0, FutureSerial=0, UserID='', + VerifyCertNoFlag='', CurrencyID='', TradeAmount=0.0, FutureFetchAmount=0.0, FeePayFlag='', CustFee=0.0, BrokerFee=0.0, Message='', Digest='', BankAccType='', DeviceID='', + BankSecuAccType='', BrokerIDByBank='', BankSecuAcc='', BankPwdFlag='', SecuPwdFlag='', OperNo='', RequestID=0, TID=0, TransferStatus='', LongCustomerName=''): super(ReqTransferField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -8802,14 +9011,10 @@ class RspTransferField(Base): ('LongCustomerName', ctypes.c_char * 161), # 长客户姓名 ] - def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', - TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, - CustomerName='', IdCardType='', IdentifiedCardNo='', CustType='', BankAccount='', BankPassWord='', - AccountID='', Password='', InstallID=0, FutureSerial=0, UserID='', VerifyCertNoFlag='', CurrencyID='', - TradeAmount=0.0, FutureFetchAmount=0.0, FeePayFlag='', CustFee=0.0, BrokerFee=0.0, Message='', - Digest='', BankAccType='', DeviceID='', BankSecuAccType='', BrokerIDByBank='', BankSecuAcc='', - BankPwdFlag='', SecuPwdFlag='', OperNo='', RequestID=0, TID=0, TransferStatus='', ErrorID=0, - ErrorMsg='', LongCustomerName=''): + def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, + CustomerName='', IdCardType='', IdentifiedCardNo='', CustType='', BankAccount='', BankPassWord='', AccountID='', Password='', InstallID=0, FutureSerial=0, UserID='', + VerifyCertNoFlag='', CurrencyID='', TradeAmount=0.0, FutureFetchAmount=0.0, FeePayFlag='', CustFee=0.0, BrokerFee=0.0, Message='', Digest='', BankAccType='', DeviceID='', + BankSecuAccType='', BrokerIDByBank='', BankSecuAcc='', BankPwdFlag='', SecuPwdFlag='', OperNo='', RequestID=0, TID=0, TransferStatus='', ErrorID=0, ErrorMsg='', LongCustomerName=''): super(RspTransferField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -8915,15 +9120,11 @@ class ReqRepealField(Base): ('LongCustomerName', ctypes.c_char * 161), # 长客户姓名 ] - def __init__(self, RepealTimeInterval=0, RepealedTimes=0, BankRepealFlag='', BrokerRepealFlag='', - PlateRepealSerial=0, BankRepealSerial='', FutureRepealSerial=0, TradeCode='', BankID='', - BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', TradeTime='', BankSerial='', - TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, CustomerName='', IdCardType='', - IdentifiedCardNo='', CustType='', BankAccount='', BankPassWord='', AccountID='', Password='', - InstallID=0, FutureSerial=0, UserID='', VerifyCertNoFlag='', CurrencyID='', TradeAmount=0.0, - FutureFetchAmount=0.0, FeePayFlag='', CustFee=0.0, BrokerFee=0.0, Message='', Digest='', - BankAccType='', DeviceID='', BankSecuAccType='', BrokerIDByBank='', BankSecuAcc='', BankPwdFlag='', - SecuPwdFlag='', OperNo='', RequestID=0, TID=0, TransferStatus='', LongCustomerName=''): + def __init__(self, RepealTimeInterval=0, RepealedTimes=0, BankRepealFlag='', BrokerRepealFlag='', PlateRepealSerial=0, BankRepealSerial='', FutureRepealSerial=0, TradeCode='', BankID='', + BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, CustomerName='', IdCardType='', + IdentifiedCardNo='', CustType='', BankAccount='', BankPassWord='', AccountID='', Password='', InstallID=0, FutureSerial=0, UserID='', VerifyCertNoFlag='', CurrencyID='', + TradeAmount=0.0, FutureFetchAmount=0.0, FeePayFlag='', CustFee=0.0, BrokerFee=0.0, Message='', Digest='', BankAccType='', DeviceID='', BankSecuAccType='', BrokerIDByBank='', + BankSecuAcc='', BankPwdFlag='', SecuPwdFlag='', OperNo='', RequestID=0, TID=0, TransferStatus='', LongCustomerName=''): super(ReqRepealField, self).__init__() self.RepealTimeInterval = int(RepealTimeInterval) self.RepealedTimes = int(RepealedTimes) @@ -9036,16 +9237,11 @@ class RspRepealField(Base): ('LongCustomerName', ctypes.c_char * 161), # 长客户姓名 ] - def __init__(self, RepealTimeInterval=0, RepealedTimes=0, BankRepealFlag='', BrokerRepealFlag='', - PlateRepealSerial=0, BankRepealSerial='', FutureRepealSerial=0, TradeCode='', BankID='', - BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', TradeTime='', BankSerial='', - TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, CustomerName='', IdCardType='', - IdentifiedCardNo='', CustType='', BankAccount='', BankPassWord='', AccountID='', Password='', - InstallID=0, FutureSerial=0, UserID='', VerifyCertNoFlag='', CurrencyID='', TradeAmount=0.0, - FutureFetchAmount=0.0, FeePayFlag='', CustFee=0.0, BrokerFee=0.0, Message='', Digest='', - BankAccType='', DeviceID='', BankSecuAccType='', BrokerIDByBank='', BankSecuAcc='', BankPwdFlag='', - SecuPwdFlag='', OperNo='', RequestID=0, TID=0, TransferStatus='', ErrorID=0, ErrorMsg='', - LongCustomerName=''): + def __init__(self, RepealTimeInterval=0, RepealedTimes=0, BankRepealFlag='', BrokerRepealFlag='', PlateRepealSerial=0, BankRepealSerial='', FutureRepealSerial=0, TradeCode='', BankID='', + BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, CustomerName='', IdCardType='', + IdentifiedCardNo='', CustType='', BankAccount='', BankPassWord='', AccountID='', Password='', InstallID=0, FutureSerial=0, UserID='', VerifyCertNoFlag='', CurrencyID='', + TradeAmount=0.0, FutureFetchAmount=0.0, FeePayFlag='', CustFee=0.0, BrokerFee=0.0, Message='', Digest='', BankAccType='', DeviceID='', BankSecuAccType='', BrokerIDByBank='', + BankSecuAcc='', BankPwdFlag='', SecuPwdFlag='', OperNo='', RequestID=0, TID=0, TransferStatus='', ErrorID=0, ErrorMsg='', LongCustomerName=''): super(RspRepealField, self).__init__() self.RepealTimeInterval = int(RepealTimeInterval) self.RepealedTimes = int(RepealedTimes) @@ -9144,12 +9340,10 @@ class ReqQueryAccountField(Base): ('LongCustomerName', ctypes.c_char * 161), # 长客户姓名 ] - def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', - TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, - CustomerName='', IdCardType='', IdentifiedCardNo='', CustType='', BankAccount='', BankPassWord='', - AccountID='', Password='', FutureSerial=0, InstallID=0, UserID='', VerifyCertNoFlag='', CurrencyID='', - Digest='', BankAccType='', DeviceID='', BankSecuAccType='', BrokerIDByBank='', BankSecuAcc='', - BankPwdFlag='', SecuPwdFlag='', OperNo='', RequestID=0, TID=0, LongCustomerName=''): + def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, + CustomerName='', IdCardType='', IdentifiedCardNo='', CustType='', BankAccount='', BankPassWord='', AccountID='', Password='', FutureSerial=0, InstallID=0, UserID='', + VerifyCertNoFlag='', CurrencyID='', Digest='', BankAccType='', DeviceID='', BankSecuAccType='', BrokerIDByBank='', BankSecuAcc='', BankPwdFlag='', SecuPwdFlag='', OperNo='', + RequestID=0, TID=0, LongCustomerName=''): super(ReqQueryAccountField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -9234,13 +9428,10 @@ class RspQueryAccountField(Base): ('LongCustomerName', ctypes.c_char * 161), # 长客户姓名 ] - def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', - TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, - CustomerName='', IdCardType='', IdentifiedCardNo='', CustType='', BankAccount='', BankPassWord='', - AccountID='', Password='', FutureSerial=0, InstallID=0, UserID='', VerifyCertNoFlag='', CurrencyID='', - Digest='', BankAccType='', DeviceID='', BankSecuAccType='', BrokerIDByBank='', BankSecuAcc='', - BankPwdFlag='', SecuPwdFlag='', OperNo='', RequestID=0, TID=0, BankUseAmount=0.0, BankFetchAmount=0.0, - LongCustomerName=''): + def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, + CustomerName='', IdCardType='', IdentifiedCardNo='', CustType='', BankAccount='', BankPassWord='', AccountID='', Password='', FutureSerial=0, InstallID=0, UserID='', + VerifyCertNoFlag='', CurrencyID='', Digest='', BankAccType='', DeviceID='', BankSecuAccType='', BrokerIDByBank='', BankSecuAcc='', BankPwdFlag='', SecuPwdFlag='', OperNo='', + RequestID=0, TID=0, BankUseAmount=0.0, BankFetchAmount=0.0, LongCustomerName=''): super(RspQueryAccountField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -9309,9 +9500,8 @@ class FutureSignIOField(Base): ('TID', ctypes.c_int), # 交易ID ] - def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', - TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, InstallID=0, - UserID='', Digest='', CurrencyID='', DeviceID='', BrokerIDByBank='', OperNo='', RequestID=0, TID=0): + def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, + InstallID=0, UserID='', Digest='', CurrencyID='', DeviceID='', BrokerIDByBank='', OperNo='', RequestID=0, TID=0): super(FutureSignIOField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -9366,10 +9556,8 @@ class RspFutureSignInField(Base): ('MacKey', ctypes.c_char * 129), # MAC密钥 ] - def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', - TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, InstallID=0, - UserID='', Digest='', CurrencyID='', DeviceID='', BrokerIDByBank='', OperNo='', RequestID=0, TID=0, - ErrorID=0, ErrorMsg='', PinKey='', MacKey=''): + def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, + InstallID=0, UserID='', Digest='', CurrencyID='', DeviceID='', BrokerIDByBank='', OperNo='', RequestID=0, TID=0, ErrorID=0, ErrorMsg='', PinKey='', MacKey=''): super(RspFutureSignInField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -9424,9 +9612,8 @@ class ReqFutureSignOutField(Base): ('TID', ctypes.c_int), # 交易ID ] - def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', - TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, InstallID=0, - UserID='', Digest='', CurrencyID='', DeviceID='', BrokerIDByBank='', OperNo='', RequestID=0, TID=0): + def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, + InstallID=0, UserID='', Digest='', CurrencyID='', DeviceID='', BrokerIDByBank='', OperNo='', RequestID=0, TID=0): super(ReqFutureSignOutField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -9479,10 +9666,8 @@ class RspFutureSignOutField(Base): ('ErrorMsg', ctypes.c_char * 81), # 错误信息 ] - def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', - TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, InstallID=0, - UserID='', Digest='', CurrencyID='', DeviceID='', BrokerIDByBank='', OperNo='', RequestID=0, TID=0, - ErrorID=0, ErrorMsg=''): + def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, + InstallID=0, UserID='', Digest='', CurrencyID='', DeviceID='', BrokerIDByBank='', OperNo='', RequestID=0, TID=0, ErrorID=0, ErrorMsg=''): super(RspFutureSignOutField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -9541,11 +9726,9 @@ class ReqQueryTradeResultBySerialField(Base): ('LongCustomerName', ctypes.c_char * 161), # 长客户姓名 ] - def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', - TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, Reference=0, - RefrenceIssureType='', RefrenceIssure='', CustomerName='', IdCardType='', IdentifiedCardNo='', - CustType='', BankAccount='', BankPassWord='', AccountID='', Password='', CurrencyID='', - TradeAmount=0.0, Digest='', LongCustomerName=''): + def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, + Reference=0, RefrenceIssureType='', RefrenceIssure='', CustomerName='', IdCardType='', IdentifiedCardNo='', CustType='', BankAccount='', BankPassWord='', AccountID='', Password='', + CurrencyID='', TradeAmount=0.0, Digest='', LongCustomerName=''): super(ReqQueryTradeResultBySerialField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -9607,11 +9790,9 @@ class RspQueryTradeResultBySerialField(Base): ('Digest', ctypes.c_char * 36), # 摘要 ] - def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', - TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, ErrorID=0, - ErrorMsg='', Reference=0, RefrenceIssureType='', RefrenceIssure='', OriginReturnCode='', - OriginDescrInfoForReturnCode='', BankAccount='', BankPassWord='', AccountID='', Password='', - CurrencyID='', TradeAmount=0.0, Digest=''): + def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, + ErrorID=0, ErrorMsg='', Reference=0, RefrenceIssureType='', RefrenceIssure='', OriginReturnCode='', OriginDescrInfoForReturnCode='', BankAccount='', BankPassWord='', AccountID='', + Password='', CurrencyID='', TradeAmount=0.0, Digest=''): super(RspQueryTradeResultBySerialField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -9660,8 +9841,7 @@ class ReqDayEndFileReadyField(Base): ('Digest', ctypes.c_char * 36), # 摘要 ] - def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', - TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, + def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, FileBusinessCode='', Digest=''): super(ReqDayEndFileReadyField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) @@ -9717,9 +9897,8 @@ class VerifyFuturePasswordField(Base): ('CurrencyID', ctypes.c_char * 4), # 币种代码 ] - def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', - TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, AccountID='', - Password='', BankAccount='', BankPassWord='', InstallID=0, TID=0, CurrencyID=''): + def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, + AccountID='', Password='', BankAccount='', BankPassWord='', InstallID=0, TID=0, CurrencyID=''): super(VerifyFuturePasswordField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -9774,8 +9953,7 @@ class VerifyFuturePasswordAndCustInfoField(Base): ('LongCustomerName', ctypes.c_char * 161), # 长客户姓名 ] - def __init__(self, CustomerName='', IdCardType='', IdentifiedCardNo='', CustType='', AccountID='', Password='', - CurrencyID='', LongCustomerName=''): + def __init__(self, CustomerName='', IdCardType='', IdentifiedCardNo='', CustType='', AccountID='', Password='', CurrencyID='', LongCustomerName=''): super(VerifyFuturePasswordAndCustInfoField, self).__init__() self.CustomerName = self._to_bytes(CustomerName) self.IdCardType = self._to_bytes(IdCardType) @@ -9799,8 +9977,7 @@ class DepositResultInformField(Base): ('DescrInfoForReturnCode', ctypes.c_char * 129), # 返回码描述 ] - def __init__(self, DepositSeqNo='', BrokerID='', InvestorID='', Deposit=0.0, RequestID=0, ReturnCode='', - DescrInfoForReturnCode=''): + def __init__(self, DepositSeqNo='', BrokerID='', InvestorID='', Deposit=0.0, RequestID=0, ReturnCode='', DescrInfoForReturnCode=''): super(DepositResultInformField, self).__init__() self.DepositSeqNo = self._to_bytes(DepositSeqNo) self.BrokerID = self._to_bytes(BrokerID) @@ -9836,9 +10013,8 @@ class ReqSyncKeyField(Base): ('TID', ctypes.c_int), # 交易ID ] - def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', - TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, InstallID=0, - UserID='', Message='', DeviceID='', BrokerIDByBank='', OperNo='', RequestID=0, TID=0): + def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, + InstallID=0, UserID='', Message='', DeviceID='', BrokerIDByBank='', OperNo='', RequestID=0, TID=0): super(ReqSyncKeyField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -9889,10 +10065,8 @@ class RspSyncKeyField(Base): ('ErrorMsg', ctypes.c_char * 81), # 错误信息 ] - def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', - TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, InstallID=0, - UserID='', Message='', DeviceID='', BrokerIDByBank='', OperNo='', RequestID=0, TID=0, ErrorID=0, - ErrorMsg=''): + def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, + InstallID=0, UserID='', Message='', DeviceID='', BrokerIDByBank='', OperNo='', RequestID=0, TID=0, ErrorID=0, ErrorMsg=''): super(RspSyncKeyField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -9964,13 +10138,10 @@ class NotifyQueryAccountField(Base): ('LongCustomerName', ctypes.c_char * 161), # 长客户姓名 ] - def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', - TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, - CustomerName='', IdCardType='', IdentifiedCardNo='', CustType='', BankAccount='', BankPassWord='', - AccountID='', Password='', FutureSerial=0, InstallID=0, UserID='', VerifyCertNoFlag='', CurrencyID='', - Digest='', BankAccType='', DeviceID='', BankSecuAccType='', BrokerIDByBank='', BankSecuAcc='', - BankPwdFlag='', SecuPwdFlag='', OperNo='', RequestID=0, TID=0, BankUseAmount=0.0, BankFetchAmount=0.0, - ErrorID=0, ErrorMsg='', LongCustomerName=''): + def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, + CustomerName='', IdCardType='', IdentifiedCardNo='', CustType='', BankAccount='', BankPassWord='', AccountID='', Password='', FutureSerial=0, InstallID=0, UserID='', + VerifyCertNoFlag='', CurrencyID='', Digest='', BankAccType='', DeviceID='', BankSecuAccType='', BrokerIDByBank='', BankSecuAcc='', BankPwdFlag='', SecuPwdFlag='', OperNo='', + RequestID=0, TID=0, BankUseAmount=0.0, BankFetchAmount=0.0, ErrorID=0, ErrorMsg='', LongCustomerName=''): super(NotifyQueryAccountField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -10048,11 +10219,9 @@ class TransferSerialField(Base): ('ErrorMsg', ctypes.c_char * 81), # 错误信息 ] - def __init__(self, PlateSerial=0, TradeDate='', TradingDay='', TradeTime='', TradeCode='', SessionID=0, BankID='', - BankBranchID='', BankAccType='', BankAccount='', BankSerial='', BrokerID='', BrokerBranchID='', - FutureAccType='', AccountID='', InvestorID='', FutureSerial=0, IdCardType='', IdentifiedCardNo='', - CurrencyID='', TradeAmount=0.0, CustFee=0.0, BrokerFee=0.0, AvailabilityFlag='', OperatorCode='', - BankNewAccount='', ErrorID=0, ErrorMsg=''): + def __init__(self, PlateSerial=0, TradeDate='', TradingDay='', TradeTime='', TradeCode='', SessionID=0, BankID='', BankBranchID='', BankAccType='', BankAccount='', BankSerial='', BrokerID='', + BrokerBranchID='', FutureAccType='', AccountID='', InvestorID='', FutureSerial=0, IdCardType='', IdentifiedCardNo='', CurrencyID='', TradeAmount=0.0, CustFee=0.0, BrokerFee=0.0, + AvailabilityFlag='', OperatorCode='', BankNewAccount='', ErrorID=0, ErrorMsg=''): super(TransferSerialField, self).__init__() self.PlateSerial = int(PlateSerial) self.TradeDate = self._to_bytes(TradeDate) @@ -10131,10 +10300,8 @@ class NotifyFutureSignInField(Base): ('MacKey', ctypes.c_char * 129), # MAC密钥 ] - def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', - TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, InstallID=0, - UserID='', Digest='', CurrencyID='', DeviceID='', BrokerIDByBank='', OperNo='', RequestID=0, TID=0, - ErrorID=0, ErrorMsg='', PinKey='', MacKey=''): + def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, + InstallID=0, UserID='', Digest='', CurrencyID='', DeviceID='', BrokerIDByBank='', OperNo='', RequestID=0, TID=0, ErrorID=0, ErrorMsg='', PinKey='', MacKey=''): super(NotifyFutureSignInField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -10191,10 +10358,8 @@ class NotifyFutureSignOutField(Base): ('ErrorMsg', ctypes.c_char * 81), # 错误信息 ] - def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', - TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, InstallID=0, - UserID='', Digest='', CurrencyID='', DeviceID='', BrokerIDByBank='', OperNo='', RequestID=0, TID=0, - ErrorID=0, ErrorMsg=''): + def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, + InstallID=0, UserID='', Digest='', CurrencyID='', DeviceID='', BrokerIDByBank='', OperNo='', RequestID=0, TID=0, ErrorID=0, ErrorMsg=''): super(NotifyFutureSignOutField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -10248,10 +10413,8 @@ class NotifySyncKeyField(Base): ('ErrorMsg', ctypes.c_char * 81), # 错误信息 ] - def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', - TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, InstallID=0, - UserID='', Message='', DeviceID='', BrokerIDByBank='', OperNo='', RequestID=0, TID=0, ErrorID=0, - ErrorMsg=''): + def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, + InstallID=0, UserID='', Message='', DeviceID='', BrokerIDByBank='', OperNo='', RequestID=0, TID=0, ErrorID=0, ErrorMsg=''): super(NotifySyncKeyField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -10319,9 +10482,8 @@ class AccountregisterField(Base): ('LongCustomerName', ctypes.c_char * 161), # 长客户姓名 ] - def __init__(self, TradeDay='', BankID='', BankBranchID='', BankAccount='', BrokerID='', BrokerBranchID='', - AccountID='', IdCardType='', IdentifiedCardNo='', CustomerName='', CurrencyID='', OpenOrDestroy='', - RegDate='', OutDate='', TID=0, CustType='', BankAccType='', LongCustomerName=''): + def __init__(self, TradeDay='', BankID='', BankBranchID='', BankAccount='', BrokerID='', BrokerBranchID='', AccountID='', IdCardType='', IdentifiedCardNo='', CustomerName='', CurrencyID='', + OpenOrDestroy='', RegDate='', OutDate='', TID=0, CustType='', BankAccType='', LongCustomerName=''): super(AccountregisterField, self).__init__() self.TradeDay = self._to_bytes(TradeDay) self.BankID = self._to_bytes(BankID) @@ -10395,14 +10557,10 @@ class OpenAccountField(Base): ('LongCustomerName', ctypes.c_char * 161), # 长客户姓名 ] - def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', - TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, - CustomerName='', IdCardType='', IdentifiedCardNo='', Gender='', CountryCode='', CustType='', - Address='', ZipCode='', Telephone='', MobilePhone='', Fax='', EMail='', MoneyAccountStatus='', - BankAccount='', BankPassWord='', AccountID='', Password='', InstallID=0, VerifyCertNoFlag='', - CurrencyID='', CashExchangeCode='', Digest='', BankAccType='', DeviceID='', BankSecuAccType='', - BrokerIDByBank='', BankSecuAcc='', BankPwdFlag='', SecuPwdFlag='', OperNo='', TID=0, UserID='', - ErrorID=0, ErrorMsg='', LongCustomerName=''): + def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, + CustomerName='', IdCardType='', IdentifiedCardNo='', Gender='', CountryCode='', CustType='', Address='', ZipCode='', Telephone='', MobilePhone='', Fax='', EMail='', + MoneyAccountStatus='', BankAccount='', BankPassWord='', AccountID='', Password='', InstallID=0, VerifyCertNoFlag='', CurrencyID='', CashExchangeCode='', Digest='', BankAccType='', + DeviceID='', BankSecuAccType='', BrokerIDByBank='', BankSecuAcc='', BankPwdFlag='', SecuPwdFlag='', OperNo='', TID=0, UserID='', ErrorID=0, ErrorMsg='', LongCustomerName=''): super(OpenAccountField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -10505,14 +10663,10 @@ class CancelAccountField(Base): ('LongCustomerName', ctypes.c_char * 161), # 长客户姓名 ] - def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', - TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, - CustomerName='', IdCardType='', IdentifiedCardNo='', Gender='', CountryCode='', CustType='', - Address='', ZipCode='', Telephone='', MobilePhone='', Fax='', EMail='', MoneyAccountStatus='', - BankAccount='', BankPassWord='', AccountID='', Password='', InstallID=0, VerifyCertNoFlag='', - CurrencyID='', CashExchangeCode='', Digest='', BankAccType='', DeviceID='', BankSecuAccType='', - BrokerIDByBank='', BankSecuAcc='', BankPwdFlag='', SecuPwdFlag='', OperNo='', TID=0, UserID='', - ErrorID=0, ErrorMsg='', LongCustomerName=''): + def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, + CustomerName='', IdCardType='', IdentifiedCardNo='', Gender='', CountryCode='', CustType='', Address='', ZipCode='', Telephone='', MobilePhone='', Fax='', EMail='', + MoneyAccountStatus='', BankAccount='', BankPassWord='', AccountID='', Password='', InstallID=0, VerifyCertNoFlag='', CurrencyID='', CashExchangeCode='', Digest='', BankAccType='', + DeviceID='', BankSecuAccType='', BrokerIDByBank='', BankSecuAcc='', BankPwdFlag='', SecuPwdFlag='', OperNo='', TID=0, UserID='', ErrorID=0, ErrorMsg='', LongCustomerName=''): super(CancelAccountField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -10611,13 +10765,10 @@ class ChangeAccountField(Base): ('LongCustomerName', ctypes.c_char * 161), # 长客户姓名 ] - def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', - TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, - CustomerName='', IdCardType='', IdentifiedCardNo='', Gender='', CountryCode='', CustType='', - Address='', ZipCode='', Telephone='', MobilePhone='', Fax='', EMail='', MoneyAccountStatus='', - BankAccount='', BankPassWord='', NewBankAccount='', NewBankPassWord='', AccountID='', Password='', - BankAccType='', InstallID=0, VerifyCertNoFlag='', CurrencyID='', BrokerIDByBank='', BankPwdFlag='', - SecuPwdFlag='', TID=0, Digest='', ErrorID=0, ErrorMsg='', LongCustomerName=''): + def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, + CustomerName='', IdCardType='', IdentifiedCardNo='', Gender='', CountryCode='', CustType='', Address='', ZipCode='', Telephone='', MobilePhone='', Fax='', EMail='', + MoneyAccountStatus='', BankAccount='', BankPassWord='', NewBankAccount='', NewBankPassWord='', AccountID='', Password='', BankAccType='', InstallID=0, VerifyCertNoFlag='', + CurrencyID='', BrokerIDByBank='', BankPwdFlag='', SecuPwdFlag='', TID=0, Digest='', ErrorID=0, ErrorMsg='', LongCustomerName=''): super(ChangeAccountField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -10778,13 +10929,15 @@ class LoginForbiddenUserField(Base): _fields_ = [ ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 ('UserID', ctypes.c_char * 16), # 用户代码 - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve1', ctypes.c_char * 16), # 保留的无效字段 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, BrokerID='', UserID='', IPAddress=''): + def __init__(self, BrokerID='', UserID='', reserve1='', IPAddress=''): super(LoginForbiddenUserField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.UserID = self._to_bytes(UserID) + self.reserve1 = self._to_bytes(reserve1) self.IPAddress = self._to_bytes(IPAddress) @@ -10801,21 +10954,6 @@ def __init__(self, BrokerID='', UserID=''): self.UserID = self._to_bytes(UserID) -class MulticastGroupInfoField(Base): - """UDP组播组信息""" - _fields_ = [ - ('GroupIP', ctypes.c_char * 16), # 组播组IP地址 - ('GroupPort', ctypes.c_int), # 组播组IP端口 - ('SourceIP', ctypes.c_char * 16), # 源地址 - ] - - def __init__(self, GroupIP='', GroupPort=0, SourceIP=''): - super(MulticastGroupInfoField, self).__init__() - self.GroupIP = self._to_bytes(GroupIP) - self.GroupPort = int(GroupPort) - self.SourceIP = self._to_bytes(SourceIP) - - class TradingAccountReserveField(Base): """资金账户基本准备金""" _fields_ = [ @@ -10836,22 +10974,26 @@ def __init__(self, BrokerID='', AccountID='', Reserve=0.0, CurrencyID=''): class QryLoginForbiddenIPField(Base): """查询禁止登录IP""" _fields_ = [ - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve1', ctypes.c_char * 16), # 保留的无效字段 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, IPAddress=''): + def __init__(self, reserve1='', IPAddress=''): super(QryLoginForbiddenIPField, self).__init__() + self.reserve1 = self._to_bytes(reserve1) self.IPAddress = self._to_bytes(IPAddress) class QryIPListField(Base): """查询IP列表""" _fields_ = [ - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve1', ctypes.c_char * 16), # 保留的无效字段 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, IPAddress=''): + def __init__(self, reserve1='', IPAddress=''): super(QryIPListField, self).__init__() + self.reserve1 = self._to_bytes(reserve1) self.IPAddress = self._to_bytes(IPAddress) @@ -10914,13 +11056,10 @@ class ReserveOpenAccountConfirmField(Base): ('ErrorMsg', ctypes.c_char * 81), # 错误信息 ] - def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', - TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, - CustomerName='', IdCardType='', IdentifiedCardNo='', Gender='', CountryCode='', CustType='', - Address='', ZipCode='', Telephone='', MobilePhone='', Fax='', EMail='', MoneyAccountStatus='', - BankAccount='', BankPassWord='', InstallID=0, VerifyCertNoFlag='', CurrencyID='', Digest='', - BankAccType='', BrokerIDByBank='', TID=0, AccountID='', Password='', BankReserveOpenSeq='', - BookDate='', BookPsw='', ErrorID=0, ErrorMsg=''): + def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, + CustomerName='', IdCardType='', IdentifiedCardNo='', Gender='', CountryCode='', CustType='', Address='', ZipCode='', Telephone='', MobilePhone='', Fax='', EMail='', + MoneyAccountStatus='', BankAccount='', BankPassWord='', InstallID=0, VerifyCertNoFlag='', CurrencyID='', Digest='', BankAccType='', BrokerIDByBank='', TID=0, AccountID='', + Password='', BankReserveOpenSeq='', BookDate='', BookPsw='', ErrorID=0, ErrorMsg=''): super(ReserveOpenAccountConfirmField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -11007,12 +11146,10 @@ class ReserveOpenAccountField(Base): ('ErrorMsg', ctypes.c_char * 81), # 错误信息 ] - def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', - TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, - CustomerName='', IdCardType='', IdentifiedCardNo='', Gender='', CountryCode='', CustType='', - Address='', ZipCode='', Telephone='', MobilePhone='', Fax='', EMail='', MoneyAccountStatus='', - BankAccount='', BankPassWord='', InstallID=0, VerifyCertNoFlag='', CurrencyID='', Digest='', - BankAccType='', BrokerIDByBank='', TID=0, ReserveOpenAccStas='', ErrorID=0, ErrorMsg=''): + def __init__(self, TradeCode='', BankID='', BankBranchID='', BrokerID='', BrokerBranchID='', TradeDate='', TradeTime='', BankSerial='', TradingDay='', PlateSerial=0, LastFragment='', SessionID=0, + CustomerName='', IdCardType='', IdentifiedCardNo='', Gender='', CountryCode='', CustType='', Address='', ZipCode='', Telephone='', MobilePhone='', Fax='', EMail='', + MoneyAccountStatus='', BankAccount='', BankPassWord='', InstallID=0, VerifyCertNoFlag='', CurrencyID='', Digest='', BankAccType='', BrokerIDByBank='', TID=0, ReserveOpenAccStas='', + ErrorID=0, ErrorMsg=''): super(ReserveOpenAccountField, self).__init__() self.TradeCode = self._to_bytes(TradeCode) self.BankID = self._to_bytes(BankID) @@ -11072,9 +11209,8 @@ class AccountPropertyField(Base): ('CurrencyID', ctypes.c_char * 4), # 币种代码 ] - def __init__(self, BrokerID='', AccountID='', BankID='', BankAccount='', OpenName='', OpenBank='', IsActive=0, - AccountSourceType='', OpenDate='', CancelDate='', OperatorID='', OperateDate='', OperateTime='', - CurrencyID=''): + def __init__(self, BrokerID='', AccountID='', BankID='', BankAccount='', OpenName='', OpenBank='', IsActive=0, AccountSourceType='', OpenDate='', CancelDate='', OperatorID='', OperateDate='', + OperateTime='', CurrencyID=''): super(AccountPropertyField, self).__init__() self.BrokerID = self._to_bytes(BrokerID) self.AccountID = self._to_bytes(AccountID) @@ -11140,32 +11276,6 @@ def __init__(self, BrokerID='', BrokerSecAgentID=''): self.BrokerSecAgentID = self._to_bytes(BrokerSecAgentID) -class UserSystemInfoField(Base): - """用户系统信息""" - _fields_ = [ - ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 - ('UserID', ctypes.c_char * 16), # 用户代码 - ('ClientSystemInfoLen', ctypes.c_int), # 用户端系统内部信息长度 - ('ClientSystemInfo', ctypes.c_char * 273), # 用户端系统内部信息 - ('ClientPublicIP', ctypes.c_char * 16), # 用户公网IP - ('ClientIPPort', ctypes.c_int), # 终端IP端口 - ('ClientLoginTime', ctypes.c_char * 9), # 登录成功时间 - ('ClientAppID', ctypes.c_char * 33), # App代码 - ] - - def __init__(self, BrokerID='', UserID='', ClientSystemInfoLen=0, ClientSystemInfo='', ClientPublicIP='', - ClientIPPort=0, ClientLoginTime='', ClientAppID=''): - super(UserSystemInfoField, self).__init__() - self.BrokerID = self._to_bytes(BrokerID) - self.UserID = self._to_bytes(UserID) - self.ClientSystemInfoLen = int(ClientSystemInfoLen) - self.ClientSystemInfo = self._to_bytes(ClientSystemInfo) - self.ClientPublicIP = self._to_bytes(ClientPublicIP) - self.ClientIPPort = int(ClientIPPort) - self.ClientLoginTime = self._to_bytes(ClientLoginTime) - self.ClientAppID = self._to_bytes(ClientAppID) - - class ReqUserAuthMethodField(Base): """用户发出获取安全安全登陆方法请求""" _fields_ = [ @@ -11261,14 +11371,15 @@ class ReqUserLoginWithCaptchaField(Base): ('InterfaceProductInfo', ctypes.c_char * 11), # 接口端产品信息 ('ProtocolInfo', ctypes.c_char * 11), # 协议信息 ('MacAddress', ctypes.c_char * 21), # Mac地址 - ('ClientIPAddress', ctypes.c_char * 16), # 终端IP地址 + ('reserve1', ctypes.c_char * 16), # 保留的无效字段 ('LoginRemark', ctypes.c_char * 36), # 登录备注 ('Captcha', ctypes.c_char * 41), # 图形验证码的文字内容 ('ClientIPPort', ctypes.c_int), # 终端IP端口 + ('ClientIPAddress', ctypes.c_char * 33), # 终端IP地址 ] - def __init__(self, TradingDay='', BrokerID='', UserID='', Password='', UserProductInfo='', InterfaceProductInfo='', - ProtocolInfo='', MacAddress='', ClientIPAddress='', LoginRemark='', Captcha='', ClientIPPort=0): + def __init__(self, TradingDay='', BrokerID='', UserID='', Password='', UserProductInfo='', InterfaceProductInfo='', ProtocolInfo='', MacAddress='', reserve1='', LoginRemark='', Captcha='', + ClientIPPort=0, ClientIPAddress=''): super(ReqUserLoginWithCaptchaField, self).__init__() self.TradingDay = self._to_bytes(TradingDay) self.BrokerID = self._to_bytes(BrokerID) @@ -11278,10 +11389,11 @@ def __init__(self, TradingDay='', BrokerID='', UserID='', Password='', UserProdu self.InterfaceProductInfo = self._to_bytes(InterfaceProductInfo) self.ProtocolInfo = self._to_bytes(ProtocolInfo) self.MacAddress = self._to_bytes(MacAddress) - self.ClientIPAddress = self._to_bytes(ClientIPAddress) + self.reserve1 = self._to_bytes(reserve1) self.LoginRemark = self._to_bytes(LoginRemark) self.Captcha = self._to_bytes(Captcha) self.ClientIPPort = int(ClientIPPort) + self.ClientIPAddress = self._to_bytes(ClientIPAddress) class ReqUserLoginWithTextField(Base): @@ -11295,14 +11407,15 @@ class ReqUserLoginWithTextField(Base): ('InterfaceProductInfo', ctypes.c_char * 11), # 接口端产品信息 ('ProtocolInfo', ctypes.c_char * 11), # 协议信息 ('MacAddress', ctypes.c_char * 21), # Mac地址 - ('ClientIPAddress', ctypes.c_char * 16), # 终端IP地址 + ('reserve1', ctypes.c_char * 16), # 保留的无效字段 ('LoginRemark', ctypes.c_char * 36), # 登录备注 ('Text', ctypes.c_char * 41), # 短信验证码文字内容 ('ClientIPPort', ctypes.c_int), # 终端IP端口 + ('ClientIPAddress', ctypes.c_char * 33), # 终端IP地址 ] - def __init__(self, TradingDay='', BrokerID='', UserID='', Password='', UserProductInfo='', InterfaceProductInfo='', - ProtocolInfo='', MacAddress='', ClientIPAddress='', LoginRemark='', Text='', ClientIPPort=0): + def __init__(self, TradingDay='', BrokerID='', UserID='', Password='', UserProductInfo='', InterfaceProductInfo='', ProtocolInfo='', MacAddress='', reserve1='', LoginRemark='', Text='', + ClientIPPort=0, ClientIPAddress=''): super(ReqUserLoginWithTextField, self).__init__() self.TradingDay = self._to_bytes(TradingDay) self.BrokerID = self._to_bytes(BrokerID) @@ -11312,10 +11425,11 @@ def __init__(self, TradingDay='', BrokerID='', UserID='', Password='', UserProdu self.InterfaceProductInfo = self._to_bytes(InterfaceProductInfo) self.ProtocolInfo = self._to_bytes(ProtocolInfo) self.MacAddress = self._to_bytes(MacAddress) - self.ClientIPAddress = self._to_bytes(ClientIPAddress) + self.reserve1 = self._to_bytes(reserve1) self.LoginRemark = self._to_bytes(LoginRemark) self.Text = self._to_bytes(Text) self.ClientIPPort = int(ClientIPPort) + self.ClientIPAddress = self._to_bytes(ClientIPAddress) class ReqUserLoginWithOTPField(Base): @@ -11329,14 +11443,15 @@ class ReqUserLoginWithOTPField(Base): ('InterfaceProductInfo', ctypes.c_char * 11), # 接口端产品信息 ('ProtocolInfo', ctypes.c_char * 11), # 协议信息 ('MacAddress', ctypes.c_char * 21), # Mac地址 - ('ClientIPAddress', ctypes.c_char * 16), # 终端IP地址 + ('reserve1', ctypes.c_char * 16), # 保留的无效字段 ('LoginRemark', ctypes.c_char * 36), # 登录备注 ('OTPPassword', ctypes.c_char * 41), # OTP密码 ('ClientIPPort', ctypes.c_int), # 终端IP端口 + ('ClientIPAddress', ctypes.c_char * 33), # 终端IP地址 ] - def __init__(self, TradingDay='', BrokerID='', UserID='', Password='', UserProductInfo='', InterfaceProductInfo='', - ProtocolInfo='', MacAddress='', ClientIPAddress='', LoginRemark='', OTPPassword='', ClientIPPort=0): + def __init__(self, TradingDay='', BrokerID='', UserID='', Password='', UserProductInfo='', InterfaceProductInfo='', ProtocolInfo='', MacAddress='', reserve1='', LoginRemark='', OTPPassword='', + ClientIPPort=0, ClientIPAddress=''): super(ReqUserLoginWithOTPField, self).__init__() self.TradingDay = self._to_bytes(TradingDay) self.BrokerID = self._to_bytes(BrokerID) @@ -11346,10 +11461,11 @@ def __init__(self, TradingDay='', BrokerID='', UserID='', Password='', UserProdu self.InterfaceProductInfo = self._to_bytes(InterfaceProductInfo) self.ProtocolInfo = self._to_bytes(ProtocolInfo) self.MacAddress = self._to_bytes(MacAddress) - self.ClientIPAddress = self._to_bytes(ClientIPAddress) + self.reserve1 = self._to_bytes(reserve1) self.LoginRemark = self._to_bytes(LoginRemark) self.OTPPassword = self._to_bytes(OTPPassword) self.ClientIPPort = int(ClientIPPort) + self.ClientIPAddress = self._to_bytes(ClientIPAddress) class ReqApiHandshakeField(Base): @@ -11422,22 +11538,26 @@ def __init__(self, QueryFreq=0): class AuthForbiddenIPField(Base): """禁止认证IP""" _fields_ = [ - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve1', ctypes.c_char * 16), # 保留的无效字段 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, IPAddress=''): + def __init__(self, reserve1='', IPAddress=''): super(AuthForbiddenIPField, self).__init__() + self.reserve1 = self._to_bytes(reserve1) self.IPAddress = self._to_bytes(IPAddress) class QryAuthForbiddenIPField(Base): """查询禁止认证IP""" _fields_ = [ - ('IPAddress', ctypes.c_char * 16), # IP地址 + ('reserve1', ctypes.c_char * 16), # 保留的无效字段 + ('IPAddress', ctypes.c_char * 33), # IP地址 ] - def __init__(self, IPAddress=''): + def __init__(self, reserve1='', IPAddress=''): super(QryAuthForbiddenIPField, self).__init__() + self.reserve1 = self._to_bytes(reserve1) self.IPAddress = self._to_bytes(IPAddress) @@ -11452,8 +11572,7 @@ class SyncDelaySwapFrozenField(Base): ('IsManualSwap', ctypes.c_int), # 是否手工换汇 ] - def __init__(self, DelaySwapSeqNo='', BrokerID='', InvestorID='', FromCurrencyID='', FromRemainSwap=0.0, - IsManualSwap=0): + def __init__(self, DelaySwapSeqNo='', BrokerID='', InvestorID='', FromCurrencyID='', FromRemainSwap=0.0, IsManualSwap=0): super(SyncDelaySwapFrozenField, self).__init__() self.DelaySwapSeqNo = self._to_bytes(DelaySwapSeqNo) self.BrokerID = self._to_bytes(BrokerID) @@ -11461,3 +11580,113 @@ def __init__(self, DelaySwapSeqNo='', BrokerID='', InvestorID='', FromCurrencyID self.FromCurrencyID = self._to_bytes(FromCurrencyID) self.FromRemainSwap = float(FromRemainSwap) self.IsManualSwap = int(IsManualSwap) + + +class UserSystemInfoField(Base): + """用户系统信息""" + _fields_ = [ + ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 + ('UserID', ctypes.c_char * 16), # 用户代码 + ('ClientSystemInfoLen', ctypes.c_int), # 用户端系统内部信息长度 + ('ClientSystemInfo', ctypes.c_char * 273), # 用户端系统内部信息 + ('reserve1', ctypes.c_char * 16), # 保留的无效字段 + ('ClientIPPort', ctypes.c_int), # 终端IP端口 + ('ClientLoginTime', ctypes.c_char * 9), # 登录成功时间 + ('ClientAppID', ctypes.c_char * 33), # App代码 + ('ClientPublicIP', ctypes.c_char * 33), # 用户公网IP + ] + + def __init__(self, BrokerID='', UserID='', ClientSystemInfoLen=0, ClientSystemInfo='', reserve1='', ClientIPPort=0, ClientLoginTime='', ClientAppID='', ClientPublicIP=''): + super(UserSystemInfoField, self).__init__() + self.BrokerID = self._to_bytes(BrokerID) + self.UserID = self._to_bytes(UserID) + self.ClientSystemInfoLen = int(ClientSystemInfoLen) + self.ClientSystemInfo = self._to_bytes(ClientSystemInfo) + self.reserve1 = self._to_bytes(reserve1) + self.ClientIPPort = int(ClientIPPort) + self.ClientLoginTime = self._to_bytes(ClientLoginTime) + self.ClientAppID = self._to_bytes(ClientAppID) + self.ClientPublicIP = self._to_bytes(ClientPublicIP) + + +class AuthUserIDField(Base): + """终端用户绑定信息""" + _fields_ = [ + ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 + ('AppID', ctypes.c_char * 33), # App代码 + ('UserID', ctypes.c_char * 16), # 用户代码 + ('AuthType', ctypes.c_char), # 校验类型 + ] + + def __init__(self, BrokerID='', AppID='', UserID='', AuthType=''): + super(AuthUserIDField, self).__init__() + self.BrokerID = self._to_bytes(BrokerID) + self.AppID = self._to_bytes(AppID) + self.UserID = self._to_bytes(UserID) + self.AuthType = self._to_bytes(AuthType) + + +class AuthIPField(Base): + """用户IP绑定信息""" + _fields_ = [ + ('BrokerID', ctypes.c_char * 11), # 经纪公司代码 + ('AppID', ctypes.c_char * 33), # App代码 + ('IPAddress', ctypes.c_char * 33), # 用户代码 + ] + + def __init__(self, BrokerID='', AppID='', IPAddress=''): + super(AuthIPField, self).__init__() + self.BrokerID = self._to_bytes(BrokerID) + self.AppID = self._to_bytes(AppID) + self.IPAddress = self._to_bytes(IPAddress) + + +class QryClassifiedInstrumentField(Base): + """查询分类合约""" + _fields_ = [ + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('ExchangeInstID', ctypes.c_char * 81), # 合约在交易所的代码 + ('ProductID', ctypes.c_char * 81), # 产品代码 + ('TradingType', ctypes.c_char), # 合约交易状态 + ('ClassType', ctypes.c_char), # 合约分类类型 + ] + + def __init__(self, InstrumentID='', ExchangeID='', ExchangeInstID='', ProductID='', TradingType='', ClassType=''): + super(QryClassifiedInstrumentField, self).__init__() + self.InstrumentID = self._to_bytes(InstrumentID) + self.ExchangeID = self._to_bytes(ExchangeID) + self.ExchangeInstID = self._to_bytes(ExchangeInstID) + self.ProductID = self._to_bytes(ProductID) + self.TradingType = self._to_bytes(TradingType) + self.ClassType = self._to_bytes(ClassType) + + +class QryCombPromotionParamField(Base): + """查询组合优惠比例""" + _fields_ = [ + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ] + + def __init__(self, ExchangeID='', InstrumentID=''): + super(QryCombPromotionParamField, self).__init__() + self.ExchangeID = self._to_bytes(ExchangeID) + self.InstrumentID = self._to_bytes(InstrumentID) + + +class CombPromotionParamField(Base): + """组合优惠比例""" + _fields_ = [ + ('ExchangeID', ctypes.c_char * 9), # 交易所代码 + ('InstrumentID', ctypes.c_char * 81), # 合约代码 + ('CombHedgeFlag', ctypes.c_char * 5), # 投机套保标志 + ('Xparameter', ctypes.c_double), # 期权组合保证金比例 + ] + + def __init__(self, ExchangeID='', InstrumentID='', CombHedgeFlag='', Xparameter=0.0): + super(CombPromotionParamField, self).__init__() + self.ExchangeID = self._to_bytes(ExchangeID) + self.InstrumentID = self._to_bytes(InstrumentID) + self.CombHedgeFlag = self._to_bytes(CombHedgeFlag) + self.Xparameter = float(Xparameter) diff --git a/ctpwrapper/Trader.py b/ctpwrapper/Trader.py index 2158be2..baefe35 100644 --- a/ctpwrapper/Trader.py +++ b/ctpwrapper/Trader.py @@ -21,32 +21,48 @@ from ctpwrapper.ApiStructure import ( FensUserInfoField, UserSystemInfoField, - ReqAuthenticateField, ReqGenUserCaptchaField, ReqGenUserTextField, - ReqQueryAccountField, ReqTransferField, QueryCFMMCTradingAccountTokenField, - QryBrokerTradingAlgosField, QryBrokerTradingParamsField, QryTradingNoticeField, - UserLogoutField, QryParkedOrderActionField, QryParkedOrderField, - QryContractBankField, QryAccountregisterField, QryTransferSerialField, QryCombActionField, - QryCombInstrumentGuardField, QryInvestUnitField, QryOptionSelfCloseField, QryQuoteField, - QryForQuoteField, QryExecOrderField, QryOptionInstrCommRateField, - QryOptionInstrTradeCostField, QrySecAgentTradeInfoField, QrySecAgentCheckModeField, - QryInstrumentOrderCommRateField, QryMMOptionInstrCommRateField, QryMMInstrumentCommissionRateField, - QryProductGroupField, QryProductExchRateField, QrySecAgentACIDMapField, + ReqAuthenticateField, ReqGenUserCaptchaField, + ReqGenUserTextField, ReqQueryAccountField, + ReqTransferField, QueryCFMMCTradingAccountTokenField, + QryBrokerTradingAlgosField, QryBrokerTradingParamsField, + QryTradingNoticeField, UserLogoutField, + QryParkedOrderActionField, QryParkedOrderField, + QryContractBankField, QryAccountregisterField, + QryTransferSerialField, QryCombActionField, + QryCombInstrumentGuardField, QryInvestUnitField, + QryOptionSelfCloseField, QryQuoteField, + QryForQuoteField, QryExecOrderField, + QryOptionInstrCommRateField, QryOptionInstrTradeCostField, + QrySecAgentTradeInfoField, QrySecAgentCheckModeField, + QryInstrumentOrderCommRateField, QryMMOptionInstrCommRateField, + QryMMInstrumentCommissionRateField, QryProductGroupField, + QryProductExchRateField, QrySecAgentACIDMapField, QryExchangeMarginRateAdjustField, ReqUserLoginField, - InputOrderField, ParkedOrderField, ParkedOrderActionField, - InputOrderActionField, QueryMaxOrderVolumeField, SettlementInfoConfirmField, RemoveParkedOrderField, - RemoveParkedOrderActionField, InputExecOrderField, InputExecOrderActionField, - InputForQuoteField, InputQuoteField, InputQuoteActionField, InputBatchOrderActionField, - InputOptionSelfCloseField, InputOptionSelfCloseActionField, InputCombActionField, - ReqUserLoginWithCaptchaField, ReqUserLoginWithTextField, - ReqUserLoginWithOTPField, UserPasswordUpdateField, TradingAccountPasswordUpdateField, - QryOrderField, QryTradeField, QryInvestorPositionField, QryTradingAccountField, + InputOrderField, ParkedOrderField, + ParkedOrderActionField, InputOrderActionField, + QryMaxOrderVolumeField, SettlementInfoConfirmField, + RemoveParkedOrderField, RemoveParkedOrderActionField, + InputExecOrderField, InputExecOrderActionField, + InputForQuoteField, InputQuoteField, + InputQuoteActionField, InputBatchOrderActionField, + InputOptionSelfCloseField, InputOptionSelfCloseActionField, + InputCombActionField, ReqUserLoginWithCaptchaField, + ReqUserLoginWithTextField, ReqUserLoginWithOTPField, + UserPasswordUpdateField, TradingAccountPasswordUpdateField, + QryOrderField, QryTradeField, + QryInvestorPositionField, QryTradingAccountField, QryInvestorField, QryTradingCodeField, - QryInstrumentCommissionRateField, QryExchangeField, QryProductField, - QryInstrumentField, QryDepthMarketDataField, QrySettlementInfoField, - QryTransferBankField, QryInvestorPositionDetailField, QryNoticeField, - QrySettlementInfoConfirmField, QryInvestorPositionCombineDetailField, QryCFMMCTradingAccountKeyField, - QryEWarrantOffsetField, QryInvestorProductGroupMarginField, QryExchangeMarginRateField, - QryExchangeRateField, QryInstrumentMarginRateField + QryInstrumentCommissionRateField, + QryExchangeField, QryProductField, + QryInstrumentField, QryDepthMarketDataField, + QrySettlementInfoField, QryTransferBankField, + QryInvestorPositionDetailField, QryNoticeField, + QrySettlementInfoConfirmField, QryInvestorPositionCombineDetailField, + QryCFMMCTradingAccountKeyField, QryEWarrantOffsetField, + QryInvestorProductGroupMarginField, QryExchangeMarginRateField, + QryExchangeRateField, QryInstrumentMarginRateField, + QryClassifiedInstrumentField, QryCombPromotionParamField + ) from ctpwrapper.TraderApi import TraderApiWrapper @@ -232,11 +248,11 @@ def ReqOrderAction(self, pInputOrderAction: "InputOrderActionField", nRequestID: """ return super(TraderApiPy, self).ReqOrderAction(pInputOrderAction, nRequestID) - def ReqQueryMaxOrderVolume(self, pQueryMaxOrderVolume: "QueryMaxOrderVolumeField", nRequestID: int) -> int: + def ReqQryMaxOrderVolume(self, pQryMaxOrderVolume: "QryMaxOrderVolumeField", nRequestID: int) -> int: """ 查询最大报单数量请求 """ - return super(TraderApiPy, self).ReqQueryMaxOrderVolume(pQueryMaxOrderVolume, nRequestID) + return super(TraderApiPy, self).ReqQryMaxOrderVolume(pQryMaxOrderVolume, nRequestID) def ReqSettlementInfoConfirm(self, pSettlementInfoConfirm: "SettlementInfoConfirmField", nRequestID: int) -> int: """ @@ -634,6 +650,18 @@ def ReqQrySecAgentTradeInfo(self, pQrySecAgentTradeInfo: "QrySecAgentTradeInfoFi """ return super(TraderApiPy, self).ReqQrySecAgentTradeInfo(pQrySecAgentTradeInfo, nRequestID) + def ReqQryClassifiedInstrument(self, pQryClassifiedInstrument: "QryClassifiedInstrumentField", nRequestID: int) -> int: + """ + 请求查询分类合约 + """ + return super(TraderApiPy, self).ReqQryClassifiedInstrument(pQryClassifiedInstrument, nRequestID) + + def ReqQryCombPromotionParam(self, pQryCombPromotionParam: "QryCombPromotionParamField", nRequestID: int) -> int: + """ + 请求组合优惠比例 + """ + return super(TraderApiPy, self).ReqQryCombPromotionParam(pQryCombPromotionParam, nRequestID) + def OnFrontConnected(self) -> None: pass @@ -689,7 +717,7 @@ def OnRspOrderAction(self, pInputOrderAction, pRspInfo, nRequestID, bIsLast) -> pass # 查询最大报单数量响应 - def OnRspQueryMaxOrderVolume(self, pQueryMaxOrderVolume, pRspInfo, nRequestID, bIsLast) -> None: + def OnRspQryMaxOrderVolume(self, pQryMaxOrderVolume, pRspInfo, nRequestID, bIsLast) -> None: pass # 投资者结算结果确认响应 @@ -1139,3 +1167,11 @@ def OnRspGenUserText(self, pRspGenUserText, pRspInfo, nRequestID, bIsLast) -> No # 请求查询二级代理商信息响应 def OnRspQrySecAgentTradeInfo(self, pSecAgentTradeInfo, pRspInfo, nRequestID, bIsLast) -> None: pass + + # 请求查询分类合约响应 + def OnRspQryClassifiedInstrument(self, pInstrument, pRspInfo, nRequestID, bIsLast) -> None: + pass + + # 请求组合优惠比例响应 + def OnRspQryCombPromotionParam(self, pCombPromotionParam, pRspInfo, nRequestID, bIsLast) -> None: + pass diff --git a/ctpwrapper/TraderApi.pyx b/ctpwrapper/TraderApi.pyx index 82b8ae9..48c009f 100644 --- a/ctpwrapper/TraderApi.pyx +++ b/ctpwrapper/TraderApi.pyx @@ -151,7 +151,7 @@ cdef class TraderApiWrapper: result = self._api.SubmitUserSystemInfo( address) return result - #用户登录请求 + # 用户登录请求 def ReqUserLogin(self, pReqUserLoginField, int nRequestID): cdef int result cdef size_t address @@ -160,7 +160,8 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqUserLogin( address, nRequestID) return result - #登出请求 + + # 登出请求 def ReqUserLogout(self, pUserLogout, int nRequestID): cdef int result cdef size_t address @@ -170,7 +171,7 @@ cdef class TraderApiWrapper: result = self._api.ReqUserLogout( address, nRequestID) return result - #用户口令更新请求 + # 用户口令更新请求 def ReqUserPasswordUpdate(self, pUserPasswordUpdate, int nRequestID): cdef int result cdef size_t address @@ -180,7 +181,7 @@ cdef class TraderApiWrapper: result = self._api.ReqUserPasswordUpdate( address, nRequestID) return result - #资金账户口令更新请求 + # 资金账户口令更新请求 def ReqTradingAccountPasswordUpdate(self, pTradingAccountPasswordUpdate, int nRequestID): cdef int result cdef size_t address @@ -209,6 +210,7 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqGenUserCaptcha( address, nRequestID) return result + # 用户发出获取短信验证码请求 def ReqGenUserText(self, pReqGenUserText, int nRequestID): cdef int result @@ -218,6 +220,7 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqGenUserText( address, nRequestID) return result + # 用户发出带有图片验证码的登陆请求 def ReqUserLoginWithCaptcha(self, pReqUserLoginWithCaptcha, int nRequestID): cdef int result @@ -227,6 +230,7 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqUserLoginWithCaptcha( address, nRequestID) return result + # 用户发出带有短信验证码的登陆请求 def ReqUserLoginWithText(self, pReqUserLoginWithText, int nRequestID): cdef int result @@ -236,6 +240,7 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqUserLoginWithText( address, nRequestID) return result + # 用户发出带有动态口令的登陆请求 def ReqUserLoginWithOTP(self, pReqUserLoginWithOTP, int nRequestID): cdef int result @@ -246,7 +251,7 @@ cdef class TraderApiWrapper: result = self._api.ReqUserLoginWithOTP( address, nRequestID) return result - #报单录入请求 + # 报单录入请求 def ReqOrderInsert(self, pInputOrder, int nRequestID): cdef int result cdef size_t address @@ -256,7 +261,7 @@ cdef class TraderApiWrapper: result = self._api.ReqOrderInsert( address, nRequestID) return result - #预埋单录入请求 + # 预埋单录入请求 def ReqParkedOrderInsert(self, pParkedOrder, int nRequestID): cdef int result cdef size_t address @@ -265,7 +270,8 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqParkedOrderInsert( address, nRequestID) return result - #预埋撤单录入请求 + + # 预埋撤单录入请求 def ReqParkedOrderAction(self, pParkedOrderAction, int nRequestID): cdef int result cdef size_t address @@ -274,7 +280,8 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqParkedOrderAction( address, nRequestID) return result - #报单操作请求 + + # 报单操作请求 def ReqOrderAction(self, pInputOrderAction, int nRequestID): cdef int result cdef size_t address @@ -283,16 +290,18 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqOrderAction( address, nRequestID) return result + #查询最大报单数量请求 - def ReqQueryMaxOrderVolume(self, pQueryMaxOrderVolume, int nRequestID): + def ReqQryMaxOrderVolume(self, pQryMaxOrderVolume, int nRequestID): cdef int result cdef size_t address if self._spi is not NULL: - address = ctypes.addressof(pQueryMaxOrderVolume) + address = ctypes.addressof(pQryMaxOrderVolume) with nogil: - result = self._api.ReqQueryMaxOrderVolume( address, nRequestID) + result = self._api.ReqQryMaxOrderVolume( address, nRequestID) return result - #投资者结算结果确认 + + # 投资者结算结果确认 def ReqSettlementInfoConfirm(self, pSettlementInfoConfirm, int nRequestID): cdef int result cdef size_t address @@ -301,7 +310,8 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqSettlementInfoConfirm( address, nRequestID) return result - #请求删除预埋单 + + # 请求删除预埋单 def ReqRemoveParkedOrder(self, pRemoveParkedOrder, int nRequestID): cdef int result cdef size_t address @@ -310,7 +320,8 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqRemoveParkedOrder( address, nRequestID) return result - #请求删除预埋撤单 + + # 请求删除预埋撤单 def ReqRemoveParkedOrderAction(self, pRemoveParkedOrderAction, int nRequestID): cdef int result cdef size_t address @@ -319,6 +330,7 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqRemoveParkedOrderAction( address, nRequestID) return result + #执行宣告录入请求 def ReqExecOrderInsert(self, pInputExecOrder, int nRequestID): cdef int result @@ -328,6 +340,7 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqExecOrderInsert( address, nRequestID) return result + #执行宣告操作请求 def ReqExecOrderAction(self, pInputExecOrderAction, int nRequestID): cdef int result @@ -337,6 +350,7 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqExecOrderAction( address, nRequestID) return result + #询价录入请求 def ReqForQuoteInsert(self, pInputForQuote, int nRequestID): cdef int result @@ -346,6 +360,7 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqForQuoteInsert( address, nRequestID) return result + #报价录入请求 def ReqQuoteInsert(self, pInputQuote, int nRequestID): cdef int result @@ -355,6 +370,7 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqQuoteInsert( address, nRequestID) return result + #报价操作请求 def ReqQuoteAction(self, pInputQuoteAction, int nRequestID): cdef int result @@ -364,6 +380,7 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqQuoteAction( address, nRequestID) return result + #批量报单操作请求 def ReqBatchOrderAction(self, pInputBatchOrderAction, int nRequestID): cdef int result @@ -403,7 +420,7 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqCombActionInsert( address, nRequestID) return result - #请求查询报单 + # 请求查询报单 def ReqQryOrder(self, pQryOrder, int nRequestID): cdef int result cdef size_t address @@ -412,7 +429,7 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqQryOrder( address, nRequestID) return result - #请求查询成交 + # 请求查询成交 def ReqQryTrade(self, pQryTrade, int nRequestID): cdef int result cdef size_t address @@ -421,7 +438,7 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqQryTrade( address, nRequestID) return result - #请求查询投资者持仓 + # 请求查询投资者持仓 def ReqQryInvestorPosition(self, pQryInvestorPosition, int nRequestID): cdef int result cdef size_t address @@ -430,7 +447,7 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqQryInvestorPosition( address, nRequestID) return result - #请求查询资金账户 + # 请求查询资金账户 def ReqQryTradingAccount(self, pQryTradingAccount, int nRequestID): cdef int result cdef size_t address @@ -439,7 +456,7 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqQryTradingAccount( address, nRequestID) return result - #请求查询投资者 + # 请求查询投资者 def ReqQryInvestor(self, pQryInvestor, int nRequestID): cdef int result cdef size_t address @@ -448,7 +465,7 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqQryInvestor( address, nRequestID) return result - #请求查询交易编码 + # 请求查询交易编码 def ReqQryTradingCode(self, pQryTradingCode, int nRequestID): cdef int result cdef size_t address @@ -457,7 +474,7 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqQryTradingCode( address, nRequestID) return result - #请求查询合约保证金率 + # 请求查询合约保证金率 def ReqQryInstrumentMarginRate(self, pQryInstrumentMarginRate, int nRequestID): cdef int result cdef size_t address @@ -466,7 +483,7 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqQryInstrumentMarginRate( address, nRequestID) return result - #请求查询合约手续费率 + # 请求查询合约手续费率 def ReqQryInstrumentCommissionRate(self, pQryInstrumentCommissionRate, int nRequestID): cdef int result cdef size_t address @@ -475,7 +492,7 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqQryInstrumentCommissionRate( address, nRequestID) return result - #请求查询交易所 + # 请求查询交易所 def ReqQryExchange(self, pQryExchange, int nRequestID): cdef int result cdef size_t address @@ -484,7 +501,7 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqQryExchange( address, nRequestID) return result - #请求查询产品 + # 请求查询产品 def ReqQryProduct(self, pQryProduct, int nRequestID): cdef int result cdef size_t address @@ -493,7 +510,7 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqQryProduct( address, nRequestID) return result - #请求查询合约 + # 请求查询合约 def ReqQryInstrument(self, pQryInstrument, int nRequestID): cdef int result cdef size_t address @@ -502,7 +519,7 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqQryInstrument( address, nRequestID) return result - #请求查询行情 + # 请求查询行情 def ReqQryDepthMarketData(self, pQryDepthMarketData, int nRequestID): cdef int result cdef size_t address @@ -511,7 +528,7 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqQryDepthMarketData( address, nRequestID) return result - #请求查询投资者结算结果 + # 请求查询投资者结算结果 def ReqQrySettlementInfo(self, pQrySettlementInfo, int nRequestID): cdef int result cdef size_t address @@ -520,7 +537,7 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqQrySettlementInfo( address, nRequestID) return result - #请求查询转帐银行 + # 请求查询转帐银行 def ReqQryTransferBank(self, pQryTransferBank, int nRequestID): cdef int result cdef size_t address @@ -530,7 +547,7 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqQryTransferBank( address, nRequestID) return result - #请求查询投资者持仓明细 + # 请求查询投资者持仓明细 def ReqQryInvestorPositionDetail(self, pQryInvestorPositionDetail, int nRequestID): cdef int result cdef size_t address @@ -539,7 +556,7 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqQryInvestorPositionDetail( address, nRequestID) return result - #请求查询客户通知 + # 请求查询客户通知 def ReqQryNotice(self, pQryNotice, int nRequestID): cdef int result cdef size_t address @@ -548,7 +565,7 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqQryNotice( address, nRequestID) return result - #请求查询结算信息确认 + # 请求查询结算信息确认 def ReqQrySettlementInfoConfirm(self, pQrySettlementInfoConfirm, int nRequestID): cdef int result cdef size_t address @@ -557,7 +574,7 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqQrySettlementInfoConfirm( address, nRequestID) return result - #请求查询投资者持仓明细 + # 请求查询投资者持仓明细 def ReqQryInvestorPositionCombineDetail(self, pQryInvestorPositionCombineDetail, int nRequestID): cdef int result cdef size_t address @@ -566,7 +583,7 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqQryInvestorPositionCombineDetail( address, nRequestID) return result - #请求查询保证金监管系统经纪公司资金账户密钥 + # 请求查询保证金监管系统经纪公司资金账户密钥 def ReqQryCFMMCTradingAccountKey(self, pQryCFMMCTradingAccountKey, int nRequestID): cdef int result cdef size_t address @@ -575,7 +592,7 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqQryCFMMCTradingAccountKey( address, nRequestID) return result - #请求查询仓单折抵信息 + # 请求查询仓单折抵信息 def ReqQryEWarrantOffset(self, pQryEWarrantOffset, int nRequestID): cdef int result cdef size_t address @@ -584,7 +601,7 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqQryEWarrantOffset( address, nRequestID) return result - #请求查询投资者品种/跨品种保证金 + # 请求查询投资者品种/跨品种保证金 def ReqQryInvestorProductGroupMargin(self, pQryInvestorProductGroupMargin, int nRequestID): cdef int result cdef size_t address @@ -593,7 +610,7 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqQryInvestorProductGroupMargin( address, nRequestID) return result - #请求查询交易所保证金率 + # 请求查询交易所保证金率 def ReqQryExchangeMarginRate(self, pQryExchangeMarginRate, int nRequestID): cdef int result cdef size_t address @@ -603,7 +620,8 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqQryExchangeMarginRate( address, nRequestID) return result - #请求查询交易所调整保证金率 + + # 请求查询交易所调整保证金率 def ReqQryExchangeMarginRateAdjust(self, pQryExchangeMarginRateAdjust, int nRequestID): cdef int result cdef size_t address @@ -612,7 +630,7 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqQryExchangeMarginRateAdjust( address, nRequestID) return result - #请求查询汇率 + # 请求查询汇率 def ReqQryExchangeRate(self, pQryExchangeRate, int nRequestID): cdef int result cdef size_t address @@ -622,7 +640,7 @@ cdef class TraderApiWrapper: result = self._api.ReqQryExchangeRate( address, nRequestID) return result - #请求查询二级代理操作员银期权限 + # 请求查询二级代理操作员银期权限 def ReqQrySecAgentACIDMap(self, pQrySecAgentACIDMap, int nRequestID): cdef int result cdef size_t address @@ -632,7 +650,7 @@ cdef class TraderApiWrapper: result = self._api.ReqQrySecAgentACIDMap( address, nRequestID) return result - #请求查询产品报价汇率 + # 请求查询产品报价汇率 def ReqQryProductExchRate(self, pQryProductExchRate, int nRequestID): cdef int result cdef size_t address @@ -642,7 +660,7 @@ cdef class TraderApiWrapper: result = self._api.ReqQryProductExchRate( address, nRequestID) return result - #请求查询产品组 + # 请求查询产品组 def ReqQryProductGroup(self, pQryProductGroup, int nRequestID): cdef int result cdef size_t address @@ -652,7 +670,7 @@ cdef class TraderApiWrapper: result = self._api.ReqQryProductGroup( address, nRequestID) return result - #请求查询做市商合约手续费率 + # 请求查询做市商合约手续费率 def ReqQryMMInstrumentCommissionRate(self, pQryMMInstrumentCommissionRate, int nRequestID): cdef int result cdef size_t address @@ -662,7 +680,7 @@ cdef class TraderApiWrapper: result = self._api.ReqQryMMInstrumentCommissionRate( address, nRequestID) return result - #请求查询做市商期权合约手续费 + # 请求查询做市商期权合约手续费 def ReqQryMMOptionInstrCommRate(self, pQryMMOptionInstrCommRate, int nRequestID): cdef int result cdef size_t address @@ -672,7 +690,7 @@ cdef class TraderApiWrapper: result = self._api.ReqQryMMOptionInstrCommRate( address, nRequestID) return result - #请求查询报单手续费 + # 请求查询报单手续费 def ReqQryInstrumentOrderCommRate(self, pQryInstrumentOrderCommRate, int nRequestID): cdef int result cdef size_t address @@ -682,7 +700,7 @@ cdef class TraderApiWrapper: result = self._api.ReqQryInstrumentOrderCommRate( address, nRequestID) return result - #请求查询资金账户 + # 请求查询资金账户 def ReqQrySecAgentTradingAccount(self, pQryTradingAccount, int nRequestID): cdef int result @@ -693,7 +711,7 @@ cdef class TraderApiWrapper: result = self._api.ReqQrySecAgentTradingAccount( address, nRequestID) return result - #请求查询二级代理商资金校验模式 + # 请求查询二级代理商资金校验模式 def ReqQrySecAgentCheckMode(self, pQrySecAgentCheckMode, int nRequestID): cdef int result @@ -704,7 +722,7 @@ cdef class TraderApiWrapper: result = self._api.ReqQrySecAgentCheckMode( address, nRequestID) return result - #请求查询期权交易成本 + # 请求查询期权交易成本 def ReqQryOptionInstrTradeCost(self, pQryOptionInstrTradeCost, int nRequestID): cdef int result cdef size_t address @@ -713,7 +731,8 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqQryOptionInstrTradeCost( address, nRequestID) return result - #请求查询期权合约手续费 + + # 请求查询期权合约手续费 def ReqQryOptionInstrCommRate(self, pQryOptionInstrCommRate, int nRequestID): cdef int result cdef size_t address @@ -722,7 +741,8 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqQryOptionInstrCommRate( address, nRequestID) return result - #请求查询执行宣告 + + # 请求查询执行宣告 def ReqQryExecOrder(self, pQryExecOrder, int nRequestID): cdef int result cdef size_t address @@ -731,7 +751,8 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqQryExecOrder( address, nRequestID) return result - #请求查询询价 + + # 请求查询询价 def ReqQryForQuote(self, pQryForQuote, int nRequestID): cdef int result cdef size_t address @@ -740,7 +761,8 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqQryForQuote( address, nRequestID) return result - #请求查询报价 + + # 请求查询报价 def ReqQryQuote(self, pQryQuote, int nRequestID): cdef int result cdef size_t address @@ -750,7 +772,7 @@ cdef class TraderApiWrapper: result = self._api.ReqQryQuote( address, nRequestID) return result - #请求查询期权自对冲 + # 请求查询期权自对冲 def ReqQryOptionSelfClose(self, pQryOptionSelfClose, int nRequestID): cdef int result cdef size_t address @@ -759,7 +781,8 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqQryOptionSelfClose( address, nRequestID) return result - #请求查询投资单元 + + # 请求查询投资单元 def ReqQryInvestUnit(self, pQryInvestUnit, int nRequestID): cdef int result cdef size_t address @@ -768,7 +791,8 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqQryInvestUnit( address, nRequestID) return result - #请求查询组合合约安全系数 + + # 请求查询组合合约安全系数 def ReqQryCombInstrumentGuard(self, pQryCombInstrumentGuard, int nRequestID): cdef int result cdef size_t address @@ -777,7 +801,8 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqQryCombInstrumentGuard( address, nRequestID) return result - #请求查询申请组合 + + # 请求查询申请组合 def ReqQryCombAction(self, pQryCombAction, int nRequestID): cdef int result cdef size_t address @@ -786,7 +811,8 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqQryCombAction( address, nRequestID) return result - #请求查询转帐流水 + + # 请求查询转帐流水 def ReqQryTransferSerial(self, pQryTransferSerial, int nRequestID): cdef int result cdef size_t address @@ -795,7 +821,8 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqQryTransferSerial( address, nRequestID) return result - #请求查询银期签约关系 + + # 请求查询银期签约关系 def ReqQryAccountregister(self, pQryAccountregister, int nRequestID): cdef int result cdef size_t address @@ -804,7 +831,8 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqQryAccountregister( address, nRequestID) return result - #请求查询签约银行 + + # 请求查询签约银行 def ReqQryContractBank(self, pQryContractBank, int nRequestID): cdef int result cdef size_t address @@ -813,7 +841,8 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqQryContractBank( address, nRequestID) return result - #请求查询预埋单 + + # 请求查询预埋单 def ReqQryParkedOrder(self, pQryParkedOrder, int nRequestID): cdef int result cdef size_t address @@ -822,7 +851,8 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqQryParkedOrder( address, nRequestID) return result - #请求查询预埋撤单 + + # 请求查询预埋撤单 def ReqQryParkedOrderAction(self, pQryParkedOrderAction, int nRequestID): cdef int result cdef size_t address @@ -831,7 +861,8 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqQryParkedOrderAction( address, nRequestID) return result - #请求查询交易通知 + + # 请求查询交易通知 def ReqQryTradingNotice(self, pQryTradingNotice, int nRequestID): cdef int result cdef size_t address @@ -840,7 +871,8 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqQryTradingNotice( address, nRequestID) return result - #请求查询经纪公司交易参数 + + # 请求查询经纪公司交易参数 def ReqQryBrokerTradingParams(self, pQryBrokerTradingParams, int nRequestID): cdef int result cdef size_t address @@ -849,7 +881,8 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqQryBrokerTradingParams( address, nRequestID) return result - #请求查询经纪公司交易算法 + + # 请求查询经纪公司交易算法 def ReqQryBrokerTradingAlgos(self, pQryBrokerTradingAlgos, int nRequestID): cdef int result cdef size_t address @@ -858,7 +891,8 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqQryBrokerTradingAlgos( address, nRequestID) return result - #请求查询监控中心用户令牌 + + # 请求查询监控中心用户令牌 def ReqQueryCFMMCTradingAccountToken(self, pQueryCFMMCTradingAccountToken, int nRequestID): cdef int result cdef size_t address @@ -867,7 +901,8 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqQueryCFMMCTradingAccountToken( address, nRequestID) return result - #期货发起银行资金转期货请求 + + # 期货发起银行资金转期货请求 def ReqFromBankToFutureByFuture(self, pReqTransfer, int nRequestID): cdef int result cdef size_t address @@ -876,7 +911,8 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqFromBankToFutureByFuture( address, nRequestID) return result - #期货发起期货资金转银行请求 + + # 期货发起期货资金转银行请求 def ReqFromFutureToBankByFuture(self, pReqTransfer, int nRequestID): cdef int result cdef size_t address @@ -885,7 +921,8 @@ cdef class TraderApiWrapper: with nogil: result = self._api.ReqFromFutureToBankByFuture( address, nRequestID) return result - #期货发起查询银行余额请求 + + # 期货发起查询银行余额请求 def ReqQueryBankAccountMoneyByFuture(self, pReqQueryAccount, int nRequestID): cdef int result @@ -905,6 +942,24 @@ cdef class TraderApiWrapper: result = self._api.ReqQrySecAgentTradeInfo( address, nRequestID) return result + # 请求查询分类合约 + def ReqQryClassifiedInstrument(self, pQryClassifiedInstrument, int nRequestID): + cdef size_t address + if self._spi is not NULL: + address = ctypes.addressof(pQryClassifiedInstrument) + with nogil: + result = self._api.ReqQryClassifiedInstrument( address, nRequestID) + return result + + # 请求组合优惠比例 + def ReqQryCombPromotionParam(self, pQryCombPromotionParam, int nRequestID): + cdef size_t address + if self._spi is not NULL: + address = ctypes.addressof(pQryCombPromotionParam) + with nogil: + result = self._api.ReqQryCombPromotionParam( address, nRequestID) + return result + cdef extern int TraderSpi_OnFrontConnected(self) except -1: self.OnFrontConnected() return 0 @@ -1034,13 +1089,13 @@ cdef extern int TraderSpi_OnRspOrderAction(self, ) return 0 -cdef extern int TraderSpi_OnRspQueryMaxOrderVolume(self, - CThostFtdcQueryMaxOrderVolumeField *pQueryMaxOrderVolume, - CThostFtdcRspInfoField *pRspInfo, - int nRequestID, - cbool bIsLast) except -1: - self.OnRspQueryMaxOrderVolume( - None if pQueryMaxOrderVolume is NULL else ApiStructure.QueryMaxOrderVolumeField.from_address( pQueryMaxOrderVolume), +cdef extern int TraderSpi_OnRspQryMaxOrderVolume(self, + CThostFtdcQryMaxOrderVolumeField *pQueryMaxOrderVolume, + CThostFtdcRspInfoField *pRspInfo, + int nRequestID, + cbool bIsLast) except -1: + self.OnRspQryMaxOrderVolume( + None if pQueryMaxOrderVolume is NULL else ApiStructure.QryMaxOrderVolumeField.from_address( pQueryMaxOrderVolume), None if pRspInfo is NULL else ApiStructure.RspInfoField.from_address( pRspInfo), nRequestID, bIsLast @@ -2037,6 +2092,7 @@ cdef extern int TraderSpi_OnRtnBulletin(self, CThostFtdcBulletinField *pBulletin None if pBulletin is NULL else ApiStructure.BulletinField.from_address( pBulletin) ) return 0 + cdef extern int TraderSpi_OnRspQryInstrumentOrderCommRate(self, CThostFtdcInstrumentOrderCommRateField *pInstrumentOrderCommRate, CThostFtdcRspInfoField *pRspInfo, @@ -2049,6 +2105,7 @@ cdef extern int TraderSpi_OnRspQryInstrumentOrderCommRate(self, bIsLast ) return 0 + cdef extern int TraderSpi_OnRspQryMMOptionInstrCommRate(self, CThostFtdcMMOptionInstrCommRateField *pMMOptionInstrCommRate, CThostFtdcRspInfoField *pRspInfo, @@ -2061,6 +2118,7 @@ cdef extern int TraderSpi_OnRspQryMMOptionInstrCommRate(self, bIsLast ) return 0 + cdef extern int TraderSpi_OnRspBatchOrderAction(self, CThostFtdcInputBatchOrderActionField *pInputBatchOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, @@ -2072,6 +2130,7 @@ cdef extern int TraderSpi_OnRspBatchOrderAction(self, CThostFtdcInputBatchOrderA bIsLast ) return 0 + cdef extern int TraderSpi_OnRspQryMMInstrumentCommissionRate(self, CThostFtdcMMInstrumentCommissionRateField *pMMInstrumentCommissionRate, CThostFtdcRspInfoField *pRspInfo, @@ -2097,7 +2156,7 @@ cdef extern int TraderSpi_OnRspQryProductGroup(self, ) return 0 - #期权自对冲录入请求响应 +# 期权自对冲录入请求响应 cdef extern int TraderSpi_OnRspOptionSelfCloseInsert(self, CThostFtdcInputOptionSelfCloseField *pInputOptionSelfClose, CThostFtdcRspInfoField *pRspInfo, @@ -2111,7 +2170,7 @@ cdef extern int TraderSpi_OnRspOptionSelfCloseInsert(self, ) return 0 - #期权自对冲操作请求响应 +# 期权自对冲操作请求响应 cdef extern int TraderSpi_OnRspOptionSelfCloseAction(self, CThostFtdcInputOptionSelfCloseActionField *pInputOptionSelfCloseAction, CThostFtdcRspInfoField *pRspInfo, @@ -2125,7 +2184,7 @@ cdef extern int TraderSpi_OnRspOptionSelfCloseAction(self, ) return 0 -#请求查询资金账户响应 +# 请求查询资金账户响应 cdef extern int TraderSpi_OnRspQrySecAgentTradingAccount(self, CThostFtdcTradingAccountField *pTradingAccount, CThostFtdcRspInfoField *pRspInfo, @@ -2139,7 +2198,7 @@ cdef extern int TraderSpi_OnRspQrySecAgentTradingAccount(self, ) return 0 -#请求查询二级代理商资金校验模式响应 +# 请求查询二级代理商资金校验模式响应 cdef extern int TraderSpi_OnRspQrySecAgentCheckMode(self, CThostFtdcSecAgentCheckModeField *pSecAgentCheckMode, CThostFtdcRspInfoField *pRspInfo, @@ -2153,7 +2212,7 @@ cdef extern int TraderSpi_OnRspQrySecAgentCheckMode(self, ) return 0 - #请求查询期权自对冲响应 +# 请求查询期权自对冲响应 cdef extern int TraderSpi_OnRspQryOptionSelfClose(self, CThostFtdcOptionSelfCloseField *pOptionSelfClose, CThostFtdcRspInfoField *pRspInfo, @@ -2167,7 +2226,7 @@ cdef extern int TraderSpi_OnRspQryOptionSelfClose(self, ) return 0 - #请求查询投资单元响应 +# 请求查询投资单元响应 cdef extern int TraderSpi_OnRspQryInvestUnit(self, CThostFtdcInvestUnitField *pInvestUnit, CThostFtdcRspInfoField *pRspInfo, @@ -2181,13 +2240,14 @@ cdef extern int TraderSpi_OnRspQryInvestUnit(self, ) return 0 - #期权自对冲通知 +# 期权自对冲通知 cdef extern int TraderSpi_OnRtnOptionSelfClose(self, CThostFtdcOptionSelfCloseField *pOptionSelfClose) except -1: self.OnRtnOptionSelfClose( None if pOptionSelfClose is NULL else ApiStructure.OptionSelfCloseField.from_address( pOptionSelfClose) ) return 0 - #期权自对冲录入错误回报 + +# 期权自对冲录入错误回报 cdef extern int TraderSpi_OnErrRtnOptionSelfCloseInsert(self, CThostFtdcInputOptionSelfCloseField *pInputOptionSelfClose, CThostFtdcRspInfoField *pRspInfo) except -1: @@ -2196,7 +2256,8 @@ cdef extern int TraderSpi_OnErrRtnOptionSelfCloseInsert(self, None if pRspInfo is NULL else ApiStructure.RspInfoField.from_address( pRspInfo), ) return 0 - #期权自对冲操作错误回报 + +# 期权自对冲操作错误回报 cdef extern int TraderSpi_OnErrRtnOptionSelfCloseAction(self, CThostFtdcOptionSelfCloseActionField *pOptionSelfCloseAction, CThostFtdcRspInfoField *pRspInfo) except -1: @@ -2219,6 +2280,7 @@ cdef extern int TraderSpi_OnRspUserAuthMethod(self, bIsLast ) return 0 + # 获取图形验证码请求的回复 cdef extern int TraderSpi_OnRspGenUserCaptcha(self, CThostFtdcRspGenUserCaptchaField *pRspGenUserCaptcha, @@ -2232,6 +2294,7 @@ cdef extern int TraderSpi_OnRspGenUserCaptcha(self, bIsLast ) return 0 + # 获取短信验证码请求的回复 cdef extern int TraderSpi_OnRspGenUserText(self, CThostFtdcRspGenUserTextField *pRspGenUserText, @@ -2246,7 +2309,7 @@ cdef extern int TraderSpi_OnRspGenUserText(self, ) return 0 -#请求查询二级代理商信息响应 +# 请求查询二级代理商信息响应 cdef extern int TraderSpi_OnRspQrySecAgentTradeInfo(self, CThostFtdcSecAgentTradeInfoField *pSecAgentTradeInfo, CThostFtdcRspInfoField *pRspInfo, @@ -2259,3 +2322,31 @@ cdef extern int TraderSpi_OnRspQrySecAgentTradeInfo(self, bIsLast ) return 0 + +# 请求查询分类合约响应 +cdef extern int TraderSpi_OnRspQryClassifiedInstrument(self, + CThostFtdcInstrumentField *pInstrument, + CThostFtdcRspInfoField *pRspInfo, + int nRequestID, + cbool bIsLast) except -1: + self.OnRspQryClassifiedInstrument( + None if pInstrument is NULL else ApiStructure.InstrumentField.from_address( pInstrument), + None if pRspInfo is NULL else ApiStructure.RspInfoField.from_address( pRspInfo), + nRequestID, + bIsLast + ) + return 0 + +# 请求组合优惠比例响应 +cdef extern int TraderSpi_OnRspQryCombPromotionParam(self, + CThostFtdcCombPromotionParamField *pCombPromotionParam, + CThostFtdcRspInfoField *pRspInfo, + int nRequestID, + cbool bIsLast) except -1: + self.OnRspQryClassifiedInstrument( + None if pCombPromotionParam is NULL else ApiStructure.CombPromotionParamField.from_address( pCombPromotionParam), + None if pRspInfo is NULL else ApiStructure.RspInfoField.from_address( pRspInfo), + nRequestID, + bIsLast + ) + return 0 diff --git a/ctpwrapper/__init__.py b/ctpwrapper/__init__.py index d4625a9..6b781f5 100644 --- a/ctpwrapper/__init__.py +++ b/ctpwrapper/__init__.py @@ -16,8 +16,8 @@ along with ctpwrapper. If not, see . """ -__version__ = "6.3.19.2" -__date__ = "2020-01-06" +__version__ = "6.5.1.0" +__date__ = "2020-09-08" from ctpwrapper.Md import MdApiPy from ctpwrapper.Trader import TraderApiPy diff --git a/ctpwrapper/cppheader/CTraderAPI.h b/ctpwrapper/cppheader/CTraderAPI.h index 5aae100..6493858 100644 --- a/ctpwrapper/cppheader/CTraderAPI.h +++ b/ctpwrapper/cppheader/CTraderAPI.h @@ -47,7 +47,7 @@ static inline int TraderSpi_OnRspParkedOrderAction(PyObject *, CThostFtdcParkedO static inline int TraderSpi_OnRspOrderAction(PyObject *, CThostFtdcInputOrderActionField *, CThostFtdcRspInfoField *, int, bool); -static inline int TraderSpi_OnRspQueryMaxOrderVolume(PyObject *, CThostFtdcQueryMaxOrderVolumeField *, CThostFtdcRspInfoField *, int, bool); +static inline int TraderSpi_OnRspQryMaxOrderVolume(PyObject *, CThostFtdcQryMaxOrderVolumeField *, CThostFtdcRspInfoField *, int, bool); static inline int TraderSpi_OnRspSettlementInfoConfirm(PyObject *, CThostFtdcSettlementInfoConfirmField *, CThostFtdcRspInfoField *, int, bool); @@ -276,6 +276,10 @@ static inline int TraderSpi_OnRspGenUserCaptcha(PyObject *, CThostFtdcRspGenUser ///获取短信验证码请求的回复 static inline int TraderSpi_OnRspGenUserText(PyObject *, CThostFtdcRspGenUserTextField *, CThostFtdcRspInfoField *, int, bool); +static inline int TraderSpi_OnRspQryClassifiedInstrument(PyObject *, CThostFtdcInstrumentField *, CThostFtdcRspInfoField *, int, bool); + +///请求组合优惠比例响应 +static inline int TraderSpi_OnRspQryCombPromotionParam(PyObject *, CThostFtdcCombPromotionParamField *, CThostFtdcRspInfoField *, int, bool); #define Python_GIL(func) \ do { \ @@ -361,8 +365,8 @@ class CTraderSpi : public CThostFtdcTraderSpi { }; ///查询最大报单数量响应 - virtual void OnRspQueryMaxOrderVolume(CThostFtdcQueryMaxOrderVolumeField *pQueryMaxOrderVolume, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { - Python_GIL(TraderSpi_OnRspQueryMaxOrderVolume(self, pQueryMaxOrderVolume, pRspInfo, nRequestID, bIsLast)); + virtual void OnRspQryMaxOrderVolume(CThostFtdcQryMaxOrderVolumeField *pQryMaxOrderVolume, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { + Python_GIL(TraderSpi_OnRspQryMaxOrderVolume(self, pQryMaxOrderVolume, pRspInfo, nRequestID, bIsLast)); }; ///投资者结算结果确认响应 @@ -939,6 +943,18 @@ class CTraderSpi : public CThostFtdcTraderSpi { Python_GIL(TraderSpi_OnRspGenUserText(self, pRspGenUserText, pRspInfo, nRequestID, bIsLast)); }; + ///请求查询分类合约响应 + virtual void OnRspQryClassifiedInstrument(CThostFtdcInstrumentField *pInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { + Python_GIL(TraderSpi_OnRspQryClassifiedInstrument(self, pInstrument, pRspInfo, nRequestID, bIsLast)); + }; + + ///请求组合优惠比例响应 + virtual void OnRspQryCombPromotionParam(CThostFtdcCombPromotionParamField *pCombPromotionParam, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { + Python_GIL(TraderSpi_OnRspQryCombPromotionParam(self, pCombPromotionParam, pRspInfo, nRequestID, bIsLast)); + }; + + + private: PyObject *self; diff --git a/ctpwrapper/headers/ThostFtdcUserApiDataType.pxd b/ctpwrapper/headers/ThostFtdcUserApiDataType.pxd index 6d20c14..857794b 100644 --- a/ctpwrapper/headers/ThostFtdcUserApiDataType.pxd +++ b/ctpwrapper/headers/ThostFtdcUserApiDataType.pxd @@ -27,13 +27,15 @@ cdef extern from 'ThostFtdcUserApiDataType.h': ctypedef char TThostFtdcBrokerIDType[11] ctypedef char TThostFtdcBrokerAbbrType[9] ctypedef char TThostFtdcBrokerNameType[81] - ctypedef char TThostFtdcExchangeInstIDType[31] + ctypedef char TThostFtdcOldExchangeInstIDType[31] + ctypedef char TThostFtdcExchangeInstIDType[81] ctypedef char TThostFtdcOrderRefType[13] ctypedef char TThostFtdcParticipantIDType[11] ctypedef char TThostFtdcUserIDType[16] ctypedef char TThostFtdcPasswordType[41] ctypedef char TThostFtdcClientIDType[11] - ctypedef char TThostFtdcInstrumentIDType[31] + ctypedef char TThostFtdcInstrumentIDType[81] + ctypedef char TThostFtdcOldInstrumentIDType[31] ctypedef char TThostFtdcInstrumentCodeType[31] ctypedef char TThostFtdcMarketIDType[31] ctypedef char TThostFtdcProductNameType[21] @@ -52,7 +54,8 @@ cdef extern from 'ThostFtdcUserApiDataType.h': ctypedef char TThostFtdcOrderSysIDType[21] ctypedef char TThostFtdcTradeIDType[21] ctypedef char TThostFtdcCommandTypeType[65] - ctypedef char TThostFtdcIPAddressType[16] + ctypedef char TThostFtdcOldIPAddressType[16] + ctypedef char TThostFtdcIPAddressType[33] ctypedef int TThostFtdcIPPortType ctypedef char TThostFtdcProductInfoType[11] ctypedef char TThostFtdcProtocolInfoType[11] @@ -119,6 +122,7 @@ cdef extern from 'ThostFtdcUserApiDataType.h': ctypedef int TThostFtdcSequenceNoType ctypedef int TThostFtdcCommandNoType ctypedef int TThostFtdcMillisecType + ctypedef int TThostFtdcSecType ctypedef int TThostFtdcVolumeMultipleType ctypedef int TThostFtdcTradingSegmentSNType ctypedef int TThostFtdcRequestIDType @@ -803,3 +807,7 @@ cdef extern from 'ThostFtdcUserApiDataType.h': ctypedef char TThostFtdcOTCTraderIDType[31] ctypedef double TThostFtdcRiskValueType ctypedef char TThostFtdcIDBNameType[100] + ctypedef double TThostFtdcDiscountRatioType + ctypedef char TThostFtdcAuthTypeType + ctypedef char TThostFtdcClassTypeType + ctypedef char TThostFtdcTradingTypeType diff --git a/ctpwrapper/headers/ThostFtdcUserApiStruct.pxd b/ctpwrapper/headers/ThostFtdcUserApiStruct.pxd index eff785c..c07078e 100644 --- a/ctpwrapper/headers/ThostFtdcUserApiStruct.pxd +++ b/ctpwrapper/headers/ThostFtdcUserApiStruct.pxd @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with ctpwrapper. If not, see . """ -from ctpwrapper.headers.ThostFtdcUserApiDataType cimport * +from .ThostFtdcUserApiDataType cimport * cdef extern from 'ThostFtdcUserApiStruct.h': cdef struct CThostFtdcDisseminationField: @@ -33,9 +33,10 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcProtocolInfoType ProtocolInfo TThostFtdcMacAddressType MacAddress TThostFtdcPasswordType OneTimePassword - TThostFtdcIPAddressType ClientIPAddress + TThostFtdcOldIPAddressType reserve1 TThostFtdcLoginRemarkType LoginRemark TThostFtdcIPPortType ClientIPPort + TThostFtdcIPAddressType ClientIPAddress cdef struct CThostFtdcRspUserLoginField: TThostFtdcDateType TradingDay TThostFtdcTimeType LoginTime @@ -76,6 +77,7 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcBoolType IsResult TThostFtdcAppIDType AppID TThostFtdcAppTypeType AppType + TThostFtdcOldIPAddressType reserve1 TThostFtdcIPAddressType ClientIPAddress cdef struct CThostFtdcRspUserLogin2Field: TThostFtdcDateType TradingDay @@ -172,7 +174,7 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcExchangeNameType ExchangeName TThostFtdcExchangePropertyType ExchangeProperty cdef struct CThostFtdcProductField: - TThostFtdcInstrumentIDType ProductID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcProductNameType ProductName TThostFtdcExchangeIDType ExchangeID TThostFtdcProductClassType ProductClass @@ -187,14 +189,16 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcCloseDealTypeType CloseDealType TThostFtdcCurrencyIDType TradeCurrencyID TThostFtdcMortgageFundUseRangeType MortgageFundUseRange - TThostFtdcInstrumentIDType ExchangeProductID + TThostFtdcOldInstrumentIDType reserve2 TThostFtdcUnderlyingMultipleType UnderlyingMultiple + TThostFtdcInstrumentIDType ProductID + TThostFtdcInstrumentIDType ExchangeProductID cdef struct CThostFtdcInstrumentField: - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcExchangeIDType ExchangeID TThostFtdcInstrumentNameType InstrumentName - TThostFtdcExchangeInstIDType ExchangeInstID - TThostFtdcInstrumentIDType ProductID + TThostFtdcOldExchangeInstIDType reserve2 + TThostFtdcOldInstrumentIDType reserve3 TThostFtdcProductClassType ProductClass TThostFtdcYearType DeliveryYear TThostFtdcMonthType DeliveryMonth @@ -216,11 +220,15 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcRatioType LongMarginRatio TThostFtdcRatioType ShortMarginRatio TThostFtdcMaxMarginSideAlgorithmType MaxMarginSideAlgorithm - TThostFtdcInstrumentIDType UnderlyingInstrID + TThostFtdcOldInstrumentIDType reserve4 TThostFtdcPriceType StrikePrice TThostFtdcOptionsTypeType OptionsType TThostFtdcUnderlyingMultipleType UnderlyingMultiple TThostFtdcCombinationTypeType CombinationType + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcInstrumentIDType ProductID + TThostFtdcInstrumentIDType UnderlyingInstrID cdef struct CThostFtdcBrokerField: TThostFtdcBrokerIDType BrokerID TThostFtdcBrokerAbbrType BrokerAbbr @@ -325,7 +333,7 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcMoneyType FrozenSwap TThostFtdcMoneyType RemainSwap cdef struct CThostFtdcInvestorPositionField: - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID TThostFtdcPosiDirectionType PosiDirection @@ -374,8 +382,9 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcMoneyType PositionCostOffset TThostFtdcVolumeType TasPosition TThostFtdcMoneyType TasPositionCost - cdef struct CThostFtdcInstrumentMarginRateField: TThostFtdcInstrumentIDType InstrumentID + cdef struct CThostFtdcInstrumentMarginRateField: + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcInvestorRangeType InvestorRange TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID @@ -387,8 +396,9 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcBoolType IsRelative TThostFtdcExchangeIDType ExchangeID TThostFtdcInvestUnitIDType InvestUnitID - cdef struct CThostFtdcInstrumentCommissionRateField: TThostFtdcInstrumentIDType InstrumentID + cdef struct CThostFtdcInstrumentCommissionRateField: + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcInvestorRangeType InvestorRange TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID @@ -401,11 +411,12 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcExchangeIDType ExchangeID TThostFtdcBizTypeType BizType TThostFtdcInvestUnitIDType InvestUnitID + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcDepthMarketDataField: TThostFtdcDateType TradingDay - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcExchangeIDType ExchangeID - TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcOldExchangeInstIDType reserve2 TThostFtdcPriceType LastPrice TThostFtdcPriceType PreSettlementPrice TThostFtdcPriceType PreClosePrice @@ -446,12 +457,15 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcVolumeType AskVolume5 TThostFtdcPriceType AveragePrice TThostFtdcDateType ActionDay - cdef struct CThostFtdcInstrumentTradingRightField: TThostFtdcInstrumentIDType InstrumentID + TThostFtdcExchangeInstIDType ExchangeInstID + cdef struct CThostFtdcInstrumentTradingRightField: + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcInvestorRangeType InvestorRange TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID TThostFtdcTradingRightType TradingRight + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcBrokerUserField: TThostFtdcBrokerIDType BrokerID TThostFtdcUserIDType UserID @@ -502,7 +516,7 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcAccountIDType AccountID TThostFtdcCurrencyIDType CurrencyID cdef struct CThostFtdcInstrumentMarginRateAdjustField: - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcInvestorRangeType InvestorRange TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID @@ -512,18 +526,20 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcRatioType ShortMarginRatioByMoney TThostFtdcMoneyType ShortMarginRatioByVolume TThostFtdcBoolType IsRelative + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcExchangeMarginRateField: TThostFtdcBrokerIDType BrokerID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcHedgeFlagType HedgeFlag TThostFtdcRatioType LongMarginRatioByMoney TThostFtdcMoneyType LongMarginRatioByVolume TThostFtdcRatioType ShortMarginRatioByMoney TThostFtdcMoneyType ShortMarginRatioByVolume TThostFtdcExchangeIDType ExchangeID + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcExchangeMarginRateAdjustField: TThostFtdcBrokerIDType BrokerID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcHedgeFlagType HedgeFlag TThostFtdcRatioType LongMarginRatioByMoney TThostFtdcMoneyType LongMarginRatioByVolume @@ -537,6 +553,7 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcMoneyType NoLongMarginRatioByVolume TThostFtdcRatioType NoShortMarginRatioByMoney TThostFtdcMoneyType NoShortMarginRatioByVolume + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcExchangeRateField: TThostFtdcBrokerIDType BrokerID TThostFtdcCurrencyIDType FromCurrencyID @@ -562,7 +579,7 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcUserIDType UserID TThostFtdcDateType LoginDate TThostFtdcTimeType LoginTime - TThostFtdcIPAddressType IPAddress + TThostFtdcOldIPAddressType reserve1 TThostFtdcProductInfoType UserProductInfo TThostFtdcProductInfoType InterfaceProductInfo TThostFtdcProtocolInfoType ProtocolInfo @@ -579,6 +596,7 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcBoolType IsQryControl TThostFtdcLoginRemarkType LoginRemark TThostFtdcPasswordType Password + TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcLogoutAllField: TThostFtdcFrontIDType FrontID TThostFtdcSessionIDType SessionID @@ -596,7 +614,7 @@ cdef extern from 'ThostFtdcUserApiStruct.h': cdef struct CThostFtdcInputOrderField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcOrderRefType OrderRef TThostFtdcUserIDType UserID TThostFtdcOrderPriceTypeType OrderPriceType @@ -622,12 +640,14 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcAccountIDType AccountID TThostFtdcCurrencyIDType CurrencyID TThostFtdcClientIDType ClientID - TThostFtdcIPAddressType IPAddress + TThostFtdcOldIPAddressType reserve2 TThostFtdcMacAddressType MacAddress + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcOrderField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcOrderRefType OrderRef TThostFtdcUserIDType UserID TThostFtdcOrderPriceTypeType OrderPriceType @@ -650,7 +670,7 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcExchangeIDType ExchangeID TThostFtdcParticipantIDType ParticipantID TThostFtdcClientIDType ClientID - TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcOldExchangeInstIDType reserve2 TThostFtdcTraderIDType TraderID TThostFtdcInstallIDType InstallID TThostFtdcOrderSubmitStatusType OrderSubmitStatus @@ -686,8 +706,11 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcInvestUnitIDType InvestUnitID TThostFtdcAccountIDType AccountID TThostFtdcCurrencyIDType CurrencyID - TThostFtdcIPAddressType IPAddress + TThostFtdcOldIPAddressType reserve3 TThostFtdcMacAddressType MacAddress + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcExchangeOrderField: TThostFtdcOrderPriceTypeType OrderPriceType TThostFtdcDirectionType Direction @@ -709,7 +732,7 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcExchangeIDType ExchangeID TThostFtdcParticipantIDType ParticipantID TThostFtdcClientIDType ClientID - TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcOldExchangeInstIDType reserve1 TThostFtdcTraderIDType TraderID TThostFtdcInstallIDType InstallID TThostFtdcOrderSubmitStatusType OrderSubmitStatus @@ -732,8 +755,10 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcParticipantIDType ClearingPartID TThostFtdcSequenceNoType SequenceNo TThostFtdcBranchIDType BranchID - TThostFtdcIPAddressType IPAddress + TThostFtdcOldIPAddressType reserve2 TThostFtdcMacAddressType MacAddress + TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcExchangeOrderInsertErrorField: TThostFtdcExchangeIDType ExchangeID TThostFtdcParticipantIDType ParticipantID @@ -756,10 +781,12 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcPriceType LimitPrice TThostFtdcVolumeType VolumeChange TThostFtdcUserIDType UserID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcInvestUnitIDType InvestUnitID - TThostFtdcIPAddressType IPAddress + TThostFtdcOldIPAddressType reserve2 TThostFtdcMacAddressType MacAddress + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcOrderActionField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID @@ -785,11 +812,13 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcOrderActionStatusType OrderActionStatus TThostFtdcUserIDType UserID TThostFtdcErrorMsgType StatusMsg - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcBranchIDType BranchID TThostFtdcInvestUnitIDType InvestUnitID - TThostFtdcIPAddressType IPAddress + TThostFtdcOldIPAddressType reserve2 TThostFtdcMacAddressType MacAddress + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcExchangeOrderActionField: TThostFtdcExchangeIDType ExchangeID TThostFtdcOrderSysIDType OrderSysID @@ -808,8 +837,9 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcOrderActionStatusType OrderActionStatus TThostFtdcUserIDType UserID TThostFtdcBranchIDType BranchID - TThostFtdcIPAddressType IPAddress + TThostFtdcOldIPAddressType reserve1 TThostFtdcMacAddressType MacAddress + TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcExchangeOrderActionErrorField: TThostFtdcExchangeIDType ExchangeID TThostFtdcOrderSysIDType OrderSysID @@ -827,7 +857,7 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcParticipantIDType ParticipantID TThostFtdcClientIDType ClientID TThostFtdcTradingRoleType TradingRole - TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcOldExchangeInstIDType reserve1 TThostFtdcOffsetFlagType OffsetFlag TThostFtdcHedgeFlagType HedgeFlag TThostFtdcPriceType Price @@ -842,10 +872,11 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcBusinessUnitType BusinessUnit TThostFtdcSequenceNoType SequenceNo TThostFtdcTradeSourceType TradeSource + TThostFtdcExchangeInstIDType ExchangeInstID cdef struct CThostFtdcTradeField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcOrderRefType OrderRef TThostFtdcUserIDType UserID TThostFtdcExchangeIDType ExchangeID @@ -855,7 +886,7 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcParticipantIDType ParticipantID TThostFtdcClientIDType ClientID TThostFtdcTradingRoleType TradingRole - TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcOldExchangeInstIDType reserve2 TThostFtdcOffsetFlagType OffsetFlag TThostFtdcHedgeFlagType HedgeFlag TThostFtdcPriceType Price @@ -874,6 +905,8 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcSequenceNoType BrokerOrderSeq TThostFtdcTradeSourceType TradeSource TThostFtdcInvestUnitIDType InvestUnitID + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcExchangeInstIDType ExchangeInstID cdef struct CThostFtdcUserSessionField: TThostFtdcFrontIDType FrontID TThostFtdcSessionIDType SessionID @@ -881,22 +914,24 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcUserIDType UserID TThostFtdcDateType LoginDate TThostFtdcTimeType LoginTime - TThostFtdcIPAddressType IPAddress + TThostFtdcOldIPAddressType reserve1 TThostFtdcProductInfoType UserProductInfo TThostFtdcProductInfoType InterfaceProductInfo TThostFtdcProtocolInfoType ProtocolInfo TThostFtdcMacAddressType MacAddress TThostFtdcLoginRemarkType LoginRemark - cdef struct CThostFtdcQueryMaxOrderVolumeField: + TThostFtdcIPAddressType IPAddress + cdef struct CThostFtdcQryMaxOrderVolumeField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcDirectionType Direction TThostFtdcOffsetFlagType OffsetFlag TThostFtdcHedgeFlagType HedgeFlag TThostFtdcVolumeType MaxVolume TThostFtdcExchangeIDType ExchangeID TThostFtdcInvestUnitIDType InvestUnitID + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcSettlementInfoConfirmField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID @@ -996,7 +1031,7 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcMoneyType FrozenSwap TThostFtdcMoneyType RemainSwap cdef struct CThostFtdcSyncingInvestorPositionField: - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID TThostFtdcPosiDirectionType PosiDirection @@ -1045,8 +1080,9 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcMoneyType PositionCostOffset TThostFtdcVolumeType TasPosition TThostFtdcMoneyType TasPositionCost - cdef struct CThostFtdcSyncingInstrumentMarginRateField: TThostFtdcInstrumentIDType InstrumentID + cdef struct CThostFtdcSyncingInstrumentMarginRateField: + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcInvestorRangeType InvestorRange TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID @@ -1056,8 +1092,9 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcRatioType ShortMarginRatioByMoney TThostFtdcMoneyType ShortMarginRatioByVolume TThostFtdcBoolType IsRelative - cdef struct CThostFtdcSyncingInstrumentCommissionRateField: TThostFtdcInstrumentIDType InstrumentID + cdef struct CThostFtdcSyncingInstrumentCommissionRateField: + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcInvestorRangeType InvestorRange TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID @@ -1067,36 +1104,41 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcRatioType CloseRatioByVolume TThostFtdcRatioType CloseTodayRatioByMoney TThostFtdcRatioType CloseTodayRatioByVolume - cdef struct CThostFtdcSyncingInstrumentTradingRightField: TThostFtdcInstrumentIDType InstrumentID + cdef struct CThostFtdcSyncingInstrumentTradingRightField: + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcInvestorRangeType InvestorRange TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID TThostFtdcTradingRightType TradingRight + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcQryOrderField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcExchangeIDType ExchangeID TThostFtdcOrderSysIDType OrderSysID TThostFtdcTimeType InsertTimeStart TThostFtdcTimeType InsertTimeEnd TThostFtdcInvestUnitIDType InvestUnitID + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcQryTradeField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcExchangeIDType ExchangeID TThostFtdcTradeIDType TradeID TThostFtdcTimeType TradeTimeStart TThostFtdcTimeType TradeTimeEnd TThostFtdcInvestUnitIDType InvestUnitID + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcQryInvestorPositionField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcExchangeIDType ExchangeID TThostFtdcInvestUnitIDType InvestUnitID + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcQryTradingAccountField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID @@ -1118,19 +1160,22 @@ cdef extern from 'ThostFtdcUserApiStruct.h': cdef struct CThostFtdcQryInstrumentMarginRateField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcHedgeFlagType HedgeFlag TThostFtdcExchangeIDType ExchangeID TThostFtdcInvestUnitIDType InvestUnitID + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcQryInstrumentCommissionRateField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcExchangeIDType ExchangeID TThostFtdcInvestUnitIDType InvestUnitID + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcQryInstrumentTradingRightField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcQryBrokerField: TThostFtdcBrokerIDType BrokerID @@ -1154,9 +1199,10 @@ cdef extern from 'ThostFtdcUserApiStruct.h': cdef struct CThostFtdcQryExchangeOrderField: TThostFtdcParticipantIDType ParticipantID TThostFtdcClientIDType ClientID - TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcOldExchangeInstIDType reserve1 TThostFtdcExchangeIDType ExchangeID TThostFtdcTraderIDType TraderID + TThostFtdcExchangeInstIDType ExchangeInstID cdef struct CThostFtdcQryOrderActionField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID @@ -1171,17 +1217,22 @@ cdef extern from 'ThostFtdcUserApiStruct.h': cdef struct CThostFtdcQryExchangeField: TThostFtdcExchangeIDType ExchangeID cdef struct CThostFtdcQryProductField: - TThostFtdcInstrumentIDType ProductID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcProductClassType ProductClass TThostFtdcExchangeIDType ExchangeID + TThostFtdcInstrumentIDType ProductID cdef struct CThostFtdcQryInstrumentField: - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcExchangeIDType ExchangeID + TThostFtdcOldExchangeInstIDType reserve2 + TThostFtdcOldInstrumentIDType reserve3 + TThostFtdcInstrumentIDType InstrumentID TThostFtdcExchangeInstIDType ExchangeInstID TThostFtdcInstrumentIDType ProductID cdef struct CThostFtdcQryDepthMarketDataField: - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcExchangeIDType ExchangeID + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcQryBrokerUserField: TThostFtdcBrokerIDType BrokerID TThostFtdcUserIDType UserID @@ -1203,13 +1254,15 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcCurrencyIDType CurrencyID cdef struct CThostFtdcQryExchangeMarginRateField: TThostFtdcBrokerIDType BrokerID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcHedgeFlagType HedgeFlag TThostFtdcExchangeIDType ExchangeID + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcQryExchangeMarginRateAdjustField: TThostFtdcBrokerIDType BrokerID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcHedgeFlagType HedgeFlag + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcQryExchangeRateField: TThostFtdcBrokerIDType BrokerID TThostFtdcCurrencyIDType FromCurrencyID @@ -1220,23 +1273,25 @@ cdef extern from 'ThostFtdcUserApiStruct.h': cdef struct CThostFtdcQryHisOrderField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcExchangeIDType ExchangeID TThostFtdcOrderSysIDType OrderSysID TThostFtdcTimeType InsertTimeStart TThostFtdcTimeType InsertTimeEnd TThostFtdcDateType TradingDay TThostFtdcSettlementIDType SettlementID - cdef struct CThostFtdcOptionInstrMiniMarginField: TThostFtdcInstrumentIDType InstrumentID + cdef struct CThostFtdcOptionInstrMiniMarginField: + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcInvestorRangeType InvestorRange TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID TThostFtdcMoneyType MinMargin TThostFtdcValueMethodType ValueMethod TThostFtdcBoolType IsRelative - cdef struct CThostFtdcOptionInstrMarginAdjustField: TThostFtdcInstrumentIDType InstrumentID + cdef struct CThostFtdcOptionInstrMarginAdjustField: + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcInvestorRangeType InvestorRange TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID @@ -1249,8 +1304,9 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcBoolType IsRelative TThostFtdcRatioType MShortMarginRatioByMoney TThostFtdcMoneyType MShortMarginRatioByVolume - cdef struct CThostFtdcOptionInstrCommRateField: TThostFtdcInstrumentIDType InstrumentID + cdef struct CThostFtdcOptionInstrCommRateField: + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcInvestorRangeType InvestorRange TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID @@ -1264,10 +1320,11 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcRatioType StrikeRatioByVolume TThostFtdcExchangeIDType ExchangeID TThostFtdcInvestUnitIDType InvestUnitID + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcOptionInstrTradeCostField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcHedgeFlagType HedgeFlag TThostFtdcMoneyType FixedMargin TThostFtdcMoneyType MiniMargin @@ -1276,29 +1333,33 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcMoneyType ExchMiniMargin TThostFtdcExchangeIDType ExchangeID TThostFtdcInvestUnitIDType InvestUnitID + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcQryOptionInstrTradeCostField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcHedgeFlagType HedgeFlag TThostFtdcPriceType InputPrice TThostFtdcPriceType UnderlyingPrice TThostFtdcExchangeIDType ExchangeID TThostFtdcInvestUnitIDType InvestUnitID + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcQryOptionInstrCommRateField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcExchangeIDType ExchangeID TThostFtdcInvestUnitIDType InvestUnitID + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcIndexPriceField: TThostFtdcBrokerIDType BrokerID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcPriceType ClosePrice + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcInputExecOrderField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcOrderRefType ExecOrderRef TThostFtdcUserIDType UserID TThostFtdcVolumeType Volume @@ -1315,8 +1376,10 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcAccountIDType AccountID TThostFtdcCurrencyIDType CurrencyID TThostFtdcClientIDType ClientID - TThostFtdcIPAddressType IPAddress + TThostFtdcOldIPAddressType reserve2 TThostFtdcMacAddressType MacAddress + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcInputExecOrderActionField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID @@ -1329,14 +1392,16 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcExecOrderSysIDType ExecOrderSysID TThostFtdcActionFlagType ActionFlag TThostFtdcUserIDType UserID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcInvestUnitIDType InvestUnitID - TThostFtdcIPAddressType IPAddress + TThostFtdcOldIPAddressType reserve2 TThostFtdcMacAddressType MacAddress + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcExecOrderField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcOrderRefType ExecOrderRef TThostFtdcUserIDType UserID TThostFtdcVolumeType Volume @@ -1352,7 +1417,7 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcExchangeIDType ExchangeID TThostFtdcParticipantIDType ParticipantID TThostFtdcClientIDType ClientID - TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcOldExchangeInstIDType reserve2 TThostFtdcTraderIDType TraderID TThostFtdcInstallIDType InstallID TThostFtdcOrderSubmitStatusType OrderSubmitStatus @@ -1376,8 +1441,11 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcInvestUnitIDType InvestUnitID TThostFtdcAccountIDType AccountID TThostFtdcCurrencyIDType CurrencyID - TThostFtdcIPAddressType IPAddress + TThostFtdcOldIPAddressType reserve3 TThostFtdcMacAddressType MacAddress + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcExecOrderActionField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID @@ -1402,19 +1470,22 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcUserIDType UserID TThostFtdcActionTypeType ActionType TThostFtdcErrorMsgType StatusMsg - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcBranchIDType BranchID TThostFtdcInvestUnitIDType InvestUnitID - TThostFtdcIPAddressType IPAddress + TThostFtdcOldIPAddressType reserve2 TThostFtdcMacAddressType MacAddress + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcQryExecOrderField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcExchangeIDType ExchangeID TThostFtdcExecOrderSysIDType ExecOrderSysID TThostFtdcTimeType InsertTimeStart TThostFtdcTimeType InsertTimeEnd + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcExchangeExecOrderField: TThostFtdcVolumeType Volume TThostFtdcRequestIDType RequestID @@ -1429,7 +1500,7 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcExchangeIDType ExchangeID TThostFtdcParticipantIDType ParticipantID TThostFtdcClientIDType ClientID - TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcOldExchangeInstIDType reserve1 TThostFtdcTraderIDType TraderID TThostFtdcInstallIDType InstallID TThostFtdcOrderSubmitStatusType OrderSubmitStatus @@ -1444,14 +1515,17 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcParticipantIDType ClearingPartID TThostFtdcSequenceNoType SequenceNo TThostFtdcBranchIDType BranchID - TThostFtdcIPAddressType IPAddress + TThostFtdcOldIPAddressType reserve2 TThostFtdcMacAddressType MacAddress + TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcQryExchangeExecOrderField: TThostFtdcParticipantIDType ParticipantID TThostFtdcClientIDType ClientID - TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcOldExchangeInstIDType reserve1 TThostFtdcExchangeIDType ExchangeID TThostFtdcTraderIDType TraderID + TThostFtdcExchangeInstIDType ExchangeInstID cdef struct CThostFtdcQryExecOrderActionField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID @@ -1473,10 +1547,12 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcUserIDType UserID TThostFtdcActionTypeType ActionType TThostFtdcBranchIDType BranchID - TThostFtdcIPAddressType IPAddress + TThostFtdcOldIPAddressType reserve1 TThostFtdcMacAddressType MacAddress - TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcOldExchangeInstIDType reserve2 TThostFtdcVolumeType Volume + TThostFtdcIPAddressType IPAddress + TThostFtdcExchangeInstIDType ExchangeInstID cdef struct CThostFtdcQryExchangeExecOrderActionField: TThostFtdcParticipantIDType ParticipantID TThostFtdcClientIDType ClientID @@ -1485,7 +1561,7 @@ cdef extern from 'ThostFtdcUserApiStruct.h': cdef struct CThostFtdcErrExecOrderField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcOrderRefType ExecOrderRef TThostFtdcUserIDType UserID TThostFtdcVolumeType Volume @@ -1502,10 +1578,12 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcAccountIDType AccountID TThostFtdcCurrencyIDType CurrencyID TThostFtdcClientIDType ClientID - TThostFtdcIPAddressType IPAddress + TThostFtdcOldIPAddressType reserve2 TThostFtdcMacAddressType MacAddress TThostFtdcErrorIDType ErrorID TThostFtdcErrorMsgType ErrorMsg + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcQryErrExecOrderField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID @@ -1521,48 +1599,54 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcExecOrderSysIDType ExecOrderSysID TThostFtdcActionFlagType ActionFlag TThostFtdcUserIDType UserID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcInvestUnitIDType InvestUnitID - TThostFtdcIPAddressType IPAddress + TThostFtdcOldIPAddressType reserve2 TThostFtdcMacAddressType MacAddress TThostFtdcErrorIDType ErrorID TThostFtdcErrorMsgType ErrorMsg + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcQryErrExecOrderActionField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID cdef struct CThostFtdcOptionInstrTradingRightField: - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcInvestorRangeType InvestorRange TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID TThostFtdcDirectionType Direction TThostFtdcTradingRightType TradingRight + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcQryOptionInstrTradingRightField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcDirectionType Direction + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcInputForQuoteField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcOrderRefType ForQuoteRef TThostFtdcUserIDType UserID TThostFtdcExchangeIDType ExchangeID TThostFtdcInvestUnitIDType InvestUnitID - TThostFtdcIPAddressType IPAddress + TThostFtdcOldIPAddressType reserve2 TThostFtdcMacAddressType MacAddress + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcForQuoteField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcOrderRefType ForQuoteRef TThostFtdcUserIDType UserID TThostFtdcOrderLocalIDType ForQuoteLocalID TThostFtdcExchangeIDType ExchangeID TThostFtdcParticipantIDType ParticipantID TThostFtdcClientIDType ClientID - TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcOldExchangeInstIDType reserve2 TThostFtdcTraderIDType TraderID TThostFtdcInstallIDType InstallID TThostFtdcDateType InsertDate @@ -1574,39 +1658,46 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcUserIDType ActiveUserID TThostFtdcSequenceNoType BrokerForQutoSeq TThostFtdcInvestUnitIDType InvestUnitID - TThostFtdcIPAddressType IPAddress + TThostFtdcOldIPAddressType reserve3 TThostFtdcMacAddressType MacAddress + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcQryForQuoteField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcExchangeIDType ExchangeID TThostFtdcTimeType InsertTimeStart TThostFtdcTimeType InsertTimeEnd TThostFtdcInvestUnitIDType InvestUnitID + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcExchangeForQuoteField: TThostFtdcOrderLocalIDType ForQuoteLocalID TThostFtdcExchangeIDType ExchangeID TThostFtdcParticipantIDType ParticipantID TThostFtdcClientIDType ClientID - TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcOldExchangeInstIDType reserve1 TThostFtdcTraderIDType TraderID TThostFtdcInstallIDType InstallID TThostFtdcDateType InsertDate TThostFtdcTimeType InsertTime TThostFtdcForQuoteStatusType ForQuoteStatus - TThostFtdcIPAddressType IPAddress + TThostFtdcOldIPAddressType reserve2 TThostFtdcMacAddressType MacAddress + TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcQryExchangeForQuoteField: TThostFtdcParticipantIDType ParticipantID TThostFtdcClientIDType ClientID - TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcOldExchangeInstIDType reserve1 TThostFtdcExchangeIDType ExchangeID TThostFtdcTraderIDType TraderID + TThostFtdcExchangeInstIDType ExchangeInstID cdef struct CThostFtdcInputQuoteField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcOrderRefType QuoteRef TThostFtdcUserIDType UserID TThostFtdcPriceType AskPrice @@ -1625,8 +1716,10 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcExchangeIDType ExchangeID TThostFtdcInvestUnitIDType InvestUnitID TThostFtdcClientIDType ClientID - TThostFtdcIPAddressType IPAddress + TThostFtdcOldIPAddressType reserve2 TThostFtdcMacAddressType MacAddress + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcInputQuoteActionField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID @@ -1639,15 +1732,17 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcOrderSysIDType QuoteSysID TThostFtdcActionFlagType ActionFlag TThostFtdcUserIDType UserID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcInvestUnitIDType InvestUnitID TThostFtdcClientIDType ClientID - TThostFtdcIPAddressType IPAddress + TThostFtdcOldIPAddressType reserve2 TThostFtdcMacAddressType MacAddress + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcQuoteField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcOrderRefType QuoteRef TThostFtdcUserIDType UserID TThostFtdcPriceType AskPrice @@ -1664,7 +1759,7 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcExchangeIDType ExchangeID TThostFtdcParticipantIDType ParticipantID TThostFtdcClientIDType ClientID - TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcOldExchangeInstIDType reserve2 TThostFtdcTraderIDType TraderID TThostFtdcInstallIDType InstallID TThostFtdcSequenceNoType NotifySequence @@ -1693,8 +1788,11 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcInvestUnitIDType InvestUnitID TThostFtdcAccountIDType AccountID TThostFtdcCurrencyIDType CurrencyID - TThostFtdcIPAddressType IPAddress + TThostFtdcOldIPAddressType reserve3 TThostFtdcMacAddressType MacAddress + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcQuoteActionField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID @@ -1718,20 +1816,23 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcOrderActionStatusType OrderActionStatus TThostFtdcUserIDType UserID TThostFtdcErrorMsgType StatusMsg - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcBranchIDType BranchID TThostFtdcInvestUnitIDType InvestUnitID - TThostFtdcIPAddressType IPAddress + TThostFtdcOldIPAddressType reserve2 TThostFtdcMacAddressType MacAddress + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcQryQuoteField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcExchangeIDType ExchangeID TThostFtdcOrderSysIDType QuoteSysID TThostFtdcTimeType InsertTimeStart TThostFtdcTimeType InsertTimeEnd TThostFtdcInvestUnitIDType InvestUnitID + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcExchangeQuoteField: TThostFtdcPriceType AskPrice TThostFtdcPriceType BidPrice @@ -1747,7 +1848,7 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcExchangeIDType ExchangeID TThostFtdcParticipantIDType ParticipantID TThostFtdcClientIDType ClientID - TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcOldExchangeInstIDType reserve1 TThostFtdcTraderIDType TraderID TThostFtdcInstallIDType InstallID TThostFtdcSequenceNoType NotifySequence @@ -1765,14 +1866,17 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcOrderSysIDType BidOrderSysID TThostFtdcOrderSysIDType ForQuoteSysID TThostFtdcBranchIDType BranchID - TThostFtdcIPAddressType IPAddress + TThostFtdcOldIPAddressType reserve2 TThostFtdcMacAddressType MacAddress + TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcQryExchangeQuoteField: TThostFtdcParticipantIDType ParticipantID TThostFtdcClientIDType ClientID - TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcOldExchangeInstIDType reserve1 TThostFtdcExchangeIDType ExchangeID TThostFtdcTraderIDType TraderID + TThostFtdcExchangeInstIDType ExchangeInstID cdef struct CThostFtdcQryQuoteActionField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID @@ -1792,36 +1896,41 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcBusinessUnitType BusinessUnit TThostFtdcOrderActionStatusType OrderActionStatus TThostFtdcUserIDType UserID - TThostFtdcIPAddressType IPAddress + TThostFtdcOldIPAddressType reserve1 TThostFtdcMacAddressType MacAddress + TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcQryExchangeQuoteActionField: TThostFtdcParticipantIDType ParticipantID TThostFtdcClientIDType ClientID TThostFtdcExchangeIDType ExchangeID TThostFtdcTraderIDType TraderID cdef struct CThostFtdcOptionInstrDeltaField: - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcInvestorRangeType InvestorRange TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID TThostFtdcRatioType Delta + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcForQuoteRspField: TThostFtdcDateType TradingDay - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcOrderSysIDType ForQuoteSysID TThostFtdcTimeType ForQuoteTime TThostFtdcDateType ActionDay TThostFtdcExchangeIDType ExchangeID - cdef struct CThostFtdcStrikeOffsetField: TThostFtdcInstrumentIDType InstrumentID + cdef struct CThostFtdcStrikeOffsetField: + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcInvestorRangeType InvestorRange TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID TThostFtdcMoneyType Offset TThostFtdcStrikeOffsetTypeType OffsetType + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcQryStrikeOffsetField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcInputBatchOrderActionField: TThostFtdcBrokerIDType BrokerID @@ -1833,8 +1942,9 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcExchangeIDType ExchangeID TThostFtdcUserIDType UserID TThostFtdcInvestUnitIDType InvestUnitID - TThostFtdcIPAddressType IPAddress + TThostFtdcOldIPAddressType reserve1 TThostFtdcMacAddressType MacAddress + TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcBatchOrderActionField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID @@ -1855,8 +1965,9 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcUserIDType UserID TThostFtdcErrorMsgType StatusMsg TThostFtdcInvestUnitIDType InvestUnitID - TThostFtdcIPAddressType IPAddress + TThostFtdcOldIPAddressType reserve1 TThostFtdcMacAddressType MacAddress + TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcExchangeBatchOrderActionField: TThostFtdcExchangeIDType ExchangeID TThostFtdcDateType ActionDate @@ -1869,25 +1980,28 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcBusinessUnitType BusinessUnit TThostFtdcOrderActionStatusType OrderActionStatus TThostFtdcUserIDType UserID - TThostFtdcIPAddressType IPAddress + TThostFtdcOldIPAddressType reserve1 TThostFtdcMacAddressType MacAddress + TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcQryBatchOrderActionField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID TThostFtdcExchangeIDType ExchangeID cdef struct CThostFtdcCombInstrumentGuardField: TThostFtdcBrokerIDType BrokerID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcRatioType GuarantRatio TThostFtdcExchangeIDType ExchangeID + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcQryCombInstrumentGuardField: TThostFtdcBrokerIDType BrokerID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcExchangeIDType ExchangeID + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcInputCombActionField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcOrderRefType CombActionRef TThostFtdcUserIDType UserID TThostFtdcDirectionType Direction @@ -1895,15 +2009,17 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcCombDirectionType CombDirection TThostFtdcHedgeFlagType HedgeFlag TThostFtdcExchangeIDType ExchangeID - TThostFtdcIPAddressType IPAddress + TThostFtdcOldIPAddressType reserve2 TThostFtdcMacAddressType MacAddress TThostFtdcInvestUnitIDType InvestUnitID TThostFtdcFrontIDType FrontID TThostFtdcSessionIDType SessionID + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcCombActionField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcOrderRefType CombActionRef TThostFtdcUserIDType UserID TThostFtdcDirectionType Direction @@ -1914,7 +2030,7 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcExchangeIDType ExchangeID TThostFtdcParticipantIDType ParticipantID TThostFtdcClientIDType ClientID - TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcOldExchangeInstIDType reserve2 TThostFtdcTraderIDType TraderID TThostFtdcInstallIDType InstallID TThostFtdcOrderActionStatusType ActionStatus @@ -1926,17 +2042,21 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcSessionIDType SessionID TThostFtdcProductInfoType UserProductInfo TThostFtdcErrorMsgType StatusMsg - TThostFtdcIPAddressType IPAddress + TThostFtdcOldIPAddressType reserve3 TThostFtdcMacAddressType MacAddress TThostFtdcTradeIDType ComTradeID TThostFtdcBranchIDType BranchID TThostFtdcInvestUnitIDType InvestUnitID + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcQryCombActionField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcExchangeIDType ExchangeID TThostFtdcInvestUnitIDType InvestUnitID + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcExchangeCombActionField: TThostFtdcDirectionType Direction TThostFtdcVolumeType Volume @@ -1946,7 +2066,7 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcExchangeIDType ExchangeID TThostFtdcParticipantIDType ParticipantID TThostFtdcClientIDType ClientID - TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcOldExchangeInstIDType reserve1 TThostFtdcTraderIDType TraderID TThostFtdcInstallIDType InstallID TThostFtdcOrderActionStatusType ActionStatus @@ -1954,36 +2074,43 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcDateType TradingDay TThostFtdcSettlementIDType SettlementID TThostFtdcSequenceNoType SequenceNo - TThostFtdcIPAddressType IPAddress + TThostFtdcOldIPAddressType reserve2 TThostFtdcMacAddressType MacAddress TThostFtdcTradeIDType ComTradeID TThostFtdcBranchIDType BranchID + TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcQryExchangeCombActionField: TThostFtdcParticipantIDType ParticipantID TThostFtdcClientIDType ClientID - TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcOldExchangeInstIDType reserve1 TThostFtdcExchangeIDType ExchangeID TThostFtdcTraderIDType TraderID + TThostFtdcExchangeInstIDType ExchangeInstID cdef struct CThostFtdcProductExchRateField: - TThostFtdcInstrumentIDType ProductID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcCurrencyIDType QuoteCurrencyID TThostFtdcExchangeRateType ExchangeRate TThostFtdcExchangeIDType ExchangeID - cdef struct CThostFtdcQryProductExchRateField: TThostFtdcInstrumentIDType ProductID + cdef struct CThostFtdcQryProductExchRateField: + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcExchangeIDType ExchangeID + TThostFtdcInstrumentIDType ProductID cdef struct CThostFtdcQryForQuoteParamField: TThostFtdcBrokerIDType BrokerID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcExchangeIDType ExchangeID + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcForQuoteParamField: TThostFtdcBrokerIDType BrokerID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcExchangeIDType ExchangeID TThostFtdcPriceType LastPrice TThostFtdcPriceType PriceInterval - cdef struct CThostFtdcMMOptionInstrCommRateField: TThostFtdcInstrumentIDType InstrumentID + cdef struct CThostFtdcMMOptionInstrCommRateField: + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcInvestorRangeType InvestorRange TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID @@ -1995,12 +2122,14 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcRatioType CloseTodayRatioByVolume TThostFtdcRatioType StrikeRatioByMoney TThostFtdcRatioType StrikeRatioByVolume + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcQryMMOptionInstrCommRateField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcMMInstrumentCommissionRateField: - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcInvestorRangeType InvestorRange TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID @@ -2010,12 +2139,14 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcRatioType CloseRatioByVolume TThostFtdcRatioType CloseTodayRatioByMoney TThostFtdcRatioType CloseTodayRatioByVolume + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcQryMMInstrumentCommissionRateField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcInstrumentOrderCommRateField: - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcInvestorRangeType InvestorRange TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID @@ -2024,9 +2155,11 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcRatioType OrderActionCommByVolume TThostFtdcExchangeIDType ExchangeID TThostFtdcInvestUnitIDType InvestUnitID + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcQryInstrumentOrderCommRateField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcTradeParamField: TThostFtdcBrokerIDType BrokerID @@ -2034,7 +2167,7 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcSettlementParamValueType TradeParamValue TThostFtdcMemoType Memo cdef struct CThostFtdcInstrumentMarginRateULField: - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcInvestorRangeType InvestorRange TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID @@ -2043,23 +2176,27 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcMoneyType LongMarginRatioByVolume TThostFtdcRatioType ShortMarginRatioByMoney TThostFtdcMoneyType ShortMarginRatioByVolume + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcFutureLimitPosiParamField: TThostFtdcInvestorRangeType InvestorRange TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID - TThostFtdcInstrumentIDType ProductID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcVolumeType SpecOpenVolume TThostFtdcVolumeType ArbiOpenVolume TThostFtdcVolumeType OpenVolume + TThostFtdcInstrumentIDType ProductID cdef struct CThostFtdcLoginForbiddenIPField: + TThostFtdcOldIPAddressType reserve1 TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcIPListField: - TThostFtdcIPAddressType IPAddress + TThostFtdcOldIPAddressType reserve1 TThostFtdcBoolType IsWhite + TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcInputOptionSelfCloseField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcOrderRefType OptionSelfCloseRef TThostFtdcUserIDType UserID TThostFtdcVolumeType Volume @@ -2072,8 +2209,10 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcAccountIDType AccountID TThostFtdcCurrencyIDType CurrencyID TThostFtdcClientIDType ClientID - TThostFtdcIPAddressType IPAddress + TThostFtdcOldIPAddressType reserve2 TThostFtdcMacAddressType MacAddress + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcInputOptionSelfCloseActionField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID @@ -2086,14 +2225,16 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcOrderSysIDType OptionSelfCloseSysID TThostFtdcActionFlagType ActionFlag TThostFtdcUserIDType UserID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcInvestUnitIDType InvestUnitID - TThostFtdcIPAddressType IPAddress + TThostFtdcOldIPAddressType reserve2 TThostFtdcMacAddressType MacAddress + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcOptionSelfCloseField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcOrderRefType OptionSelfCloseRef TThostFtdcUserIDType UserID TThostFtdcVolumeType Volume @@ -2105,7 +2246,7 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcExchangeIDType ExchangeID TThostFtdcParticipantIDType ParticipantID TThostFtdcClientIDType ClientID - TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcOldExchangeInstIDType reserve2 TThostFtdcTraderIDType TraderID TThostFtdcInstallIDType InstallID TThostFtdcOrderSubmitStatusType OrderSubmitStatus @@ -2129,8 +2270,11 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcInvestUnitIDType InvestUnitID TThostFtdcAccountIDType AccountID TThostFtdcCurrencyIDType CurrencyID - TThostFtdcIPAddressType IPAddress + TThostFtdcOldIPAddressType reserve3 TThostFtdcMacAddressType MacAddress + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcOptionSelfCloseActionField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID @@ -2154,19 +2298,22 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcOrderActionStatusType OrderActionStatus TThostFtdcUserIDType UserID TThostFtdcErrorMsgType StatusMsg - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcBranchIDType BranchID TThostFtdcInvestUnitIDType InvestUnitID - TThostFtdcIPAddressType IPAddress + TThostFtdcOldIPAddressType reserve2 TThostFtdcMacAddressType MacAddress + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcQryOptionSelfCloseField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcExchangeIDType ExchangeID TThostFtdcOrderSysIDType OptionSelfCloseSysID TThostFtdcTimeType InsertTimeStart TThostFtdcTimeType InsertTimeEnd + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcExchangeOptionSelfCloseField: TThostFtdcVolumeType Volume TThostFtdcRequestIDType RequestID @@ -2177,7 +2324,7 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcExchangeIDType ExchangeID TThostFtdcParticipantIDType ParticipantID TThostFtdcClientIDType ClientID - TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcOldExchangeInstIDType reserve1 TThostFtdcTraderIDType TraderID TThostFtdcInstallIDType InstallID TThostFtdcOrderSubmitStatusType OrderSubmitStatus @@ -2192,8 +2339,10 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcParticipantIDType ClearingPartID TThostFtdcSequenceNoType SequenceNo TThostFtdcBranchIDType BranchID - TThostFtdcIPAddressType IPAddress + TThostFtdcOldIPAddressType reserve2 TThostFtdcMacAddressType MacAddress + TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcQryOptionSelfCloseActionField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID @@ -2214,10 +2363,12 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcOrderActionStatusType OrderActionStatus TThostFtdcUserIDType UserID TThostFtdcBranchIDType BranchID - TThostFtdcIPAddressType IPAddress + TThostFtdcOldIPAddressType reserve1 TThostFtdcMacAddressType MacAddress - TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcOldExchangeInstIDType reserve2 TThostFtdcOptSelfCloseFlagType OptSelfCloseFlag + TThostFtdcIPAddressType IPAddress + TThostFtdcExchangeInstIDType ExchangeInstID cdef struct CThostFtdcSyncDelaySwapField: TThostFtdcDepositSeqNoType DelaySwapSeqNo TThostFtdcBrokerIDType BrokerID @@ -2260,9 +2411,9 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcLongIndividualNameType LongCustomerName cdef struct CThostFtdcMarketDataField: TThostFtdcDateType TradingDay - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcExchangeIDType ExchangeID - TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcOldExchangeInstIDType reserve2 TThostFtdcPriceType LastPrice TThostFtdcPriceType PreSettlementPrice TThostFtdcPriceType PreClosePrice @@ -2282,6 +2433,8 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcTimeType UpdateTime TThostFtdcMillisecType UpdateMillisec TThostFtdcDateType ActionDay + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcExchangeInstIDType ExchangeInstID cdef struct CThostFtdcMarketDataBaseField: TThostFtdcDateType TradingDay TThostFtdcPriceType PreSettlementPrice @@ -2328,25 +2481,30 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcPriceType AskPrice5 TThostFtdcVolumeType AskVolume5 cdef struct CThostFtdcMarketDataUpdateTimeField: - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcTimeType UpdateTime TThostFtdcMillisecType UpdateMillisec TThostFtdcDateType ActionDay + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcMarketDataExchangeField: TThostFtdcExchangeIDType ExchangeID cdef struct CThostFtdcSpecificInstrumentField: + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcInstrumentStatusField: TThostFtdcExchangeIDType ExchangeID - TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcOldExchangeInstIDType reserve1 TThostFtdcSettlementGroupIDType SettlementGroupID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve2 TThostFtdcInstrumentStatusType InstrumentStatus TThostFtdcTradingSegmentSNType TradingSegmentSN TThostFtdcTimeType EnterTime TThostFtdcInstStatusEnterReasonType EnterReason + TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcQryInstrumentStatusField: TThostFtdcExchangeIDType ExchangeID + TThostFtdcOldExchangeInstIDType reserve1 TThostFtdcExchangeInstIDType ExchangeInstID cdef struct CThostFtdcInvestorAccountField: TThostFtdcBrokerIDType BrokerID @@ -2375,11 +2533,12 @@ cdef extern from 'ThostFtdcUserApiStruct.h': cdef struct CThostFtdcQryInvestorPositionDetailField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcExchangeIDType ExchangeID TThostFtdcInvestUnitIDType InvestUnitID - cdef struct CThostFtdcInvestorPositionDetailField: TThostFtdcInstrumentIDType InstrumentID + cdef struct CThostFtdcInvestorPositionDetailField: + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID TThostFtdcHedgeFlagType HedgeFlag @@ -2391,7 +2550,7 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcDateType TradingDay TThostFtdcSettlementIDType SettlementID TThostFtdcTradeTypeType TradeType - TThostFtdcInstrumentIDType CombInstrumentID + TThostFtdcOldInstrumentIDType reserve2 TThostFtdcExchangeIDType ExchangeID TThostFtdcMoneyType CloseProfitByDate TThostFtdcMoneyType CloseProfitByTrade @@ -2408,6 +2567,8 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcVolumeType TimeFirstVolume TThostFtdcInvestUnitIDType InvestUnitID TThostFtdcSpecPosiTypeType SpecPosiType + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcInstrumentIDType CombInstrumentID cdef struct CThostFtdcTradingAccountPasswordField: TThostFtdcBrokerIDType BrokerID TThostFtdcAccountIDType AccountID @@ -2478,18 +2639,22 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcPasswordType NewPassword TThostFtdcCurrencyIDType CurrencyID cdef struct CThostFtdcQryCombinationLegField: - TThostFtdcInstrumentIDType CombInstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcLegIDType LegID + TThostFtdcOldInstrumentIDType reserve2 + TThostFtdcInstrumentIDType CombInstrumentID TThostFtdcInstrumentIDType LegInstrumentID cdef struct CThostFtdcQrySyncStatusField: TThostFtdcDateType TradingDay cdef struct CThostFtdcCombinationLegField: - TThostFtdcInstrumentIDType CombInstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcLegIDType LegID - TThostFtdcInstrumentIDType LegInstrumentID + TThostFtdcOldInstrumentIDType reserve2 TThostFtdcDirectionType Direction TThostFtdcLegMultipleType LegMultiple TThostFtdcImplyLevelType ImplyLevel + TThostFtdcInstrumentIDType CombInstrumentID + TThostFtdcInstrumentIDType LegInstrumentID cdef struct CThostFtdcSyncStatusField: TThostFtdcDateType TradingDay TThostFtdcDataSyncStatusType DataSyncStatus @@ -2522,6 +2687,7 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcTimeType EventTime TThostFtdcUserEventInfoType UserEventInfo TThostFtdcInvestorIDType InvestorID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcQryContractBankField: TThostFtdcBrokerIDType BrokerID @@ -2541,7 +2707,7 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcInvestorIDType InvestorID TThostFtdcTradeIDType ComTradeID TThostFtdcTradeIDType TradeID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcHedgeFlagType HedgeFlag TThostFtdcDirectionType Direction TThostFtdcVolumeType TotalAmt @@ -2551,13 +2717,15 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcRatioType MarginRateByVolume TThostFtdcLegIDType LegID TThostFtdcLegMultipleType LegMultiple - TThostFtdcInstrumentIDType CombInstrumentID + TThostFtdcOldInstrumentIDType reserve2 TThostFtdcTradeGroupIDType TradeGroupID TThostFtdcInvestUnitIDType InvestUnitID + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcInstrumentIDType CombInstrumentID cdef struct CThostFtdcParkedOrderField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcOrderRefType OrderRef TThostFtdcUserIDType UserID TThostFtdcOrderPriceTypeType OrderPriceType @@ -2588,8 +2756,10 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcCurrencyIDType CurrencyID TThostFtdcClientIDType ClientID TThostFtdcInvestUnitIDType InvestUnitID - TThostFtdcIPAddressType IPAddress + TThostFtdcOldIPAddressType reserve2 TThostFtdcMacAddressType MacAddress + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcParkedOrderActionField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID @@ -2604,27 +2774,31 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcPriceType LimitPrice TThostFtdcVolumeType VolumeChange TThostFtdcUserIDType UserID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcParkedOrderActionIDType ParkedOrderActionID TThostFtdcUserTypeType UserType TThostFtdcParkedOrderStatusType Status TThostFtdcErrorIDType ErrorID TThostFtdcErrorMsgType ErrorMsg TThostFtdcInvestUnitIDType InvestUnitID - TThostFtdcIPAddressType IPAddress + TThostFtdcOldIPAddressType reserve2 TThostFtdcMacAddressType MacAddress + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcQryParkedOrderField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcExchangeIDType ExchangeID TThostFtdcInvestUnitIDType InvestUnitID + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcQryParkedOrderActionField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcExchangeIDType ExchangeID TThostFtdcInvestUnitIDType InvestUnitID + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcRemoveParkedOrderField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID @@ -2645,9 +2819,10 @@ cdef extern from 'ThostFtdcUserApiStruct.h': cdef struct CThostFtdcQryInvestorPositionCombineDetailField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID - TThostFtdcInstrumentIDType CombInstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcExchangeIDType ExchangeID TThostFtdcInvestUnitIDType InvestUnitID + TThostFtdcInstrumentIDType CombInstrumentID cdef struct CThostFtdcMarketDataAveragePriceField: TThostFtdcPriceType AveragePrice cdef struct CThostFtdcVerifyInvestorPasswordField: @@ -2657,9 +2832,11 @@ cdef extern from 'ThostFtdcUserApiStruct.h': cdef struct CThostFtdcUserIPField: TThostFtdcBrokerIDType BrokerID TThostFtdcUserIDType UserID + TThostFtdcOldIPAddressType reserve1 + TThostFtdcOldIPAddressType reserve2 + TThostFtdcMacAddressType MacAddress TThostFtdcIPAddressType IPAddress TThostFtdcIPAddressType IPMask - TThostFtdcMacAddressType MacAddress cdef struct CThostFtdcTradingNoticeInfoField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID @@ -2688,7 +2865,7 @@ cdef extern from 'ThostFtdcUserApiStruct.h': cdef struct CThostFtdcErrOrderField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcOrderRefType OrderRef TThostFtdcUserIDType UserID TThostFtdcOrderPriceTypeType OrderPriceType @@ -2716,12 +2893,14 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcAccountIDType AccountID TThostFtdcCurrencyIDType CurrencyID TThostFtdcClientIDType ClientID - TThostFtdcIPAddressType IPAddress + TThostFtdcOldIPAddressType reserve2 TThostFtdcMacAddressType MacAddress + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcErrorConditionalOrderField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcOrderRefType OrderRef TThostFtdcUserIDType UserID TThostFtdcOrderPriceTypeType OrderPriceType @@ -2744,7 +2923,7 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcExchangeIDType ExchangeID TThostFtdcParticipantIDType ParticipantID TThostFtdcClientIDType ClientID - TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcOldExchangeInstIDType reserve2 TThostFtdcTraderIDType TraderID TThostFtdcInstallIDType InstallID TThostFtdcOrderSubmitStatusType OrderSubmitStatus @@ -2782,8 +2961,11 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcInvestUnitIDType InvestUnitID TThostFtdcAccountIDType AccountID TThostFtdcCurrencyIDType CurrencyID - TThostFtdcIPAddressType IPAddress + TThostFtdcOldIPAddressType reserve3 TThostFtdcMacAddressType MacAddress + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcQryErrOrderActionField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID @@ -2812,23 +2994,25 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcOrderActionStatusType OrderActionStatus TThostFtdcUserIDType UserID TThostFtdcErrorMsgType StatusMsg - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcBranchIDType BranchID TThostFtdcInvestUnitIDType InvestUnitID - TThostFtdcIPAddressType IPAddress + TThostFtdcOldIPAddressType reserve2 TThostFtdcMacAddressType MacAddress TThostFtdcErrorIDType ErrorID TThostFtdcErrorMsgType ErrorMsg + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcQryExchangeSequenceField: TThostFtdcExchangeIDType ExchangeID cdef struct CThostFtdcExchangeSequenceField: TThostFtdcExchangeIDType ExchangeID TThostFtdcSequenceNoType SequenceNo TThostFtdcInstrumentStatusType MarketStatus - cdef struct CThostFtdcQueryMaxOrderVolumeWithPriceField: + cdef struct CThostFtdcQryMaxOrderVolumeWithPriceField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcDirectionType Direction TThostFtdcOffsetFlagType OffsetFlag TThostFtdcHedgeFlagType HedgeFlag @@ -2836,6 +3020,7 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcPriceType Price TThostFtdcExchangeIDType ExchangeID TThostFtdcInvestUnitIDType InvestUnitID + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcQryBrokerTradingParamsField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID @@ -2853,14 +3038,16 @@ cdef extern from 'ThostFtdcUserApiStruct.h': cdef struct CThostFtdcQryBrokerTradingAlgosField: TThostFtdcBrokerIDType BrokerID TThostFtdcExchangeIDType ExchangeID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcBrokerTradingAlgosField: TThostFtdcBrokerIDType BrokerID TThostFtdcExchangeIDType ExchangeID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcHandlePositionAlgoIDType HandlePositionAlgoID TThostFtdcFindMarginRateAlgoIDType FindMarginRateAlgoID TThostFtdcHandleTradingAccountAlgoIDType HandleTradingAccountAlgoID + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcQueryBrokerDepositField: TThostFtdcBrokerIDType BrokerID TThostFtdcExchangeIDType ExchangeID @@ -2931,26 +3118,29 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID TThostFtdcExchangeIDType ExchangeID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcDirectionType Direction TThostFtdcHedgeFlagType HedgeFlag TThostFtdcVolumeType Volume TThostFtdcInvestUnitIDType InvestUnitID + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcQryEWarrantOffsetField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID TThostFtdcExchangeIDType ExchangeID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcInvestUnitIDType InvestUnitID + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcQryInvestorProductGroupMarginField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID - TThostFtdcInstrumentIDType ProductGroupID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcHedgeFlagType HedgeFlag TThostFtdcExchangeIDType ExchangeID TThostFtdcInvestUnitIDType InvestUnitID - cdef struct CThostFtdcInvestorProductGroupMarginField: TThostFtdcInstrumentIDType ProductGroupID + cdef struct CThostFtdcInvestorProductGroupMarginField: + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID TThostFtdcDateType TradingDay @@ -2979,6 +3169,7 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcHedgeFlagType HedgeFlag TThostFtdcExchangeIDType ExchangeID TThostFtdcInvestUnitIDType InvestUnitID + TThostFtdcInstrumentIDType ProductGroupID cdef struct CThostFtdcQueryCFMMCTradingAccountTokenField: TThostFtdcBrokerIDType BrokerID TThostFtdcInvestorIDType InvestorID @@ -2990,11 +3181,14 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcSequenceNoType KeyID TThostFtdcCFMMCTokenType Token cdef struct CThostFtdcQryProductGroupField: - TThostFtdcInstrumentIDType ProductID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcExchangeIDType ExchangeID - cdef struct CThostFtdcProductGroupField: TThostFtdcInstrumentIDType ProductID + cdef struct CThostFtdcProductGroupField: + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcExchangeIDType ExchangeID + TThostFtdcOldInstrumentIDType reserve2 + TThostFtdcInstrumentIDType ProductID TThostFtdcInstrumentIDType ProductGroupID cdef struct CThostFtdcBulletinField: TThostFtdcExchangeIDType ExchangeID @@ -3017,13 +3211,15 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcNewsUrgencyType NewsUrgency cdef struct CThostFtdcMulticastInstrumentField: TThostFtdcInstallIDType TopicID - TThostFtdcInstrumentIDType InstrumentID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcInstallIDType InstrumentNo TThostFtdcPriceType CodePrice TThostFtdcVolumeMultipleType VolumeMultiple TThostFtdcPriceType PriceTick + TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcQryMulticastInstrumentField: TThostFtdcInstallIDType TopicID + TThostFtdcOldInstrumentIDType reserve1 TThostFtdcInstrumentIDType InstrumentID cdef struct CThostFtdcAppIDAuthAssignField: TThostFtdcBrokerIDType BrokerID @@ -4040,22 +4236,21 @@ cdef extern from 'ThostFtdcUserApiStruct.h': cdef struct CThostFtdcLoginForbiddenUserField: TThostFtdcBrokerIDType BrokerID TThostFtdcUserIDType UserID + TThostFtdcOldIPAddressType reserve1 TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcQryLoginForbiddenUserField: TThostFtdcBrokerIDType BrokerID TThostFtdcUserIDType UserID - cdef struct CThostFtdcMulticastGroupInfoField: - TThostFtdcIPAddressType GroupIP - TThostFtdcIPPortType GroupPort - TThostFtdcIPAddressType SourceIP cdef struct CThostFtdcTradingAccountReserveField: TThostFtdcBrokerIDType BrokerID TThostFtdcAccountIDType AccountID TThostFtdcMoneyType Reserve TThostFtdcCurrencyIDType CurrencyID cdef struct CThostFtdcQryLoginForbiddenIPField: + TThostFtdcOldIPAddressType reserve1 TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcQryIPListField: + TThostFtdcOldIPAddressType reserve1 TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcQryUserRightsAssignField: TThostFtdcBrokerIDType BrokerID @@ -4165,15 +4360,6 @@ cdef extern from 'ThostFtdcUserApiStruct.h': cdef struct CThostFtdcQrySecAgentTradeInfoField: TThostFtdcBrokerIDType BrokerID TThostFtdcAccountIDType BrokerSecAgentID - cdef struct CThostFtdcUserSystemInfoField: - TThostFtdcBrokerIDType BrokerID - TThostFtdcUserIDType UserID - TThostFtdcSystemInfoLenType ClientSystemInfoLen - TThostFtdcClientSystemInfoType ClientSystemInfo - TThostFtdcIPAddressType ClientPublicIP - TThostFtdcIPPortType ClientIPPort - TThostFtdcTimeType ClientLoginTime - TThostFtdcAppIDType ClientAppID cdef struct CThostFtdcReqUserAuthMethodField: TThostFtdcDateType TradingDay TThostFtdcBrokerIDType BrokerID @@ -4204,10 +4390,11 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcProductInfoType InterfaceProductInfo TThostFtdcProtocolInfoType ProtocolInfo TThostFtdcMacAddressType MacAddress - TThostFtdcIPAddressType ClientIPAddress + TThostFtdcOldIPAddressType reserve1 TThostFtdcLoginRemarkType LoginRemark TThostFtdcPasswordType Captcha TThostFtdcIPPortType ClientIPPort + TThostFtdcIPAddressType ClientIPAddress cdef struct CThostFtdcReqUserLoginWithTextField: TThostFtdcDateType TradingDay TThostFtdcBrokerIDType BrokerID @@ -4217,10 +4404,11 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcProductInfoType InterfaceProductInfo TThostFtdcProtocolInfoType ProtocolInfo TThostFtdcMacAddressType MacAddress - TThostFtdcIPAddressType ClientIPAddress + TThostFtdcOldIPAddressType reserve1 TThostFtdcLoginRemarkType LoginRemark TThostFtdcPasswordType Text TThostFtdcIPPortType ClientIPPort + TThostFtdcIPAddressType ClientIPAddress cdef struct CThostFtdcReqUserLoginWithOTPField: TThostFtdcDateType TradingDay TThostFtdcBrokerIDType BrokerID @@ -4230,10 +4418,11 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcProductInfoType InterfaceProductInfo TThostFtdcProtocolInfoType ProtocolInfo TThostFtdcMacAddressType MacAddress - TThostFtdcIPAddressType ClientIPAddress + TThostFtdcOldIPAddressType reserve1 TThostFtdcLoginRemarkType LoginRemark TThostFtdcPasswordType OTPPassword TThostFtdcIPPortType ClientIPPort + TThostFtdcIPAddressType ClientIPAddress cdef struct CThostFtdcReqApiHandshakeField: TThostFtdcCryptoKeyVersionType CryptoKeyVersion cdef struct CThostFtdcRspApiHandshakeField: @@ -4251,8 +4440,10 @@ cdef extern from 'ThostFtdcUserApiStruct.h': cdef struct CThostFtdcQueryFreqField: TThostFtdcQueryFreqType QueryFreq cdef struct CThostFtdcAuthForbiddenIPField: + TThostFtdcOldIPAddressType reserve1 TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcQryAuthForbiddenIPField: + TThostFtdcOldIPAddressType reserve1 TThostFtdcIPAddressType IPAddress cdef struct CThostFtdcSyncDelaySwapFrozenField: TThostFtdcDepositSeqNoType DelaySwapSeqNo @@ -4261,3 +4452,37 @@ cdef extern from 'ThostFtdcUserApiStruct.h': TThostFtdcCurrencyIDType FromCurrencyID TThostFtdcMoneyType FromRemainSwap TThostFtdcBoolType IsManualSwap + cdef struct CThostFtdcUserSystemInfoField: + TThostFtdcBrokerIDType BrokerID + TThostFtdcUserIDType UserID + TThostFtdcSystemInfoLenType ClientSystemInfoLen + TThostFtdcClientSystemInfoType ClientSystemInfo + TThostFtdcOldIPAddressType reserve1 + TThostFtdcIPPortType ClientIPPort + TThostFtdcTimeType ClientLoginTime + TThostFtdcAppIDType ClientAppID + TThostFtdcIPAddressType ClientPublicIP + cdef struct CThostFtdcAuthUserIDField: + TThostFtdcBrokerIDType BrokerID + TThostFtdcAppIDType AppID + TThostFtdcUserIDType UserID + TThostFtdcAuthTypeType AuthType + cdef struct CThostFtdcAuthIPField: + TThostFtdcBrokerIDType BrokerID + TThostFtdcAppIDType AppID + TThostFtdcIPAddressType IPAddress + cdef struct CThostFtdcQryClassifiedInstrumentField: + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcExchangeIDType ExchangeID + TThostFtdcExchangeInstIDType ExchangeInstID + TThostFtdcInstrumentIDType ProductID + TThostFtdcTradingTypeType TradingType + TThostFtdcClassTypeType ClassType + cdef struct CThostFtdcQryCombPromotionParamField: + TThostFtdcExchangeIDType ExchangeID + TThostFtdcInstrumentIDType InstrumentID + cdef struct CThostFtdcCombPromotionParamField: + TThostFtdcExchangeIDType ExchangeID + TThostFtdcInstrumentIDType InstrumentID + TThostFtdcCombHedgeFlagType CombHedgeFlag + TThostFtdcDiscountRatioType Xparameter diff --git a/ctpwrapper/headers/cMdAPI.pxd b/ctpwrapper/headers/cMdAPI.pxd index e4987c6..2dfd2cd 100644 --- a/ctpwrapper/headers/cMdAPI.pxd +++ b/ctpwrapper/headers/cMdAPI.pxd @@ -23,7 +23,7 @@ from libcpp cimport bool as cbool # from libcpp.memory cimport shared_ptr,make_shared -from ctpwrapper.headers.ThostFtdcUserApiStruct cimport ( +from .ThostFtdcUserApiStruct cimport ( CThostFtdcReqUserLoginField, CThostFtdcUserLogoutField, CThostFtdcFensUserInfoField, diff --git a/ctpwrapper/headers/cTraderApi.pxd b/ctpwrapper/headers/cTraderApi.pxd index 9d3f39a..b27a5da 100644 --- a/ctpwrapper/headers/cTraderApi.pxd +++ b/ctpwrapper/headers/cTraderApi.pxd @@ -20,7 +20,7 @@ along with ctpwrapper. If not, see . from cpython cimport PyObject from libc.string cimport const_char -from ctpwrapper.headers.ThostFtdcUserApiStruct cimport * +from .ThostFtdcUserApiStruct cimport * cdef extern from "ThostFtdcTraderApi.h": @@ -139,7 +139,8 @@ cdef extern from "ThostFtdcTraderApi.h": int ReqOrderAction(CThostFtdcInputOrderActionField *pInputOrderAction, int nRequestID) nogil except + #查询最大报单数量请求 - int ReqQueryMaxOrderVolume(CThostFtdcQueryMaxOrderVolumeField *pQueryMaxOrderVolume, int nRequestID) nogil except + + + int ReqQryMaxOrderVolume(CThostFtdcQryMaxOrderVolumeField *pQryMaxOrderVolume, int nRequestID) nogil except + #投资者结算结果确认 int ReqSettlementInfoConfirm(CThostFtdcSettlementInfoConfirmField *pSettlementInfoConfirm, int nRequestID) nogil except + @@ -340,6 +341,12 @@ cdef extern from "ThostFtdcTraderApi.h": #期货发起查询银行余额请求 int ReqQueryBankAccountMoneyByFuture(CThostFtdcReqQueryAccountField *pReqQueryAccount, int nRequestID) nogil except + + # 请求查询分类合约 + int ReqQryClassifiedInstrument(CThostFtdcQryClassifiedInstrumentField *pQryClassifiedInstrument, int nRequestID) nogil except + + + # 请求组合优惠比例 + int ReqQryCombPromotionParam(CThostFtdcQryCombPromotionParamField *pQryCombPromotionParam, int nRequestID) nogil except + + cdef extern from "ThostFtdcTraderApi.h" namespace "CThostFtdcTraderApi": CTraderApi *CreateFtdcTraderApi(const_char *pszFlowPath) nogil except + diff --git a/doc/ctp/6.3.19_API.chm b/doc/ctp/6.3.19_API.chm deleted file mode 100755 index 4f2b233..0000000 Binary files a/doc/ctp/6.3.19_API.chm and /dev/null differ diff --git a/doc/ctp/6.5.1_API.chm b/doc/ctp/6.5.1_API.chm new file mode 100644 index 0000000..fd57c0f Binary files /dev/null and b/doc/ctp/6.5.1_API.chm differ diff --git a/doc/ctp/CTP Client Development Guide.docx b/doc/ctp/CTP Client Development Guide.docx deleted file mode 100644 index 3358f55..0000000 Binary files a/doc/ctp/CTP Client Development Guide.docx and /dev/null differ