diff --git a/vn.ctp/ctpapi/ThostFtdcMdApi.h b/vn.ctp/ctpapi/ThostFtdcMdApi.h new file mode 100644 index 00000000..9af915f4 --- /dev/null +++ b/vn.ctp/ctpapi/ThostFtdcMdApi.h @@ -0,0 +1,158 @@ +///////////////////////////////////////////////////////////////////////// +///@system 新一代交易所系统 +///@company 上海期货信息技术有限公司 +///@file ThostFtdcMdApi.h +///@brief 定义了客户端接口 +///@history +///20060106 赵鸿昊 创建该文件 +///////////////////////////////////////////////////////////////////////// + +#if !defined(THOST_FTDCMDAPI_H) +#define THOST_FTDCMDAPI_H + +#if _MSC_VER > 1000 +#pragma once +#endif // _MSC_VER > 1000 + +#include "ThostFtdcUserApiStruct.h" + +#if defined(ISLIB) && defined(WIN32) +#ifdef LIB_MD_API_EXPORT +#define MD_API_EXPORT __declspec(dllexport) +#else +#define MD_API_EXPORT __declspec(dllimport) +#endif +#else +#define MD_API_EXPORT +#endif + +class CThostFtdcMdSpi +{ +public: + ///当客户端与交易后台建立起通信连接时(还未登录前),该方法被调用。 + virtual void OnFrontConnected(){}; + + ///当客户端与交易后台通信连接断开时,该方法被调用。当发生这个情况后,API会自动重新连接,客户端可不做处理。 + ///@param nReason 错误原因 + /// 0x1001 网络读失败 + /// 0x1002 网络写失败 + /// 0x2001 接收心跳超时 + /// 0x2002 发送心跳失败 + /// 0x2003 收到错误报文 + virtual void OnFrontDisconnected(int nReason){}; + + ///心跳超时警告。当长时间未收到报文时,该方法被调用。 + ///@param nTimeLapse 距离上次接收报文的时间 + virtual void OnHeartBeatWarning(int nTimeLapse){}; + + + ///登录请求响应 + virtual void OnRspUserLogin(CThostFtdcRspUserLoginField *pRspUserLogin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///登出请求响应 + virtual void OnRspUserLogout(CThostFtdcUserLogoutField *pUserLogout, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///错误应答 + virtual void OnRspError(CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///订阅行情应答 + virtual void OnRspSubMarketData(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///取消订阅行情应答 + virtual void OnRspUnSubMarketData(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///订阅询价应答 + virtual void OnRspSubForQuoteRsp(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///取消订阅询价应答 + virtual void OnRspUnSubForQuoteRsp(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///深度行情通知 + virtual void OnRtnDepthMarketData(CThostFtdcDepthMarketDataField *pDepthMarketData) {}; + + ///询价通知 + virtual void OnRtnForQuoteRsp(CThostFtdcForQuoteRspField *pForQuoteRsp) {}; +}; + +class MD_API_EXPORT CThostFtdcMdApi +{ +public: + ///创建MdApi + ///@param pszFlowPath 存贮订阅信息文件的目录,默认为当前目录 + ///@return 创建出的UserApi + ///modify for udp marketdata + static CThostFtdcMdApi *CreateFtdcMdApi(const char *pszFlowPath = "", const bool bIsUsingUdp=false, const bool bIsMulticast=false); + + ///删除接口对象本身 + ///@remark 不再使用本接口对象时,调用该函数删除接口对象 + virtual void Release() = 0; + + ///初始化 + ///@remark 初始化运行环境,只有调用后,接口才开始工作 + virtual void Init() = 0; + + ///等待接口线程结束运行 + ///@return 线程退出代码 + virtual int Join() = 0; + + ///获取当前交易日 + ///@retrun 获取到的交易日 + ///@remark 只有登录成功后,才能得到正确的交易日 + virtual const char *GetTradingDay() = 0; + + ///注册前置机网络地址 + ///@param pszFrontAddress:前置机网络地址。 + ///@remark 网络地址的格式为:“protocol://ipaddress:port”,如:”tcp://127.0.0.1:17001”。 + ///@remark “tcp”代表传输协议,“127.0.0.1”代表服务器地址。”17001”代表服务器端口号。 + virtual void RegisterFront(char *pszFrontAddress) = 0; + + ///注册名字服务器网络地址 + ///@param pszNsAddress:名字服务器网络地址。 + ///@remark 网络地址的格式为:“protocol://ipaddress:port”,如:”tcp://127.0.0.1:12001”。 + ///@remark “tcp”代表传输协议,“127.0.0.1”代表服务器地址。”12001”代表服务器端口号。 + ///@remark RegisterNameServer优先于RegisterFront + virtual void RegisterNameServer(char *pszNsAddress) = 0; + + ///注册名字服务器用户信息 + ///@param pFensUserInfo:用户信息。 + virtual void RegisterFensUserInfo(CThostFtdcFensUserInfoField * pFensUserInfo) = 0; + + ///注册回调接口 + ///@param pSpi 派生自回调接口类的实例 + virtual void RegisterSpi(CThostFtdcMdSpi *pSpi) = 0; + + ///订阅行情。 + ///@param ppInstrumentID 合约ID + ///@param nCount 要订阅/退订行情的合约个数 + ///@remark + virtual int SubscribeMarketData(char *ppInstrumentID[], int nCount) = 0; + + ///退订行情。 + ///@param ppInstrumentID 合约ID + ///@param nCount 要订阅/退订行情的合约个数 + ///@remark + virtual int UnSubscribeMarketData(char *ppInstrumentID[], int nCount) = 0; + + ///订阅询价。 + ///@param ppInstrumentID 合约ID + ///@param nCount 要订阅/退订行情的合约个数 + ///@remark + virtual int SubscribeForQuoteRsp(char *ppInstrumentID[], int nCount) = 0; + + ///退订询价。 + ///@param ppInstrumentID 合约ID + ///@param nCount 要订阅/退订行情的合约个数 + ///@remark + virtual int UnSubscribeForQuoteRsp(char *ppInstrumentID[], int nCount) = 0; + + ///用户登录请求 + virtual int ReqUserLogin(CThostFtdcReqUserLoginField *pReqUserLoginField, int nRequestID) = 0; + + + ///登出请求 + virtual int ReqUserLogout(CThostFtdcUserLogoutField *pUserLogout, int nRequestID) = 0; +protected: + ~CThostFtdcMdApi(){}; +}; + +#endif diff --git a/vn.ctp/ctpapi/ThostFtdcTraderApi.h b/vn.ctp/ctpapi/ThostFtdcTraderApi.h new file mode 100644 index 00000000..93ea0fc7 --- /dev/null +++ b/vn.ctp/ctpapi/ThostFtdcTraderApi.h @@ -0,0 +1,575 @@ +///////////////////////////////////////////////////////////////////////// +///@system 新一代交易所系统 +///@company 上海期货信息技术有限公司 +///@file ThostFtdcTraderApi.h +///@brief 定义了客户端接口 +///@history +///20060106 赵鸿昊 创建该文件 +///////////////////////////////////////////////////////////////////////// + +#if !defined(THOST_FTDCTRADERAPI_H) +#define THOST_FTDCTRADERAPI_H + +#if _MSC_VER > 1000 +#pragma once +#endif // _MSC_VER > 1000 + +#include "ThostFtdcUserApiStruct.h" + +#if defined(ISLIB) && defined(WIN32) +#ifdef LIB_TRADER_API_EXPORT +#define TRADER_API_EXPORT __declspec(dllexport) +#else +#define TRADER_API_EXPORT __declspec(dllimport) +#endif +#else +#define TRADER_API_EXPORT +#endif + +class CThostFtdcTraderSpi +{ +public: + ///当客户端与交易后台建立起通信连接时(还未登录前),该方法被调用。 + virtual void OnFrontConnected(){}; + + ///当客户端与交易后台通信连接断开时,该方法被调用。当发生这个情况后,API会自动重新连接,客户端可不做处理。 + ///@param nReason 错误原因 + /// 0x1001 网络读失败 + /// 0x1002 网络写失败 + /// 0x2001 接收心跳超时 + /// 0x2002 发送心跳失败 + /// 0x2003 收到错误报文 + virtual void OnFrontDisconnected(int nReason){}; + + ///心跳超时警告。当长时间未收到报文时,该方法被调用。 + ///@param nTimeLapse 距离上次接收报文的时间 + virtual void OnHeartBeatWarning(int nTimeLapse){}; + + ///客户端认证响应 + virtual void OnRspAuthenticate(CThostFtdcRspAuthenticateField *pRspAuthenticateField, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + + ///登录请求响应 + virtual void OnRspUserLogin(CThostFtdcRspUserLoginField *pRspUserLogin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///登出请求响应 + virtual void OnRspUserLogout(CThostFtdcUserLogoutField *pUserLogout, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///用户口令更新请求响应 + virtual void OnRspUserPasswordUpdate(CThostFtdcUserPasswordUpdateField *pUserPasswordUpdate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///资金账户口令更新请求响应 + virtual void OnRspTradingAccountPasswordUpdate(CThostFtdcTradingAccountPasswordUpdateField *pTradingAccountPasswordUpdate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///报单录入请求响应 + virtual void OnRspOrderInsert(CThostFtdcInputOrderField *pInputOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///预埋单录入请求响应 + virtual void OnRspParkedOrderInsert(CThostFtdcParkedOrderField *pParkedOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///预埋撤单录入请求响应 + virtual void OnRspParkedOrderAction(CThostFtdcParkedOrderActionField *pParkedOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///报单操作请求响应 + virtual void OnRspOrderAction(CThostFtdcInputOrderActionField *pInputOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///查询最大报单数量响应 + virtual void OnRspQueryMaxOrderVolume(CThostFtdcQueryMaxOrderVolumeField *pQueryMaxOrderVolume, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///投资者结算结果确认响应 + virtual void OnRspSettlementInfoConfirm(CThostFtdcSettlementInfoConfirmField *pSettlementInfoConfirm, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///删除预埋单响应 + virtual void OnRspRemoveParkedOrder(CThostFtdcRemoveParkedOrderField *pRemoveParkedOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///删除预埋撤单响应 + virtual void OnRspRemoveParkedOrderAction(CThostFtdcRemoveParkedOrderActionField *pRemoveParkedOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///执行宣告录入请求响应 + virtual void OnRspExecOrderInsert(CThostFtdcInputExecOrderField *pInputExecOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///执行宣告操作请求响应 + virtual void OnRspExecOrderAction(CThostFtdcInputExecOrderActionField *pInputExecOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///询价录入请求响应 + virtual void OnRspForQuoteInsert(CThostFtdcInputForQuoteField *pInputForQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///报价录入请求响应 + virtual void OnRspQuoteInsert(CThostFtdcInputQuoteField *pInputQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///报价操作请求响应 + virtual void OnRspQuoteAction(CThostFtdcInputQuoteActionField *pInputQuoteAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询报单响应 + virtual void OnRspQryOrder(CThostFtdcOrderField *pOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询成交响应 + virtual void OnRspQryTrade(CThostFtdcTradeField *pTrade, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询投资者持仓响应 + virtual void OnRspQryInvestorPosition(CThostFtdcInvestorPositionField *pInvestorPosition, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询资金账户响应 + virtual void OnRspQryTradingAccount(CThostFtdcTradingAccountField *pTradingAccount, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询投资者响应 + virtual void OnRspQryInvestor(CThostFtdcInvestorField *pInvestor, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询交易编码响应 + virtual void OnRspQryTradingCode(CThostFtdcTradingCodeField *pTradingCode, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询合约保证金率响应 + virtual void OnRspQryInstrumentMarginRate(CThostFtdcInstrumentMarginRateField *pInstrumentMarginRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询合约手续费率响应 + virtual void OnRspQryInstrumentCommissionRate(CThostFtdcInstrumentCommissionRateField *pInstrumentCommissionRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询交易所响应 + virtual void OnRspQryExchange(CThostFtdcExchangeField *pExchange, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询产品响应 + virtual void OnRspQryProduct(CThostFtdcProductField *pProduct, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询合约响应 + virtual void OnRspQryInstrument(CThostFtdcInstrumentField *pInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询行情响应 + virtual void OnRspQryDepthMarketData(CThostFtdcDepthMarketDataField *pDepthMarketData, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询投资者结算结果响应 + virtual void OnRspQrySettlementInfo(CThostFtdcSettlementInfoField *pSettlementInfo, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询转帐银行响应 + virtual void OnRspQryTransferBank(CThostFtdcTransferBankField *pTransferBank, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询投资者持仓明细响应 + virtual void OnRspQryInvestorPositionDetail(CThostFtdcInvestorPositionDetailField *pInvestorPositionDetail, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询客户通知响应 + virtual void OnRspQryNotice(CThostFtdcNoticeField *pNotice, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询结算信息确认响应 + virtual void OnRspQrySettlementInfoConfirm(CThostFtdcSettlementInfoConfirmField *pSettlementInfoConfirm, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询投资者持仓明细响应 + virtual void OnRspQryInvestorPositionCombineDetail(CThostFtdcInvestorPositionCombineDetailField *pInvestorPositionCombineDetail, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///查询保证金监管系统经纪公司资金账户密钥响应 + virtual void OnRspQryCFMMCTradingAccountKey(CThostFtdcCFMMCTradingAccountKeyField *pCFMMCTradingAccountKey, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询仓单折抵信息响应 + virtual void OnRspQryEWarrantOffset(CThostFtdcEWarrantOffsetField *pEWarrantOffset, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询投资者品种/跨品种保证金响应 + virtual void OnRspQryInvestorProductGroupMargin(CThostFtdcInvestorProductGroupMarginField *pInvestorProductGroupMargin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询交易所保证金率响应 + virtual void OnRspQryExchangeMarginRate(CThostFtdcExchangeMarginRateField *pExchangeMarginRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询交易所调整保证金率响应 + virtual void OnRspQryExchangeMarginRateAdjust(CThostFtdcExchangeMarginRateAdjustField *pExchangeMarginRateAdjust, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询汇率响应 + virtual void OnRspQryExchangeRate(CThostFtdcExchangeRateField *pExchangeRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询二级代理操作员银期权限响应 + virtual void OnRspQrySecAgentACIDMap(CThostFtdcSecAgentACIDMapField *pSecAgentACIDMap, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询期权交易成本响应 + virtual void OnRspQryOptionInstrTradeCost(CThostFtdcOptionInstrTradeCostField *pOptionInstrTradeCost, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询期权合约手续费响应 + virtual void OnRspQryOptionInstrCommRate(CThostFtdcOptionInstrCommRateField *pOptionInstrCommRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询执行宣告响应 + virtual void OnRspQryExecOrder(CThostFtdcExecOrderField *pExecOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询询价响应 + virtual void OnRspQryForQuote(CThostFtdcForQuoteField *pForQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询报价响应 + virtual void OnRspQryQuote(CThostFtdcQuoteField *pQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询转帐流水响应 + virtual void OnRspQryTransferSerial(CThostFtdcTransferSerialField *pTransferSerial, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询银期签约关系响应 + virtual void OnRspQryAccountregister(CThostFtdcAccountregisterField *pAccountregister, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///错误应答 + virtual void OnRspError(CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///报单通知 + virtual void OnRtnOrder(CThostFtdcOrderField *pOrder) {}; + + ///成交通知 + virtual void OnRtnTrade(CThostFtdcTradeField *pTrade) {}; + + ///报单录入错误回报 + virtual void OnErrRtnOrderInsert(CThostFtdcInputOrderField *pInputOrder, CThostFtdcRspInfoField *pRspInfo) {}; + + ///报单操作错误回报 + virtual void OnErrRtnOrderAction(CThostFtdcOrderActionField *pOrderAction, CThostFtdcRspInfoField *pRspInfo) {}; + + ///合约交易状态通知 + virtual void OnRtnInstrumentStatus(CThostFtdcInstrumentStatusField *pInstrumentStatus) {}; + + ///交易通知 + virtual void OnRtnTradingNotice(CThostFtdcTradingNoticeInfoField *pTradingNoticeInfo) {}; + + ///提示条件单校验错误 + virtual void OnRtnErrorConditionalOrder(CThostFtdcErrorConditionalOrderField *pErrorConditionalOrder) {}; + + ///执行宣告通知 + virtual void OnRtnExecOrder(CThostFtdcExecOrderField *pExecOrder) {}; + + ///执行宣告录入错误回报 + virtual void OnErrRtnExecOrderInsert(CThostFtdcInputExecOrderField *pInputExecOrder, CThostFtdcRspInfoField *pRspInfo) {}; + + ///执行宣告操作错误回报 + virtual void OnErrRtnExecOrderAction(CThostFtdcExecOrderActionField *pExecOrderAction, CThostFtdcRspInfoField *pRspInfo) {}; + + ///询价录入错误回报 + virtual void OnErrRtnForQuoteInsert(CThostFtdcInputForQuoteField *pInputForQuote, CThostFtdcRspInfoField *pRspInfo) {}; + + ///报价通知 + virtual void OnRtnQuote(CThostFtdcQuoteField *pQuote) {}; + + ///报价录入错误回报 + virtual void OnErrRtnQuoteInsert(CThostFtdcInputQuoteField *pInputQuote, CThostFtdcRspInfoField *pRspInfo) {}; + + ///报价操作错误回报 + virtual void OnErrRtnQuoteAction(CThostFtdcQuoteActionField *pQuoteAction, CThostFtdcRspInfoField *pRspInfo) {}; + + ///询价通知 + virtual void OnRtnForQuoteRsp(CThostFtdcForQuoteRspField *pForQuoteRsp) {}; + + ///请求查询签约银行响应 + virtual void OnRspQryContractBank(CThostFtdcContractBankField *pContractBank, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询预埋单响应 + virtual void OnRspQryParkedOrder(CThostFtdcParkedOrderField *pParkedOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询预埋撤单响应 + virtual void OnRspQryParkedOrderAction(CThostFtdcParkedOrderActionField *pParkedOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询交易通知响应 + virtual void OnRspQryTradingNotice(CThostFtdcTradingNoticeField *pTradingNotice, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询经纪公司交易参数响应 + virtual void OnRspQryBrokerTradingParams(CThostFtdcBrokerTradingParamsField *pBrokerTradingParams, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询经纪公司交易算法响应 + virtual void OnRspQryBrokerTradingAlgos(CThostFtdcBrokerTradingAlgosField *pBrokerTradingAlgos, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///银行发起银行资金转期货通知 + virtual void OnRtnFromBankToFutureByBank(CThostFtdcRspTransferField *pRspTransfer) {}; + + ///银行发起期货资金转银行通知 + virtual void OnRtnFromFutureToBankByBank(CThostFtdcRspTransferField *pRspTransfer) {}; + + ///银行发起冲正银行转期货通知 + virtual void OnRtnRepealFromBankToFutureByBank(CThostFtdcRspRepealField *pRspRepeal) {}; + + ///银行发起冲正期货转银行通知 + virtual void OnRtnRepealFromFutureToBankByBank(CThostFtdcRspRepealField *pRspRepeal) {}; + + ///期货发起银行资金转期货通知 + virtual void OnRtnFromBankToFutureByFuture(CThostFtdcRspTransferField *pRspTransfer) {}; + + ///期货发起期货资金转银行通知 + virtual void OnRtnFromFutureToBankByFuture(CThostFtdcRspTransferField *pRspTransfer) {}; + + ///系统运行时期货端手工发起冲正银行转期货请求,银行处理完毕后报盘发回的通知 + virtual void OnRtnRepealFromBankToFutureByFutureManual(CThostFtdcRspRepealField *pRspRepeal) {}; + + ///系统运行时期货端手工发起冲正期货转银行请求,银行处理完毕后报盘发回的通知 + virtual void OnRtnRepealFromFutureToBankByFutureManual(CThostFtdcRspRepealField *pRspRepeal) {}; + + ///期货发起查询银行余额通知 + virtual void OnRtnQueryBankBalanceByFuture(CThostFtdcNotifyQueryAccountField *pNotifyQueryAccount) {}; + + ///期货发起银行资金转期货错误回报 + virtual void OnErrRtnBankToFutureByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo) {}; + + ///期货发起期货资金转银行错误回报 + virtual void OnErrRtnFutureToBankByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo) {}; + + ///系统运行时期货端手工发起冲正银行转期货错误回报 + virtual void OnErrRtnRepealBankToFutureByFutureManual(CThostFtdcReqRepealField *pReqRepeal, CThostFtdcRspInfoField *pRspInfo) {}; + + ///系统运行时期货端手工发起冲正期货转银行错误回报 + virtual void OnErrRtnRepealFutureToBankByFutureManual(CThostFtdcReqRepealField *pReqRepeal, CThostFtdcRspInfoField *pRspInfo) {}; + + ///期货发起查询银行余额错误回报 + virtual void OnErrRtnQueryBankBalanceByFuture(CThostFtdcReqQueryAccountField *pReqQueryAccount, CThostFtdcRspInfoField *pRspInfo) {}; + + ///期货发起冲正银行转期货请求,银行处理完毕后报盘发回的通知 + virtual void OnRtnRepealFromBankToFutureByFuture(CThostFtdcRspRepealField *pRspRepeal) {}; + + ///期货发起冲正期货转银行请求,银行处理完毕后报盘发回的通知 + virtual void OnRtnRepealFromFutureToBankByFuture(CThostFtdcRspRepealField *pRspRepeal) {}; + + ///期货发起银行资金转期货应答 + virtual void OnRspFromBankToFutureByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///期货发起期货资金转银行应答 + virtual void OnRspFromFutureToBankByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///期货发起查询银行余额应答 + virtual void OnRspQueryBankAccountMoneyByFuture(CThostFtdcReqQueryAccountField *pReqQueryAccount, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///银行发起银期开户通知 + virtual void OnRtnOpenAccountByBank(CThostFtdcOpenAccountField *pOpenAccount) {}; + + ///银行发起银期销户通知 + virtual void OnRtnCancelAccountByBank(CThostFtdcCancelAccountField *pCancelAccount) {}; + + ///银行发起变更银行账号通知 + virtual void OnRtnChangeAccountByBank(CThostFtdcChangeAccountField *pChangeAccount) {}; +}; + +class TRADER_API_EXPORT CThostFtdcTraderApi +{ +public: + ///创建TraderApi + ///@param pszFlowPath 存贮订阅信息文件的目录,默认为当前目录 + ///@return 创建出的UserApi + static CThostFtdcTraderApi *CreateFtdcTraderApi(const char *pszFlowPath = ""); + + ///删除接口对象本身 + ///@remark 不再使用本接口对象时,调用该函数删除接口对象 + virtual void Release() = 0; + + ///初始化 + ///@remark 初始化运行环境,只有调用后,接口才开始工作 + virtual void Init() = 0; + + ///等待接口线程结束运行 + ///@return 线程退出代码 + virtual int Join() = 0; + + ///获取当前交易日 + ///@retrun 获取到的交易日 + ///@remark 只有登录成功后,才能得到正确的交易日 + virtual const char *GetTradingDay() = 0; + + ///注册前置机网络地址 + ///@param pszFrontAddress:前置机网络地址。 + ///@remark 网络地址的格式为:“protocol://ipaddress:port”,如:”tcp://127.0.0.1:17001”。 + ///@remark “tcp”代表传输协议,“127.0.0.1”代表服务器地址。”17001”代表服务器端口号。 + virtual void RegisterFront(char *pszFrontAddress) = 0; + + ///注册名字服务器网络地址 + ///@param pszNsAddress:名字服务器网络地址。 + ///@remark 网络地址的格式为:“protocol://ipaddress:port”,如:”tcp://127.0.0.1:12001”。 + ///@remark “tcp”代表传输协议,“127.0.0.1”代表服务器地址。”12001”代表服务器端口号。 + ///@remark RegisterNameServer优先于RegisterFront + virtual void RegisterNameServer(char *pszNsAddress) = 0; + + ///注册名字服务器用户信息 + ///@param pFensUserInfo:用户信息。 + virtual void RegisterFensUserInfo(CThostFtdcFensUserInfoField * pFensUserInfo) = 0; + + ///注册回调接口 + ///@param pSpi 派生自回调接口类的实例 + virtual void RegisterSpi(CThostFtdcTraderSpi *pSpi) = 0; + + ///订阅私有流。 + ///@param nResumeType 私有流重传方式 + /// THOST_TERT_RESTART:从本交易日开始重传 + /// THOST_TERT_RESUME:从上次收到的续传 + /// THOST_TERT_QUICK:只传送登录后私有流的内容 + ///@remark 该方法要在Init方法前调用。若不调用则不会收到私有流的数据。 + virtual void SubscribePrivateTopic(THOST_TE_RESUME_TYPE nResumeType) = 0; + + ///订阅公共流。 + ///@param nResumeType 公共流重传方式 + /// THOST_TERT_RESTART:从本交易日开始重传 + /// THOST_TERT_RESUME:从上次收到的续传 + /// THOST_TERT_QUICK:只传送登录后公共流的内容 + ///@remark 该方法要在Init方法前调用。若不调用则不会收到公共流的数据。 + virtual void SubscribePublicTopic(THOST_TE_RESUME_TYPE nResumeType) = 0; + + ///客户端认证请求 + virtual int ReqAuthenticate(CThostFtdcReqAuthenticateField *pReqAuthenticateField, int nRequestID) = 0; + + ///用户登录请求 + virtual int ReqUserLogin(CThostFtdcReqUserLoginField *pReqUserLoginField, int nRequestID) = 0; + + + ///登出请求 + virtual int ReqUserLogout(CThostFtdcUserLogoutField *pUserLogout, int nRequestID) = 0; + + ///用户口令更新请求 + virtual int ReqUserPasswordUpdate(CThostFtdcUserPasswordUpdateField *pUserPasswordUpdate, int nRequestID) = 0; + + ///资金账户口令更新请求 + virtual int ReqTradingAccountPasswordUpdate(CThostFtdcTradingAccountPasswordUpdateField *pTradingAccountPasswordUpdate, int nRequestID) = 0; + + ///报单录入请求 + virtual int ReqOrderInsert(CThostFtdcInputOrderField *pInputOrder, int nRequestID) = 0; + + ///预埋单录入请求 + virtual int ReqParkedOrderInsert(CThostFtdcParkedOrderField *pParkedOrder, int nRequestID) = 0; + + ///预埋撤单录入请求 + virtual int ReqParkedOrderAction(CThostFtdcParkedOrderActionField *pParkedOrderAction, int nRequestID) = 0; + + ///报单操作请求 + virtual int ReqOrderAction(CThostFtdcInputOrderActionField *pInputOrderAction, int nRequestID) = 0; + + ///查询最大报单数量请求 + virtual int ReqQueryMaxOrderVolume(CThostFtdcQueryMaxOrderVolumeField *pQueryMaxOrderVolume, int nRequestID) = 0; + + ///投资者结算结果确认 + virtual int ReqSettlementInfoConfirm(CThostFtdcSettlementInfoConfirmField *pSettlementInfoConfirm, int nRequestID) = 0; + + ///请求删除预埋单 + virtual int ReqRemoveParkedOrder(CThostFtdcRemoveParkedOrderField *pRemoveParkedOrder, int nRequestID) = 0; + + ///请求删除预埋撤单 + virtual int ReqRemoveParkedOrderAction(CThostFtdcRemoveParkedOrderActionField *pRemoveParkedOrderAction, int nRequestID) = 0; + + ///执行宣告录入请求 + virtual int ReqExecOrderInsert(CThostFtdcInputExecOrderField *pInputExecOrder, int nRequestID) = 0; + + ///执行宣告操作请求 + virtual int ReqExecOrderAction(CThostFtdcInputExecOrderActionField *pInputExecOrderAction, int nRequestID) = 0; + + ///询价录入请求 + virtual int ReqForQuoteInsert(CThostFtdcInputForQuoteField *pInputForQuote, int nRequestID) = 0; + + ///报价录入请求 + virtual int ReqQuoteInsert(CThostFtdcInputQuoteField *pInputQuote, int nRequestID) = 0; + + ///报价操作请求 + virtual int ReqQuoteAction(CThostFtdcInputQuoteActionField *pInputQuoteAction, int nRequestID) = 0; + + ///请求查询报单 + virtual int ReqQryOrder(CThostFtdcQryOrderField *pQryOrder, int nRequestID) = 0; + + ///请求查询成交 + virtual int ReqQryTrade(CThostFtdcQryTradeField *pQryTrade, int nRequestID) = 0; + + ///请求查询投资者持仓 + virtual int ReqQryInvestorPosition(CThostFtdcQryInvestorPositionField *pQryInvestorPosition, int nRequestID) = 0; + + ///请求查询资金账户 + virtual int ReqQryTradingAccount(CThostFtdcQryTradingAccountField *pQryTradingAccount, int nRequestID) = 0; + + ///请求查询投资者 + virtual int ReqQryInvestor(CThostFtdcQryInvestorField *pQryInvestor, int nRequestID) = 0; + + ///请求查询交易编码 + virtual int ReqQryTradingCode(CThostFtdcQryTradingCodeField *pQryTradingCode, int nRequestID) = 0; + + ///请求查询合约保证金率 + virtual int ReqQryInstrumentMarginRate(CThostFtdcQryInstrumentMarginRateField *pQryInstrumentMarginRate, int nRequestID) = 0; + + ///请求查询合约手续费率 + virtual int ReqQryInstrumentCommissionRate(CThostFtdcQryInstrumentCommissionRateField *pQryInstrumentCommissionRate, int nRequestID) = 0; + + ///请求查询交易所 + virtual int ReqQryExchange(CThostFtdcQryExchangeField *pQryExchange, int nRequestID) = 0; + + ///请求查询产品 + virtual int ReqQryProduct(CThostFtdcQryProductField *pQryProduct, int nRequestID) = 0; + + ///请求查询合约 + virtual int ReqQryInstrument(CThostFtdcQryInstrumentField *pQryInstrument, int nRequestID) = 0; + + ///请求查询行情 + virtual int ReqQryDepthMarketData(CThostFtdcQryDepthMarketDataField *pQryDepthMarketData, int nRequestID) = 0; + + ///请求查询投资者结算结果 + virtual int ReqQrySettlementInfo(CThostFtdcQrySettlementInfoField *pQrySettlementInfo, int nRequestID) = 0; + + ///请求查询转帐银行 + virtual int ReqQryTransferBank(CThostFtdcQryTransferBankField *pQryTransferBank, int nRequestID) = 0; + + ///请求查询投资者持仓明细 + virtual int ReqQryInvestorPositionDetail(CThostFtdcQryInvestorPositionDetailField *pQryInvestorPositionDetail, int nRequestID) = 0; + + ///请求查询客户通知 + virtual int ReqQryNotice(CThostFtdcQryNoticeField *pQryNotice, int nRequestID) = 0; + + ///请求查询结算信息确认 + virtual int ReqQrySettlementInfoConfirm(CThostFtdcQrySettlementInfoConfirmField *pQrySettlementInfoConfirm, int nRequestID) = 0; + + ///请求查询投资者持仓明细 + virtual int ReqQryInvestorPositionCombineDetail(CThostFtdcQryInvestorPositionCombineDetailField *pQryInvestorPositionCombineDetail, int nRequestID) = 0; + + ///请求查询保证金监管系统经纪公司资金账户密钥 + virtual int ReqQryCFMMCTradingAccountKey(CThostFtdcQryCFMMCTradingAccountKeyField *pQryCFMMCTradingAccountKey, int nRequestID) = 0; + + ///请求查询仓单折抵信息 + virtual int ReqQryEWarrantOffset(CThostFtdcQryEWarrantOffsetField *pQryEWarrantOffset, int nRequestID) = 0; + + ///请求查询投资者品种/跨品种保证金 + virtual int ReqQryInvestorProductGroupMargin(CThostFtdcQryInvestorProductGroupMarginField *pQryInvestorProductGroupMargin, int nRequestID) = 0; + + ///请求查询交易所保证金率 + virtual int ReqQryExchangeMarginRate(CThostFtdcQryExchangeMarginRateField *pQryExchangeMarginRate, int nRequestID) = 0; + + ///请求查询交易所调整保证金率 + virtual int ReqQryExchangeMarginRateAdjust(CThostFtdcQryExchangeMarginRateAdjustField *pQryExchangeMarginRateAdjust, int nRequestID) = 0; + + ///请求查询汇率 + virtual int ReqQryExchangeRate(CThostFtdcQryExchangeRateField *pQryExchangeRate, int nRequestID) = 0; + + ///请求查询二级代理操作员银期权限 + virtual int ReqQrySecAgentACIDMap(CThostFtdcQrySecAgentACIDMapField *pQrySecAgentACIDMap, int nRequestID) = 0; + + ///请求查询期权交易成本 + virtual int ReqQryOptionInstrTradeCost(CThostFtdcQryOptionInstrTradeCostField *pQryOptionInstrTradeCost, int nRequestID) = 0; + + ///请求查询期权合约手续费 + virtual int ReqQryOptionInstrCommRate(CThostFtdcQryOptionInstrCommRateField *pQryOptionInstrCommRate, int nRequestID) = 0; + + ///请求查询执行宣告 + virtual int ReqQryExecOrder(CThostFtdcQryExecOrderField *pQryExecOrder, int nRequestID) = 0; + + ///请求查询询价 + virtual int ReqQryForQuote(CThostFtdcQryForQuoteField *pQryForQuote, int nRequestID) = 0; + + ///请求查询报价 + virtual int ReqQryQuote(CThostFtdcQryQuoteField *pQryQuote, int nRequestID) = 0; + + ///请求查询转帐流水 + virtual int ReqQryTransferSerial(CThostFtdcQryTransferSerialField *pQryTransferSerial, int nRequestID) = 0; + + ///请求查询银期签约关系 + virtual int ReqQryAccountregister(CThostFtdcQryAccountregisterField *pQryAccountregister, int nRequestID) = 0; + + ///请求查询签约银行 + virtual int ReqQryContractBank(CThostFtdcQryContractBankField *pQryContractBank, int nRequestID) = 0; + + ///请求查询预埋单 + virtual int ReqQryParkedOrder(CThostFtdcQryParkedOrderField *pQryParkedOrder, int nRequestID) = 0; + + ///请求查询预埋撤单 + virtual int ReqQryParkedOrderAction(CThostFtdcQryParkedOrderActionField *pQryParkedOrderAction, int nRequestID) = 0; + + ///请求查询交易通知 + virtual int ReqQryTradingNotice(CThostFtdcQryTradingNoticeField *pQryTradingNotice, int nRequestID) = 0; + + ///请求查询经纪公司交易参数 + virtual int ReqQryBrokerTradingParams(CThostFtdcQryBrokerTradingParamsField *pQryBrokerTradingParams, int nRequestID) = 0; + + ///请求查询经纪公司交易算法 + virtual int ReqQryBrokerTradingAlgos(CThostFtdcQryBrokerTradingAlgosField *pQryBrokerTradingAlgos, int nRequestID) = 0; + + ///期货发起银行资金转期货请求 + virtual int ReqFromBankToFutureByFuture(CThostFtdcReqTransferField *pReqTransfer, int nRequestID) = 0; + + ///期货发起期货资金转银行请求 + virtual int ReqFromFutureToBankByFuture(CThostFtdcReqTransferField *pReqTransfer, int nRequestID) = 0; + + ///期货发起查询银行余额请求 + virtual int ReqQueryBankAccountMoneyByFuture(CThostFtdcReqQueryAccountField *pReqQueryAccount, int nRequestID) = 0; +protected: + ~CThostFtdcTraderApi(){}; +}; + +#endif diff --git a/vn.ctp/ctpapi/ThostFtdcUserApiDataType.h b/vn.ctp/ctpapi/ThostFtdcUserApiDataType.h new file mode 100644 index 00000000..15c6e00b --- /dev/null +++ b/vn.ctp/ctpapi/ThostFtdcUserApiDataType.h @@ -0,0 +1,6267 @@ +///////////////////////////////////////////////////////////////////////// +///@system 新一代交易所系统 +///@company 上海期货信息技术有限公司 +///@file ThostFtdcUserApiDataType.h +///@brief 定义了客户端接口使用的业务数据类型 +///@history +///20060106 赵鸿昊 创建该文件 +///////////////////////////////////////////////////////////////////////// + +#ifndef THOST_FTDCDATATYPE_H +#define THOST_FTDCDATATYPE_H + +enum THOST_TE_RESUME_TYPE +{ + THOST_TERT_RESTART = 0, + THOST_TERT_RESUME, + THOST_TERT_QUICK +}; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTraderIDType是一个交易所交易员代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcTraderIDType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInvestorIDType是一个投资者代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcInvestorIDType[13]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBrokerIDType是一个经纪公司代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBrokerIDType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBrokerAbbrType是一个经纪公司简称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBrokerAbbrType[9]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBrokerNameType是一个经纪公司名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBrokerNameType[81]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcExchangeInstIDType是一个合约在交易所的代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcExchangeInstIDType[31]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOrderRefType是一个报单引用类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcOrderRefType[13]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcParticipantIDType是一个会员代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcParticipantIDType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUserIDType是一个用户代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcUserIDType[16]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPasswordType是一个密码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcPasswordType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcClientIDType是一个交易编码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcClientIDType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInstrumentIDType是一个合约代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcInstrumentIDType[31]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcMarketIDType是一个市场代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcMarketIDType[31]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcProductNameType是一个产品名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcProductNameType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcExchangeIDType是一个交易所代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcExchangeIDType[9]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcExchangeNameType是一个交易所名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcExchangeNameType[61]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcExchangeAbbrType是一个交易所简称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcExchangeAbbrType[9]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcExchangeFlagType是一个交易所标志类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcExchangeFlagType[2]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcMacAddressType是一个Mac地址类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcMacAddressType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSystemIDType是一个系统编号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcSystemIDType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcExchangePropertyType是一个交易所属性类型 +///////////////////////////////////////////////////////////////////////// +///正常 +#define THOST_FTDC_EXP_Normal '0' +///根据成交生成报单 +#define THOST_FTDC_EXP_GenOrderByTrade '1' + +typedef char TThostFtdcExchangePropertyType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDateType是一个日期类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcDateType[9]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTimeType是一个时间类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcTimeType[9]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcLongTimeType是一个长时间类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcLongTimeType[13]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInstrumentNameType是一个合约名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcInstrumentNameType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSettlementGroupIDType是一个结算组代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcSettlementGroupIDType[9]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOrderSysIDType是一个报单编号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcOrderSysIDType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTradeIDType是一个成交编号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcTradeIDType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCommandTypeType是一个DB命令类型类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCommandTypeType[65]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcIPAddressType是一个IP地址类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcIPAddressType[16]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcIPPortType是一个IP端口类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcIPPortType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcProductInfoType是一个产品信息类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcProductInfoType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcProtocolInfoType是一个协议信息类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcProtocolInfoType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBusinessUnitType是一个业务单元类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBusinessUnitType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDepositSeqNoType是一个出入金流水号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcDepositSeqNoType[15]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcIdentifiedCardNoType是一个证件号码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcIdentifiedCardNoType[51]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcIdCardTypeType是一个证件类型类型 +///////////////////////////////////////////////////////////////////////// +///组织机构代码 +#define THOST_FTDC_ICT_EID '0' +///中国公民身份证 +#define THOST_FTDC_ICT_IDCard '1' +///军官证 +#define THOST_FTDC_ICT_OfficerIDCard '2' +///警官证 +#define THOST_FTDC_ICT_PoliceIDCard '3' +///士兵证 +#define THOST_FTDC_ICT_SoldierIDCard '4' +///户口簿 +#define THOST_FTDC_ICT_HouseholdRegister '5' +///护照 +#define THOST_FTDC_ICT_Passport '6' +///台胞证 +#define THOST_FTDC_ICT_TaiwanCompatriotIDCard '7' +///回乡证 +#define THOST_FTDC_ICT_HomeComingCard '8' +///营业执照号 +#define THOST_FTDC_ICT_LicenseNo '9' +///税务登记号/当地纳税ID +#define THOST_FTDC_ICT_TaxNo 'A' +///港澳居民来往内地通行证 +#define THOST_FTDC_ICT_HMMainlandTravelPermit 'B' +///台湾居民来往大陆通行证 +#define THOST_FTDC_ICT_TwMainlandTravelPermit 'C' +///驾照 +#define THOST_FTDC_ICT_DrivingLicense 'D' +///当地社保ID +#define THOST_FTDC_ICT_SocialID 'F' +///当地身份证 +#define THOST_FTDC_ICT_LocalID 'G' +///商业登记证 +#define THOST_FTDC_ICT_BusinessRegistration 'H' +///港澳永久性居民身份证 +#define THOST_FTDC_ICT_HKMCIDCard 'I' +///其他证件 +#define THOST_FTDC_ICT_OtherCard 'x' + +typedef char TThostFtdcIdCardTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOrderLocalIDType是一个本地报单编号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcOrderLocalIDType[13]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUserNameType是一个用户名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcUserNameType[81]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPartyNameType是一个参与人名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcPartyNameType[81]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcErrorMsgType是一个错误信息类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcErrorMsgType[81]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFieldNameType是一个字段名类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFieldNameType[2049]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFieldContentType是一个字段内容类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFieldContentType[2049]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSystemNameType是一个系统名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcSystemNameType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcContentType是一个消息正文类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcContentType[501]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInvestorRangeType是一个投资者范围类型 +///////////////////////////////////////////////////////////////////////// +///所有 +#define THOST_FTDC_IR_All '1' +///投资者组 +#define THOST_FTDC_IR_Group '2' +///单一投资者 +#define THOST_FTDC_IR_Single '3' + +typedef char TThostFtdcInvestorRangeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDepartmentRangeType是一个投资者范围类型 +///////////////////////////////////////////////////////////////////////// +///所有 +#define THOST_FTDC_DR_All '1' +///组织架构 +#define THOST_FTDC_DR_Group '2' +///单一投资者 +#define THOST_FTDC_DR_Single '3' + +typedef char TThostFtdcDepartmentRangeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDataSyncStatusType是一个数据同步状态类型 +///////////////////////////////////////////////////////////////////////// +///未同步 +#define THOST_FTDC_DS_Asynchronous '1' +///同步中 +#define THOST_FTDC_DS_Synchronizing '2' +///已同步 +#define THOST_FTDC_DS_Synchronized '3' + +typedef char TThostFtdcDataSyncStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBrokerDataSyncStatusType是一个经纪公司数据同步状态类型 +///////////////////////////////////////////////////////////////////////// +///已同步 +#define THOST_FTDC_BDS_Synchronized '1' +///同步中 +#define THOST_FTDC_BDS_Synchronizing '2' + +typedef char TThostFtdcBrokerDataSyncStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcExchangeConnectStatusType是一个交易所连接状态类型 +///////////////////////////////////////////////////////////////////////// +///没有任何连接 +#define THOST_FTDC_ECS_NoConnection '1' +///已经发出合约查询请求 +#define THOST_FTDC_ECS_QryInstrumentSent '2' +///已经获取信息 +#define THOST_FTDC_ECS_GotInformation '9' + +typedef char TThostFtdcExchangeConnectStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTraderConnectStatusType是一个交易所交易员连接状态类型 +///////////////////////////////////////////////////////////////////////// +///没有任何连接 +#define THOST_FTDC_TCS_NotConnected '1' +///已经连接 +#define THOST_FTDC_TCS_Connected '2' +///已经发出合约查询请求 +#define THOST_FTDC_TCS_QryInstrumentSent '3' +///订阅私有流 +#define THOST_FTDC_TCS_SubPrivateFlow '4' + +typedef char TThostFtdcTraderConnectStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFunctionCodeType是一个功能代码类型 +///////////////////////////////////////////////////////////////////////// +///数据异步化 +#define THOST_FTDC_FC_DataAsync '1' +///强制用户登出 +#define THOST_FTDC_FC_ForceUserLogout '2' +///变更管理用户口令 +#define THOST_FTDC_FC_UserPasswordUpdate '3' +///变更经纪公司口令 +#define THOST_FTDC_FC_BrokerPasswordUpdate '4' +///变更投资者口令 +#define THOST_FTDC_FC_InvestorPasswordUpdate '5' +///报单插入 +#define THOST_FTDC_FC_OrderInsert '6' +///报单操作 +#define THOST_FTDC_FC_OrderAction '7' +///同步系统数据 +#define THOST_FTDC_FC_SyncSystemData '8' +///同步经纪公司数据 +#define THOST_FTDC_FC_SyncBrokerData '9' +///批量同步经纪公司数据 +#define THOST_FTDC_FC_BachSyncBrokerData 'A' +///超级查询 +#define THOST_FTDC_FC_SuperQuery 'B' +///预埋报单插入 +#define THOST_FTDC_FC_ParkedOrderInsert 'C' +///预埋报单操作 +#define THOST_FTDC_FC_ParkedOrderAction 'D' +///同步动态令牌 +#define THOST_FTDC_FC_SyncOTP 'E' +///删除未知单 +#define THOST_FTDC_FC_DeleteOrder 'F' + +typedef char TThostFtdcFunctionCodeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBrokerFunctionCodeType是一个经纪公司功能代码类型 +///////////////////////////////////////////////////////////////////////// +///强制用户登出 +#define THOST_FTDC_BFC_ForceUserLogout '1' +///变更用户口令 +#define THOST_FTDC_BFC_UserPasswordUpdate '2' +///同步经纪公司数据 +#define THOST_FTDC_BFC_SyncBrokerData '3' +///批量同步经纪公司数据 +#define THOST_FTDC_BFC_BachSyncBrokerData '4' +///报单插入 +#define THOST_FTDC_BFC_OrderInsert '5' +///报单操作 +#define THOST_FTDC_BFC_OrderAction '6' +///全部查询 +#define THOST_FTDC_BFC_AllQuery '7' +///系统功能:登入/登出/修改密码等 +#define THOST_FTDC_BFC_log 'a' +///基本查询:查询基础数据,如合约,交易所等常量 +#define THOST_FTDC_BFC_BaseQry 'b' +///交易查询:如查成交,委托 +#define THOST_FTDC_BFC_TradeQry 'c' +///交易功能:报单,撤单 +#define THOST_FTDC_BFC_Trade 'd' +///银期转账 +#define THOST_FTDC_BFC_Virement 'e' +///风险监控 +#define THOST_FTDC_BFC_Risk 'f' +///查询/管理:查询会话,踢人等 +#define THOST_FTDC_BFC_Session 'g' +///风控通知控制 +#define THOST_FTDC_BFC_RiskNoticeCtl 'h' +///风控通知发送 +#define THOST_FTDC_BFC_RiskNotice 'i' +///察看经纪公司资金权限 +#define THOST_FTDC_BFC_BrokerDeposit 'j' +///资金查询 +#define THOST_FTDC_BFC_QueryFund 'k' +///报单查询 +#define THOST_FTDC_BFC_QueryOrder 'l' +///成交查询 +#define THOST_FTDC_BFC_QueryTrade 'm' +///持仓查询 +#define THOST_FTDC_BFC_QueryPosition 'n' +///行情查询 +#define THOST_FTDC_BFC_QueryMarketData 'o' +///用户事件查询 +#define THOST_FTDC_BFC_QueryUserEvent 'p' +///风险通知查询 +#define THOST_FTDC_BFC_QueryRiskNotify 'q' +///出入金查询 +#define THOST_FTDC_BFC_QueryFundChange 'r' +///投资者信息查询 +#define THOST_FTDC_BFC_QueryInvestor 's' +///交易编码查询 +#define THOST_FTDC_BFC_QueryTradingCode 't' +///强平 +#define THOST_FTDC_BFC_ForceClose 'u' +///压力测试 +#define THOST_FTDC_BFC_PressTest 'v' +///权益反算 +#define THOST_FTDC_BFC_RemainCalc 'w' +///净持仓保证金指标 +#define THOST_FTDC_BFC_NetPositionInd 'x' +///风险预算 +#define THOST_FTDC_BFC_RiskPredict 'y' +///数据导出 +#define THOST_FTDC_BFC_DataExport 'z' +///风控指标设置 +#define THOST_FTDC_BFC_RiskTargetSetup 'A' +///行情预警 +#define THOST_FTDC_BFC_MarketDataWarn 'B' +///业务通知查询 +#define THOST_FTDC_BFC_QryBizNotice 'C' +///业务通知模板设置 +#define THOST_FTDC_BFC_CfgBizNotice 'D' +///同步动态令牌 +#define THOST_FTDC_BFC_SyncOTP 'E' +///发送业务通知 +#define THOST_FTDC_BFC_SendBizNotice 'F' +///风险级别标准设置 +#define THOST_FTDC_BFC_CfgRiskLevelStd 'G' +///交易终端应急功能 +#define THOST_FTDC_BFC_TbCommand 'H' +///删除未知单 +#define THOST_FTDC_BFC_DeleteOrder 'J' +///预埋报单插入 +#define THOST_FTDC_BFC_ParkedOrderInsert 'K' +///预埋报单操作 +#define THOST_FTDC_BFC_ParkedOrderAction 'L' + +typedef char TThostFtdcBrokerFunctionCodeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOrderActionStatusType是一个报单操作状态类型 +///////////////////////////////////////////////////////////////////////// +///已经提交 +#define THOST_FTDC_OAS_Submitted 'a' +///已经接受 +#define THOST_FTDC_OAS_Accepted 'b' +///已经被拒绝 +#define THOST_FTDC_OAS_Rejected 'c' + +typedef char TThostFtdcOrderActionStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOrderStatusType是一个报单状态类型 +///////////////////////////////////////////////////////////////////////// +///全部成交 +#define THOST_FTDC_OST_AllTraded '0' +///部分成交还在队列中 +#define THOST_FTDC_OST_PartTradedQueueing '1' +///部分成交不在队列中 +#define THOST_FTDC_OST_PartTradedNotQueueing '2' +///未成交还在队列中 +#define THOST_FTDC_OST_NoTradeQueueing '3' +///未成交不在队列中 +#define THOST_FTDC_OST_NoTradeNotQueueing '4' +///撤单 +#define THOST_FTDC_OST_Canceled '5' +///未知 +#define THOST_FTDC_OST_Unknown 'a' +///尚未触发 +#define THOST_FTDC_OST_NotTouched 'b' +///已触发 +#define THOST_FTDC_OST_Touched 'c' + +typedef char TThostFtdcOrderStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOrderSubmitStatusType是一个报单提交状态类型 +///////////////////////////////////////////////////////////////////////// +///已经提交 +#define THOST_FTDC_OSS_InsertSubmitted '0' +///撤单已经提交 +#define THOST_FTDC_OSS_CancelSubmitted '1' +///修改已经提交 +#define THOST_FTDC_OSS_ModifySubmitted '2' +///已经接受 +#define THOST_FTDC_OSS_Accepted '3' +///报单已经被拒绝 +#define THOST_FTDC_OSS_InsertRejected '4' +///撤单已经被拒绝 +#define THOST_FTDC_OSS_CancelRejected '5' +///改单已经被拒绝 +#define THOST_FTDC_OSS_ModifyRejected '6' + +typedef char TThostFtdcOrderSubmitStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPositionDateType是一个持仓日期类型 +///////////////////////////////////////////////////////////////////////// +///今日持仓 +#define THOST_FTDC_PSD_Today '1' +///历史持仓 +#define THOST_FTDC_PSD_History '2' + +typedef char TThostFtdcPositionDateType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPositionDateTypeType是一个持仓日期类型类型 +///////////////////////////////////////////////////////////////////////// +///使用历史持仓 +#define THOST_FTDC_PDT_UseHistory '1' +///不使用历史持仓 +#define THOST_FTDC_PDT_NoUseHistory '2' + +typedef char TThostFtdcPositionDateTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTradingRoleType是一个交易角色类型 +///////////////////////////////////////////////////////////////////////// +///代理 +#define THOST_FTDC_ER_Broker '1' +///自营 +#define THOST_FTDC_ER_Host '2' +///做市商 +#define THOST_FTDC_ER_Maker '3' + +typedef char TThostFtdcTradingRoleType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcProductClassType是一个产品类型类型 +///////////////////////////////////////////////////////////////////////// +///期货 +#define THOST_FTDC_PC_Futures '1' +///期货期权 +#define THOST_FTDC_PC_Options '2' +///组合 +#define THOST_FTDC_PC_Combination '3' +///即期 +#define THOST_FTDC_PC_Spot '4' +///期转现 +#define THOST_FTDC_PC_EFP '5' +///现货期权 +#define THOST_FTDC_PC_SpotOption '6' + +typedef char TThostFtdcProductClassType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInstLifePhaseType是一个合约生命周期状态类型 +///////////////////////////////////////////////////////////////////////// +///未上市 +#define THOST_FTDC_IP_NotStart '0' +///上市 +#define THOST_FTDC_IP_Started '1' +///停牌 +#define THOST_FTDC_IP_Pause '2' +///到期 +#define THOST_FTDC_IP_Expired '3' + +typedef char TThostFtdcInstLifePhaseType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDirectionType是一个买卖方向类型 +///////////////////////////////////////////////////////////////////////// +///买 +#define THOST_FTDC_D_Buy '0' +///卖 +#define THOST_FTDC_D_Sell '1' + +typedef char TThostFtdcDirectionType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPositionTypeType是一个持仓类型类型 +///////////////////////////////////////////////////////////////////////// +///净持仓 +#define THOST_FTDC_PT_Net '1' +///综合持仓 +#define THOST_FTDC_PT_Gross '2' + +typedef char TThostFtdcPositionTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPosiDirectionType是一个持仓多空方向类型 +///////////////////////////////////////////////////////////////////////// +///净 +#define THOST_FTDC_PD_Net '1' +///多头 +#define THOST_FTDC_PD_Long '2' +///空头 +#define THOST_FTDC_PD_Short '3' + +typedef char TThostFtdcPosiDirectionType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSysSettlementStatusType是一个系统结算状态类型 +///////////////////////////////////////////////////////////////////////// +///不活跃 +#define THOST_FTDC_SS_NonActive '1' +///启动 +#define THOST_FTDC_SS_Startup '2' +///操作 +#define THOST_FTDC_SS_Operating '3' +///结算 +#define THOST_FTDC_SS_Settlement '4' +///结算完成 +#define THOST_FTDC_SS_SettlementFinished '5' + +typedef char TThostFtdcSysSettlementStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRatioAttrType是一个费率属性类型 +///////////////////////////////////////////////////////////////////////// +///交易费率 +#define THOST_FTDC_RA_Trade '0' +///结算费率 +#define THOST_FTDC_RA_Settlement '1' + +typedef char TThostFtdcRatioAttrType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcHedgeFlagType是一个投机套保标志类型 +///////////////////////////////////////////////////////////////////////// +///投机 +#define THOST_FTDC_HF_Speculation '1' +///套利 +#define THOST_FTDC_HF_Arbitrage '2' +///套保 +#define THOST_FTDC_HF_Hedge '3' + +typedef char TThostFtdcHedgeFlagType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBillHedgeFlagType是一个投机套保标志类型 +///////////////////////////////////////////////////////////////////////// +///投机 +#define THOST_FTDC_BHF_Speculation '1' +///套利 +#define THOST_FTDC_BHF_Arbitrage '2' +///套保 +#define THOST_FTDC_BHF_Hedge '3' + +typedef char TThostFtdcBillHedgeFlagType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcClientIDTypeType是一个交易编码类型类型 +///////////////////////////////////////////////////////////////////////// +///投机 +#define THOST_FTDC_CIDT_Speculation '1' +///套利 +#define THOST_FTDC_CIDT_Arbitrage '2' +///套保 +#define THOST_FTDC_CIDT_Hedge '3' + +typedef char TThostFtdcClientIDTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOrderPriceTypeType是一个报单价格条件类型 +///////////////////////////////////////////////////////////////////////// +///任意价 +#define THOST_FTDC_OPT_AnyPrice '1' +///限价 +#define THOST_FTDC_OPT_LimitPrice '2' +///最优价 +#define THOST_FTDC_OPT_BestPrice '3' +///最新价 +#define THOST_FTDC_OPT_LastPrice '4' +///最新价浮动上浮1个ticks +#define THOST_FTDC_OPT_LastPricePlusOneTicks '5' +///最新价浮动上浮2个ticks +#define THOST_FTDC_OPT_LastPricePlusTwoTicks '6' +///最新价浮动上浮3个ticks +#define THOST_FTDC_OPT_LastPricePlusThreeTicks '7' +///卖一价 +#define THOST_FTDC_OPT_AskPrice1 '8' +///卖一价浮动上浮1个ticks +#define THOST_FTDC_OPT_AskPrice1PlusOneTicks '9' +///卖一价浮动上浮2个ticks +#define THOST_FTDC_OPT_AskPrice1PlusTwoTicks 'A' +///卖一价浮动上浮3个ticks +#define THOST_FTDC_OPT_AskPrice1PlusThreeTicks 'B' +///买一价 +#define THOST_FTDC_OPT_BidPrice1 'C' +///买一价浮动上浮1个ticks +#define THOST_FTDC_OPT_BidPrice1PlusOneTicks 'D' +///买一价浮动上浮2个ticks +#define THOST_FTDC_OPT_BidPrice1PlusTwoTicks 'E' +///买一价浮动上浮3个ticks +#define THOST_FTDC_OPT_BidPrice1PlusThreeTicks 'F' + +typedef char TThostFtdcOrderPriceTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOffsetFlagType是一个开平标志类型 +///////////////////////////////////////////////////////////////////////// +///开仓 +#define THOST_FTDC_OF_Open '0' +///平仓 +#define THOST_FTDC_OF_Close '1' +///强平 +#define THOST_FTDC_OF_ForceClose '2' +///平今 +#define THOST_FTDC_OF_CloseToday '3' +///平昨 +#define THOST_FTDC_OF_CloseYesterday '4' +///强减 +#define THOST_FTDC_OF_ForceOff '5' +///本地强平 +#define THOST_FTDC_OF_LocalForceClose '6' + +typedef char TThostFtdcOffsetFlagType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcForceCloseReasonType是一个强平原因类型 +///////////////////////////////////////////////////////////////////////// +///非强平 +#define THOST_FTDC_FCC_NotForceClose '0' +///资金不足 +#define THOST_FTDC_FCC_LackDeposit '1' +///客户超仓 +#define THOST_FTDC_FCC_ClientOverPositionLimit '2' +///会员超仓 +#define THOST_FTDC_FCC_MemberOverPositionLimit '3' +///持仓非整数倍 +#define THOST_FTDC_FCC_NotMultiple '4' +///违规 +#define THOST_FTDC_FCC_Violation '5' +///其它 +#define THOST_FTDC_FCC_Other '6' +///自然人临近交割 +#define THOST_FTDC_FCC_PersonDeliv '7' + +typedef char TThostFtdcForceCloseReasonType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOrderTypeType是一个报单类型类型 +///////////////////////////////////////////////////////////////////////// +///正常 +#define THOST_FTDC_ORDT_Normal '0' +///报价衍生 +#define THOST_FTDC_ORDT_DeriveFromQuote '1' +///组合衍生 +#define THOST_FTDC_ORDT_DeriveFromCombination '2' +///组合报单 +#define THOST_FTDC_ORDT_Combination '3' +///条件单 +#define THOST_FTDC_ORDT_ConditionalOrder '4' +///互换单 +#define THOST_FTDC_ORDT_Swap '5' + +typedef char TThostFtdcOrderTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTimeConditionType是一个有效期类型类型 +///////////////////////////////////////////////////////////////////////// +///立即完成,否则撤销 +#define THOST_FTDC_TC_IOC '1' +///本节有效 +#define THOST_FTDC_TC_GFS '2' +///当日有效 +#define THOST_FTDC_TC_GFD '3' +///指定日期前有效 +#define THOST_FTDC_TC_GTD '4' +///撤销前有效 +#define THOST_FTDC_TC_GTC '5' +///集合竞价有效 +#define THOST_FTDC_TC_GFA '6' + +typedef char TThostFtdcTimeConditionType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcVolumeConditionType是一个成交量类型类型 +///////////////////////////////////////////////////////////////////////// +///任何数量 +#define THOST_FTDC_VC_AV '1' +///最小数量 +#define THOST_FTDC_VC_MV '2' +///全部数量 +#define THOST_FTDC_VC_CV '3' + +typedef char TThostFtdcVolumeConditionType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcContingentConditionType是一个触发条件类型 +///////////////////////////////////////////////////////////////////////// +///立即 +#define THOST_FTDC_CC_Immediately '1' +///止损 +#define THOST_FTDC_CC_Touch '2' +///止赢 +#define THOST_FTDC_CC_TouchProfit '3' +///预埋单 +#define THOST_FTDC_CC_ParkedOrder '4' +///最新价大于条件价 +#define THOST_FTDC_CC_LastPriceGreaterThanStopPrice '5' +///最新价大于等于条件价 +#define THOST_FTDC_CC_LastPriceGreaterEqualStopPrice '6' +///最新价小于条件价 +#define THOST_FTDC_CC_LastPriceLesserThanStopPrice '7' +///最新价小于等于条件价 +#define THOST_FTDC_CC_LastPriceLesserEqualStopPrice '8' +///卖一价大于条件价 +#define THOST_FTDC_CC_AskPriceGreaterThanStopPrice '9' +///卖一价大于等于条件价 +#define THOST_FTDC_CC_AskPriceGreaterEqualStopPrice 'A' +///卖一价小于条件价 +#define THOST_FTDC_CC_AskPriceLesserThanStopPrice 'B' +///卖一价小于等于条件价 +#define THOST_FTDC_CC_AskPriceLesserEqualStopPrice 'C' +///买一价大于条件价 +#define THOST_FTDC_CC_BidPriceGreaterThanStopPrice 'D' +///买一价大于等于条件价 +#define THOST_FTDC_CC_BidPriceGreaterEqualStopPrice 'E' +///买一价小于条件价 +#define THOST_FTDC_CC_BidPriceLesserThanStopPrice 'F' +///买一价小于等于条件价 +#define THOST_FTDC_CC_BidPriceLesserEqualStopPrice 'H' + +typedef char TThostFtdcContingentConditionType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcActionFlagType是一个操作标志类型 +///////////////////////////////////////////////////////////////////////// +///删除 +#define THOST_FTDC_AF_Delete '0' +///修改 +#define THOST_FTDC_AF_Modify '3' + +typedef char TThostFtdcActionFlagType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTradingRightType是一个交易权限类型 +///////////////////////////////////////////////////////////////////////// +///可以交易 +#define THOST_FTDC_TR_Allow '0' +///只能平仓 +#define THOST_FTDC_TR_CloseOnly '1' +///不能交易 +#define THOST_FTDC_TR_Forbidden '2' + +typedef char TThostFtdcTradingRightType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOrderSourceType是一个报单来源类型 +///////////////////////////////////////////////////////////////////////// +///来自参与者 +#define THOST_FTDC_OSRC_Participant '0' +///来自管理员 +#define THOST_FTDC_OSRC_Administrator '1' + +typedef char TThostFtdcOrderSourceType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTradeTypeType是一个成交类型类型 +///////////////////////////////////////////////////////////////////////// +///组合持仓拆分为单一持仓,初始化不应包含该类型的持仓 +#define THOST_FTDC_TRDT_SplitCombination '#' +///普通成交 +#define THOST_FTDC_TRDT_Common '0' +///期权执行 +#define THOST_FTDC_TRDT_OptionsExecution '1' +///OTC成交 +#define THOST_FTDC_TRDT_OTC '2' +///期转现衍生成交 +#define THOST_FTDC_TRDT_EFPDerived '3' +///组合衍生成交 +#define THOST_FTDC_TRDT_CombinationDerived '4' + +typedef char TThostFtdcTradeTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPriceSourceType是一个成交价来源类型 +///////////////////////////////////////////////////////////////////////// +///前成交价 +#define THOST_FTDC_PSRC_LastPrice '0' +///买委托价 +#define THOST_FTDC_PSRC_Buy '1' +///卖委托价 +#define THOST_FTDC_PSRC_Sell '2' + +typedef char TThostFtdcPriceSourceType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInstrumentStatusType是一个合约交易状态类型 +///////////////////////////////////////////////////////////////////////// +///开盘前 +#define THOST_FTDC_IS_BeforeTrading '0' +///非交易 +#define THOST_FTDC_IS_NoTrading '1' +///连续交易 +#define THOST_FTDC_IS_Continous '2' +///集合竞价报单 +#define THOST_FTDC_IS_AuctionOrdering '3' +///集合竞价价格平衡 +#define THOST_FTDC_IS_AuctionBalance '4' +///集合竞价撮合 +#define THOST_FTDC_IS_AuctionMatch '5' +///收盘 +#define THOST_FTDC_IS_Closed '6' + +typedef char TThostFtdcInstrumentStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInstStatusEnterReasonType是一个品种进入交易状态原因类型 +///////////////////////////////////////////////////////////////////////// +///自动切换 +#define THOST_FTDC_IER_Automatic '1' +///手动切换 +#define THOST_FTDC_IER_Manual '2' +///熔断 +#define THOST_FTDC_IER_Fuse '3' + +typedef char TThostFtdcInstStatusEnterReasonType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOrderActionRefType是一个报单操作引用类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcOrderActionRefType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInstallCountType是一个安装数量类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcInstallCountType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInstallIDType是一个安装编号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcInstallIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcErrorIDType是一个错误代码类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcErrorIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSettlementIDType是一个结算编号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcSettlementIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcVolumeType是一个数量类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcVolumeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFrontIDType是一个前置编号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcFrontIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSessionIDType是一个会话编号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcSessionIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSequenceNoType是一个序号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcSequenceNoType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCommandNoType是一个DB命令序号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcCommandNoType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcMillisecType是一个时间(毫秒)类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcMillisecType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcVolumeMultipleType是一个合约数量乘数类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcVolumeMultipleType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTradingSegmentSNType是一个交易阶段编号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcTradingSegmentSNType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRequestIDType是一个请求编号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcRequestIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcYearType是一个年份类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcYearType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcMonthType是一个月份类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcMonthType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBoolType是一个布尔型类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcBoolType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPriceType是一个价格类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcPriceType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCombOffsetFlagType是一个组合开平标志类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCombOffsetFlagType[5]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCombHedgeFlagType是一个组合投机套保标志类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCombHedgeFlagType[5]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRatioType是一个比率类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcRatioType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcMoneyType是一个资金类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcMoneyType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcLargeVolumeType是一个大额数量类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcLargeVolumeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSequenceSeriesType是一个序列系列号类型 +///////////////////////////////////////////////////////////////////////// +typedef short TThostFtdcSequenceSeriesType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCommPhaseNoType是一个通讯时段编号类型 +///////////////////////////////////////////////////////////////////////// +typedef short TThostFtdcCommPhaseNoType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSequenceLabelType是一个序列编号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcSequenceLabelType[2]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUnderlyingMultipleType是一个基础商品乘数类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcUnderlyingMultipleType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPriorityType是一个优先级类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcPriorityType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcContractCodeType是一个合同编号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcContractCodeType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCityType是一个市类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCityType[51]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcIsStockType是一个是否股民类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcIsStockType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcChannelType是一个渠道类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcChannelType[51]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAddressType是一个通讯地址类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAddressType[101]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcZipCodeType是一个邮政编码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcZipCodeType[7]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTelephoneType是一个联系电话类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcTelephoneType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFaxType是一个传真类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFaxType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcMobileType是一个手机类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcMobileType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcEMailType是一个电子邮件类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcEMailType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcMemoType是一个备注类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcMemoType[161]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCompanyCodeType是一个企业代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCompanyCodeType[51]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcWebsiteType是一个网站地址类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcWebsiteType[51]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTaxNoType是一个税务登记号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcTaxNoType[31]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBatchStatusType是一个处理状态类型 +///////////////////////////////////////////////////////////////////////// +///未上传 +#define THOST_FTDC_BS_NoUpload '1' +///已上传 +#define THOST_FTDC_BS_Uploaded '2' +///审核失败 +#define THOST_FTDC_BS_Failed '3' + +typedef char TThostFtdcBatchStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPropertyIDType是一个属性代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcPropertyIDType[33]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPropertyNameType是一个属性名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcPropertyNameType[65]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcLicenseNoType是一个营业执照号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcLicenseNoType[51]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAgentIDType是一个经纪人代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAgentIDType[13]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAgentNameType是一个经纪人名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAgentNameType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAgentGroupIDType是一个经纪人组代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAgentGroupIDType[13]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAgentGroupNameType是一个经纪人组名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAgentGroupNameType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcReturnStyleType是一个按品种返还方式类型 +///////////////////////////////////////////////////////////////////////// +///按所有品种 +#define THOST_FTDC_RS_All '1' +///按品种 +#define THOST_FTDC_RS_ByProduct '2' + +typedef char TThostFtdcReturnStyleType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcReturnPatternType是一个返还模式类型 +///////////////////////////////////////////////////////////////////////// +///按成交手数 +#define THOST_FTDC_RP_ByVolume '1' +///按留存手续费 +#define THOST_FTDC_RP_ByFeeOnHand '2' + +typedef char TThostFtdcReturnPatternType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcReturnLevelType是一个返还级别类型 +///////////////////////////////////////////////////////////////////////// +///级别1 +#define THOST_FTDC_RL_Level1 '1' +///级别2 +#define THOST_FTDC_RL_Level2 '2' +///级别3 +#define THOST_FTDC_RL_Level3 '3' +///级别4 +#define THOST_FTDC_RL_Level4 '4' +///级别5 +#define THOST_FTDC_RL_Level5 '5' +///级别6 +#define THOST_FTDC_RL_Level6 '6' +///级别7 +#define THOST_FTDC_RL_Level7 '7' +///级别8 +#define THOST_FTDC_RL_Level8 '8' +///级别9 +#define THOST_FTDC_RL_Level9 '9' + +typedef char TThostFtdcReturnLevelType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcReturnStandardType是一个返还标准类型 +///////////////////////////////////////////////////////////////////////// +///分阶段返还 +#define THOST_FTDC_RSD_ByPeriod '1' +///按某一标准 +#define THOST_FTDC_RSD_ByStandard '2' + +typedef char TThostFtdcReturnStandardType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcMortgageTypeType是一个质押类型类型 +///////////////////////////////////////////////////////////////////////// +///质出 +#define THOST_FTDC_MT_Out '0' +///质入 +#define THOST_FTDC_MT_In '1' + +typedef char TThostFtdcMortgageTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInvestorSettlementParamIDType是一个投资者结算参数代码类型 +///////////////////////////////////////////////////////////////////////// +///质押比例 +#define THOST_FTDC_ISPI_MortgageRatio '4' +///保证金算法 +#define THOST_FTDC_ISPI_MarginWay '5' +///结算单结存是否包含质押 +#define THOST_FTDC_ISPI_BillDeposit '9' + +typedef char TThostFtdcInvestorSettlementParamIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcExchangeSettlementParamIDType是一个交易所结算参数代码类型 +///////////////////////////////////////////////////////////////////////// +///质押比例 +#define THOST_FTDC_ESPI_MortgageRatio '1' +///分项资金导入项 +#define THOST_FTDC_ESPI_OtherFundItem '2' +///分项资金入交易所出入金 +#define THOST_FTDC_ESPI_OtherFundImport '3' +///中金所开户最低可用金额 +#define THOST_FTDC_ESPI_CFFEXMinPrepa '6' +///郑商所结算方式 +#define THOST_FTDC_ESPI_CZCESettlementType '7' +///交易所交割手续费收取方式 +#define THOST_FTDC_ESPI_ExchDelivFeeMode '9' +///投资者交割手续费收取方式 +#define THOST_FTDC_ESPI_DelivFeeMode '0' +///郑商所组合持仓保证金收取方式 +#define THOST_FTDC_ESPI_CZCEComMarginType 'A' +///大商所套利保证金是否优惠 +#define THOST_FTDC_ESPI_DceComMarginType 'B' +///虚值期权保证金优惠比率 +#define THOST_FTDC_ESPI_OptOutDisCountRate 'a' +///最低保障系数 +#define THOST_FTDC_ESPI_OptMiniGuarantee 'b' + +typedef char TThostFtdcExchangeSettlementParamIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSystemParamIDType是一个系统参数代码类型 +///////////////////////////////////////////////////////////////////////// +///投资者代码最小长度 +#define THOST_FTDC_SPI_InvestorIDMinLength '1' +///投资者帐号代码最小长度 +#define THOST_FTDC_SPI_AccountIDMinLength '2' +///投资者开户默认登录权限 +#define THOST_FTDC_SPI_UserRightLogon '3' +///投资者交易结算单成交汇总方式 +#define THOST_FTDC_SPI_SettlementBillTrade '4' +///统一开户更新交易编码方式 +#define THOST_FTDC_SPI_TradingCode '5' +///结算是否判断存在未复核的出入金和分项资金 +#define THOST_FTDC_SPI_CheckFund '6' +///是否启用手续费模板数据权限 +#define THOST_FTDC_SPI_CommModelRight '7' +///是否启用保证金率模板数据权限 +#define THOST_FTDC_SPI_MarginModelRight '9' +///是否规范用户才能激活 +#define THOST_FTDC_SPI_IsStandardActive '8' +///上传的交易所结算文件路径 +#define THOST_FTDC_SPI_UploadSettlementFile 'U' +///上报保证金监控中心文件路径 +#define THOST_FTDC_SPI_DownloadCSRCFile 'D' +///生成的结算单文件路径 +#define THOST_FTDC_SPI_SettlementBillFile 'S' +///证监会文件标识 +#define THOST_FTDC_SPI_CSRCOthersFile 'C' +///投资者照片路径 +#define THOST_FTDC_SPI_InvestorPhoto 'P' +///全结经纪公司上传文件路径 +#define THOST_FTDC_SPI_CSRCData 'R' +///开户密码录入方式 +#define THOST_FTDC_SPI_InvestorPwdModel 'I' +///投资者中金所结算文件下载路径 +#define THOST_FTDC_SPI_CFFEXInvestorSettleFile 'F' +///投资者代码编码方式 +#define THOST_FTDC_SPI_InvestorIDType 'a' +///休眠户最高权益 +#define THOST_FTDC_SPI_FreezeMaxReMain 'r' +///手续费相关操作实时上场开关 +#define THOST_FTDC_SPI_IsSync 'A' +///解除开仓权限限制 +#define THOST_FTDC_SPI_RelieveOpenLimit 'O' +///是否规范用户才能休眠 +#define THOST_FTDC_SPI_IsStandardFreeze 'X' +///郑商所是否开放所有品种套保交易 +#define THOST_FTDC_SPI_CZCENormalProductHedge 'B' + +typedef char TThostFtdcSystemParamIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTradeParamIDType是一个交易系统参数代码类型 +///////////////////////////////////////////////////////////////////////// +///系统加密算法 +#define THOST_FTDC_TPID_EncryptionStandard 'E' +///系统风险算法 +#define THOST_FTDC_TPID_RiskMode 'R' +///系统风险算法是否全局 0-否 1-是 +#define THOST_FTDC_TPID_RiskModeGlobal 'G' +///密码加密算法 +#define THOST_FTDC_TPID_modeEncode 'P' +///价格小数位数参数 +#define THOST_FTDC_TPID_tickMode 'T' +///用户最大会话数 +#define THOST_FTDC_TPID_SingleUserSessionMaxNum 'S' +///最大连续登录失败数 +#define THOST_FTDC_TPID_LoginFailMaxNum 'L' +///是否强制认证 +#define THOST_FTDC_TPID_IsAuthForce 'A' + +typedef char TThostFtdcTradeParamIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSettlementParamValueType是一个参数代码值类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcSettlementParamValueType[256]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCounterIDType是一个计数器代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCounterIDType[33]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInvestorGroupNameType是一个投资者分组名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcInvestorGroupNameType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBrandCodeType是一个牌号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBrandCodeType[257]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcWarehouseType是一个仓库类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcWarehouseType[257]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcProductDateType是一个产期类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcProductDateType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcGradeType是一个等级类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcGradeType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcClassifyType是一个类别类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcClassifyType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPositionType是一个货位类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcPositionType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcYieldlyType是一个产地类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcYieldlyType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcWeightType是一个公定重量类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcWeightType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSubEntryFundNoType是一个分项资金流水号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcSubEntryFundNoType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFileIDType是一个文件标识类型 +///////////////////////////////////////////////////////////////////////// +///资金数据 +#define THOST_FTDC_FI_SettlementFund 'F' +///成交数据 +#define THOST_FTDC_FI_Trade 'T' +///投资者持仓数据 +#define THOST_FTDC_FI_InvestorPosition 'P' +///投资者分项资金数据 +#define THOST_FTDC_FI_SubEntryFund 'O' +///组合持仓数据 +#define THOST_FTDC_FI_CZCECombinationPos 'C' +///上报保证金监控中心数据 +#define THOST_FTDC_FI_CSRCData 'R' +///郑商所平仓了结数据 +#define THOST_FTDC_FI_CZCEClose 'L' +///郑商所非平仓了结数据 +#define THOST_FTDC_FI_CZCENoClose 'N' +///持仓明细数据 +#define THOST_FTDC_FI_PositionDtl 'D' +///期权执行文件 +#define THOST_FTDC_FI_OptionStrike 'S' +///结算价比对文件 +#define THOST_FTDC_FI_SettlementPriceComparison 'M' +///上期所非持仓变动明细 +#define THOST_FTDC_FI_NonTradePosChange 'B' + +typedef char TThostFtdcFileIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFileNameType是一个文件名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFileNameType[257]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFileTypeType是一个文件上传类型类型 +///////////////////////////////////////////////////////////////////////// +///结算 +#define THOST_FTDC_FUT_Settlement '0' +///核对 +#define THOST_FTDC_FUT_Check '1' + +typedef char TThostFtdcFileTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFileFormatType是一个文件格式类型 +///////////////////////////////////////////////////////////////////////// +///文本文件(.txt) +#define THOST_FTDC_FFT_Txt '0' +///压缩文件(.zip) +#define THOST_FTDC_FFT_Zip '1' +///DBF文件(.dbf) +#define THOST_FTDC_FFT_DBF '2' + +typedef char TThostFtdcFileFormatType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFileUploadStatusType是一个文件状态类型 +///////////////////////////////////////////////////////////////////////// +///上传成功 +#define THOST_FTDC_FUS_SucceedUpload '1' +///上传失败 +#define THOST_FTDC_FUS_FailedUpload '2' +///导入成功 +#define THOST_FTDC_FUS_SucceedLoad '3' +///导入部分成功 +#define THOST_FTDC_FUS_PartSucceedLoad '4' +///导入失败 +#define THOST_FTDC_FUS_FailedLoad '5' + +typedef char TThostFtdcFileUploadStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTransferDirectionType是一个移仓方向类型 +///////////////////////////////////////////////////////////////////////// +///移出 +#define THOST_FTDC_TD_Out '0' +///移入 +#define THOST_FTDC_TD_In '1' + +typedef char TThostFtdcTransferDirectionType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUploadModeType是一个上传文件类型类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcUploadModeType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAccountIDType是一个投资者帐号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAccountIDType[13]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankFlagType是一个银行统一标识类型类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBankFlagType[4]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankAccountType是一个银行账户类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBankAccountType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOpenNameType是一个银行账户的开户人名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcOpenNameType[61]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOpenBankType是一个银行账户的开户行类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcOpenBankType[101]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankNameType是一个银行名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBankNameType[101]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPublishPathType是一个发布路径类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcPublishPathType[257]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOperatorIDType是一个操作员代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcOperatorIDType[65]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcMonthCountType是一个月份数量类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcMonthCountType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAdvanceMonthArrayType是一个月份提前数组类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAdvanceMonthArrayType[13]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDateExprType是一个日期表达式类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcDateExprType[1025]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInstrumentIDExprType是一个合约代码表达式类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcInstrumentIDExprType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInstrumentNameExprType是一个合约名称表达式类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcInstrumentNameExprType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSpecialCreateRuleType是一个特殊的创建规则类型 +///////////////////////////////////////////////////////////////////////// +///没有特殊创建规则 +#define THOST_FTDC_SC_NoSpecialRule '0' +///不包含春节 +#define THOST_FTDC_SC_NoSpringFestival '1' + +typedef char TThostFtdcSpecialCreateRuleType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBasisPriceTypeType是一个挂牌基准价类型类型 +///////////////////////////////////////////////////////////////////////// +///上一合约结算价 +#define THOST_FTDC_IPT_LastSettlement '1' +///上一合约收盘价 +#define THOST_FTDC_IPT_LaseClose '2' + +typedef char TThostFtdcBasisPriceTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcProductLifePhaseType是一个产品生命周期状态类型 +///////////////////////////////////////////////////////////////////////// +///活跃 +#define THOST_FTDC_PLP_Active '1' +///不活跃 +#define THOST_FTDC_PLP_NonActive '2' +///注销 +#define THOST_FTDC_PLP_Canceled '3' + +typedef char TThostFtdcProductLifePhaseType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDeliveryModeType是一个交割方式类型 +///////////////////////////////////////////////////////////////////////// +///现金交割 +#define THOST_FTDC_DM_CashDeliv '1' +///实物交割 +#define THOST_FTDC_DM_CommodityDeliv '2' + +typedef char TThostFtdcDeliveryModeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcLogLevelType是一个日志级别类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcLogLevelType[33]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcProcessNameType是一个存储过程名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcProcessNameType[257]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOperationMemoType是一个操作摘要类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcOperationMemoType[1025]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFundIOTypeType是一个出入金类型类型 +///////////////////////////////////////////////////////////////////////// +///出入金 +#define THOST_FTDC_FIOT_FundIO '1' +///银期转帐 +#define THOST_FTDC_FIOT_Transfer '2' +///银期换汇 +#define THOST_FTDC_FIOT_SwapCurrency '3' + +typedef char TThostFtdcFundIOTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFundTypeType是一个资金类型类型 +///////////////////////////////////////////////////////////////////////// +///银行存款 +#define THOST_FTDC_FT_Deposite '1' +///分项资金 +#define THOST_FTDC_FT_ItemFund '2' +///公司调整 +#define THOST_FTDC_FT_Company '3' +///资金内转 +#define THOST_FTDC_FT_InnerTransfer '4' + +typedef char TThostFtdcFundTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFundDirectionType是一个出入金方向类型 +///////////////////////////////////////////////////////////////////////// +///入金 +#define THOST_FTDC_FD_In '1' +///出金 +#define THOST_FTDC_FD_Out '2' + +typedef char TThostFtdcFundDirectionType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFundStatusType是一个资金状态类型 +///////////////////////////////////////////////////////////////////////// +///已录入 +#define THOST_FTDC_FS_Record '1' +///已复核 +#define THOST_FTDC_FS_Check '2' +///已冲销 +#define THOST_FTDC_FS_Charge '3' + +typedef char TThostFtdcFundStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBillNoType是一个票据号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBillNoType[15]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBillNameType是一个票据名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBillNameType[33]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPublishStatusType是一个发布状态类型 +///////////////////////////////////////////////////////////////////////// +///未发布 +#define THOST_FTDC_PS_None '1' +///正在发布 +#define THOST_FTDC_PS_Publishing '2' +///已发布 +#define THOST_FTDC_PS_Published '3' + +typedef char TThostFtdcPublishStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcEnumValueIDType是一个枚举值代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcEnumValueIDType[65]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcEnumValueTypeType是一个枚举值类型类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcEnumValueTypeType[33]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcEnumValueLabelType是一个枚举值名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcEnumValueLabelType[65]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcEnumValueResultType是一个枚举值结果类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcEnumValueResultType[33]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSystemStatusType是一个系统状态类型 +///////////////////////////////////////////////////////////////////////// +///不活跃 +#define THOST_FTDC_ES_NonActive '1' +///启动 +#define THOST_FTDC_ES_Startup '2' +///交易开始初始化 +#define THOST_FTDC_ES_Initialize '3' +///交易完成初始化 +#define THOST_FTDC_ES_Initialized '4' +///收市开始 +#define THOST_FTDC_ES_Close '5' +///收市完成 +#define THOST_FTDC_ES_Closed '6' +///结算 +#define THOST_FTDC_ES_Settlement '7' + +typedef char TThostFtdcSystemStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSettlementStatusType是一个结算状态类型 +///////////////////////////////////////////////////////////////////////// +///初始 +#define THOST_FTDC_STS_Initialize '0' +///结算中 +#define THOST_FTDC_STS_Settlementing '1' +///已结算 +#define THOST_FTDC_STS_Settlemented '2' +///结算完成 +#define THOST_FTDC_STS_Finished '3' + +typedef char TThostFtdcSettlementStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRangeIntTypeType是一个限定值类型类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcRangeIntTypeType[33]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRangeIntFromType是一个限定值下限类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcRangeIntFromType[33]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRangeIntToType是一个限定值上限类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcRangeIntToType[33]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFunctionIDType是一个功能代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFunctionIDType[25]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFunctionValueCodeType是一个功能编码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFunctionValueCodeType[257]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFunctionNameType是一个功能名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFunctionNameType[65]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRoleIDType是一个角色编号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcRoleIDType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRoleNameType是一个角色名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcRoleNameType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDescriptionType是一个描述类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcDescriptionType[401]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCombineIDType是一个组合编号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCombineIDType[25]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCombineTypeType是一个组合类型类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCombineTypeType[25]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInvestorTypeType是一个投资者类型类型 +///////////////////////////////////////////////////////////////////////// +///自然人 +#define THOST_FTDC_CT_Person '0' +///法人 +#define THOST_FTDC_CT_Company '1' +///投资基金 +#define THOST_FTDC_CT_Fund '2' +///特殊法人 +#define THOST_FTDC_CT_SpecialOrgan '3' +///资管户 +#define THOST_FTDC_CT_Asset '4' + +typedef char TThostFtdcInvestorTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBrokerTypeType是一个经纪公司类型类型 +///////////////////////////////////////////////////////////////////////// +///交易会员 +#define THOST_FTDC_BT_Trade '0' +///交易结算会员 +#define THOST_FTDC_BT_TradeSettle '1' + +typedef char TThostFtdcBrokerTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRiskLevelType是一个风险等级类型 +///////////////////////////////////////////////////////////////////////// +///低风险客户 +#define THOST_FTDC_FAS_Low '1' +///普通客户 +#define THOST_FTDC_FAS_Normal '2' +///关注客户 +#define THOST_FTDC_FAS_Focus '3' +///风险客户 +#define THOST_FTDC_FAS_Risk '4' + +typedef char TThostFtdcRiskLevelType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFeeAcceptStyleType是一个手续费收取方式类型 +///////////////////////////////////////////////////////////////////////// +///按交易收取 +#define THOST_FTDC_FAS_ByTrade '1' +///按交割收取 +#define THOST_FTDC_FAS_ByDeliv '2' +///不收 +#define THOST_FTDC_FAS_None '3' +///按指定手续费收取 +#define THOST_FTDC_FAS_FixFee '4' + +typedef char TThostFtdcFeeAcceptStyleType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPasswordTypeType是一个密码类型类型 +///////////////////////////////////////////////////////////////////////// +///交易密码 +#define THOST_FTDC_PWDT_Trade '1' +///资金密码 +#define THOST_FTDC_PWDT_Account '2' + +typedef char TThostFtdcPasswordTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAlgorithmType是一个盈亏算法类型 +///////////////////////////////////////////////////////////////////////// +///浮盈浮亏都计算 +#define THOST_FTDC_AG_All '1' +///浮盈不计,浮亏计 +#define THOST_FTDC_AG_OnlyLost '2' +///浮盈计,浮亏不计 +#define THOST_FTDC_AG_OnlyGain '3' +///浮盈浮亏都不计算 +#define THOST_FTDC_AG_None '4' + +typedef char TThostFtdcAlgorithmType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcIncludeCloseProfitType是一个是否包含平仓盈利类型 +///////////////////////////////////////////////////////////////////////// +///包含平仓盈利 +#define THOST_FTDC_ICP_Include '0' +///不包含平仓盈利 +#define THOST_FTDC_ICP_NotInclude '2' + +typedef char TThostFtdcIncludeCloseProfitType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAllWithoutTradeType是一个是否受可提比例限制类型 +///////////////////////////////////////////////////////////////////////// +///无仓无成交不受可提比例限制 +#define THOST_FTDC_AWT_Enable '0' +///受可提比例限制 +#define THOST_FTDC_AWT_Disable '2' +///无仓不受可提比例限制 +#define THOST_FTDC_AWT_NoHoldEnable '3' + +typedef char TThostFtdcAllWithoutTradeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCommentType是一个盈亏算法说明类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCommentType[31]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcVersionType是一个版本号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcVersionType[4]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTradeCodeType是一个交易代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcTradeCodeType[7]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTradeDateType是一个交易日期类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcTradeDateType[9]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTradeTimeType是一个交易时间类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcTradeTimeType[9]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTradeSerialType是一个发起方流水号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcTradeSerialType[9]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTradeSerialNoType是一个发起方流水号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcTradeSerialNoType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFutureIDType是一个期货公司代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFutureIDType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankIDType是一个银行代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBankIDType[4]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankBrchIDType是一个银行分中心代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBankBrchIDType[5]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankBranchIDType是一个分中心代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBankBranchIDType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOperNoType是一个交易柜员类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcOperNoType[17]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDeviceIDType是一个渠道标志类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcDeviceIDType[3]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRecordNumType是一个记录数类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcRecordNumType[7]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFutureAccountType是一个期货资金账号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFutureAccountType[22]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFuturePwdFlagType是一个资金密码核对标志类型 +///////////////////////////////////////////////////////////////////////// +///不核对 +#define THOST_FTDC_FPWD_UnCheck '0' +///核对 +#define THOST_FTDC_FPWD_Check '1' + +typedef char TThostFtdcFuturePwdFlagType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTransferTypeType是一个银期转账类型类型 +///////////////////////////////////////////////////////////////////////// +///银行转期货 +#define THOST_FTDC_TT_BankToFuture '0' +///期货转银行 +#define THOST_FTDC_TT_FutureToBank '1' + +typedef char TThostFtdcTransferTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFutureAccPwdType是一个期货资金密码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFutureAccPwdType[17]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCurrencyCodeType是一个币种类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCurrencyCodeType[4]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRetCodeType是一个响应代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcRetCodeType[5]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRetInfoType是一个响应信息类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcRetInfoType[129]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTradeAmtType是一个银行总余额类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcTradeAmtType[20]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUseAmtType是一个银行可用余额类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcUseAmtType[20]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFetchAmtType是一个银行可取余额类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFetchAmtType[20]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTransferValidFlagType是一个转账有效标志类型 +///////////////////////////////////////////////////////////////////////// +///无效或失败 +#define THOST_FTDC_TVF_Invalid '0' +///有效 +#define THOST_FTDC_TVF_Valid '1' +///冲正 +#define THOST_FTDC_TVF_Reverse '2' + +typedef char TThostFtdcTransferValidFlagType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCertCodeType是一个证件号码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCertCodeType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcReasonType是一个事由类型 +///////////////////////////////////////////////////////////////////////// +///错单 +#define THOST_FTDC_RN_CD '0' +///资金在途 +#define THOST_FTDC_RN_ZT '1' +///其它 +#define THOST_FTDC_RN_QT '2' + +typedef char TThostFtdcReasonType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFundProjectIDType是一个资金项目编号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFundProjectIDType[5]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSexType是一个性别类型 +///////////////////////////////////////////////////////////////////////// +///未知 +#define THOST_FTDC_SEX_None '0' +///男 +#define THOST_FTDC_SEX_Man '1' +///女 +#define THOST_FTDC_SEX_Woman '2' + +typedef char TThostFtdcSexType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcProfessionType是一个职业类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcProfessionType[101]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcNationalType是一个国籍类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcNationalType[31]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcProvinceType是一个省类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcProvinceType[51]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRegionType是一个区类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcRegionType[16]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCountryType是一个国家类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCountryType[16]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcLicenseNOType是一个营业执照类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcLicenseNOType[33]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCompanyTypeType是一个企业性质类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCompanyTypeType[16]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBusinessScopeType是一个经营范围类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBusinessScopeType[1001]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCapitalCurrencyType是一个注册资本币种类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCapitalCurrencyType[4]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUserTypeType是一个用户类型类型 +///////////////////////////////////////////////////////////////////////// +///投资者 +#define THOST_FTDC_UT_Investor '0' +///操作员 +#define THOST_FTDC_UT_Operator '1' +///管理员 +#define THOST_FTDC_UT_SuperUser '2' + +typedef char TThostFtdcUserTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRateTypeType是一个费率类型类型 +///////////////////////////////////////////////////////////////////////// +///保证金率 +#define THOST_FTDC_RATETYPE_MarginRate '2' + +typedef char TThostFtdcRateTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcNoteTypeType是一个通知类型类型 +///////////////////////////////////////////////////////////////////////// +///交易结算单 +#define THOST_FTDC_NOTETYPE_TradeSettleBill '1' +///交易结算月报 +#define THOST_FTDC_NOTETYPE_TradeSettleMonth '2' +///追加保证金通知书 +#define THOST_FTDC_NOTETYPE_CallMarginNotes '3' +///强行平仓通知书 +#define THOST_FTDC_NOTETYPE_ForceCloseNotes '4' +///成交通知书 +#define THOST_FTDC_NOTETYPE_TradeNotes '5' +///交割通知书 +#define THOST_FTDC_NOTETYPE_DelivNotes '6' + +typedef char TThostFtdcNoteTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSettlementStyleType是一个结算单方式类型 +///////////////////////////////////////////////////////////////////////// +///逐日盯市 +#define THOST_FTDC_SBS_Day '1' +///逐笔对冲 +#define THOST_FTDC_SBS_Volume '2' + +typedef char TThostFtdcSettlementStyleType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBrokerDNSType是一个域名类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBrokerDNSType[256]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSentenceType是一个语句类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcSentenceType[501]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSettlementBillTypeType是一个结算单类型类型 +///////////////////////////////////////////////////////////////////////// +///日报 +#define THOST_FTDC_ST_Day '0' +///月报 +#define THOST_FTDC_ST_Month '1' + +typedef char TThostFtdcSettlementBillTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUserRightTypeType是一个客户权限类型类型 +///////////////////////////////////////////////////////////////////////// +///登录 +#define THOST_FTDC_URT_Logon '1' +///银期转帐 +#define THOST_FTDC_URT_Transfer '2' +///邮寄结算单 +#define THOST_FTDC_URT_EMail '3' +///传真结算单 +#define THOST_FTDC_URT_Fax '4' +///条件单 +#define THOST_FTDC_URT_ConditionOrder '5' + +typedef char TThostFtdcUserRightTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcMarginPriceTypeType是一个保证金价格类型类型 +///////////////////////////////////////////////////////////////////////// +///昨结算价 +#define THOST_FTDC_MPT_PreSettlementPrice '1' +///最新价 +#define THOST_FTDC_MPT_SettlementPrice '2' +///成交均价 +#define THOST_FTDC_MPT_AveragePrice '3' +///开仓价 +#define THOST_FTDC_MPT_OpenPrice '4' + +typedef char TThostFtdcMarginPriceTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBillGenStatusType是一个结算单生成状态类型 +///////////////////////////////////////////////////////////////////////// +///未生成 +#define THOST_FTDC_BGS_None '0' +///生成中 +#define THOST_FTDC_BGS_NoGenerated '1' +///已生成 +#define THOST_FTDC_BGS_Generated '2' + +typedef char TThostFtdcBillGenStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAlgoTypeType是一个算法类型类型 +///////////////////////////////////////////////////////////////////////// +///持仓处理算法 +#define THOST_FTDC_AT_HandlePositionAlgo '1' +///寻找保证金率算法 +#define THOST_FTDC_AT_FindMarginRateAlgo '2' + +typedef char TThostFtdcAlgoTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcHandlePositionAlgoIDType是一个持仓处理算法编号类型 +///////////////////////////////////////////////////////////////////////// +///基本 +#define THOST_FTDC_HPA_Base '1' +///大连商品交易所 +#define THOST_FTDC_HPA_DCE '2' +///郑州商品交易所 +#define THOST_FTDC_HPA_CZCE '3' + +typedef char TThostFtdcHandlePositionAlgoIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFindMarginRateAlgoIDType是一个寻找保证金率算法编号类型 +///////////////////////////////////////////////////////////////////////// +///基本 +#define THOST_FTDC_FMRA_Base '1' +///大连商品交易所 +#define THOST_FTDC_FMRA_DCE '2' +///郑州商品交易所 +#define THOST_FTDC_FMRA_CZCE '3' + +typedef char TThostFtdcFindMarginRateAlgoIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcHandleTradingAccountAlgoIDType是一个资金处理算法编号类型 +///////////////////////////////////////////////////////////////////////// +///基本 +#define THOST_FTDC_HTAA_Base '1' +///大连商品交易所 +#define THOST_FTDC_HTAA_DCE '2' +///郑州商品交易所 +#define THOST_FTDC_HTAA_CZCE '3' + +typedef char TThostFtdcHandleTradingAccountAlgoIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPersonTypeType是一个联系人类型类型 +///////////////////////////////////////////////////////////////////////// +///指定下单人 +#define THOST_FTDC_PST_Order '1' +///开户授权人 +#define THOST_FTDC_PST_Open '2' +///资金调拨人 +#define THOST_FTDC_PST_Fund '3' +///结算单确认人 +#define THOST_FTDC_PST_Settlement '4' +///法人 +#define THOST_FTDC_PST_Company '5' +///法人代表 +#define THOST_FTDC_PST_Corporation '6' +///投资者联系人 +#define THOST_FTDC_PST_LinkMan '7' +///分户管理资产负责人 +#define THOST_FTDC_PST_Ledger '8' +///托(保)管人 +#define THOST_FTDC_PST_Trustee '9' +///托(保)管机构法人代表 +#define THOST_FTDC_PST_TrusteeCorporation 'A' +///托(保)管机构开户授权人 +#define THOST_FTDC_PST_TrusteeOpen 'B' +///托(保)管机构联系人 +#define THOST_FTDC_PST_TrusteeContact 'C' +///境外自然人参考证件 +#define THOST_FTDC_PST_ForeignerRefer 'D' +///法人代表参考证件 +#define THOST_FTDC_PST_CorporationRefer 'E' + +typedef char TThostFtdcPersonTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcQueryInvestorRangeType是一个查询范围类型 +///////////////////////////////////////////////////////////////////////// +///所有 +#define THOST_FTDC_QIR_All '1' +///查询分类 +#define THOST_FTDC_QIR_Group '2' +///单一投资者 +#define THOST_FTDC_QIR_Single '3' + +typedef char TThostFtdcQueryInvestorRangeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInvestorRiskStatusType是一个投资者风险状态类型 +///////////////////////////////////////////////////////////////////////// +///正常 +#define THOST_FTDC_IRS_Normal '1' +///警告 +#define THOST_FTDC_IRS_Warn '2' +///追保 +#define THOST_FTDC_IRS_Call '3' +///强平 +#define THOST_FTDC_IRS_Force '4' +///异常 +#define THOST_FTDC_IRS_Exception '5' + +typedef char TThostFtdcInvestorRiskStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcLegIDType是一个单腿编号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcLegIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcLegMultipleType是一个单腿乘数类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcLegMultipleType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcImplyLevelType是一个派生层数类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcImplyLevelType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcClearAccountType是一个结算账户类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcClearAccountType[33]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOrganNOType是一个结算账户类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcOrganNOType[6]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcClearbarchIDType是一个结算账户联行号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcClearbarchIDType[6]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUserEventTypeType是一个用户事件类型类型 +///////////////////////////////////////////////////////////////////////// +///登录 +#define THOST_FTDC_UET_Login '1' +///登出 +#define THOST_FTDC_UET_Logout '2' +///交易成功 +#define THOST_FTDC_UET_Trading '3' +///交易失败 +#define THOST_FTDC_UET_TradingError '4' +///修改密码 +#define THOST_FTDC_UET_UpdatePassword '5' +///客户端认证 +#define THOST_FTDC_UET_Authenticate '6' +///其他 +#define THOST_FTDC_UET_Other '9' + +typedef char TThostFtdcUserEventTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUserEventInfoType是一个用户事件信息类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcUserEventInfoType[1025]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCloseStyleType是一个平仓方式类型 +///////////////////////////////////////////////////////////////////////// +///先开先平 +#define THOST_FTDC_ICS_Close '0' +///先平今再平昨 +#define THOST_FTDC_ICS_CloseToday '1' + +typedef char TThostFtdcCloseStyleType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcStatModeType是一个统计方式类型 +///////////////////////////////////////////////////////////////////////// +///---- +#define THOST_FTDC_SM_Non '0' +///按合约统计 +#define THOST_FTDC_SM_Instrument '1' +///按产品统计 +#define THOST_FTDC_SM_Product '2' +///按投资者统计 +#define THOST_FTDC_SM_Investor '3' + +typedef char TThostFtdcStatModeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcParkedOrderStatusType是一个预埋单状态类型 +///////////////////////////////////////////////////////////////////////// +///未发送 +#define THOST_FTDC_PAOS_NotSend '1' +///已发送 +#define THOST_FTDC_PAOS_Send '2' +///已删除 +#define THOST_FTDC_PAOS_Deleted '3' + +typedef char TThostFtdcParkedOrderStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcParkedOrderIDType是一个预埋报单编号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcParkedOrderIDType[13]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcParkedOrderActionIDType是一个预埋撤单编号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcParkedOrderActionIDType[13]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcVirDealStatusType是一个处理状态类型 +///////////////////////////////////////////////////////////////////////// +///正在处理 +#define THOST_FTDC_VDS_Dealing '1' +///处理成功 +#define THOST_FTDC_VDS_DeaclSucceed '2' + +typedef char TThostFtdcVirDealStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOrgSystemIDType是一个原有系统代码类型 +///////////////////////////////////////////////////////////////////////// +///综合交易平台 +#define THOST_FTDC_ORGS_Standard '0' +///易盛系统 +#define THOST_FTDC_ORGS_ESunny '1' +///金仕达V6系统 +#define THOST_FTDC_ORGS_KingStarV6 '2' + +typedef char TThostFtdcOrgSystemIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcVirTradeStatusType是一个交易状态类型 +///////////////////////////////////////////////////////////////////////// +///正常处理中 +#define THOST_FTDC_VTS_NaturalDeal '0' +///成功结束 +#define THOST_FTDC_VTS_SucceedEnd '1' +///失败结束 +#define THOST_FTDC_VTS_FailedEND '2' +///异常中 +#define THOST_FTDC_VTS_Exception '3' +///已人工异常处理 +#define THOST_FTDC_VTS_ManualDeal '4' +///通讯异常 ,请人工处理 +#define THOST_FTDC_VTS_MesException '5' +///系统出错,请人工处理 +#define THOST_FTDC_VTS_SysException '6' + +typedef char TThostFtdcVirTradeStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcVirBankAccTypeType是一个银行帐户类型类型 +///////////////////////////////////////////////////////////////////////// +///存折 +#define THOST_FTDC_VBAT_BankBook '1' +///储蓄卡 +#define THOST_FTDC_VBAT_BankCard '2' +///信用卡 +#define THOST_FTDC_VBAT_CreditCard '3' + +typedef char TThostFtdcVirBankAccTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcVirementStatusType是一个银行帐户类型类型 +///////////////////////////////////////////////////////////////////////// +///正常 +#define THOST_FTDC_VMS_Natural '0' +///销户 +#define THOST_FTDC_VMS_Canceled '9' + +typedef char TThostFtdcVirementStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcVirementAvailAbilityType是一个有效标志类型 +///////////////////////////////////////////////////////////////////////// +///未确认 +#define THOST_FTDC_VAA_NoAvailAbility '0' +///有效 +#define THOST_FTDC_VAA_AvailAbility '1' +///冲正 +#define THOST_FTDC_VAA_Repeal '2' + +typedef char TThostFtdcVirementAvailAbilityType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcVirementTradeCodeType是一个交易代码类型 +///////////////////////////////////////////////////////////////////////// +///银行发起银行资金转期货 +#define THOST_FTDC_VTC_BankBankToFuture '102001' +///银行发起期货资金转银行 +#define THOST_FTDC_VTC_BankFutureToBank '102002' +///期货发起银行资金转期货 +#define THOST_FTDC_VTC_FutureBankToFuture '202001' +///期货发起期货资金转银行 +#define THOST_FTDC_VTC_FutureFutureToBank '202002' + +typedef char TThostFtdcVirementTradeCodeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPhotoTypeNameType是一个影像类型名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcPhotoTypeNameType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPhotoTypeIDType是一个影像类型代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcPhotoTypeIDType[5]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPhotoNameType是一个影像名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcPhotoNameType[161]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTopicIDType是一个主题代码类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcTopicIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcReportTypeIDType是一个交易报告类型标识类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcReportTypeIDType[3]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCharacterIDType是一个交易特征代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCharacterIDType[5]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLParamIDType是一个参数代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLParamIDType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLInvestorTypeType是一个投资者类型类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLInvestorTypeType[3]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLIdCardTypeType是一个证件类型类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLIdCardTypeType[3]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLTradeDirectType是一个资金进出方向类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLTradeDirectType[3]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLTradeModelType是一个资金进出方式类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLTradeModelType[3]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLParamIDType是一个参数代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLParamIDType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLOpParamValueType是一个业务参数代码值类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcAMLOpParamValueType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLCustomerCardTypeType是一个客户身份证件/证明文件类型类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLCustomerCardTypeType[81]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLInstitutionNameType是一个金融机构网点名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLInstitutionNameType[65]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLDistrictIDType是一个金融机构网点所在地区行政区划代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLDistrictIDType[7]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLRelationShipType是一个金融机构网点与大额交易的关系类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLRelationShipType[3]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLInstitutionTypeType是一个金融机构网点代码类型类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLInstitutionTypeType[3]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLInstitutionIDType是一个金融机构网点代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLInstitutionIDType[13]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLAccountTypeType是一个账户类型类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLAccountTypeType[5]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLTradingTypeType是一个交易方式类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLTradingTypeType[7]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLTransactClassType是一个涉外收支交易分类与代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLTransactClassType[7]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLCapitalIOType是一个资金收付标识类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLCapitalIOType[3]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLSiteType是一个交易地点类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLSiteType[10]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLCapitalPurposeType是一个资金用途类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLCapitalPurposeType[129]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLReportTypeType是一个报文类型类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLReportTypeType[2]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLSerialNoType是一个编号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLSerialNoType[5]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLStatusType是一个状态类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLStatusType[2]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLGenStatusType是一个Aml生成方式类型 +///////////////////////////////////////////////////////////////////////// +///程序生成 +#define THOST_FTDC_GEN_Program '0' +///人工生成 +#define THOST_FTDC_GEN_HandWork '1' + +typedef char TThostFtdcAMLGenStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLSeqCodeType是一个业务标识号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLSeqCodeType[65]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLFileNameType是一个AML文件名类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLFileNameType[257]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLMoneyType是一个反洗钱资金类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcAMLMoneyType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLFileAmountType是一个反洗钱资金类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcAMLFileAmountType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCFMMCKeyType是一个密钥类型(保证金监管)类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCFMMCKeyType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCFMMCKeyKindType是一个动态密钥类别(保证金监管)类型 +///////////////////////////////////////////////////////////////////////// +///主动请求更新 +#define THOST_FTDC_CFMMCKK_REQUEST 'R' +///CFMMC自动更新 +#define THOST_FTDC_CFMMCKK_AUTO 'A' +///CFMMC手动更新 +#define THOST_FTDC_CFMMCKK_MANUAL 'M' + +typedef char TThostFtdcCFMMCKeyKindType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLReportNameType是一个报文名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLReportNameType[81]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcIndividualNameType是一个个人姓名类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcIndividualNameType[51]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCurrencyIDType是一个币种代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCurrencyIDType[4]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCustNumberType是一个客户编号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCustNumberType[36]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOrganCodeType是一个机构编码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcOrganCodeType[36]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOrganNameType是一个机构名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcOrganNameType[71]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSuperOrganCodeType是一个上级机构编码,即期货公司总部、银行总行类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcSuperOrganCodeType[12]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSubBranchIDType是一个分支机构类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcSubBranchIDType[31]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSubBranchNameType是一个分支机构名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcSubBranchNameType[71]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBranchNetCodeType是一个机构网点号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBranchNetCodeType[31]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBranchNetNameType是一个机构网点名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBranchNetNameType[71]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOrganFlagType是一个机构标识类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcOrganFlagType[2]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankCodingForFutureType是一个银行对期货公司的编码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBankCodingForFutureType[33]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankReturnCodeType是一个银行对返回码的定义类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBankReturnCodeType[7]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPlateReturnCodeType是一个银期转帐平台对返回码的定义类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcPlateReturnCodeType[5]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankSubBranchIDType是一个银行分支机构编码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBankSubBranchIDType[31]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFutureBranchIDType是一个期货分支机构编码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFutureBranchIDType[31]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcReturnCodeType是一个返回代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcReturnCodeType[7]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOperatorCodeType是一个操作员类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcOperatorCodeType[17]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcClearDepIDType是一个机构结算帐户机构号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcClearDepIDType[6]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcClearBrchIDType是一个机构结算帐户联行号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcClearBrchIDType[6]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcClearNameType是一个机构结算帐户名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcClearNameType[71]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankAccountNameType是一个银行帐户名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBankAccountNameType[71]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInvDepIDType是一个机构投资人账号机构号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcInvDepIDType[6]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInvBrchIDType是一个机构投资人联行号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcInvBrchIDType[6]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcMessageFormatVersionType是一个信息格式版本类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcMessageFormatVersionType[36]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDigestType是一个摘要类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcDigestType[36]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAuthenticDataType是一个认证数据类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAuthenticDataType[129]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPasswordKeyType是一个密钥类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcPasswordKeyType[129]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFutureAccountNameType是一个期货帐户名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFutureAccountNameType[129]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcMobilePhoneType是一个手机类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcMobilePhoneType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFutureMainKeyType是一个期货公司主密钥类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFutureMainKeyType[129]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFutureWorkKeyType是一个期货公司工作密钥类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFutureWorkKeyType[129]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFutureTransKeyType是一个期货公司传输密钥类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFutureTransKeyType[129]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankMainKeyType是一个银行主密钥类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBankMainKeyType[129]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankWorkKeyType是一个银行工作密钥类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBankWorkKeyType[129]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankTransKeyType是一个银行传输密钥类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBankTransKeyType[129]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankServerDescriptionType是一个银行服务器描述信息类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBankServerDescriptionType[129]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAddInfoType是一个附加信息类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAddInfoType[129]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDescrInfoForReturnCodeType是一个返回码描述类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcDescrInfoForReturnCodeType[129]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCountryCodeType是一个国家代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCountryCodeType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSerialType是一个流水号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcSerialType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPlateSerialType是一个平台流水号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcPlateSerialType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankSerialType是一个银行流水号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBankSerialType[13]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCorrectSerialType是一个被冲正交易流水号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcCorrectSerialType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFutureSerialType是一个期货公司流水号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcFutureSerialType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcApplicationIDType是一个应用标识类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcApplicationIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankProxyIDType是一个银行代理标识类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcBankProxyIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBTCoreIDType是一个银期转帐核心系统标识类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcFBTCoreIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcServerPortType是一个服务端口号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcServerPortType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRepealedTimesType是一个已经冲正次数类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcRepealedTimesType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRepealTimeIntervalType是一个冲正时间间隔类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcRepealTimeIntervalType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTotalTimesType是一个每日累计转帐次数类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcTotalTimesType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBTRequestIDType是一个请求ID类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcFBTRequestIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTIDType是一个交易ID类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcTIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTradeAmountType是一个交易金额(元)类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcTradeAmountType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCustFeeType是一个应收客户费用(元)类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcCustFeeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFutureFeeType是一个应收期货公司费用(元)类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcFutureFeeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSingleMaxAmtType是一个单笔最高限额类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcSingleMaxAmtType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSingleMinAmtType是一个单笔最低限额类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcSingleMinAmtType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTotalAmtType是一个每日累计转帐额度类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcTotalAmtType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCertificationTypeType是一个证件类型类型 +///////////////////////////////////////////////////////////////////////// +///身份证 +#define THOST_FTDC_CFT_IDCard '0' +///护照 +#define THOST_FTDC_CFT_Passport '1' +///军官证 +#define THOST_FTDC_CFT_OfficerIDCard '2' +///士兵证 +#define THOST_FTDC_CFT_SoldierIDCard '3' +///回乡证 +#define THOST_FTDC_CFT_HomeComingCard '4' +///户口簿 +#define THOST_FTDC_CFT_HouseholdRegister '5' +///营业执照号 +#define THOST_FTDC_CFT_LicenseNo '6' +///组织机构代码证 +#define THOST_FTDC_CFT_InstitutionCodeCard '7' +///临时营业执照号 +#define THOST_FTDC_CFT_TempLicenseNo '8' +///民办非企业登记证书 +#define THOST_FTDC_CFT_NoEnterpriseLicenseNo '9' +///其他证件 +#define THOST_FTDC_CFT_OtherCard 'x' +///主管部门批文 +#define THOST_FTDC_CFT_SuperDepAgree 'a' + +typedef char TThostFtdcCertificationTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFileBusinessCodeType是一个文件业务功能类型 +///////////////////////////////////////////////////////////////////////// +///其他 +#define THOST_FTDC_FBC_Others '0' +///转账交易明细对账 +#define THOST_FTDC_FBC_TransferDetails '1' +///客户账户状态对账 +#define THOST_FTDC_FBC_CustAccStatus '2' +///账户类交易明细对账 +#define THOST_FTDC_FBC_AccountTradeDetails '3' +///期货账户信息变更明细对账 +#define THOST_FTDC_FBC_FutureAccountChangeInfoDetails '4' +///客户资金台账余额明细对账 +#define THOST_FTDC_FBC_CustMoneyDetail '5' +///客户销户结息明细对账 +#define THOST_FTDC_FBC_CustCancelAccountInfo '6' +///客户资金余额对账结果 +#define THOST_FTDC_FBC_CustMoneyResult '7' +///其它对账异常结果文件 +#define THOST_FTDC_FBC_OthersExceptionResult '8' +///客户结息净额明细 +#define THOST_FTDC_FBC_CustInterestNetMoneyDetails '9' +///客户资金交收明细 +#define THOST_FTDC_FBC_CustMoneySendAndReceiveDetails 'a' +///法人存管银行资金交收汇总 +#define THOST_FTDC_FBC_CorporationMoneyTotal 'b' +///主体间资金交收汇总 +#define THOST_FTDC_FBC_MainbodyMoneyTotal 'c' +///总分平衡监管数据 +#define THOST_FTDC_FBC_MainPartMonitorData 'd' +///存管银行备付金余额 +#define THOST_FTDC_FBC_PreparationMoney 'e' +///协办存管银行资金监管数据 +#define THOST_FTDC_FBC_BankMoneyMonitorData 'f' + +typedef char TThostFtdcFileBusinessCodeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCashExchangeCodeType是一个汇钞标志类型 +///////////////////////////////////////////////////////////////////////// +///汇 +#define THOST_FTDC_CEC_Exchange '1' +///钞 +#define THOST_FTDC_CEC_Cash '2' + +typedef char TThostFtdcCashExchangeCodeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcYesNoIndicatorType是一个是或否标识类型 +///////////////////////////////////////////////////////////////////////// +///是 +#define THOST_FTDC_YNI_Yes '0' +///否 +#define THOST_FTDC_YNI_No '1' + +typedef char TThostFtdcYesNoIndicatorType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBanlanceTypeType是一个余额类型类型 +///////////////////////////////////////////////////////////////////////// +///当前余额 +#define THOST_FTDC_BLT_CurrentMoney '0' +///可用余额 +#define THOST_FTDC_BLT_UsableMoney '1' +///可取余额 +#define THOST_FTDC_BLT_FetchableMoney '2' +///冻结余额 +#define THOST_FTDC_BLT_FreezeMoney '3' + +typedef char TThostFtdcBanlanceTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcGenderType是一个性别类型 +///////////////////////////////////////////////////////////////////////// +///未知状态 +#define THOST_FTDC_GD_Unknown '0' +///男 +#define THOST_FTDC_GD_Male '1' +///女 +#define THOST_FTDC_GD_Female '2' + +typedef char TThostFtdcGenderType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFeePayFlagType是一个费用支付标志类型 +///////////////////////////////////////////////////////////////////////// +///由受益方支付费用 +#define THOST_FTDC_FPF_BEN '0' +///由发送方支付费用 +#define THOST_FTDC_FPF_OUR '1' +///由发送方支付发起的费用,受益方支付接受的费用 +#define THOST_FTDC_FPF_SHA '2' + +typedef char TThostFtdcFeePayFlagType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPassWordKeyTypeType是一个密钥类型类型 +///////////////////////////////////////////////////////////////////////// +///交换密钥 +#define THOST_FTDC_PWKT_ExchangeKey '0' +///密码密钥 +#define THOST_FTDC_PWKT_PassWordKey '1' +///MAC密钥 +#define THOST_FTDC_PWKT_MACKey '2' +///报文密钥 +#define THOST_FTDC_PWKT_MessageKey '3' + +typedef char TThostFtdcPassWordKeyTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBTPassWordTypeType是一个密码类型类型 +///////////////////////////////////////////////////////////////////////// +///查询 +#define THOST_FTDC_PWT_Query '0' +///取款 +#define THOST_FTDC_PWT_Fetch '1' +///转帐 +#define THOST_FTDC_PWT_Transfer '2' +///交易 +#define THOST_FTDC_PWT_Trade '3' + +typedef char TThostFtdcFBTPassWordTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBTEncryModeType是一个加密方式类型 +///////////////////////////////////////////////////////////////////////// +///不加密 +#define THOST_FTDC_EM_NoEncry '0' +///DES +#define THOST_FTDC_EM_DES '1' +///3DES +#define THOST_FTDC_EM_3DES '2' + +typedef char TThostFtdcFBTEncryModeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankRepealFlagType是一个银行冲正标志类型 +///////////////////////////////////////////////////////////////////////// +///银行无需自动冲正 +#define THOST_FTDC_BRF_BankNotNeedRepeal '0' +///银行待自动冲正 +#define THOST_FTDC_BRF_BankWaitingRepeal '1' +///银行已自动冲正 +#define THOST_FTDC_BRF_BankBeenRepealed '2' + +typedef char TThostFtdcBankRepealFlagType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBrokerRepealFlagType是一个期商冲正标志类型 +///////////////////////////////////////////////////////////////////////// +///期商无需自动冲正 +#define THOST_FTDC_BRORF_BrokerNotNeedRepeal '0' +///期商待自动冲正 +#define THOST_FTDC_BRORF_BrokerWaitingRepeal '1' +///期商已自动冲正 +#define THOST_FTDC_BRORF_BrokerBeenRepealed '2' + +typedef char TThostFtdcBrokerRepealFlagType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInstitutionTypeType是一个机构类别类型 +///////////////////////////////////////////////////////////////////////// +///银行 +#define THOST_FTDC_TS_Bank '0' +///期商 +#define THOST_FTDC_TS_Future '1' +///券商 +#define THOST_FTDC_TS_Store '2' + +typedef char TThostFtdcInstitutionTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcLastFragmentType是一个最后分片标志类型 +///////////////////////////////////////////////////////////////////////// +///是最后分片 +#define THOST_FTDC_LF_Yes '0' +///不是最后分片 +#define THOST_FTDC_LF_No '1' + +typedef char TThostFtdcLastFragmentType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankAccStatusType是一个银行账户状态类型 +///////////////////////////////////////////////////////////////////////// +///正常 +#define THOST_FTDC_BAS_Normal '0' +///冻结 +#define THOST_FTDC_BAS_Freeze '1' +///挂失 +#define THOST_FTDC_BAS_ReportLoss '2' + +typedef char TThostFtdcBankAccStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcMoneyAccountStatusType是一个资金账户状态类型 +///////////////////////////////////////////////////////////////////////// +///正常 +#define THOST_FTDC_MAS_Normal '0' +///销户 +#define THOST_FTDC_MAS_Cancel '1' + +typedef char TThostFtdcMoneyAccountStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcManageStatusType是一个存管状态类型 +///////////////////////////////////////////////////////////////////////// +///指定存管 +#define THOST_FTDC_MSS_Point '0' +///预指定 +#define THOST_FTDC_MSS_PrePoint '1' +///撤销指定 +#define THOST_FTDC_MSS_CancelPoint '2' + +typedef char TThostFtdcManageStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSystemTypeType是一个应用系统类型类型 +///////////////////////////////////////////////////////////////////////// +///银期转帐 +#define THOST_FTDC_SYT_FutureBankTransfer '0' +///银证转帐 +#define THOST_FTDC_SYT_StockBankTransfer '1' +///第三方存管 +#define THOST_FTDC_SYT_TheThirdPartStore '2' + +typedef char TThostFtdcSystemTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTxnEndFlagType是一个银期转帐划转结果标志类型 +///////////////////////////////////////////////////////////////////////// +///正常处理中 +#define THOST_FTDC_TEF_NormalProcessing '0' +///成功结束 +#define THOST_FTDC_TEF_Success '1' +///失败结束 +#define THOST_FTDC_TEF_Failed '2' +///异常中 +#define THOST_FTDC_TEF_Abnormal '3' +///已人工异常处理 +#define THOST_FTDC_TEF_ManualProcessedForException '4' +///通讯异常 ,请人工处理 +#define THOST_FTDC_TEF_CommuFailedNeedManualProcess '5' +///系统出错,请人工处理 +#define THOST_FTDC_TEF_SysErrorNeedManualProcess '6' + +typedef char TThostFtdcTxnEndFlagType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcProcessStatusType是一个银期转帐服务处理状态类型 +///////////////////////////////////////////////////////////////////////// +///未处理 +#define THOST_FTDC_PSS_NotProcess '0' +///开始处理 +#define THOST_FTDC_PSS_StartProcess '1' +///处理完成 +#define THOST_FTDC_PSS_Finished '2' + +typedef char TThostFtdcProcessStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCustTypeType是一个客户类型类型 +///////////////////////////////////////////////////////////////////////// +///自然人 +#define THOST_FTDC_CUSTT_Person '0' +///机构户 +#define THOST_FTDC_CUSTT_Institution '1' + +typedef char TThostFtdcCustTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBTTransferDirectionType是一个银期转帐方向类型 +///////////////////////////////////////////////////////////////////////// +///入金,银行转期货 +#define THOST_FTDC_FBTTD_FromBankToFuture '1' +///出金,期货转银行 +#define THOST_FTDC_FBTTD_FromFutureToBank '2' + +typedef char TThostFtdcFBTTransferDirectionType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOpenOrDestroyType是一个开销户类别类型 +///////////////////////////////////////////////////////////////////////// +///开户 +#define THOST_FTDC_OOD_Open '1' +///销户 +#define THOST_FTDC_OOD_Destroy '0' + +typedef char TThostFtdcOpenOrDestroyType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAvailabilityFlagType是一个有效标志类型 +///////////////////////////////////////////////////////////////////////// +///未确认 +#define THOST_FTDC_AVAF_Invalid '0' +///有效 +#define THOST_FTDC_AVAF_Valid '1' +///冲正 +#define THOST_FTDC_AVAF_Repeal '2' + +typedef char TThostFtdcAvailabilityFlagType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOrganTypeType是一个机构类型类型 +///////////////////////////////////////////////////////////////////////// +///银行代理 +#define THOST_FTDC_OT_Bank '1' +///交易前置 +#define THOST_FTDC_OT_Future '2' +///银期转帐平台管理 +#define THOST_FTDC_OT_PlateForm '9' + +typedef char TThostFtdcOrganTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOrganLevelType是一个机构级别类型 +///////////////////////////////////////////////////////////////////////// +///银行总行或期商总部 +#define THOST_FTDC_OL_HeadQuarters '1' +///银行分中心或期货公司营业部 +#define THOST_FTDC_OL_Branch '2' + +typedef char TThostFtdcOrganLevelType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcProtocalIDType是一个协议类型类型 +///////////////////////////////////////////////////////////////////////// +///期商协议 +#define THOST_FTDC_PID_FutureProtocal '0' +///工行协议 +#define THOST_FTDC_PID_ICBCProtocal '1' +///农行协议 +#define THOST_FTDC_PID_ABCProtocal '2' +///中国银行协议 +#define THOST_FTDC_PID_CBCProtocal '3' +///建行协议 +#define THOST_FTDC_PID_CCBProtocal '4' +///交行协议 +#define THOST_FTDC_PID_BOCOMProtocal '5' +///银期转帐平台协议 +#define THOST_FTDC_PID_FBTPlateFormProtocal 'X' + +typedef char TThostFtdcProtocalIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcConnectModeType是一个套接字连接方式类型 +///////////////////////////////////////////////////////////////////////// +///短连接 +#define THOST_FTDC_CM_ShortConnect '0' +///长连接 +#define THOST_FTDC_CM_LongConnect '1' + +typedef char TThostFtdcConnectModeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSyncModeType是一个套接字通信方式类型 +///////////////////////////////////////////////////////////////////////// +///异步 +#define THOST_FTDC_SRM_ASync '0' +///同步 +#define THOST_FTDC_SRM_Sync '1' + +typedef char TThostFtdcSyncModeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankAccTypeType是一个银行帐号类型类型 +///////////////////////////////////////////////////////////////////////// +///银行存折 +#define THOST_FTDC_BAT_BankBook '1' +///储蓄卡 +#define THOST_FTDC_BAT_SavingCard '2' +///信用卡 +#define THOST_FTDC_BAT_CreditCard '3' + +typedef char TThostFtdcBankAccTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFutureAccTypeType是一个期货公司帐号类型类型 +///////////////////////////////////////////////////////////////////////// +///银行存折 +#define THOST_FTDC_FAT_BankBook '1' +///储蓄卡 +#define THOST_FTDC_FAT_SavingCard '2' +///信用卡 +#define THOST_FTDC_FAT_CreditCard '3' + +typedef char TThostFtdcFutureAccTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOrganStatusType是一个接入机构状态类型 +///////////////////////////////////////////////////////////////////////// +///启用 +#define THOST_FTDC_OS_Ready '0' +///签到 +#define THOST_FTDC_OS_CheckIn '1' +///签退 +#define THOST_FTDC_OS_CheckOut '2' +///对帐文件到达 +#define THOST_FTDC_OS_CheckFileArrived '3' +///对帐 +#define THOST_FTDC_OS_CheckDetail '4' +///日终清理 +#define THOST_FTDC_OS_DayEndClean '5' +///注销 +#define THOST_FTDC_OS_Invalid '9' + +typedef char TThostFtdcOrganStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCCBFeeModeType是一个建行收费模式类型 +///////////////////////////////////////////////////////////////////////// +///按金额扣收 +#define THOST_FTDC_CCBFM_ByAmount '1' +///按月扣收 +#define THOST_FTDC_CCBFM_ByMonth '2' + +typedef char TThostFtdcCCBFeeModeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCommApiTypeType是一个通讯API类型类型 +///////////////////////////////////////////////////////////////////////// +///客户端 +#define THOST_FTDC_CAPIT_Client '1' +///服务端 +#define THOST_FTDC_CAPIT_Server '2' +///交易系统的UserApi +#define THOST_FTDC_CAPIT_UserApi '3' + +typedef char TThostFtdcCommApiTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcServiceIDType是一个服务编号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcServiceIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcServiceLineNoType是一个服务线路编号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcServiceLineNoType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcServiceNameType是一个服务名类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcServiceNameType[61]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcLinkStatusType是一个连接状态类型 +///////////////////////////////////////////////////////////////////////// +///已经连接 +#define THOST_FTDC_LS_Connected '1' +///没有连接 +#define THOST_FTDC_LS_Disconnected '2' + +typedef char TThostFtdcLinkStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCommApiPointerType是一个通讯API指针类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcCommApiPointerType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPwdFlagType是一个密码核对标志类型 +///////////////////////////////////////////////////////////////////////// +///不核对 +#define THOST_FTDC_BPWDF_NoCheck '0' +///明文核对 +#define THOST_FTDC_BPWDF_BlankCheck '1' +///密文核对 +#define THOST_FTDC_BPWDF_EncryptCheck '2' + +typedef char TThostFtdcPwdFlagType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSecuAccTypeType是一个期货帐号类型类型 +///////////////////////////////////////////////////////////////////////// +///资金帐号 +#define THOST_FTDC_SAT_AccountID '1' +///资金卡号 +#define THOST_FTDC_SAT_CardID '2' +///上海股东帐号 +#define THOST_FTDC_SAT_SHStockholderID '3' +///深圳股东帐号 +#define THOST_FTDC_SAT_SZStockholderID '4' + +typedef char TThostFtdcSecuAccTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTransferStatusType是一个转账交易状态类型 +///////////////////////////////////////////////////////////////////////// +///正常 +#define THOST_FTDC_TRFS_Normal '0' +///被冲正 +#define THOST_FTDC_TRFS_Repealed '1' + +typedef char TThostFtdcTransferStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSponsorTypeType是一个发起方类型 +///////////////////////////////////////////////////////////////////////// +///期商 +#define THOST_FTDC_SPTYPE_Broker '0' +///银行 +#define THOST_FTDC_SPTYPE_Bank '1' + +typedef char TThostFtdcSponsorTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcReqRspTypeType是一个请求响应类别类型 +///////////////////////////////////////////////////////////////////////// +///请求 +#define THOST_FTDC_REQRSP_Request '0' +///响应 +#define THOST_FTDC_REQRSP_Response '1' + +typedef char TThostFtdcReqRspTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBTUserEventTypeType是一个银期转帐用户事件类型类型 +///////////////////////////////////////////////////////////////////////// +///签到 +#define THOST_FTDC_FBTUET_SignIn '0' +///银行转期货 +#define THOST_FTDC_FBTUET_FromBankToFuture '1' +///期货转银行 +#define THOST_FTDC_FBTUET_FromFutureToBank '2' +///开户 +#define THOST_FTDC_FBTUET_OpenAccount '3' +///销户 +#define THOST_FTDC_FBTUET_CancelAccount '4' +///变更银行账户 +#define THOST_FTDC_FBTUET_ChangeAccount '5' +///冲正银行转期货 +#define THOST_FTDC_FBTUET_RepealFromBankToFuture '6' +///冲正期货转银行 +#define THOST_FTDC_FBTUET_RepealFromFutureToBank '7' +///查询银行账户 +#define THOST_FTDC_FBTUET_QueryBankAccount '8' +///查询期货账户 +#define THOST_FTDC_FBTUET_QueryFutureAccount '9' +///签退 +#define THOST_FTDC_FBTUET_SignOut 'A' +///密钥同步 +#define THOST_FTDC_FBTUET_SyncKey 'B' +///其他 +#define THOST_FTDC_FBTUET_Other 'Z' + +typedef char TThostFtdcFBTUserEventTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankIDByBankType是一个银行自己的编码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBankIDByBankType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankOperNoType是一个银行操作员号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBankOperNoType[4]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankCustNoType是一个银行客户号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBankCustNoType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDBOPSeqNoType是一个递增的序列号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcDBOPSeqNoType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTableNameType是一个FBT表名类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcTableNameType[61]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPKNameType是一个FBT表操作主键名类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcPKNameType[201]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPKValueType是一个FBT表操作主键值类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcPKValueType[501]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDBOperationType是一个记录操作类型类型 +///////////////////////////////////////////////////////////////////////// +///插入 +#define THOST_FTDC_DBOP_Insert '0' +///更新 +#define THOST_FTDC_DBOP_Update '1' +///删除 +#define THOST_FTDC_DBOP_Delete '2' + +typedef char TThostFtdcDBOperationType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSyncFlagType是一个同步标记类型 +///////////////////////////////////////////////////////////////////////// +///已同步 +#define THOST_FTDC_SYNF_Yes '0' +///未同步 +#define THOST_FTDC_SYNF_No '1' + +typedef char TThostFtdcSyncFlagType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTargetIDType是一个同步目标编号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcTargetIDType[4]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSyncTypeType是一个同步类型类型 +///////////////////////////////////////////////////////////////////////// +///一次同步 +#define THOST_FTDC_SYNT_OneOffSync '0' +///定时同步 +#define THOST_FTDC_SYNT_TimerSync '1' +///定时完全同步 +#define THOST_FTDC_SYNT_TimerFullSync '2' + +typedef char TThostFtdcSyncTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBETimeType是一个各种换汇时间类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFBETimeType[7]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBEBankNoType是一个换汇银行行号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFBEBankNoType[13]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBECertNoType是一个换汇凭证号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFBECertNoType[13]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcExDirectionType是一个换汇方向类型 +///////////////////////////////////////////////////////////////////////// +///结汇 +#define THOST_FTDC_FBEDIR_Settlement '0' +///售汇 +#define THOST_FTDC_FBEDIR_Sale '1' + +typedef char TThostFtdcExDirectionType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBEBankAccountType是一个换汇银行账户类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFBEBankAccountType[33]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBEBankAccountNameType是一个换汇银行账户名类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFBEBankAccountNameType[61]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBEAmtType是一个各种换汇金额类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcFBEAmtType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBEBusinessTypeType是一个换汇业务类型类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFBEBusinessTypeType[3]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBEPostScriptType是一个换汇附言类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFBEPostScriptType[61]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBERemarkType是一个换汇备注类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFBERemarkType[71]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcExRateType是一个换汇汇率类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcExRateType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBEResultFlagType是一个换汇成功标志类型 +///////////////////////////////////////////////////////////////////////// +///成功 +#define THOST_FTDC_FBERES_Success '0' +///账户余额不足 +#define THOST_FTDC_FBERES_InsufficientBalance '1' +///交易结果未知 +#define THOST_FTDC_FBERES_UnknownTrading '8' +///失败 +#define THOST_FTDC_FBERES_Fail 'x' + +typedef char TThostFtdcFBEResultFlagType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBERtnMsgType是一个换汇返回信息类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFBERtnMsgType[61]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBEExtendMsgType是一个换汇扩展信息类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFBEExtendMsgType[61]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBEBusinessSerialType是一个换汇记账流水号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFBEBusinessSerialType[31]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBESystemSerialType是一个换汇流水号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFBESystemSerialType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBETotalExCntType是一个换汇交易总笔数类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcFBETotalExCntType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBEExchStatusType是一个换汇交易状态类型 +///////////////////////////////////////////////////////////////////////// +///正常 +#define THOST_FTDC_FBEES_Normal '0' +///交易重发 +#define THOST_FTDC_FBEES_ReExchange '1' + +typedef char TThostFtdcFBEExchStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBEFileFlagType是一个换汇文件标志类型 +///////////////////////////////////////////////////////////////////////// +///数据包 +#define THOST_FTDC_FBEFG_DataPackage '0' +///文件 +#define THOST_FTDC_FBEFG_File '1' + +typedef char TThostFtdcFBEFileFlagType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBEAlreadyTradeType是一个换汇已交易标志类型 +///////////////////////////////////////////////////////////////////////// +///未交易 +#define THOST_FTDC_FBEAT_NotTrade '0' +///已交易 +#define THOST_FTDC_FBEAT_Trade '1' + +typedef char TThostFtdcFBEAlreadyTradeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBEOpenBankType是一个换汇账户开户行类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFBEOpenBankType[61]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBEUserEventTypeType是一个银期换汇用户事件类型类型 +///////////////////////////////////////////////////////////////////////// +///签到 +#define THOST_FTDC_FBEUET_SignIn '0' +///换汇 +#define THOST_FTDC_FBEUET_Exchange '1' +///换汇重发 +#define THOST_FTDC_FBEUET_ReExchange '2' +///银行账户查询 +#define THOST_FTDC_FBEUET_QueryBankAccount '3' +///换汇明细查询 +#define THOST_FTDC_FBEUET_QueryExchDetial '4' +///换汇汇总查询 +#define THOST_FTDC_FBEUET_QueryExchSummary '5' +///换汇汇率查询 +#define THOST_FTDC_FBEUET_QueryExchRate '6' +///对账文件通知 +#define THOST_FTDC_FBEUET_CheckBankAccount '7' +///签退 +#define THOST_FTDC_FBEUET_SignOut '8' +///其他 +#define THOST_FTDC_FBEUET_Other 'Z' + +typedef char TThostFtdcFBEUserEventTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBEFileNameType是一个换汇相关文件名类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFBEFileNameType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBEBatchSerialType是一个换汇批次号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFBEBatchSerialType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBEReqFlagType是一个换汇发送标志类型 +///////////////////////////////////////////////////////////////////////// +///未处理 +#define THOST_FTDC_FBERF_UnProcessed '0' +///等待发送 +#define THOST_FTDC_FBERF_WaitSend '1' +///发送成功 +#define THOST_FTDC_FBERF_SendSuccess '2' +///发送失败 +#define THOST_FTDC_FBERF_SendFailed '3' +///等待重发 +#define THOST_FTDC_FBERF_WaitReSend '4' + +typedef char TThostFtdcFBEReqFlagType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcNotifyClassType是一个风险通知类型类型 +///////////////////////////////////////////////////////////////////////// +///正常 +#define THOST_FTDC_NC_NOERROR '0' +///警示 +#define THOST_FTDC_NC_Warn '1' +///追保 +#define THOST_FTDC_NC_Call '2' +///强平 +#define THOST_FTDC_NC_Force '3' +///穿仓 +#define THOST_FTDC_NC_CHUANCANG '4' +///异常 +#define THOST_FTDC_NC_Exception '5' + +typedef char TThostFtdcNotifyClassType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRiskNofityInfoType是一个客户风险通知消息类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcRiskNofityInfoType[257]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcForceCloseSceneIdType是一个强平场景编号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcForceCloseSceneIdType[24]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcForceCloseTypeType是一个强平单类型类型 +///////////////////////////////////////////////////////////////////////// +///手工强平 +#define THOST_FTDC_FCT_Manual '0' +///单一投资者辅助强平 +#define THOST_FTDC_FCT_Single '1' +///批量投资者辅助强平 +#define THOST_FTDC_FCT_Group '2' + +typedef char TThostFtdcForceCloseTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInstrumentIDsType是一个多个产品代码,用+分隔,如cu+zn类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcInstrumentIDsType[101]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRiskNotifyMethodType是一个风险通知途径类型 +///////////////////////////////////////////////////////////////////////// +///系统通知 +#define THOST_FTDC_RNM_System '0' +///短信通知 +#define THOST_FTDC_RNM_SMS '1' +///邮件通知 +#define THOST_FTDC_RNM_EMail '2' +///人工通知 +#define THOST_FTDC_RNM_Manual '3' + +typedef char TThostFtdcRiskNotifyMethodType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRiskNotifyStatusType是一个风险通知状态类型 +///////////////////////////////////////////////////////////////////////// +///未生成 +#define THOST_FTDC_RNS_NotGen '0' +///已生成未发送 +#define THOST_FTDC_RNS_Generated '1' +///发送失败 +#define THOST_FTDC_RNS_SendError '2' +///已发送未接收 +#define THOST_FTDC_RNS_SendOk '3' +///已接收未确认 +#define THOST_FTDC_RNS_Received '4' +///已确认 +#define THOST_FTDC_RNS_Confirmed '5' + +typedef char TThostFtdcRiskNotifyStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRiskUserEventType是一个风控用户操作事件类型 +///////////////////////////////////////////////////////////////////////// +///导出数据 +#define THOST_FTDC_RUE_ExportData '0' + +typedef char TThostFtdcRiskUserEventType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcParamIDType是一个参数代码类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcParamIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcParamNameType是一个参数名类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcParamNameType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcParamValueType是一个参数值类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcParamValueType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcConditionalOrderSortTypeType是一个条件单索引条件类型 +///////////////////////////////////////////////////////////////////////// +///使用最新价升序 +#define THOST_FTDC_COST_LastPriceAsc '0' +///使用最新价降序 +#define THOST_FTDC_COST_LastPriceDesc '1' +///使用卖价升序 +#define THOST_FTDC_COST_AskPriceAsc '2' +///使用卖价降序 +#define THOST_FTDC_COST_AskPriceDesc '3' +///使用买价升序 +#define THOST_FTDC_COST_BidPriceAsc '4' +///使用买价降序 +#define THOST_FTDC_COST_BidPriceDesc '5' + +typedef char TThostFtdcConditionalOrderSortTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSendTypeType是一个报送状态类型 +///////////////////////////////////////////////////////////////////////// +///未发送 +#define THOST_FTDC_UOAST_NoSend '0' +///已发送 +#define THOST_FTDC_UOAST_Sended '1' +///已生成 +#define THOST_FTDC_UOAST_Generated '2' +///报送失败 +#define THOST_FTDC_UOAST_SendFail '3' +///接收成功 +#define THOST_FTDC_UOAST_Success '4' +///接收失败 +#define THOST_FTDC_UOAST_Fail '5' +///取消报送 +#define THOST_FTDC_UOAST_Cancel '6' + +typedef char TThostFtdcSendTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcClientIDStatusType是一个交易编码状态类型 +///////////////////////////////////////////////////////////////////////// +///未申请 +#define THOST_FTDC_UOACS_NoApply '1' +///已提交申请 +#define THOST_FTDC_UOACS_Submited '2' +///已发送申请 +#define THOST_FTDC_UOACS_Sended '3' +///完成 +#define THOST_FTDC_UOACS_Success '4' +///拒绝 +#define THOST_FTDC_UOACS_Refuse '5' +///已撤销编码 +#define THOST_FTDC_UOACS_Cancel '6' + +typedef char TThostFtdcClientIDStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcIndustryIDType是一个行业编码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcIndustryIDType[17]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcQuestionIDType是一个特有信息编号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcQuestionIDType[5]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcQuestionContentType是一个特有信息说明类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcQuestionContentType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOptionIDType是一个选项编号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcOptionIDType[13]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOptionContentType是一个选项说明类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcOptionContentType[61]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcQuestionTypeType是一个特有信息类型类型 +///////////////////////////////////////////////////////////////////////// +///单选 +#define THOST_FTDC_QT_Radio '1' +///多选 +#define THOST_FTDC_QT_Option '2' +///填空 +#define THOST_FTDC_QT_Blank '3' + +typedef char TThostFtdcQuestionTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcProcessIDType是一个业务流水号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcProcessIDType[33]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSeqNoType是一个流水号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcSeqNoType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUOAProcessStatusType是一个流程状态类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcUOAProcessStatusType[3]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcProcessTypeType是一个流程功能类型类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcProcessTypeType[3]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBusinessTypeType是一个业务类型类型 +///////////////////////////////////////////////////////////////////////// +///请求 +#define THOST_FTDC_BT_Request '1' +///应答 +#define THOST_FTDC_BT_Response '2' +///通知 +#define THOST_FTDC_BT_Notice '3' + +typedef char TThostFtdcBusinessTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCfmmcReturnCodeType是一个监控中心返回码类型 +///////////////////////////////////////////////////////////////////////// +///成功 +#define THOST_FTDC_CRC_Success '0' +///该客户已经有流程在处理中 +#define THOST_FTDC_CRC_Working '1' +///监控中客户资料检查失败 +#define THOST_FTDC_CRC_InfoFail '2' +///监控中实名制检查失败 +#define THOST_FTDC_CRC_IDCardFail '3' +///其他错误 +#define THOST_FTDC_CRC_OtherFail '4' + +typedef char TThostFtdcCfmmcReturnCodeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcExReturnCodeType是一个交易所返回码类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcExReturnCodeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcClientTypeType是一个客户类型类型 +///////////////////////////////////////////////////////////////////////// +///所有 +#define THOST_FTDC_CfMMCCT_All '0' +///个人 +#define THOST_FTDC_CfMMCCT_Person '1' +///单位 +#define THOST_FTDC_CfMMCCT_Company '2' +///其他 +#define THOST_FTDC_CfMMCCT_Other '3' +///特殊法人 +#define THOST_FTDC_CfMMCCT_SpecialOrgan '4' +///资管户 +#define THOST_FTDC_CfMMCCT_Asset '5' + +typedef char TThostFtdcClientTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcExchangeIDTypeType是一个交易所编号类型 +///////////////////////////////////////////////////////////////////////// +///上海期货交易所 +#define THOST_FTDC_EIDT_SHFE 'S' +///郑州商品交易所 +#define THOST_FTDC_EIDT_CZCE 'Z' +///大连商品交易所 +#define THOST_FTDC_EIDT_DCE 'D' +///中国金融期货交易所 +#define THOST_FTDC_EIDT_CFFEX 'J' +///上海国际能源交易中心股份有限公司 +#define THOST_FTDC_EIDT_INE 'N' + +typedef char TThostFtdcExchangeIDTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcExClientIDTypeType是一个交易编码类型类型 +///////////////////////////////////////////////////////////////////////// +///套保 +#define THOST_FTDC_ECIDT_Hedge '1' +///套利 +#define THOST_FTDC_ECIDT_Arbitrage '2' +///投机 +#define THOST_FTDC_ECIDT_Speculation '3' + +typedef char TThostFtdcExClientIDTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcClientClassifyType是一个客户分类码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcClientClassifyType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUOAOrganTypeType是一个单位性质类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcUOAOrganTypeType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUOACountryCodeType是一个国家代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcUOACountryCodeType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAreaCodeType是一个区号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAreaCodeType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFuturesIDType是一个监控中心为客户分配的代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFuturesIDType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCffmcDateType是一个日期类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCffmcDateType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCffmcTimeType是一个时间类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCffmcTimeType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcNocIDType是一个组织机构代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcNocIDType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUpdateFlagType是一个更新状态类型 +///////////////////////////////////////////////////////////////////////// +///未更新 +#define THOST_FTDC_UF_NoUpdate '0' +///更新全部信息成功 +#define THOST_FTDC_UF_Success '1' +///更新全部信息失败 +#define THOST_FTDC_UF_Fail '2' +///更新交易编码成功 +#define THOST_FTDC_UF_TCSuccess '3' +///更新交易编码失败 +#define THOST_FTDC_UF_TCFail '4' +///已丢弃 +#define THOST_FTDC_UF_Cancel '5' + +typedef char TThostFtdcUpdateFlagType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcApplyOperateIDType是一个申请动作类型 +///////////////////////////////////////////////////////////////////////// +///开户 +#define THOST_FTDC_AOID_OpenInvestor '1' +///修改身份信息 +#define THOST_FTDC_AOID_ModifyIDCard '2' +///修改一般信息 +#define THOST_FTDC_AOID_ModifyNoIDCard '3' +///申请交易编码 +#define THOST_FTDC_AOID_ApplyTradingCode '4' +///撤销交易编码 +#define THOST_FTDC_AOID_CancelTradingCode '5' +///销户 +#define THOST_FTDC_AOID_CancelInvestor '6' +///账户休眠 +#define THOST_FTDC_AOID_FreezeAccount '8' +///激活休眠账户 +#define THOST_FTDC_AOID_ActiveFreezeAccount '9' + +typedef char TThostFtdcApplyOperateIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcApplyStatusIDType是一个申请状态类型 +///////////////////////////////////////////////////////////////////////// +///未补全 +#define THOST_FTDC_ASID_NoComplete '1' +///已提交 +#define THOST_FTDC_ASID_Submited '2' +///已审核 +#define THOST_FTDC_ASID_Checked '3' +///已拒绝 +#define THOST_FTDC_ASID_Refused '4' +///已删除 +#define THOST_FTDC_ASID_Deleted '5' + +typedef char TThostFtdcApplyStatusIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSendMethodType是一个发送方式类型 +///////////////////////////////////////////////////////////////////////// +///文件发送 +#define THOST_FTDC_UOASM_ByAPI '1' +///电子发送 +#define THOST_FTDC_UOASM_ByFile '2' + +typedef char TThostFtdcSendMethodType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcEventTypeType是一个业务操作类型类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcEventTypeType[33]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcEventModeType是一个操作方法类型 +///////////////////////////////////////////////////////////////////////// +///增加 +#define THOST_FTDC_EvM_ADD '1' +///修改 +#define THOST_FTDC_EvM_UPDATE '2' +///删除 +#define THOST_FTDC_EvM_DELETE '3' +///复核 +#define THOST_FTDC_EvM_CHECK '4' +///复制 +#define THOST_FTDC_EvM_COPY '5' +///注销 +#define THOST_FTDC_EvM_CANCEL '6' +///冲销 +#define THOST_FTDC_EvM_Reverse '7' + +typedef char TThostFtdcEventModeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUOAAutoSendType是一个统一开户申请自动发送类型 +///////////////////////////////////////////////////////////////////////// +///自动发送并接收 +#define THOST_FTDC_UOAA_ASR '1' +///自动发送,不自动接收 +#define THOST_FTDC_UOAA_ASNR '2' +///不自动发送,自动接收 +#define THOST_FTDC_UOAA_NSAR '3' +///不自动发送,也不自动接收 +#define THOST_FTDC_UOAA_NSR '4' + +typedef char TThostFtdcUOAAutoSendType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcQueryDepthType是一个查询深度类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcQueryDepthType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDataCenterIDType是一个数据中心代码类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcDataCenterIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFlowIDType是一个流程ID类型 +///////////////////////////////////////////////////////////////////////// +///投资者对应投资者组设置 +#define THOST_FTDC_EvM_InvestorGroupFlow '1' +///投资者手续费率设置 +#define THOST_FTDC_EvM_InvestorRate '2' +///投资者手续费率模板关系设置 +#define THOST_FTDC_EvM_InvestorCommRateModel '3' + +typedef char TThostFtdcFlowIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCheckLevelType是一个复核级别类型 +///////////////////////////////////////////////////////////////////////// +///零级复核 +#define THOST_FTDC_CL_Zero '0' +///一级复核 +#define THOST_FTDC_CL_One '1' +///二级复核 +#define THOST_FTDC_CL_Two '2' + +typedef char TThostFtdcCheckLevelType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCheckNoType是一个操作次数类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcCheckNoType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCheckStatusType是一个复核级别类型 +///////////////////////////////////////////////////////////////////////// +///未复核 +#define THOST_FTDC_CHS_Init '0' +///复核中 +#define THOST_FTDC_CHS_Checking '1' +///已复核 +#define THOST_FTDC_CHS_Checked '2' +///拒绝 +#define THOST_FTDC_CHS_Refuse '3' +///作废 +#define THOST_FTDC_CHS_Cancel '4' + +typedef char TThostFtdcCheckStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUsedStatusType是一个生效状态类型 +///////////////////////////////////////////////////////////////////////// +///未生效 +#define THOST_FTDC_CHU_Unused '0' +///已生效 +#define THOST_FTDC_CHU_Used '1' +///生效失败 +#define THOST_FTDC_CHU_Fail '2' + +typedef char TThostFtdcUsedStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRateTemplateNameType是一个模型名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcRateTemplateNameType[61]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPropertyStringType是一个用于查询的投资属性字段类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcPropertyStringType[2049]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankAcountOriginType是一个账户来源类型 +///////////////////////////////////////////////////////////////////////// +///手工录入 +#define THOST_FTDC_BAO_ByAccProperty '0' +///银期转账 +#define THOST_FTDC_BAO_ByFBTransfer '1' + +typedef char TThostFtdcBankAcountOriginType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcMonthBillTradeSumType是一个结算单月报成交汇总方式类型 +///////////////////////////////////////////////////////////////////////// +///同日同合约 +#define THOST_FTDC_MBTS_ByInstrument '0' +///同日同合约同价格 +#define THOST_FTDC_MBTS_ByDayInsPrc '1' +///同合约 +#define THOST_FTDC_MBTS_ByDayIns '2' + +typedef char TThostFtdcMonthBillTradeSumType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBTTradeCodeEnumType是一个银期交易代码枚举类型 +///////////////////////////////////////////////////////////////////////// +///银行发起银行转期货 +#define THOST_FTDC_FTC_BankLaunchBankToBroker '102001' +///期货发起银行转期货 +#define THOST_FTDC_FTC_BrokerLaunchBankToBroker '202001' +///银行发起期货转银行 +#define THOST_FTDC_FTC_BankLaunchBrokerToBank '102002' +///期货发起期货转银行 +#define THOST_FTDC_FTC_BrokerLaunchBrokerToBank '202002' + +typedef char TThostFtdcFBTTradeCodeEnumType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRateTemplateIDType是一个模型代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcRateTemplateIDType[9]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRiskRateType是一个风险度类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcRiskRateType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTimestampType是一个时间戳类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcTimestampType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInvestorIDRuleNameType是一个号段规则名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcInvestorIDRuleNameType[61]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInvestorIDRuleExprType是一个号段规则表达式类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcInvestorIDRuleExprType[513]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcLastDriftType是一个上次OTP漂移值类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcLastDriftType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcLastSuccessType是一个上次OTP成功值类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcLastSuccessType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAuthKeyType是一个令牌密钥类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAuthKeyType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSerialNumberType是一个序列号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcSerialNumberType[17]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOTPTypeType是一个动态令牌类型类型 +///////////////////////////////////////////////////////////////////////// +///无动态令牌 +#define THOST_FTDC_OTP_NONE '0' +///时间令牌 +#define THOST_FTDC_OTP_TOTP '1' + +typedef char TThostFtdcOTPTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOTPVendorsIDType是一个动态令牌提供商类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcOTPVendorsIDType[2]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOTPVendorsNameType是一个动态令牌提供商名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcOTPVendorsNameType[61]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOTPStatusType是一个动态令牌状态类型 +///////////////////////////////////////////////////////////////////////// +///未使用 +#define THOST_FTDC_OTPS_Unused '0' +///已使用 +#define THOST_FTDC_OTPS_Used '1' +///注销 +#define THOST_FTDC_OTPS_Disuse '2' + +typedef char TThostFtdcOTPStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBrokerUserTypeType是一个经济公司用户类型类型 +///////////////////////////////////////////////////////////////////////// +///投资者 +#define THOST_FTDC_BUT_Investor '1' +///操作员 +#define THOST_FTDC_BUT_BrokerUser '2' + +typedef char TThostFtdcBrokerUserTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFutureTypeType是一个期货类型类型 +///////////////////////////////////////////////////////////////////////// +///商品期货 +#define THOST_FTDC_FUTT_Commodity '1' +///金融期货 +#define THOST_FTDC_FUTT_Financial '2' + +typedef char TThostFtdcFutureTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFundEventTypeType是一个资金管理操作类型类型 +///////////////////////////////////////////////////////////////////////// +///转账限额 +#define THOST_FTDC_FET_Restriction '0' +///当日转账限额 +#define THOST_FTDC_FET_TodayRestriction '1' +///期商流水 +#define THOST_FTDC_FET_Transfer '2' +///资金冻结 +#define THOST_FTDC_FET_Credit '3' +///投资者可提资金比例 +#define THOST_FTDC_FET_InvestorWithdrawAlm '4' +///单个银行帐户转账限额 +#define THOST_FTDC_FET_BankRestriction '5' +///银期签约账户 +#define THOST_FTDC_FET_Accountregister '6' +///交易所出入金 +#define THOST_FTDC_FET_ExchangeFundIO '7' +///投资者出入金 +#define THOST_FTDC_FET_InvestorFundIO '8' + +typedef char TThostFtdcFundEventTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAccountSourceTypeType是一个资金账户来源类型 +///////////////////////////////////////////////////////////////////////// +///银期同步 +#define THOST_FTDC_AST_FBTransfer '0' +///手工录入 +#define THOST_FTDC_AST_ManualEntry '1' + +typedef char TThostFtdcAccountSourceTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCodeSourceTypeType是一个交易编码来源类型 +///////////////////////////////////////////////////////////////////////// +///统一开户(已规范) +#define THOST_FTDC_CST_UnifyAccount '0' +///手工录入(未规范) +#define THOST_FTDC_CST_ManualEntry '1' + +typedef char TThostFtdcCodeSourceTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUserRangeType是一个操作员范围类型 +///////////////////////////////////////////////////////////////////////// +///所有 +#define THOST_FTDC_UR_All '0' +///单一操作员 +#define THOST_FTDC_UR_Single '1' + +typedef char TThostFtdcUserRangeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTimeSpanType是一个时间跨度类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcTimeSpanType[9]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcImportSequenceIDType是一个动态令牌导入批次编号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcImportSequenceIDType[17]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcByGroupType是一个交易统计表按客户统计方式类型 +///////////////////////////////////////////////////////////////////////// +///按投资者统计 +#define THOST_FTDC_BG_Investor '2' +///按类统计 +#define THOST_FTDC_BG_Group '1' + +typedef char TThostFtdcByGroupType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTradeSumStatModeType是一个交易统计表按范围统计方式类型 +///////////////////////////////////////////////////////////////////////// +///按合约统计 +#define THOST_FTDC_TSSM_Instrument '1' +///按产品统计 +#define THOST_FTDC_TSSM_Product '2' +///按交易所统计 +#define THOST_FTDC_TSSM_Exchange '3' + +typedef char TThostFtdcTradeSumStatModeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcComTypeType是一个组合成交类型类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcComTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUserProductIDType是一个产品标识类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcUserProductIDType[33]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUserProductNameType是一个产品名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcUserProductNameType[65]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUserProductMemoType是一个产品说明类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcUserProductMemoType[129]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCCancelFlagType是一个新增或变更标志类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCCancelFlagType[2]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCDateType是一个日期类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCDateType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCInvestorNameType是一个客户名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCInvestorNameType[201]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCOpenInvestorNameType是一个客户名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCOpenInvestorNameType[101]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCInvestorIDType是一个客户代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCInvestorIDType[13]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCIdentifiedCardNoType是一个证件号码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCIdentifiedCardNoType[51]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCClientIDType是一个交易编码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCClientIDType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCBankFlagType是一个银行标识类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCBankFlagType[3]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCBankAccountType是一个银行账户类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCBankAccountType[23]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCOpenNameType是一个开户人类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCOpenNameType[401]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCMemoType是一个说明类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCMemoType[101]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCTimeType是一个时间类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCTimeType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCTradeIDType是一个成交流水号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCTradeIDType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCExchangeInstIDType是一个合约代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCExchangeInstIDType[31]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCMortgageNameType是一个质押品名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCMortgageNameType[7]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCReasonType是一个事由类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCReasonType[3]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcIsSettlementType是一个是否为非结算会员类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcIsSettlementType[2]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCMoneyType是一个资金类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcCSRCMoneyType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCPriceType是一个价格类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcCSRCPriceType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCOptionsTypeType是一个期权类型类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCOptionsTypeType[2]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCStrikePriceType是一个执行价类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcCSRCStrikePriceType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCTargetProductIDType是一个标的品种类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCTargetProductIDType[3]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCTargetInstrIDType是一个标的合约类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCTargetInstrIDType[31]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCommModelNameType是一个手续费率模板名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCommModelNameType[161]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCommModelMemoType是一个手续费率模板备注类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCommModelMemoType[1025]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcExprSetModeType是一个日期表达式设置类型类型 +///////////////////////////////////////////////////////////////////////// +///相对已有规则设置 +#define THOST_FTDC_ESM_Relative '1' +///典型设置 +#define THOST_FTDC_ESM_Typical '2' + +typedef char TThostFtdcExprSetModeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRateInvestorRangeType是一个投资者范围类型 +///////////////////////////////////////////////////////////////////////// +///公司标准 +#define THOST_FTDC_RIR_All '1' +///模板 +#define THOST_FTDC_RIR_Model '2' +///单一投资者 +#define THOST_FTDC_RIR_Single '3' + +typedef char TThostFtdcRateInvestorRangeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAgentBrokerIDType是一个代理经纪公司代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAgentBrokerIDType[13]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDRIdentityIDType是一个交易中心代码类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcDRIdentityIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDRIdentityNameType是一个交易中心名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcDRIdentityNameType[65]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDBLinkIDType是一个DBLink标识号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcDBLinkIDType[31]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSyncDataStatusType是一个主次用系统数据同步状态类型 +///////////////////////////////////////////////////////////////////////// +///未同步 +#define THOST_FTDC_SDS_Initialize '0' +///同步中 +#define THOST_FTDC_SDS_Settlementing '1' +///已同步 +#define THOST_FTDC_SDS_Settlemented '2' + +typedef char TThostFtdcSyncDataStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTradeSourceType是一个成交来源类型 +///////////////////////////////////////////////////////////////////////// +///来自交易所普通回报 +#define THOST_FTDC_TSRC_NORMAL '0' +///来自查询 +#define THOST_FTDC_TSRC_QUERY '1' + +typedef char TThostFtdcTradeSourceType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFlexStatModeType是一个产品合约统计方式类型 +///////////////////////////////////////////////////////////////////////// +///产品统计 +#define THOST_FTDC_FSM_Product '1' +///交易所统计 +#define THOST_FTDC_FSM_Exchange '2' +///统计所有 +#define THOST_FTDC_FSM_All '3' + +typedef char TThostFtdcFlexStatModeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcByInvestorRangeType是一个投资者范围统计方式类型 +///////////////////////////////////////////////////////////////////////// +///属性统计 +#define THOST_FTDC_BIR_Property '1' +///统计所有 +#define THOST_FTDC_BIR_All '2' + +typedef char TThostFtdcByInvestorRangeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSRiskRateType是一个风险度类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcSRiskRateType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSequenceNo12Type是一个序号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcSequenceNo12Type; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPropertyInvestorRangeType是一个投资者范围类型 +///////////////////////////////////////////////////////////////////////// +///所有 +#define THOST_FTDC_PIR_All '1' +///投资者属性 +#define THOST_FTDC_PIR_Property '2' +///单一投资者 +#define THOST_FTDC_PIR_Single '3' + +typedef char TThostFtdcPropertyInvestorRangeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFileStatusType是一个文件状态类型 +///////////////////////////////////////////////////////////////////////// +///未生成 +#define THOST_FTDC_FIS_NoCreate '0' +///已生成 +#define THOST_FTDC_FIS_Created '1' +///生成失败 +#define THOST_FTDC_FIS_Failed '2' + +typedef char TThostFtdcFileStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFileGenStyleType是一个文件生成方式类型 +///////////////////////////////////////////////////////////////////////// +///下发 +#define THOST_FTDC_FGS_FileTransmit '0' +///生成 +#define THOST_FTDC_FGS_FileGen '1' + +typedef char TThostFtdcFileGenStyleType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSysOperModeType是一个系统日志操作方法类型 +///////////////////////////////////////////////////////////////////////// +///增加 +#define THOST_FTDC_SoM_Add '1' +///修改 +#define THOST_FTDC_SoM_Update '2' +///删除 +#define THOST_FTDC_SoM_Delete '3' +///复制 +#define THOST_FTDC_SoM_Copy '4' +///激活 +#define THOST_FTDC_SoM_AcTive '5' +///注销 +#define THOST_FTDC_SoM_CanCel '6' +///重置 +#define THOST_FTDC_SoM_ReSet '7' + +typedef char TThostFtdcSysOperModeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSysOperTypeType是一个系统日志操作类型类型 +///////////////////////////////////////////////////////////////////////// +///修改操作员密码 +#define THOST_FTDC_SoT_UpdatePassword '0' +///操作员组织架构关系 +#define THOST_FTDC_SoT_UserDepartment '1' +///角色管理 +#define THOST_FTDC_SoT_RoleManager '2' +///角色功能设置 +#define THOST_FTDC_SoT_RoleFunction '3' +///基础参数设置 +#define THOST_FTDC_SoT_BaseParam '4' +///设置操作员 +#define THOST_FTDC_SoT_SetUserID '5' +///用户角色设置 +#define THOST_FTDC_SoT_SetUserRole '6' +///用户IP限制 +#define THOST_FTDC_SoT_UserIpRestriction '7' +///组织架构管理 +#define THOST_FTDC_SoT_DepartmentManager '8' +///组织架构向查询分类复制 +#define THOST_FTDC_SoT_DepartmentCopy '9' +///交易编码管理 +#define THOST_FTDC_SoT_Tradingcode 'A' +///投资者状态维护 +#define THOST_FTDC_SoT_InvestorStatus 'B' +///投资者权限管理 +#define THOST_FTDC_SoT_InvestorAuthority 'C' +///属性设置 +#define THOST_FTDC_SoT_PropertySet 'D' +///重置投资者密码 +#define THOST_FTDC_SoT_ReSetInvestorPasswd 'E' +///投资者个性信息维护 +#define THOST_FTDC_SoT_InvestorPersonalityInfo 'F' + +typedef char TThostFtdcSysOperTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCDataQueyTypeType是一个上报数据查询类型类型 +///////////////////////////////////////////////////////////////////////// +///查询当前交易日报送的数据 +#define THOST_FTDC_CSRCQ_Current '0' +///查询历史报送的代理经纪公司的数据 +#define THOST_FTDC_CSRCQ_History '1' + +typedef char TThostFtdcCSRCDataQueyTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFreezeStatusType是一个休眠状态类型 +///////////////////////////////////////////////////////////////////////// +///活跃 +#define THOST_FTDC_FRS_Normal '1' +///休眠 +#define THOST_FTDC_FRS_Freeze '0' + +typedef char TThostFtdcFreezeStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcStandardStatusType是一个规范状态类型 +///////////////////////////////////////////////////////////////////////// +///已规范 +#define THOST_FTDC_STST_Standard '0' +///未规范 +#define THOST_FTDC_STST_NonStandard '1' + +typedef char TThostFtdcStandardStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCFreezeStatusType是一个休眠状态类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCFreezeStatusType[2]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRightParamTypeType是一个配置类型类型 +///////////////////////////////////////////////////////////////////////// +///休眠户 +#define THOST_FTDC_RPT_Freeze '1' +///激活休眠户 +#define THOST_FTDC_RPT_FreezeActive '2' +///开仓权限限制 +#define THOST_FTDC_RPT_OpenLimit '3' +///解除开仓权限限制 +#define THOST_FTDC_RPT_RelieveOpenLimit '4' + +typedef char TThostFtdcRightParamTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRightTemplateIDType是一个模板代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcRightTemplateIDType[9]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRightTemplateNameType是一个模板名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcRightTemplateNameType[61]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDataStatusType是一个反洗钱审核表数据状态类型 +///////////////////////////////////////////////////////////////////////// +///正常 +#define THOST_FTDC_AMLDS_Normal '0' +///已删除 +#define THOST_FTDC_AMLDS_Deleted '1' + +typedef char TThostFtdcDataStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLCheckStatusType是一个审核状态类型 +///////////////////////////////////////////////////////////////////////// +///未复核 +#define THOST_FTDC_AMLCHS_Init '0' +///复核中 +#define THOST_FTDC_AMLCHS_Checking '1' +///已复核 +#define THOST_FTDC_AMLCHS_Checked '2' +///拒绝上报 +#define THOST_FTDC_AMLCHS_RefuseReport '3' + +typedef char TThostFtdcAMLCheckStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAmlDateTypeType是一个日期类型类型 +///////////////////////////////////////////////////////////////////////// +///检查日期 +#define THOST_FTDC_AMLDT_DrawDay '0' +///发生日期 +#define THOST_FTDC_AMLDT_TouchDay '1' + +typedef char TThostFtdcAmlDateTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAmlCheckLevelType是一个审核级别类型 +///////////////////////////////////////////////////////////////////////// +///零级审核 +#define THOST_FTDC_AMLCL_CheckLevel0 '0' +///一级审核 +#define THOST_FTDC_AMLCL_CheckLevel1 '1' +///二级审核 +#define THOST_FTDC_AMLCL_CheckLevel2 '2' +///三级审核 +#define THOST_FTDC_AMLCL_CheckLevel3 '3' + +typedef char TThostFtdcAmlCheckLevelType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAmlCheckFlowType是一个反洗钱数据抽取审核流程类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAmlCheckFlowType[2]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDataTypeType是一个数据类型类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcDataTypeType[129]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcExportFileTypeType是一个导出文件类型类型 +///////////////////////////////////////////////////////////////////////// +///CSV +#define THOST_FTDC_EFT_CSV '0' +///Excel +#define THOST_FTDC_EFT_EXCEL '1' +///DBF +#define THOST_FTDC_EFT_DBF '2' + +typedef char TThostFtdcExportFileTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSettleManagerTypeType是一个结算配置类型类型 +///////////////////////////////////////////////////////////////////////// +///结算前准备 +#define THOST_FTDC_SMT_Before '1' +///结算 +#define THOST_FTDC_SMT_Settlement '2' +///结算后核对 +#define THOST_FTDC_SMT_After '3' +///结算后处理 +#define THOST_FTDC_SMT_Settlemented '4' + +typedef char TThostFtdcSettleManagerTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSettleManagerIDType是一个结算配置代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcSettleManagerIDType[33]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSettleManagerNameType是一个结算配置名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcSettleManagerNameType[129]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSettleManagerLevelType是一个结算配置等级类型 +///////////////////////////////////////////////////////////////////////// +///必要 +#define THOST_FTDC_SML_Must '1' +///警告 +#define THOST_FTDC_SML_Alarm '2' +///提示 +#define THOST_FTDC_SML_Prompt '3' +///不检查 +#define THOST_FTDC_SML_Ignore '4' + +typedef char TThostFtdcSettleManagerLevelType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSettleManagerGroupType是一个模块分组类型 +///////////////////////////////////////////////////////////////////////// +///交易所核对 +#define THOST_FTDC_SMG_Exhcange '1' +///内部核对 +#define THOST_FTDC_SMG_ASP '2' +///上报数据核对 +#define THOST_FTDC_SMG_CSRC '3' + +typedef char TThostFtdcSettleManagerGroupType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCheckResultMemoType是一个核对结果说明类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCheckResultMemoType[1025]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFunctionUrlType是一个功能链接类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFunctionUrlType[1025]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAuthInfoType是一个客户端认证信息类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAuthInfoType[129]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAuthCodeType是一个客户端认证码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAuthCodeType[17]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcLimitUseTypeType是一个保值额度使用类型类型 +///////////////////////////////////////////////////////////////////////// +///可重复使用 +#define THOST_FTDC_LUT_Repeatable '1' +///不可重复使用 +#define THOST_FTDC_LUT_Unrepeatable '2' + +typedef char TThostFtdcLimitUseTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDataResourceType是一个数据来源类型 +///////////////////////////////////////////////////////////////////////// +///本系统 +#define THOST_FTDC_DAR_Settle '1' +///交易所 +#define THOST_FTDC_DAR_Exchange '2' +///报送数据 +#define THOST_FTDC_DAR_CSRC '3' + +typedef char TThostFtdcDataResourceType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcMarginTypeType是一个保证金类型类型 +///////////////////////////////////////////////////////////////////////// +///交易所保证金率 +#define THOST_FTDC_MGT_ExchMarginRate '0' +///投资者保证金率 +#define THOST_FTDC_MGT_InstrMarginRate '1' +///投资者交易保证金率 +#define THOST_FTDC_MGT_InstrMarginRateTrade '2' + +typedef char TThostFtdcMarginTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcActiveTypeType是一个生效类型类型 +///////////////////////////////////////////////////////////////////////// +///仅当日生效 +#define THOST_FTDC_ACT_Intraday '1' +///长期生效 +#define THOST_FTDC_ACT_Long '2' + +typedef char TThostFtdcActiveTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcMarginRateTypeType是一个冲突保证金率类型类型 +///////////////////////////////////////////////////////////////////////// +///交易所保证金率 +#define THOST_FTDC_MRT_Exchange '1' +///投资者保证金率 +#define THOST_FTDC_MRT_Investor '2' +///投资者交易保证金率 +#define THOST_FTDC_MRT_InvestorTrade '3' + +typedef char TThostFtdcMarginRateTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBackUpStatusType是一个备份数据状态类型 +///////////////////////////////////////////////////////////////////////// +///未生成备份数据 +#define THOST_FTDC_BUS_UnBak '0' +///备份数据生成中 +#define THOST_FTDC_BUS_BakUp '1' +///已生成备份数据 +#define THOST_FTDC_BUS_BakUped '2' +///备份数据失败 +#define THOST_FTDC_BUS_BakFail '3' + +typedef char TThostFtdcBackUpStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInitSettlementType是一个结算初始化状态类型 +///////////////////////////////////////////////////////////////////////// +///结算初始化未开始 +#define THOST_FTDC_SIS_UnInitialize '0' +///结算初始化中 +#define THOST_FTDC_SIS_Initialize '1' +///结算初始化完成 +#define THOST_FTDC_SIS_Initialized '2' + +typedef char TThostFtdcInitSettlementType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcReportStatusType是一个报表数据生成状态类型 +///////////////////////////////////////////////////////////////////////// +///未生成报表数据 +#define THOST_FTDC_SRS_NoCreate '0' +///报表数据生成中 +#define THOST_FTDC_SRS_Create '1' +///已生成报表数据 +#define THOST_FTDC_SRS_Created '2' +///生成报表数据失败 +#define THOST_FTDC_SRS_CreateFail '3' + +typedef char TThostFtdcReportStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSaveStatusType是一个数据归档状态类型 +///////////////////////////////////////////////////////////////////////// +///归档未完成 +#define THOST_FTDC_SSS_UnSaveData '0' +///归档完成 +#define THOST_FTDC_SSS_SaveDatad '1' + +typedef char TThostFtdcSaveStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSettArchiveStatusType是一个结算确认数据归档状态类型 +///////////////////////////////////////////////////////////////////////// +///未归档数据 +#define THOST_FTDC_SAS_UnArchived '0' +///数据归档中 +#define THOST_FTDC_SAS_Archiving '1' +///已归档数据 +#define THOST_FTDC_SAS_Archived '2' +///归档数据失败 +#define THOST_FTDC_SAS_ArchiveFail '3' + +typedef char TThostFtdcSettArchiveStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCTPTypeType是一个CTP交易系统类型类型 +///////////////////////////////////////////////////////////////////////// +///未知类型 +#define THOST_FTDC_CTPT_Unkown '0' +///主中心 +#define THOST_FTDC_CTPT_MainCenter '1' +///备中心 +#define THOST_FTDC_CTPT_BackUp '2' + +typedef char TThostFtdcCTPTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcToolIDType是一个工具代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcToolIDType[9]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcToolNameType是一个工具名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcToolNameType[81]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCloseDealTypeType是一个平仓处理类型类型 +///////////////////////////////////////////////////////////////////////// +///正常 +#define THOST_FTDC_CDT_Normal '0' +///投机平仓优先 +#define THOST_FTDC_CDT_SpecFirst '1' + +typedef char TThostFtdcCloseDealTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcMortgageFundUseRangeType是一个货币质押资金可用范围类型 +///////////////////////////////////////////////////////////////////////// +///不能使用 +#define THOST_FTDC_MFUR_None '0' +///用于保证金 +#define THOST_FTDC_MFUR_Margin '1' +///用于手续费、盈亏、保证金 +#define THOST_FTDC_MFUR_All '2' + +typedef char TThostFtdcMortgageFundUseRangeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCurrencyUnitType是一个币种单位数量类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcCurrencyUnitType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcExchangeRateType是一个汇率类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcExchangeRateType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSpecProductTypeType是一个特殊产品类型类型 +///////////////////////////////////////////////////////////////////////// +///郑商所套保产品 +#define THOST_FTDC_SPT_CzceHedge '1' +///货币质押产品 +#define THOST_FTDC_SPT_IneForeignCurrency '2' +///大连短线开平仓产品 +#define THOST_FTDC_SPT_DceOpenClose '3' + +typedef char TThostFtdcSpecProductTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFundMortgageTypeType是一个货币质押类型类型 +///////////////////////////////////////////////////////////////////////// +///质押 +#define THOST_FTDC_FMT_Mortgage '1' +///解质 +#define THOST_FTDC_FMT_Redemption '2' + +typedef char TThostFtdcFundMortgageTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAccountSettlementParamIDType是一个投资者账户结算参数代码类型 +///////////////////////////////////////////////////////////////////////// +///基础保证金 +#define THOST_FTDC_ASPI_BaseMargin '1' +///最低权益标准 +#define THOST_FTDC_ASPI_LowestInterest '2' + +typedef char TThostFtdcAccountSettlementParamIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCurrencyNameType是一个币种名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCurrencyNameType[31]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCurrencySignType是一个币种符号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCurrencySignType[4]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFundMortDirectionType是一个货币质押方向类型 +///////////////////////////////////////////////////////////////////////// +///货币质入 +#define THOST_FTDC_FMD_In '1' +///货币质出 +#define THOST_FTDC_FMD_Out '2' + +typedef char TThostFtdcFundMortDirectionType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBusinessClassType是一个换汇类别类型 +///////////////////////////////////////////////////////////////////////// +///盈利 +#define THOST_FTDC_BT_Profit '0' +///亏损 +#define THOST_FTDC_BT_Loss '1' +///其他 +#define THOST_FTDC_BT_Other 'Z' + +typedef char TThostFtdcBusinessClassType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSwapSourceTypeType是一个换汇数据来源类型 +///////////////////////////////////////////////////////////////////////// +///手工 +#define THOST_FTDC_SST_Manual '0' +///自动生成 +#define THOST_FTDC_SST_Automatic '1' + +typedef char TThostFtdcSwapSourceTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCurrExDirectionType是一个换汇类型类型 +///////////////////////////////////////////////////////////////////////// +///结汇 +#define THOST_FTDC_CED_Settlement '0' +///售汇 +#define THOST_FTDC_CED_Sale '1' + +typedef char TThostFtdcCurrExDirectionType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCurrencySwapStatusType是一个申请状态类型 +///////////////////////////////////////////////////////////////////////// +///已录入 +#define THOST_FTDC_CSS_Entry '1' +///已审核 +#define THOST_FTDC_CSS_Approve '2' +///已拒绝 +#define THOST_FTDC_CSS_Refuse '3' +///已撤销 +#define THOST_FTDC_CSS_Revoke '4' +///已发送 +#define THOST_FTDC_CSS_Send '5' +///换汇成功 +#define THOST_FTDC_CSS_Success '6' +///换汇失败 +#define THOST_FTDC_CSS_Failure '7' + +typedef char TThostFtdcCurrencySwapStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCurrExchCertNoType是一个凭证号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCurrExchCertNoType[13]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBatchSerialNoType是一个批次号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBatchSerialNoType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcReqFlagType是一个换汇发送标志类型 +///////////////////////////////////////////////////////////////////////// +///未发送 +#define THOST_FTDC_REQF_NoSend '0' +///发送成功 +#define THOST_FTDC_REQF_SendSuccess '1' +///发送失败 +#define THOST_FTDC_REQF_SendFailed '2' +///等待重发 +#define THOST_FTDC_REQF_WaitReSend '3' + +typedef char TThostFtdcReqFlagType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcResFlagType是一个换汇返回成功标志类型 +///////////////////////////////////////////////////////////////////////// +///成功 +#define THOST_FTDC_RESF_Success '0' +///账户余额不足 +#define THOST_FTDC_RESF_InsuffiCient '1' +///交易结果未知 +#define THOST_FTDC_RESF_UnKnown '8' + +typedef char TThostFtdcResFlagType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPageControlType是一个换汇页面控制类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcPageControlType[2]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRecordCountType是一个记录数类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcRecordCountType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCurrencySwapMemoType是一个换汇需确认信息类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCurrencySwapMemoType[101]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcExStatusType是一个修改状态类型 +///////////////////////////////////////////////////////////////////////// +///修改前 +#define THOST_FTDC_EXS_Before '0' +///修改后 +#define THOST_FTDC_EXS_After '1' + +typedef char TThostFtdcExStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcClientRegionType是一个开户客户地域类型 +///////////////////////////////////////////////////////////////////////// +///国内客户 +#define THOST_FTDC_CR_Domestic '1' +///港澳台客户 +#define THOST_FTDC_CR_GMT '2' +///国外客户 +#define THOST_FTDC_CR_Foreign '3' + +typedef char TThostFtdcClientRegionType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcWorkPlaceType是一个工作单位类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcWorkPlaceType[101]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBusinessPeriodType是一个经营期限类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBusinessPeriodType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcWebSiteType是一个网址类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcWebSiteType[101]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUOAIdCardTypeType是一个统一开户证件类型类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcUOAIdCardTypeType[3]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcClientModeType是一个开户模式类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcClientModeType[3]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInvestorFullNameType是一个投资者全称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcInvestorFullNameType[101]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUOABrokerIDType是一个境外中介机构ID类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcUOABrokerIDType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUOAZipCodeType是一个邮政编码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcUOAZipCodeType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUOAEMailType是一个电子邮箱类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcUOAEMailType[101]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOldCityType是一个城市类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcOldCityType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCorporateIdentifiedCardNoType是一个法人代表证件号码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCorporateIdentifiedCardNoType[101]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcHasBoardType是一个是否有董事会类型 +///////////////////////////////////////////////////////////////////////// +///没有 +#define THOST_FTDC_HB_No '0' +///有 +#define THOST_FTDC_HB_Yes '1' + +typedef char TThostFtdcHasBoardType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcStartModeType是一个启动模式类型 +///////////////////////////////////////////////////////////////////////// +///正常 +#define THOST_FTDC_SM_Normal '1' +///应急 +#define THOST_FTDC_SM_Emerge '2' +///恢复 +#define THOST_FTDC_SM_Restore '3' + +typedef char TThostFtdcStartModeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTemplateTypeType是一个模型类型类型 +///////////////////////////////////////////////////////////////////////// +///全量 +#define THOST_FTDC_TPT_Full '1' +///增量 +#define THOST_FTDC_TPT_Increment '2' +///备份 +#define THOST_FTDC_TPT_BackUp '3' + +typedef char TThostFtdcTemplateTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcLoginModeType是一个登录模式类型 +///////////////////////////////////////////////////////////////////////// +///交易 +#define THOST_FTDC_LM_Trade '0' +///转账 +#define THOST_FTDC_LM_Transfer '1' + +typedef char TThostFtdcLoginModeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPromptTypeType是一个日历提示类型类型 +///////////////////////////////////////////////////////////////////////// +///合约上下市 +#define THOST_FTDC_CPT_Instrument '1' +///保证金分段生效 +#define THOST_FTDC_CPT_Margin '2' + +typedef char TThostFtdcPromptTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcLedgerManageIDType是一个分户管理资产编码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcLedgerManageIDType[51]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInvestVarietyType是一个投资品种类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcInvestVarietyType[101]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankAccountTypeType是一个账户类别类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBankAccountTypeType[2]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcLedgerManageBankType是一个开户银行类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcLedgerManageBankType[101]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCffexDepartmentNameType是一个开户营业部类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCffexDepartmentNameType[101]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCffexDepartmentCodeType是一个营业部代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCffexDepartmentCodeType[9]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcHasTrusteeType是一个是否有托管人类型 +///////////////////////////////////////////////////////////////////////// +///有 +#define THOST_FTDC_HT_Yes '1' +///没有 +#define THOST_FTDC_HT_No '0' + +typedef char TThostFtdcHasTrusteeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCMemo1Type是一个说明类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCMemo1Type[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAssetmgrCFullNameType是一个代理资产管理业务的期货公司全称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAssetmgrCFullNameType[101]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAssetmgrApprovalNOType是一个资产管理业务批文号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAssetmgrApprovalNOType[51]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAssetmgrMgrNameType是一个资产管理业务负责人姓名类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAssetmgrMgrNameType[401]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAmTypeType是一个机构类型类型 +///////////////////////////////////////////////////////////////////////// +///银行 +#define THOST_FTDC_AMT_Bank '1' +///证券公司 +#define THOST_FTDC_AMT_Securities '2' +///基金公司 +#define THOST_FTDC_AMT_Fund '3' +///保险公司 +#define THOST_FTDC_AMT_Insurance '4' +///信托公司 +#define THOST_FTDC_AMT_Trust '5' +///其他 +#define THOST_FTDC_AMT_Other '9' + +typedef char TThostFtdcAmTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCAmTypeType是一个机构类型类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCAmTypeType[5]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCFundIOTypeType是一个出入金类型类型 +///////////////////////////////////////////////////////////////////////// +///出入金 +#define THOST_FTDC_CFIOT_FundIO '0' +///银期换汇 +#define THOST_FTDC_CFIOT_SwapCurrency '1' + +typedef char TThostFtdcCSRCFundIOTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCusAccountTypeType是一个结算账户类型类型 +///////////////////////////////////////////////////////////////////////// +///期货结算账户 +#define THOST_FTDC_CAT_Futures '1' +///纯期货资管业务下的资管结算账户 +#define THOST_FTDC_CAT_AssetmgrFuture '2' +///综合类资管业务下的期货资管托管账户 +#define THOST_FTDC_CAT_AssetmgrTrustee '3' +///综合类资管业务下的资金中转账户 +#define THOST_FTDC_CAT_AssetmgrTransfer '4' + +typedef char TThostFtdcCusAccountTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCNationalType是一个国籍类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCNationalType[4]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCSecAgentIDType是一个二级代理ID类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCSecAgentIDType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcLanguageTypeType是一个通知语言类型类型 +///////////////////////////////////////////////////////////////////////// +///中文 +#define THOST_FTDC_LT_Chinese '1' +///英文 +#define THOST_FTDC_LT_English '2' + +typedef char TThostFtdcLanguageTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAmAccountType是一个投资账户类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAmAccountType[23]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAssetmgrClientTypeType是一个资产管理客户类型类型 +///////////////////////////////////////////////////////////////////////// +///个人资管客户 +#define THOST_FTDC_AMCT_Person '1' +///单位资管客户 +#define THOST_FTDC_AMCT_Organ '2' +///特殊单位资管客户 +#define THOST_FTDC_AMCT_SpecialOrgan '4' + +typedef char TThostFtdcAssetmgrClientTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAssetmgrTypeType是一个投资类型类型 +///////////////////////////////////////////////////////////////////////// +///期货类 +#define THOST_FTDC_ASST_Futures '3' +///综合类 +#define THOST_FTDC_ASST_SpecialOrgan '4' + +typedef char TThostFtdcAssetmgrTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUOMType是一个计量单位类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcUOMType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSHFEInstLifePhaseType是一个上期所合约生命周期状态类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcSHFEInstLifePhaseType[3]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSHFEProductClassType是一个产品类型类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcSHFEProductClassType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPriceDecimalType是一个价格小数位类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcPriceDecimalType[2]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInTheMoneyFlagType是一个平值期权标志类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcInTheMoneyFlagType[2]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCheckInstrTypeType是一个合约比较类型类型 +///////////////////////////////////////////////////////////////////////// +///合约交易所不存在 +#define THOST_FTDC_CIT_HasExch '0' +///合约本系统不存在 +#define THOST_FTDC_CIT_HasATP '1' +///合约比较不一致 +#define THOST_FTDC_CIT_HasDiff '2' + +typedef char TThostFtdcCheckInstrTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDeliveryTypeType是一个交割类型类型 +///////////////////////////////////////////////////////////////////////// +///手工交割 +#define THOST_FTDC_DT_HandDeliv '1' +///到期交割 +#define THOST_FTDC_DT_PersonDeliv '2' + +typedef char TThostFtdcDeliveryTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBigMoneyType是一个资金类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcBigMoneyType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcMaxMarginSideAlgorithmType是一个大额单边保证金算法类型 +///////////////////////////////////////////////////////////////////////// +///不使用大额单边保证金算法 +#define THOST_FTDC_MMSA_NO '0' +///使用大额单边保证金算法 +#define THOST_FTDC_MMSA_YES '1' + +typedef char TThostFtdcMaxMarginSideAlgorithmType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDAClientTypeType是一个资产管理客户类型类型 +///////////////////////////////////////////////////////////////////////// +///自然人 +#define THOST_FTDC_CACT_Person '0' +///法人 +#define THOST_FTDC_CACT_Company '1' +///其他 +#define THOST_FTDC_CACT_Other '2' + +typedef char TThostFtdcDAClientTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCombinInstrIDType是一个套利合约代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCombinInstrIDType[61]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCombinSettlePriceType是一个各腿结算价类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCombinSettlePriceType[61]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDCEPriorityType是一个优先级类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcDCEPriorityType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTradeGroupIDType是一个成交组号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcTradeGroupIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcIsCheckPrepaType是一个是否校验开户可用资金类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcIsCheckPrepaType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUOAAssetmgrTypeType是一个投资类型类型 +///////////////////////////////////////////////////////////////////////// +///期货类 +#define THOST_FTDC_UOAAT_Futures '1' +///综合类 +#define THOST_FTDC_UOAAT_SpecialOrgan '2' + +typedef char TThostFtdcUOAAssetmgrTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDirectionEnType是一个买卖方向类型 +///////////////////////////////////////////////////////////////////////// +///Buy +#define THOST_FTDC_DEN_Buy '0' +///Sell +#define THOST_FTDC_DEN_Sell '1' + +typedef char TThostFtdcDirectionEnType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOffsetFlagEnType是一个开平标志类型 +///////////////////////////////////////////////////////////////////////// +///Position Opening +#define THOST_FTDC_OFEN_Open '0' +///Position Close +#define THOST_FTDC_OFEN_Close '1' +///Forced Liquidation +#define THOST_FTDC_OFEN_ForceClose '2' +///Close Today +#define THOST_FTDC_OFEN_CloseToday '3' +///Close Prev. +#define THOST_FTDC_OFEN_CloseYesterday '4' +///Forced Reduction +#define THOST_FTDC_OFEN_ForceOff '5' +///Local Forced Liquidation +#define THOST_FTDC_OFEN_LocalForceClose '6' + +typedef char TThostFtdcOffsetFlagEnType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcHedgeFlagEnType是一个投机套保标志类型 +///////////////////////////////////////////////////////////////////////// +///Speculation +#define THOST_FTDC_HFEN_Speculation '1' +///Arbitrage +#define THOST_FTDC_HFEN_Arbitrage '2' +///Hedge +#define THOST_FTDC_HFEN_Hedge '3' + +typedef char TThostFtdcHedgeFlagEnType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFundIOTypeEnType是一个出入金类型类型 +///////////////////////////////////////////////////////////////////////// +///Deposit/Withdrawal +#define THOST_FTDC_FIOTEN_FundIO '1' +///Bank-Futures Transfer +#define THOST_FTDC_FIOTEN_Transfer '2' +///Bank-Futures FX Exchange +#define THOST_FTDC_FIOTEN_SwapCurrency '3' + +typedef char TThostFtdcFundIOTypeEnType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFundTypeEnType是一个资金类型类型 +///////////////////////////////////////////////////////////////////////// +///Bank Deposit +#define THOST_FTDC_FTEN_Deposite '1' +///Payment/Fee +#define THOST_FTDC_FTEN_ItemFund '2' +///Brokerage Adj +#define THOST_FTDC_FTEN_Company '3' +///Internal Transfer +#define THOST_FTDC_FTEN_InnerTransfer '4' + +typedef char TThostFtdcFundTypeEnType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFundDirectionEnType是一个出入金方向类型 +///////////////////////////////////////////////////////////////////////// +///Deposit +#define THOST_FTDC_FDEN_In '1' +///Withdrawal +#define THOST_FTDC_FDEN_Out '2' + +typedef char TThostFtdcFundDirectionEnType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFundMortDirectionEnType是一个货币质押方向类型 +///////////////////////////////////////////////////////////////////////// +///Pledge +#define THOST_FTDC_FMDEN_In '1' +///Redemption +#define THOST_FTDC_FMDEN_Out '2' + +typedef char TThostFtdcFundMortDirectionEnType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSwapBusinessTypeType是一个换汇业务种类类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcSwapBusinessTypeType[3]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOptionsTypeType是一个期权类型类型 +///////////////////////////////////////////////////////////////////////// +///看涨 +#define THOST_FTDC_CP_CallOptions '1' +///看跌 +#define THOST_FTDC_CP_PutOptions '2' + +typedef char TThostFtdcOptionsTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcStrikeModeType是一个执行方式类型 +///////////////////////////////////////////////////////////////////////// +///欧式 +#define THOST_FTDC_STM_Continental '0' +///美式 +#define THOST_FTDC_STM_American '1' +///百慕大 +#define THOST_FTDC_STM_Bermuda '2' + +typedef char TThostFtdcStrikeModeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcStrikeTypeType是一个执行类型类型 +///////////////////////////////////////////////////////////////////////// +///自身对冲 +#define THOST_FTDC_STT_Hedge '0' +///匹配执行 +#define THOST_FTDC_STT_Match '1' + +typedef char TThostFtdcStrikeTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcApplyTypeType是一个中金所期权放弃执行申请类型类型 +///////////////////////////////////////////////////////////////////////// +///不执行数量 +#define THOST_FTDC_APPT_NotStrikeNum '4' + +typedef char TThostFtdcApplyTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcGiveUpDataSourceType是一个放弃执行申请数据来源类型 +///////////////////////////////////////////////////////////////////////// +///系统生成 +#define THOST_FTDC_GUDS_Gen '0' +///手工添加 +#define THOST_FTDC_GUDS_Hand '1' + +typedef char TThostFtdcGiveUpDataSourceType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcExecOrderSysIDType是一个执行宣告系统编号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcExecOrderSysIDType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcExecResultType是一个执行结果类型 +///////////////////////////////////////////////////////////////////////// +///没有执行 +#define THOST_FTDC_OER_NoExec 'n' +///已经取消 +#define THOST_FTDC_OER_Canceled 'c' +///执行成功 +#define THOST_FTDC_OER_OK '0' +///期权持仓不够 +#define THOST_FTDC_OER_NoPosition '1' +///资金不够 +#define THOST_FTDC_OER_NoDeposit '2' +///会员不存在 +#define THOST_FTDC_OER_NoParticipant '3' +///客户不存在 +#define THOST_FTDC_OER_NoClient '4' +///合约不存在 +#define THOST_FTDC_OER_NoInstrument '6' +///没有执行权限 +#define THOST_FTDC_OER_NoRight '7' +///不合理的数量 +#define THOST_FTDC_OER_InvalidVolume '8' +///没有足够的历史成交 +#define THOST_FTDC_OER_NoEnoughHistoryTrade '9' +///未知 +#define THOST_FTDC_OER_Unknown 'a' + +typedef char TThostFtdcExecResultType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcStrikeSequenceType是一个执行序号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcStrikeSequenceType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcStrikeTimeType是一个执行时间类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcStrikeTimeType[13]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCombinationTypeType是一个组合类型类型 +///////////////////////////////////////////////////////////////////////// +///期货组合 +#define THOST_FTDC_COMBT_Future '0' +///垂直价差BUL +#define THOST_FTDC_COMBT_BUL '1' +///垂直价差BER +#define THOST_FTDC_COMBT_BER '2' +///跨式组合 +#define THOST_FTDC_COMBT_STD '3' +///宽跨式组合 +#define THOST_FTDC_COMBT_STG '4' +///备兑组合 +#define THOST_FTDC_COMBT_PRT '5' + +typedef char TThostFtdcCombinationTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOptionRoyaltyPriceTypeType是一个期权权利金价格类型类型 +///////////////////////////////////////////////////////////////////////// +///昨结算价 +#define THOST_FTDC_ORPT_PreSettlementPrice '1' +///开仓价 +#define THOST_FTDC_ORPT_OpenPrice '4' + +typedef char TThostFtdcOptionRoyaltyPriceTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBalanceAlgorithmType是一个权益算法类型 +///////////////////////////////////////////////////////////////////////// +///不计算期权市值盈亏 +#define THOST_FTDC_BLAG_Default '1' +///计算期权市值亏损 +#define THOST_FTDC_BLAG_IncludeOptValLost '2' + +typedef char TThostFtdcBalanceAlgorithmType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcActionTypeType是一个执行类型类型 +///////////////////////////////////////////////////////////////////////// +///执行 +#define THOST_FTDC_ACTP_Exec '1' +///放弃 +#define THOST_FTDC_ACTP_Abandon '2' + +typedef char TThostFtdcActionTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcForQuoteStatusType是一个询价状态类型 +///////////////////////////////////////////////////////////////////////// +///已经提交 +#define THOST_FTDC_FQST_Submitted 'a' +///已经接受 +#define THOST_FTDC_FQST_Accepted 'b' +///已经被拒绝 +#define THOST_FTDC_FQST_Rejected 'c' + +typedef char TThostFtdcForQuoteStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcQuotStatusType是一个报价状态类型 +///////////////////////////////////////////////////////////////////////// +///未知 +#define THOST_FTDC_QTST_Unknown 'a' +///已经接受 +#define THOST_FTDC_QTST_Accepted 'b' +///已经撤销 +#define THOST_FTDC_QTST_Canceled 'c' + +typedef char TThostFtdcQuotStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcValueMethodType是一个取值方式类型 +///////////////////////////////////////////////////////////////////////// +///按绝对值 +#define THOST_FTDC_VM_Absolute '0' +///按比率 +#define THOST_FTDC_VM_Ratio '1' + +typedef char TThostFtdcValueMethodType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcExecOrderPositionFlagType是一个期权行权后是否保留期货头寸的标记类型 +///////////////////////////////////////////////////////////////////////// +///保留 +#define THOST_FTDC_EOPF_Reserve '0' +///不保留 +#define THOST_FTDC_EOPF_UnReserve '1' + +typedef char TThostFtdcExecOrderPositionFlagType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcExecOrderCloseFlagType是一个期权行权后生成的头寸是否自动平仓类型 +///////////////////////////////////////////////////////////////////////// +///自动平仓 +#define THOST_FTDC_EOCF_AutoClose '0' +///免于自动平仓 +#define THOST_FTDC_EOCF_NotToClose '1' + +typedef char TThostFtdcExecOrderCloseFlagType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcProductTypeType是一个产品类型类型 +///////////////////////////////////////////////////////////////////////// +///期货 +#define THOST_FTDC_PTE_Futures '1' +///期权 +#define THOST_FTDC_PTE_Options '2' + +typedef char TThostFtdcProductTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCZCEUploadFileNameType是一个郑商所结算文件名类型 +///////////////////////////////////////////////////////////////////////// +///^\d{8}_zz_\d{4} +#define THOST_FTDC_CUFN_CUFN_O 'O' +///^\d{8}成交表 +#define THOST_FTDC_CUFN_CUFN_T 'T' +///^\d{8}单腿持仓表new +#define THOST_FTDC_CUFN_CUFN_P 'P' +///^\d{8}非平仓了结表 +#define THOST_FTDC_CUFN_CUFN_N 'N' +///^\d{8}平仓表 +#define THOST_FTDC_CUFN_CUFN_L 'L' +///^\d{8}资金表 +#define THOST_FTDC_CUFN_CUFN_F 'F' +///^\d{8}组合持仓表 +#define THOST_FTDC_CUFN_CUFN_C 'C' +///^\d{8}保证金参数表 +#define THOST_FTDC_CUFN_CUFN_M 'M' + +typedef char TThostFtdcCZCEUploadFileNameType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDCEUploadFileNameType是一个大商所结算文件名类型 +///////////////////////////////////////////////////////////////////////// +///^\d{8}_dl_\d{3} +#define THOST_FTDC_DUFN_DUFN_O 'O' +///^\d{8}_成交表 +#define THOST_FTDC_DUFN_DUFN_T 'T' +///^\d{8}_持仓表 +#define THOST_FTDC_DUFN_DUFN_P 'P' +///^\d{8}_资金结算表 +#define THOST_FTDC_DUFN_DUFN_F 'F' +///^\d{8}_优惠组合持仓明细表 +#define THOST_FTDC_DUFN_DUFN_C 'C' +///^\d{8}_持仓明细表 +#define THOST_FTDC_DUFN_DUFN_D 'D' +///^\d{8}_保证金参数表 +#define THOST_FTDC_DUFN_DUFN_M 'M' +///^\d{8}_期权执行表 +#define THOST_FTDC_DUFN_DUFN_S 'S' + +typedef char TThostFtdcDCEUploadFileNameType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSHFEUploadFileNameType是一个上期所结算文件名类型 +///////////////////////////////////////////////////////////////////////// +///^\d{4}_\d{8}_\d{8}_DailyFundChg +#define THOST_FTDC_SUFN_SUFN_O 'O' +///^\d{4}_\d{8}_\d{8}_Trade +#define THOST_FTDC_SUFN_SUFN_T 'T' +///^\d{4}_\d{8}_\d{8}_SettlementDetail +#define THOST_FTDC_SUFN_SUFN_P 'P' +///^\d{4}_\d{8}_\d{8}_Capital +#define THOST_FTDC_SUFN_SUFN_F 'F' + +typedef char TThostFtdcSHFEUploadFileNameType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCFFEXUploadFileNameType是一个中金所结算文件名类型 +///////////////////////////////////////////////////////////////////////// +///^\d{4}_SG\d{1}_\d{8}_\d{1}_Trade +#define THOST_FTDC_CFUFN_SUFN_T 'T' +///^\d{4}_SG\d{1}_\d{8}_\d{1}_SettlementDetail +#define THOST_FTDC_CFUFN_SUFN_P 'P' +///^\d{4}_SG\d{1}_\d{8}_\d{1}_Capital +#define THOST_FTDC_CFUFN_SUFN_F 'F' +///^\d{4}_SG\d{1}_\d{8}_\d{1}_OptionExec +#define THOST_FTDC_CFUFN_SUFN_S 'S' + +typedef char TThostFtdcCFFEXUploadFileNameType; + +#endif diff --git a/vn.ctp/ctpapi/ThostFtdcUserApiStruct.h b/vn.ctp/ctpapi/ThostFtdcUserApiStruct.h new file mode 100644 index 00000000..ada148c8 --- /dev/null +++ b/vn.ctp/ctpapi/ThostFtdcUserApiStruct.h @@ -0,0 +1,7430 @@ +///////////////////////////////////////////////////////////////////////// +///@system 新一代交易所系统 +///@company 上海期货信息技术有限公司 +///@file ThostFtdcUserApiStruct.h +///@brief 定义了客户端接口使用的业务数据结构 +///@history +///20060106 赵鸿昊 创建该文件 +///////////////////////////////////////////////////////////////////////// + +#if !defined(THOST_FTDCSTRUCT_H) +#define THOST_FTDCSTRUCT_H + +#if _MSC_VER > 1000 +#pragma once +#endif // _MSC_VER > 1000 + +#include "ThostFtdcUserApiDataType.h" + +///信息分发 +struct CThostFtdcDisseminationField +{ + ///序列系列号 + TThostFtdcSequenceSeriesType SequenceSeries; + ///序列号 + TThostFtdcSequenceNoType SequenceNo; +}; + +///用户登录请求 +struct CThostFtdcReqUserLoginField +{ + ///交易日 + TThostFtdcDateType TradingDay; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///密码 + TThostFtdcPasswordType Password; + ///用户端产品信息 + TThostFtdcProductInfoType UserProductInfo; + ///接口端产品信息 + TThostFtdcProductInfoType InterfaceProductInfo; + ///协议信息 + TThostFtdcProtocolInfoType ProtocolInfo; + ///Mac地址 + TThostFtdcMacAddressType MacAddress; + ///动态密码 + TThostFtdcPasswordType OneTimePassword; + ///终端IP地址 + TThostFtdcIPAddressType ClientIPAddress; +}; + +///用户登录应答 +struct CThostFtdcRspUserLoginField +{ + ///交易日 + TThostFtdcDateType TradingDay; + ///登录成功时间 + TThostFtdcTimeType LoginTime; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///交易系统名称 + TThostFtdcSystemNameType SystemName; + ///前置编号 + TThostFtdcFrontIDType FrontID; + ///会话编号 + TThostFtdcSessionIDType SessionID; + ///最大报单引用 + TThostFtdcOrderRefType MaxOrderRef; + ///上期所时间 + TThostFtdcTimeType SHFETime; + ///大商所时间 + TThostFtdcTimeType DCETime; + ///郑商所时间 + TThostFtdcTimeType CZCETime; + ///中金所时间 + TThostFtdcTimeType FFEXTime; + ///能源中心时间 + TThostFtdcTimeType INETime; +}; + +///用户登出请求 +struct CThostFtdcUserLogoutField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; +}; + +///强制交易员退出 +struct CThostFtdcForceUserLogoutField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; +}; + +///客户端认证请求 +struct CThostFtdcReqAuthenticateField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///用户端产品信息 + TThostFtdcProductInfoType UserProductInfo; + ///认证码 + TThostFtdcAuthCodeType AuthCode; +}; + +///客户端认证响应 +struct CThostFtdcRspAuthenticateField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///用户端产品信息 + TThostFtdcProductInfoType UserProductInfo; +}; + +///客户端认证信息 +struct CThostFtdcAuthenticationInfoField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///用户端产品信息 + TThostFtdcProductInfoType UserProductInfo; + ///认证信息 + TThostFtdcAuthInfoType AuthInfo; + ///是否为认证结果 + TThostFtdcBoolType IsResult; +}; + +///银期转帐报文头 +struct CThostFtdcTransferHeaderField +{ + ///版本号,常量,1.0 + TThostFtdcVersionType Version; + ///交易代码,必填 + TThostFtdcTradeCodeType TradeCode; + ///交易日期,必填,格式:yyyymmdd + TThostFtdcTradeDateType TradeDate; + ///交易时间,必填,格式:hhmmss + TThostFtdcTradeTimeType TradeTime; + ///发起方流水号,N/A + TThostFtdcTradeSerialType TradeSerial; + ///期货公司代码,必填 + TThostFtdcFutureIDType FutureID; + ///银行代码,根据查询银行得到,必填 + TThostFtdcBankIDType BankID; + ///银行分中心代码,根据查询银行得到,必填 + TThostFtdcBankBrchIDType BankBrchID; + ///操作员,N/A + TThostFtdcOperNoType OperNo; + ///交易设备类型,N/A + TThostFtdcDeviceIDType DeviceID; + ///记录数,N/A + TThostFtdcRecordNumType RecordNum; + ///会话编号,N/A + TThostFtdcSessionIDType SessionID; + ///请求编号,N/A + TThostFtdcRequestIDType RequestID; +}; + +///银行资金转期货请求,TradeCode=202001 +struct CThostFtdcTransferBankToFutureReqField +{ + ///期货资金账户 + TThostFtdcAccountIDType FutureAccount; + ///密码标志 + TThostFtdcFuturePwdFlagType FuturePwdFlag; + ///密码 + TThostFtdcFutureAccPwdType FutureAccPwd; + ///转账金额 + TThostFtdcMoneyType TradeAmt; + ///客户手续费 + TThostFtdcMoneyType CustFee; + ///币种:RMB-人民币 USD-美圆 HKD-港元 + TThostFtdcCurrencyCodeType CurrencyCode; +}; + +///银行资金转期货请求响应 +struct CThostFtdcTransferBankToFutureRspField +{ + ///响应代码 + TThostFtdcRetCodeType RetCode; + ///响应信息 + TThostFtdcRetInfoType RetInfo; + ///资金账户 + TThostFtdcAccountIDType FutureAccount; + ///转帐金额 + TThostFtdcMoneyType TradeAmt; + ///应收客户手续费 + TThostFtdcMoneyType CustFee; + ///币种 + TThostFtdcCurrencyCodeType CurrencyCode; +}; + +///期货资金转银行请求,TradeCode=202002 +struct CThostFtdcTransferFutureToBankReqField +{ + ///期货资金账户 + TThostFtdcAccountIDType FutureAccount; + ///密码标志 + TThostFtdcFuturePwdFlagType FuturePwdFlag; + ///密码 + TThostFtdcFutureAccPwdType FutureAccPwd; + ///转账金额 + TThostFtdcMoneyType TradeAmt; + ///客户手续费 + TThostFtdcMoneyType CustFee; + ///币种:RMB-人民币 USD-美圆 HKD-港元 + TThostFtdcCurrencyCodeType CurrencyCode; +}; + +///期货资金转银行请求响应 +struct CThostFtdcTransferFutureToBankRspField +{ + ///响应代码 + TThostFtdcRetCodeType RetCode; + ///响应信息 + TThostFtdcRetInfoType RetInfo; + ///资金账户 + TThostFtdcAccountIDType FutureAccount; + ///转帐金额 + TThostFtdcMoneyType TradeAmt; + ///应收客户手续费 + TThostFtdcMoneyType CustFee; + ///币种 + TThostFtdcCurrencyCodeType CurrencyCode; +}; + +///查询银行资金请求,TradeCode=204002 +struct CThostFtdcTransferQryBankReqField +{ + ///期货资金账户 + TThostFtdcAccountIDType FutureAccount; + ///密码标志 + TThostFtdcFuturePwdFlagType FuturePwdFlag; + ///密码 + TThostFtdcFutureAccPwdType FutureAccPwd; + ///币种:RMB-人民币 USD-美圆 HKD-港元 + TThostFtdcCurrencyCodeType CurrencyCode; +}; + +///查询银行资金请求响应 +struct CThostFtdcTransferQryBankRspField +{ + ///响应代码 + TThostFtdcRetCodeType RetCode; + ///响应信息 + TThostFtdcRetInfoType RetInfo; + ///资金账户 + TThostFtdcAccountIDType FutureAccount; + ///银行余额 + TThostFtdcMoneyType TradeAmt; + ///银行可用余额 + TThostFtdcMoneyType UseAmt; + ///银行可取余额 + TThostFtdcMoneyType FetchAmt; + ///币种 + TThostFtdcCurrencyCodeType CurrencyCode; +}; + +///查询银行交易明细请求,TradeCode=204999 +struct CThostFtdcTransferQryDetailReqField +{ + ///期货资金账户 + TThostFtdcAccountIDType FutureAccount; +}; + +///查询银行交易明细请求响应 +struct CThostFtdcTransferQryDetailRspField +{ + ///交易日期 + TThostFtdcDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///交易代码 + TThostFtdcTradeCodeType TradeCode; + ///期货流水号 + TThostFtdcTradeSerialNoType FutureSerial; + ///期货公司代码 + TThostFtdcFutureIDType FutureID; + ///资金帐号 + TThostFtdcFutureAccountType FutureAccount; + ///银行流水号 + TThostFtdcTradeSerialNoType BankSerial; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分中心代码 + TThostFtdcBankBrchIDType BankBrchID; + ///银行账号 + TThostFtdcBankAccountType BankAccount; + ///证件号码 + TThostFtdcCertCodeType CertCode; + ///货币代码 + TThostFtdcCurrencyCodeType CurrencyCode; + ///发生金额 + TThostFtdcMoneyType TxAmount; + ///有效标志 + TThostFtdcTransferValidFlagType Flag; +}; + +///响应信息 +struct CThostFtdcRspInfoField +{ + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; +}; + +///交易所 +struct CThostFtdcExchangeField +{ + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///交易所名称 + TThostFtdcExchangeNameType ExchangeName; + ///交易所属性 + TThostFtdcExchangePropertyType ExchangeProperty; +}; + +///产品 +struct CThostFtdcProductField +{ + ///产品代码 + TThostFtdcInstrumentIDType ProductID; + ///产品名称 + TThostFtdcProductNameType ProductName; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///产品类型 + TThostFtdcProductClassType ProductClass; + ///合约数量乘数 + TThostFtdcVolumeMultipleType VolumeMultiple; + ///最小变动价位 + TThostFtdcPriceType PriceTick; + ///市价单最大下单量 + TThostFtdcVolumeType MaxMarketOrderVolume; + ///市价单最小下单量 + TThostFtdcVolumeType MinMarketOrderVolume; + ///限价单最大下单量 + TThostFtdcVolumeType MaxLimitOrderVolume; + ///限价单最小下单量 + TThostFtdcVolumeType MinLimitOrderVolume; + ///持仓类型 + TThostFtdcPositionTypeType PositionType; + ///持仓日期类型 + TThostFtdcPositionDateTypeType PositionDateType; + ///平仓处理类型 + TThostFtdcCloseDealTypeType CloseDealType; + ///交易币种类型 + TThostFtdcCurrencyIDType TradeCurrencyID; + ///质押资金可用范围 + TThostFtdcMortgageFundUseRangeType MortgageFundUseRange; + ///交易所产品代码 + TThostFtdcInstrumentIDType ExchangeProductID; + ///合约基础商品乘数 + TThostFtdcUnderlyingMultipleType UnderlyingMultiple; +}; + +///合约 +struct CThostFtdcInstrumentField +{ + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///合约名称 + TThostFtdcInstrumentNameType InstrumentName; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///产品代码 + TThostFtdcInstrumentIDType ProductID; + ///产品类型 + TThostFtdcProductClassType ProductClass; + ///交割年份 + TThostFtdcYearType DeliveryYear; + ///交割月 + TThostFtdcMonthType DeliveryMonth; + ///市价单最大下单量 + TThostFtdcVolumeType MaxMarketOrderVolume; + ///市价单最小下单量 + TThostFtdcVolumeType MinMarketOrderVolume; + ///限价单最大下单量 + TThostFtdcVolumeType MaxLimitOrderVolume; + ///限价单最小下单量 + TThostFtdcVolumeType MinLimitOrderVolume; + ///合约数量乘数 + TThostFtdcVolumeMultipleType VolumeMultiple; + ///最小变动价位 + TThostFtdcPriceType PriceTick; + ///创建日 + TThostFtdcDateType CreateDate; + ///上市日 + TThostFtdcDateType OpenDate; + ///到期日 + TThostFtdcDateType ExpireDate; + ///开始交割日 + TThostFtdcDateType StartDelivDate; + ///结束交割日 + TThostFtdcDateType EndDelivDate; + ///合约生命周期状态 + TThostFtdcInstLifePhaseType InstLifePhase; + ///当前是否交易 + TThostFtdcBoolType IsTrading; + ///持仓类型 + TThostFtdcPositionTypeType PositionType; + ///持仓日期类型 + TThostFtdcPositionDateTypeType PositionDateType; + ///多头保证金率 + TThostFtdcRatioType LongMarginRatio; + ///空头保证金率 + TThostFtdcRatioType ShortMarginRatio; + ///是否使用大额单边保证金算法 + TThostFtdcMaxMarginSideAlgorithmType MaxMarginSideAlgorithm; + ///基础商品代码 + TThostFtdcInstrumentIDType UnderlyingInstrID; + ///执行价 + TThostFtdcPriceType StrikePrice; + ///期权类型 + TThostFtdcOptionsTypeType OptionsType; + ///合约基础商品乘数 + TThostFtdcUnderlyingMultipleType UnderlyingMultiple; + ///组合类型 + TThostFtdcCombinationTypeType CombinationType; +}; + +///经纪公司 +struct CThostFtdcBrokerField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///经纪公司简称 + TThostFtdcBrokerAbbrType BrokerAbbr; + ///经纪公司名称 + TThostFtdcBrokerNameType BrokerName; + ///是否活跃 + TThostFtdcBoolType IsActive; +}; + +///交易所交易员 +struct CThostFtdcTraderField +{ + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///密码 + TThostFtdcPasswordType Password; + ///安装数量 + TThostFtdcInstallCountType InstallCount; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; +}; + +///投资者 +struct CThostFtdcInvestorField +{ + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者分组代码 + TThostFtdcInvestorIDType InvestorGroupID; + ///投资者名称 + TThostFtdcPartyNameType InvestorName; + ///证件类型 + TThostFtdcIdCardTypeType IdentifiedCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///是否活跃 + TThostFtdcBoolType IsActive; + ///联系电话 + TThostFtdcTelephoneType Telephone; + ///通讯地址 + TThostFtdcAddressType Address; + ///开户日期 + TThostFtdcDateType OpenDate; + ///手机 + TThostFtdcMobileType Mobile; + ///手续费率模板代码 + TThostFtdcInvestorIDType CommModelID; + ///保证金率模板代码 + TThostFtdcInvestorIDType MarginModelID; +}; + +///交易编码 +struct CThostFtdcTradingCodeField +{ + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///是否活跃 + TThostFtdcBoolType IsActive; + ///交易编码类型 + TThostFtdcClientIDTypeType ClientIDType; +}; + +///会员编码和经纪公司编码对照表 +struct CThostFtdcPartBrokerField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///是否活跃 + TThostFtdcBoolType IsActive; +}; + +///管理用户 +struct CThostFtdcSuperUserField +{ + ///用户代码 + TThostFtdcUserIDType UserID; + ///用户名称 + TThostFtdcUserNameType UserName; + ///密码 + TThostFtdcPasswordType Password; + ///是否活跃 + TThostFtdcBoolType IsActive; +}; + +///管理用户功能权限 +struct CThostFtdcSuperUserFunctionField +{ + ///用户代码 + TThostFtdcUserIDType UserID; + ///功能代码 + TThostFtdcFunctionCodeType FunctionCode; +}; + +///投资者组 +struct CThostFtdcInvestorGroupField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者分组代码 + TThostFtdcInvestorIDType InvestorGroupID; + ///投资者分组名称 + TThostFtdcInvestorGroupNameType InvestorGroupName; +}; + +///资金账户 +struct CThostFtdcTradingAccountField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///上次质押金额 + TThostFtdcMoneyType PreMortgage; + ///上次信用额度 + TThostFtdcMoneyType PreCredit; + ///上次存款额 + TThostFtdcMoneyType PreDeposit; + ///上次结算准备金 + TThostFtdcMoneyType PreBalance; + ///上次占用的保证金 + TThostFtdcMoneyType PreMargin; + ///利息基数 + TThostFtdcMoneyType InterestBase; + ///利息收入 + TThostFtdcMoneyType Interest; + ///入金金额 + TThostFtdcMoneyType Deposit; + ///出金金额 + TThostFtdcMoneyType Withdraw; + ///冻结的保证金 + TThostFtdcMoneyType FrozenMargin; + ///冻结的资金 + TThostFtdcMoneyType FrozenCash; + ///冻结的手续费 + TThostFtdcMoneyType FrozenCommission; + ///当前保证金总额 + TThostFtdcMoneyType CurrMargin; + ///资金差额 + TThostFtdcMoneyType CashIn; + ///手续费 + TThostFtdcMoneyType Commission; + ///平仓盈亏 + TThostFtdcMoneyType CloseProfit; + ///持仓盈亏 + TThostFtdcMoneyType PositionProfit; + ///期货结算准备金 + TThostFtdcMoneyType Balance; + ///可用资金 + TThostFtdcMoneyType Available; + ///可取资金 + TThostFtdcMoneyType WithdrawQuota; + ///基本准备金 + TThostFtdcMoneyType Reserve; + ///交易日 + TThostFtdcDateType TradingDay; + ///结算编号 + TThostFtdcSettlementIDType SettlementID; + ///信用额度 + TThostFtdcMoneyType Credit; + ///质押金额 + TThostFtdcMoneyType Mortgage; + ///交易所保证金 + TThostFtdcMoneyType ExchangeMargin; + ///投资者交割保证金 + TThostFtdcMoneyType DeliveryMargin; + ///交易所交割保证金 + TThostFtdcMoneyType ExchangeDeliveryMargin; + ///保底期货结算准备金 + TThostFtdcMoneyType ReserveBalance; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///上次货币质入金额 + TThostFtdcMoneyType PreFundMortgageIn; + ///上次货币质出金额 + TThostFtdcMoneyType PreFundMortgageOut; + ///货币质入金额 + TThostFtdcMoneyType FundMortgageIn; + ///货币质出金额 + TThostFtdcMoneyType FundMortgageOut; + ///货币质押余额 + TThostFtdcMoneyType FundMortgageAvailable; + ///可质押货币金额 + TThostFtdcMoneyType MortgageableFund; + ///特殊产品占用保证金 + TThostFtdcMoneyType SpecProductMargin; + ///特殊产品冻结保证金 + TThostFtdcMoneyType SpecProductFrozenMargin; + ///特殊产品手续费 + TThostFtdcMoneyType SpecProductCommission; + ///特殊产品冻结手续费 + TThostFtdcMoneyType SpecProductFrozenCommission; + ///特殊产品持仓盈亏 + TThostFtdcMoneyType SpecProductPositionProfit; + ///特殊产品平仓盈亏 + TThostFtdcMoneyType SpecProductCloseProfit; + ///根据持仓盈亏算法计算的特殊产品持仓盈亏 + TThostFtdcMoneyType SpecProductPositionProfitByAlg; + ///特殊产品交易所保证金 + TThostFtdcMoneyType SpecProductExchangeMargin; + ///期权平仓盈亏 + TThostFtdcMoneyType OptionCloseProfit; + ///期权市值 + TThostFtdcMoneyType OptionValue; +}; + +///投资者持仓 +struct CThostFtdcInvestorPositionField +{ + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///持仓多空方向 + TThostFtdcPosiDirectionType PosiDirection; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///持仓日期 + TThostFtdcPositionDateType PositionDate; + ///上日持仓 + TThostFtdcVolumeType YdPosition; + ///今日持仓 + TThostFtdcVolumeType Position; + ///多头冻结 + TThostFtdcVolumeType LongFrozen; + ///空头冻结 + TThostFtdcVolumeType ShortFrozen; + ///开仓冻结金额 + TThostFtdcMoneyType LongFrozenAmount; + ///开仓冻结金额 + TThostFtdcMoneyType ShortFrozenAmount; + ///开仓量 + TThostFtdcVolumeType OpenVolume; + ///平仓量 + TThostFtdcVolumeType CloseVolume; + ///开仓金额 + TThostFtdcMoneyType OpenAmount; + ///平仓金额 + TThostFtdcMoneyType CloseAmount; + ///持仓成本 + TThostFtdcMoneyType PositionCost; + ///上次占用的保证金 + TThostFtdcMoneyType PreMargin; + ///占用的保证金 + TThostFtdcMoneyType UseMargin; + ///冻结的保证金 + TThostFtdcMoneyType FrozenMargin; + ///冻结的资金 + TThostFtdcMoneyType FrozenCash; + ///冻结的手续费 + TThostFtdcMoneyType FrozenCommission; + ///资金差额 + TThostFtdcMoneyType CashIn; + ///手续费 + TThostFtdcMoneyType Commission; + ///平仓盈亏 + TThostFtdcMoneyType CloseProfit; + ///持仓盈亏 + TThostFtdcMoneyType PositionProfit; + ///上次结算价 + TThostFtdcPriceType PreSettlementPrice; + ///本次结算价 + TThostFtdcPriceType SettlementPrice; + ///交易日 + TThostFtdcDateType TradingDay; + ///结算编号 + TThostFtdcSettlementIDType SettlementID; + ///开仓成本 + TThostFtdcMoneyType OpenCost; + ///交易所保证金 + TThostFtdcMoneyType ExchangeMargin; + ///组合成交形成的持仓 + TThostFtdcVolumeType CombPosition; + ///组合多头冻结 + TThostFtdcVolumeType CombLongFrozen; + ///组合空头冻结 + TThostFtdcVolumeType CombShortFrozen; + ///逐日盯市平仓盈亏 + TThostFtdcMoneyType CloseProfitByDate; + ///逐笔对冲平仓盈亏 + TThostFtdcMoneyType CloseProfitByTrade; + ///今日持仓 + TThostFtdcVolumeType TodayPosition; + ///保证金率 + TThostFtdcRatioType MarginRateByMoney; + ///保证金率(按手数) + TThostFtdcRatioType MarginRateByVolume; + ///执行冻结 + TThostFtdcVolumeType StrikeFrozen; + ///执行冻结金额 + TThostFtdcMoneyType StrikeFrozenAmount; + ///放弃执行冻结 + TThostFtdcVolumeType AbandonFrozen; + ///期权市值 + TThostFtdcMoneyType OptionValue; +}; + +///合约保证金率 +struct CThostFtdcInstrumentMarginRateField +{ + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投资者范围 + TThostFtdcInvestorRangeType InvestorRange; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///多头保证金率 + TThostFtdcRatioType LongMarginRatioByMoney; + ///多头保证金费 + TThostFtdcMoneyType LongMarginRatioByVolume; + ///空头保证金率 + TThostFtdcRatioType ShortMarginRatioByMoney; + ///空头保证金费 + TThostFtdcMoneyType ShortMarginRatioByVolume; + ///是否相对交易所收取 + TThostFtdcBoolType IsRelative; +}; + +///合约手续费率 +struct CThostFtdcInstrumentCommissionRateField +{ + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投资者范围 + TThostFtdcInvestorRangeType InvestorRange; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///开仓手续费率 + TThostFtdcRatioType OpenRatioByMoney; + ///开仓手续费 + TThostFtdcRatioType OpenRatioByVolume; + ///平仓手续费率 + TThostFtdcRatioType CloseRatioByMoney; + ///平仓手续费 + TThostFtdcRatioType CloseRatioByVolume; + ///平今手续费率 + TThostFtdcRatioType CloseTodayRatioByMoney; + ///平今手续费 + TThostFtdcRatioType CloseTodayRatioByVolume; +}; + +///深度行情 +struct CThostFtdcDepthMarketDataField +{ + ///交易日 + TThostFtdcDateType TradingDay; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///最新价 + TThostFtdcPriceType LastPrice; + ///上次结算价 + TThostFtdcPriceType PreSettlementPrice; + ///昨收盘 + TThostFtdcPriceType PreClosePrice; + ///昨持仓量 + TThostFtdcLargeVolumeType PreOpenInterest; + ///今开盘 + TThostFtdcPriceType OpenPrice; + ///最高价 + TThostFtdcPriceType HighestPrice; + ///最低价 + TThostFtdcPriceType LowestPrice; + ///数量 + TThostFtdcVolumeType Volume; + ///成交金额 + TThostFtdcMoneyType Turnover; + ///持仓量 + TThostFtdcLargeVolumeType OpenInterest; + ///今收盘 + TThostFtdcPriceType ClosePrice; + ///本次结算价 + TThostFtdcPriceType SettlementPrice; + ///涨停板价 + TThostFtdcPriceType UpperLimitPrice; + ///跌停板价 + TThostFtdcPriceType LowerLimitPrice; + ///昨虚实度 + TThostFtdcRatioType PreDelta; + ///今虚实度 + TThostFtdcRatioType CurrDelta; + ///最后修改时间 + TThostFtdcTimeType UpdateTime; + ///最后修改毫秒 + TThostFtdcMillisecType UpdateMillisec; + ///申买价一 + TThostFtdcPriceType BidPrice1; + ///申买量一 + TThostFtdcVolumeType BidVolume1; + ///申卖价一 + TThostFtdcPriceType AskPrice1; + ///申卖量一 + TThostFtdcVolumeType AskVolume1; + ///申买价二 + TThostFtdcPriceType BidPrice2; + ///申买量二 + TThostFtdcVolumeType BidVolume2; + ///申卖价二 + TThostFtdcPriceType AskPrice2; + ///申卖量二 + TThostFtdcVolumeType AskVolume2; + ///申买价三 + TThostFtdcPriceType BidPrice3; + ///申买量三 + TThostFtdcVolumeType BidVolume3; + ///申卖价三 + TThostFtdcPriceType AskPrice3; + ///申卖量三 + TThostFtdcVolumeType AskVolume3; + ///申买价四 + TThostFtdcPriceType BidPrice4; + ///申买量四 + TThostFtdcVolumeType BidVolume4; + ///申卖价四 + TThostFtdcPriceType AskPrice4; + ///申卖量四 + TThostFtdcVolumeType AskVolume4; + ///申买价五 + TThostFtdcPriceType BidPrice5; + ///申买量五 + TThostFtdcVolumeType BidVolume5; + ///申卖价五 + TThostFtdcPriceType AskPrice5; + ///申卖量五 + TThostFtdcVolumeType AskVolume5; + ///当日均价 + TThostFtdcPriceType AveragePrice; + ///业务日期 + TThostFtdcDateType ActionDay; +}; + +///投资者合约交易权限 +struct CThostFtdcInstrumentTradingRightField +{ + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投资者范围 + TThostFtdcInvestorRangeType InvestorRange; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///交易权限 + TThostFtdcTradingRightType TradingRight; +}; + +///经纪公司用户 +struct CThostFtdcBrokerUserField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///用户名称 + TThostFtdcUserNameType UserName; + ///用户类型 + TThostFtdcUserTypeType UserType; + ///是否活跃 + TThostFtdcBoolType IsActive; + ///是否使用令牌 + TThostFtdcBoolType IsUsingOTP; +}; + +///经纪公司用户口令 +struct CThostFtdcBrokerUserPasswordField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///密码 + TThostFtdcPasswordType Password; +}; + +///经纪公司用户功能权限 +struct CThostFtdcBrokerUserFunctionField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///经纪公司功能代码 + TThostFtdcBrokerFunctionCodeType BrokerFunctionCode; +}; + +///交易所交易员报盘机 +struct CThostFtdcTraderOfferField +{ + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///密码 + TThostFtdcPasswordType Password; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///本地报单编号 + TThostFtdcOrderLocalIDType OrderLocalID; + ///交易所交易员连接状态 + TThostFtdcTraderConnectStatusType TraderConnectStatus; + ///发出连接请求的日期 + TThostFtdcDateType ConnectRequestDate; + ///发出连接请求的时间 + TThostFtdcTimeType ConnectRequestTime; + ///上次报告日期 + TThostFtdcDateType LastReportDate; + ///上次报告时间 + TThostFtdcTimeType LastReportTime; + ///完成连接日期 + TThostFtdcDateType ConnectDate; + ///完成连接时间 + TThostFtdcTimeType ConnectTime; + ///启动日期 + TThostFtdcDateType StartDate; + ///启动时间 + TThostFtdcTimeType StartTime; + ///交易日 + TThostFtdcDateType TradingDay; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///本席位最大成交编号 + TThostFtdcTradeIDType MaxTradeID; + ///本席位最大报单备拷 + TThostFtdcReturnCodeType MaxOrderMessageReference; +}; + +///投资者结算结果 +struct CThostFtdcSettlementInfoField +{ + ///交易日 + TThostFtdcDateType TradingDay; + ///结算编号 + TThostFtdcSettlementIDType SettlementID; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///序号 + TThostFtdcSequenceNoType SequenceNo; + ///消息正文 + TThostFtdcContentType Content; +}; + +///合约保证金率调整 +struct CThostFtdcInstrumentMarginRateAdjustField +{ + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投资者范围 + TThostFtdcInvestorRangeType InvestorRange; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///多头保证金率 + TThostFtdcRatioType LongMarginRatioByMoney; + ///多头保证金费 + TThostFtdcMoneyType LongMarginRatioByVolume; + ///空头保证金率 + TThostFtdcRatioType ShortMarginRatioByMoney; + ///空头保证金费 + TThostFtdcMoneyType ShortMarginRatioByVolume; + ///是否相对交易所收取 + TThostFtdcBoolType IsRelative; +}; + +///交易所保证金率 +struct CThostFtdcExchangeMarginRateField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///多头保证金率 + TThostFtdcRatioType LongMarginRatioByMoney; + ///多头保证金费 + TThostFtdcMoneyType LongMarginRatioByVolume; + ///空头保证金率 + TThostFtdcRatioType ShortMarginRatioByMoney; + ///空头保证金费 + TThostFtdcMoneyType ShortMarginRatioByVolume; +}; + +///交易所保证金率调整 +struct CThostFtdcExchangeMarginRateAdjustField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///跟随交易所投资者多头保证金率 + TThostFtdcRatioType LongMarginRatioByMoney; + ///跟随交易所投资者多头保证金费 + TThostFtdcMoneyType LongMarginRatioByVolume; + ///跟随交易所投资者空头保证金率 + TThostFtdcRatioType ShortMarginRatioByMoney; + ///跟随交易所投资者空头保证金费 + TThostFtdcMoneyType ShortMarginRatioByVolume; + ///交易所多头保证金率 + TThostFtdcRatioType ExchLongMarginRatioByMoney; + ///交易所多头保证金费 + TThostFtdcMoneyType ExchLongMarginRatioByVolume; + ///交易所空头保证金率 + TThostFtdcRatioType ExchShortMarginRatioByMoney; + ///交易所空头保证金费 + TThostFtdcMoneyType ExchShortMarginRatioByVolume; + ///不跟随交易所投资者多头保证金率 + TThostFtdcRatioType NoLongMarginRatioByMoney; + ///不跟随交易所投资者多头保证金费 + TThostFtdcMoneyType NoLongMarginRatioByVolume; + ///不跟随交易所投资者空头保证金率 + TThostFtdcRatioType NoShortMarginRatioByMoney; + ///不跟随交易所投资者空头保证金费 + TThostFtdcMoneyType NoShortMarginRatioByVolume; +}; + +///汇率 +struct CThostFtdcExchangeRateField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///源币种 + TThostFtdcCurrencyIDType FromCurrencyID; + ///源币种单位数量 + TThostFtdcCurrencyUnitType FromCurrencyUnit; + ///目标币种 + TThostFtdcCurrencyIDType ToCurrencyID; + ///汇率 + TThostFtdcExchangeRateType ExchangeRate; +}; + +///结算引用 +struct CThostFtdcSettlementRefField +{ + ///交易日 + TThostFtdcDateType TradingDay; + ///结算编号 + TThostFtdcSettlementIDType SettlementID; +}; + +///当前时间 +struct CThostFtdcCurrentTimeField +{ + ///当前日期 + TThostFtdcDateType CurrDate; + ///当前时间 + TThostFtdcTimeType CurrTime; + ///当前时间(毫秒) + TThostFtdcMillisecType CurrMillisec; + ///业务日期 + TThostFtdcDateType ActionDay; +}; + +///通讯阶段 +struct CThostFtdcCommPhaseField +{ + ///交易日 + TThostFtdcDateType TradingDay; + ///通讯时段编号 + TThostFtdcCommPhaseNoType CommPhaseNo; + ///系统编号 + TThostFtdcSystemIDType SystemID; +}; + +///登录信息 +struct CThostFtdcLoginInfoField +{ + ///前置编号 + TThostFtdcFrontIDType FrontID; + ///会话编号 + TThostFtdcSessionIDType SessionID; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///登录日期 + TThostFtdcDateType LoginDate; + ///登录时间 + TThostFtdcTimeType LoginTime; + ///IP地址 + TThostFtdcIPAddressType IPAddress; + ///用户端产品信息 + TThostFtdcProductInfoType UserProductInfo; + ///接口端产品信息 + TThostFtdcProductInfoType InterfaceProductInfo; + ///协议信息 + TThostFtdcProtocolInfoType ProtocolInfo; + ///系统名称 + TThostFtdcSystemNameType SystemName; + ///密码 + TThostFtdcPasswordType Password; + ///最大报单引用 + TThostFtdcOrderRefType MaxOrderRef; + ///上期所时间 + TThostFtdcTimeType SHFETime; + ///大商所时间 + TThostFtdcTimeType DCETime; + ///郑商所时间 + TThostFtdcTimeType CZCETime; + ///中金所时间 + TThostFtdcTimeType FFEXTime; + ///Mac地址 + TThostFtdcMacAddressType MacAddress; + ///动态密码 + TThostFtdcPasswordType OneTimePassword; + ///能源中心时间 + TThostFtdcTimeType INETime; +}; + +///登录信息 +struct CThostFtdcLogoutAllField +{ + ///前置编号 + TThostFtdcFrontIDType FrontID; + ///会话编号 + TThostFtdcSessionIDType SessionID; + ///系统名称 + TThostFtdcSystemNameType SystemName; +}; + +///前置状态 +struct CThostFtdcFrontStatusField +{ + ///前置编号 + TThostFtdcFrontIDType FrontID; + ///上次报告日期 + TThostFtdcDateType LastReportDate; + ///上次报告时间 + TThostFtdcTimeType LastReportTime; + ///是否活跃 + TThostFtdcBoolType IsActive; +}; + +///用户口令变更 +struct CThostFtdcUserPasswordUpdateField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///原来的口令 + TThostFtdcPasswordType OldPassword; + ///新的口令 + TThostFtdcPasswordType NewPassword; +}; + +///输入报单 +struct CThostFtdcInputOrderField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///报单引用 + TThostFtdcOrderRefType OrderRef; + ///用户代码 + TThostFtdcUserIDType UserID; + ///报单价格条件 + TThostFtdcOrderPriceTypeType OrderPriceType; + ///买卖方向 + TThostFtdcDirectionType Direction; + ///组合开平标志 + TThostFtdcCombOffsetFlagType CombOffsetFlag; + ///组合投机套保标志 + TThostFtdcCombHedgeFlagType CombHedgeFlag; + ///价格 + TThostFtdcPriceType LimitPrice; + ///数量 + TThostFtdcVolumeType VolumeTotalOriginal; + ///有效期类型 + TThostFtdcTimeConditionType TimeCondition; + ///GTD日期 + TThostFtdcDateType GTDDate; + ///成交量类型 + TThostFtdcVolumeConditionType VolumeCondition; + ///最小成交量 + TThostFtdcVolumeType MinVolume; + ///触发条件 + TThostFtdcContingentConditionType ContingentCondition; + ///止损价 + TThostFtdcPriceType StopPrice; + ///强平原因 + TThostFtdcForceCloseReasonType ForceCloseReason; + ///自动挂起标志 + TThostFtdcBoolType IsAutoSuspend; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///用户强评标志 + TThostFtdcBoolType UserForceClose; + ///互换单标志 + TThostFtdcBoolType IsSwapOrder; +}; + +///报单 +struct CThostFtdcOrderField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///报单引用 + TThostFtdcOrderRefType OrderRef; + ///用户代码 + TThostFtdcUserIDType UserID; + ///报单价格条件 + TThostFtdcOrderPriceTypeType OrderPriceType; + ///买卖方向 + TThostFtdcDirectionType Direction; + ///组合开平标志 + TThostFtdcCombOffsetFlagType CombOffsetFlag; + ///组合投机套保标志 + TThostFtdcCombHedgeFlagType CombHedgeFlag; + ///价格 + TThostFtdcPriceType LimitPrice; + ///数量 + TThostFtdcVolumeType VolumeTotalOriginal; + ///有效期类型 + TThostFtdcTimeConditionType TimeCondition; + ///GTD日期 + TThostFtdcDateType GTDDate; + ///成交量类型 + TThostFtdcVolumeConditionType VolumeCondition; + ///最小成交量 + TThostFtdcVolumeType MinVolume; + ///触发条件 + TThostFtdcContingentConditionType ContingentCondition; + ///止损价 + TThostFtdcPriceType StopPrice; + ///强平原因 + TThostFtdcForceCloseReasonType ForceCloseReason; + ///自动挂起标志 + TThostFtdcBoolType IsAutoSuspend; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///本地报单编号 + TThostFtdcOrderLocalIDType OrderLocalID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///报单提交状态 + TThostFtdcOrderSubmitStatusType OrderSubmitStatus; + ///报单提示序号 + TThostFtdcSequenceNoType NotifySequence; + ///交易日 + TThostFtdcDateType TradingDay; + ///结算编号 + TThostFtdcSettlementIDType SettlementID; + ///报单编号 + TThostFtdcOrderSysIDType OrderSysID; + ///报单来源 + TThostFtdcOrderSourceType OrderSource; + ///报单状态 + TThostFtdcOrderStatusType OrderStatus; + ///报单类型 + TThostFtdcOrderTypeType OrderType; + ///今成交数量 + TThostFtdcVolumeType VolumeTraded; + ///剩余数量 + TThostFtdcVolumeType VolumeTotal; + ///报单日期 + TThostFtdcDateType InsertDate; + ///委托时间 + TThostFtdcTimeType InsertTime; + ///激活时间 + TThostFtdcTimeType ActiveTime; + ///挂起时间 + TThostFtdcTimeType SuspendTime; + ///最后修改时间 + TThostFtdcTimeType UpdateTime; + ///撤销时间 + TThostFtdcTimeType CancelTime; + ///最后修改交易所交易员代码 + TThostFtdcTraderIDType ActiveTraderID; + ///结算会员编号 + TThostFtdcParticipantIDType ClearingPartID; + ///序号 + TThostFtdcSequenceNoType SequenceNo; + ///前置编号 + TThostFtdcFrontIDType FrontID; + ///会话编号 + TThostFtdcSessionIDType SessionID; + ///用户端产品信息 + TThostFtdcProductInfoType UserProductInfo; + ///状态信息 + TThostFtdcErrorMsgType StatusMsg; + ///用户强评标志 + TThostFtdcBoolType UserForceClose; + ///操作用户代码 + TThostFtdcUserIDType ActiveUserID; + ///经纪公司报单编号 + TThostFtdcSequenceNoType BrokerOrderSeq; + ///相关报单 + TThostFtdcOrderSysIDType RelativeOrderSysID; + ///郑商所成交数量 + TThostFtdcVolumeType ZCETotalTradedVolume; + ///互换单标志 + TThostFtdcBoolType IsSwapOrder; +}; + +///交易所报单 +struct CThostFtdcExchangeOrderField +{ + ///报单价格条件 + TThostFtdcOrderPriceTypeType OrderPriceType; + ///买卖方向 + TThostFtdcDirectionType Direction; + ///组合开平标志 + TThostFtdcCombOffsetFlagType CombOffsetFlag; + ///组合投机套保标志 + TThostFtdcCombHedgeFlagType CombHedgeFlag; + ///价格 + TThostFtdcPriceType LimitPrice; + ///数量 + TThostFtdcVolumeType VolumeTotalOriginal; + ///有效期类型 + TThostFtdcTimeConditionType TimeCondition; + ///GTD日期 + TThostFtdcDateType GTDDate; + ///成交量类型 + TThostFtdcVolumeConditionType VolumeCondition; + ///最小成交量 + TThostFtdcVolumeType MinVolume; + ///触发条件 + TThostFtdcContingentConditionType ContingentCondition; + ///止损价 + TThostFtdcPriceType StopPrice; + ///强平原因 + TThostFtdcForceCloseReasonType ForceCloseReason; + ///自动挂起标志 + TThostFtdcBoolType IsAutoSuspend; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///本地报单编号 + TThostFtdcOrderLocalIDType OrderLocalID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///报单提交状态 + TThostFtdcOrderSubmitStatusType OrderSubmitStatus; + ///报单提示序号 + TThostFtdcSequenceNoType NotifySequence; + ///交易日 + TThostFtdcDateType TradingDay; + ///结算编号 + TThostFtdcSettlementIDType SettlementID; + ///报单编号 + TThostFtdcOrderSysIDType OrderSysID; + ///报单来源 + TThostFtdcOrderSourceType OrderSource; + ///报单状态 + TThostFtdcOrderStatusType OrderStatus; + ///报单类型 + TThostFtdcOrderTypeType OrderType; + ///今成交数量 + TThostFtdcVolumeType VolumeTraded; + ///剩余数量 + TThostFtdcVolumeType VolumeTotal; + ///报单日期 + TThostFtdcDateType InsertDate; + ///委托时间 + TThostFtdcTimeType InsertTime; + ///激活时间 + TThostFtdcTimeType ActiveTime; + ///挂起时间 + TThostFtdcTimeType SuspendTime; + ///最后修改时间 + TThostFtdcTimeType UpdateTime; + ///撤销时间 + TThostFtdcTimeType CancelTime; + ///最后修改交易所交易员代码 + TThostFtdcTraderIDType ActiveTraderID; + ///结算会员编号 + TThostFtdcParticipantIDType ClearingPartID; + ///序号 + TThostFtdcSequenceNoType SequenceNo; +}; + +///交易所报单插入失败 +struct CThostFtdcExchangeOrderInsertErrorField +{ + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///本地报单编号 + TThostFtdcOrderLocalIDType OrderLocalID; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; +}; + +///输入报单操作 +struct CThostFtdcInputOrderActionField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///报单操作引用 + TThostFtdcOrderActionRefType OrderActionRef; + ///报单引用 + TThostFtdcOrderRefType OrderRef; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///前置编号 + TThostFtdcFrontIDType FrontID; + ///会话编号 + TThostFtdcSessionIDType SessionID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///报单编号 + TThostFtdcOrderSysIDType OrderSysID; + ///操作标志 + TThostFtdcActionFlagType ActionFlag; + ///价格 + TThostFtdcPriceType LimitPrice; + ///数量变化 + TThostFtdcVolumeType VolumeChange; + ///用户代码 + TThostFtdcUserIDType UserID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; +}; + +///报单操作 +struct CThostFtdcOrderActionField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///报单操作引用 + TThostFtdcOrderActionRefType OrderActionRef; + ///报单引用 + TThostFtdcOrderRefType OrderRef; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///前置编号 + TThostFtdcFrontIDType FrontID; + ///会话编号 + TThostFtdcSessionIDType SessionID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///报单编号 + TThostFtdcOrderSysIDType OrderSysID; + ///操作标志 + TThostFtdcActionFlagType ActionFlag; + ///价格 + TThostFtdcPriceType LimitPrice; + ///数量变化 + TThostFtdcVolumeType VolumeChange; + ///操作日期 + TThostFtdcDateType ActionDate; + ///操作时间 + TThostFtdcTimeType ActionTime; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///本地报单编号 + TThostFtdcOrderLocalIDType OrderLocalID; + ///操作本地编号 + TThostFtdcOrderLocalIDType ActionLocalID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///报单操作状态 + TThostFtdcOrderActionStatusType OrderActionStatus; + ///用户代码 + TThostFtdcUserIDType UserID; + ///状态信息 + TThostFtdcErrorMsgType StatusMsg; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; +}; + +///交易所报单操作 +struct CThostFtdcExchangeOrderActionField +{ + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///报单编号 + TThostFtdcOrderSysIDType OrderSysID; + ///操作标志 + TThostFtdcActionFlagType ActionFlag; + ///价格 + TThostFtdcPriceType LimitPrice; + ///数量变化 + TThostFtdcVolumeType VolumeChange; + ///操作日期 + TThostFtdcDateType ActionDate; + ///操作时间 + TThostFtdcTimeType ActionTime; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///本地报单编号 + TThostFtdcOrderLocalIDType OrderLocalID; + ///操作本地编号 + TThostFtdcOrderLocalIDType ActionLocalID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///报单操作状态 + TThostFtdcOrderActionStatusType OrderActionStatus; + ///用户代码 + TThostFtdcUserIDType UserID; +}; + +///交易所报单操作失败 +struct CThostFtdcExchangeOrderActionErrorField +{ + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///报单编号 + TThostFtdcOrderSysIDType OrderSysID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///本地报单编号 + TThostFtdcOrderLocalIDType OrderLocalID; + ///操作本地编号 + TThostFtdcOrderLocalIDType ActionLocalID; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; +}; + +///交易所成交 +struct CThostFtdcExchangeTradeField +{ + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///成交编号 + TThostFtdcTradeIDType TradeID; + ///买卖方向 + TThostFtdcDirectionType Direction; + ///报单编号 + TThostFtdcOrderSysIDType OrderSysID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///交易角色 + TThostFtdcTradingRoleType TradingRole; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///开平标志 + TThostFtdcOffsetFlagType OffsetFlag; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///价格 + TThostFtdcPriceType Price; + ///数量 + TThostFtdcVolumeType Volume; + ///成交时期 + TThostFtdcDateType TradeDate; + ///成交时间 + TThostFtdcTimeType TradeTime; + ///成交类型 + TThostFtdcTradeTypeType TradeType; + ///成交价来源 + TThostFtdcPriceSourceType PriceSource; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///本地报单编号 + TThostFtdcOrderLocalIDType OrderLocalID; + ///结算会员编号 + TThostFtdcParticipantIDType ClearingPartID; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///序号 + TThostFtdcSequenceNoType SequenceNo; + ///成交来源 + TThostFtdcTradeSourceType TradeSource; +}; + +///成交 +struct CThostFtdcTradeField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///报单引用 + TThostFtdcOrderRefType OrderRef; + ///用户代码 + TThostFtdcUserIDType UserID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///成交编号 + TThostFtdcTradeIDType TradeID; + ///买卖方向 + TThostFtdcDirectionType Direction; + ///报单编号 + TThostFtdcOrderSysIDType OrderSysID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///交易角色 + TThostFtdcTradingRoleType TradingRole; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///开平标志 + TThostFtdcOffsetFlagType OffsetFlag; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///价格 + TThostFtdcPriceType Price; + ///数量 + TThostFtdcVolumeType Volume; + ///成交时期 + TThostFtdcDateType TradeDate; + ///成交时间 + TThostFtdcTimeType TradeTime; + ///成交类型 + TThostFtdcTradeTypeType TradeType; + ///成交价来源 + TThostFtdcPriceSourceType PriceSource; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///本地报单编号 + TThostFtdcOrderLocalIDType OrderLocalID; + ///结算会员编号 + TThostFtdcParticipantIDType ClearingPartID; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///序号 + TThostFtdcSequenceNoType SequenceNo; + ///交易日 + TThostFtdcDateType TradingDay; + ///结算编号 + TThostFtdcSettlementIDType SettlementID; + ///经纪公司报单编号 + TThostFtdcSequenceNoType BrokerOrderSeq; + ///成交来源 + TThostFtdcTradeSourceType TradeSource; +}; + +///用户会话 +struct CThostFtdcUserSessionField +{ + ///前置编号 + TThostFtdcFrontIDType FrontID; + ///会话编号 + TThostFtdcSessionIDType SessionID; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///登录日期 + TThostFtdcDateType LoginDate; + ///登录时间 + TThostFtdcTimeType LoginTime; + ///IP地址 + TThostFtdcIPAddressType IPAddress; + ///用户端产品信息 + TThostFtdcProductInfoType UserProductInfo; + ///接口端产品信息 + TThostFtdcProductInfoType InterfaceProductInfo; + ///协议信息 + TThostFtdcProtocolInfoType ProtocolInfo; + ///Mac地址 + TThostFtdcMacAddressType MacAddress; +}; + +///查询最大报单数量 +struct CThostFtdcQueryMaxOrderVolumeField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///买卖方向 + TThostFtdcDirectionType Direction; + ///开平标志 + TThostFtdcOffsetFlagType OffsetFlag; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///最大允许报单数量 + TThostFtdcVolumeType MaxVolume; +}; + +///投资者结算结果确认信息 +struct CThostFtdcSettlementInfoConfirmField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///确认日期 + TThostFtdcDateType ConfirmDate; + ///确认时间 + TThostFtdcTimeType ConfirmTime; +}; + +///出入金同步 +struct CThostFtdcSyncDepositField +{ + ///出入金流水号 + TThostFtdcDepositSeqNoType DepositSeqNo; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///入金金额 + TThostFtdcMoneyType Deposit; + ///是否强制进行 + TThostFtdcBoolType IsForce; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; +}; + +///货币质押同步 +struct CThostFtdcSyncFundMortgageField +{ + ///货币质押流水号 + TThostFtdcDepositSeqNoType MortgageSeqNo; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///源币种 + TThostFtdcCurrencyIDType FromCurrencyID; + ///质押金额 + TThostFtdcMoneyType MortgageAmount; + ///目标币种 + TThostFtdcCurrencyIDType ToCurrencyID; +}; + +///经纪公司同步 +struct CThostFtdcBrokerSyncField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; +}; + +///正在同步中的投资者 +struct CThostFtdcSyncingInvestorField +{ + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者分组代码 + TThostFtdcInvestorIDType InvestorGroupID; + ///投资者名称 + TThostFtdcPartyNameType InvestorName; + ///证件类型 + TThostFtdcIdCardTypeType IdentifiedCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///是否活跃 + TThostFtdcBoolType IsActive; + ///联系电话 + TThostFtdcTelephoneType Telephone; + ///通讯地址 + TThostFtdcAddressType Address; + ///开户日期 + TThostFtdcDateType OpenDate; + ///手机 + TThostFtdcMobileType Mobile; + ///手续费率模板代码 + TThostFtdcInvestorIDType CommModelID; + ///保证金率模板代码 + TThostFtdcInvestorIDType MarginModelID; +}; + +///正在同步中的交易代码 +struct CThostFtdcSyncingTradingCodeField +{ + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///是否活跃 + TThostFtdcBoolType IsActive; + ///交易编码类型 + TThostFtdcClientIDTypeType ClientIDType; +}; + +///正在同步中的投资者分组 +struct CThostFtdcSyncingInvestorGroupField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者分组代码 + TThostFtdcInvestorIDType InvestorGroupID; + ///投资者分组名称 + TThostFtdcInvestorGroupNameType InvestorGroupName; +}; + +///正在同步中的交易账号 +struct CThostFtdcSyncingTradingAccountField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///上次质押金额 + TThostFtdcMoneyType PreMortgage; + ///上次信用额度 + TThostFtdcMoneyType PreCredit; + ///上次存款额 + TThostFtdcMoneyType PreDeposit; + ///上次结算准备金 + TThostFtdcMoneyType PreBalance; + ///上次占用的保证金 + TThostFtdcMoneyType PreMargin; + ///利息基数 + TThostFtdcMoneyType InterestBase; + ///利息收入 + TThostFtdcMoneyType Interest; + ///入金金额 + TThostFtdcMoneyType Deposit; + ///出金金额 + TThostFtdcMoneyType Withdraw; + ///冻结的保证金 + TThostFtdcMoneyType FrozenMargin; + ///冻结的资金 + TThostFtdcMoneyType FrozenCash; + ///冻结的手续费 + TThostFtdcMoneyType FrozenCommission; + ///当前保证金总额 + TThostFtdcMoneyType CurrMargin; + ///资金差额 + TThostFtdcMoneyType CashIn; + ///手续费 + TThostFtdcMoneyType Commission; + ///平仓盈亏 + TThostFtdcMoneyType CloseProfit; + ///持仓盈亏 + TThostFtdcMoneyType PositionProfit; + ///期货结算准备金 + TThostFtdcMoneyType Balance; + ///可用资金 + TThostFtdcMoneyType Available; + ///可取资金 + TThostFtdcMoneyType WithdrawQuota; + ///基本准备金 + TThostFtdcMoneyType Reserve; + ///交易日 + TThostFtdcDateType TradingDay; + ///结算编号 + TThostFtdcSettlementIDType SettlementID; + ///信用额度 + TThostFtdcMoneyType Credit; + ///质押金额 + TThostFtdcMoneyType Mortgage; + ///交易所保证金 + TThostFtdcMoneyType ExchangeMargin; + ///投资者交割保证金 + TThostFtdcMoneyType DeliveryMargin; + ///交易所交割保证金 + TThostFtdcMoneyType ExchangeDeliveryMargin; + ///保底期货结算准备金 + TThostFtdcMoneyType ReserveBalance; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///上次货币质入金额 + TThostFtdcMoneyType PreFundMortgageIn; + ///上次货币质出金额 + TThostFtdcMoneyType PreFundMortgageOut; + ///货币质入金额 + TThostFtdcMoneyType FundMortgageIn; + ///货币质出金额 + TThostFtdcMoneyType FundMortgageOut; + ///货币质押余额 + TThostFtdcMoneyType FundMortgageAvailable; + ///可质押货币金额 + TThostFtdcMoneyType MortgageableFund; + ///特殊产品占用保证金 + TThostFtdcMoneyType SpecProductMargin; + ///特殊产品冻结保证金 + TThostFtdcMoneyType SpecProductFrozenMargin; + ///特殊产品手续费 + TThostFtdcMoneyType SpecProductCommission; + ///特殊产品冻结手续费 + TThostFtdcMoneyType SpecProductFrozenCommission; + ///特殊产品持仓盈亏 + TThostFtdcMoneyType SpecProductPositionProfit; + ///特殊产品平仓盈亏 + TThostFtdcMoneyType SpecProductCloseProfit; + ///根据持仓盈亏算法计算的特殊产品持仓盈亏 + TThostFtdcMoneyType SpecProductPositionProfitByAlg; + ///特殊产品交易所保证金 + TThostFtdcMoneyType SpecProductExchangeMargin; + ///期权平仓盈亏 + TThostFtdcMoneyType OptionCloseProfit; + ///期权市值 + TThostFtdcMoneyType OptionValue; +}; + +///正在同步中的投资者持仓 +struct CThostFtdcSyncingInvestorPositionField +{ + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///持仓多空方向 + TThostFtdcPosiDirectionType PosiDirection; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///持仓日期 + TThostFtdcPositionDateType PositionDate; + ///上日持仓 + TThostFtdcVolumeType YdPosition; + ///今日持仓 + TThostFtdcVolumeType Position; + ///多头冻结 + TThostFtdcVolumeType LongFrozen; + ///空头冻结 + TThostFtdcVolumeType ShortFrozen; + ///开仓冻结金额 + TThostFtdcMoneyType LongFrozenAmount; + ///开仓冻结金额 + TThostFtdcMoneyType ShortFrozenAmount; + ///开仓量 + TThostFtdcVolumeType OpenVolume; + ///平仓量 + TThostFtdcVolumeType CloseVolume; + ///开仓金额 + TThostFtdcMoneyType OpenAmount; + ///平仓金额 + TThostFtdcMoneyType CloseAmount; + ///持仓成本 + TThostFtdcMoneyType PositionCost; + ///上次占用的保证金 + TThostFtdcMoneyType PreMargin; + ///占用的保证金 + TThostFtdcMoneyType UseMargin; + ///冻结的保证金 + TThostFtdcMoneyType FrozenMargin; + ///冻结的资金 + TThostFtdcMoneyType FrozenCash; + ///冻结的手续费 + TThostFtdcMoneyType FrozenCommission; + ///资金差额 + TThostFtdcMoneyType CashIn; + ///手续费 + TThostFtdcMoneyType Commission; + ///平仓盈亏 + TThostFtdcMoneyType CloseProfit; + ///持仓盈亏 + TThostFtdcMoneyType PositionProfit; + ///上次结算价 + TThostFtdcPriceType PreSettlementPrice; + ///本次结算价 + TThostFtdcPriceType SettlementPrice; + ///交易日 + TThostFtdcDateType TradingDay; + ///结算编号 + TThostFtdcSettlementIDType SettlementID; + ///开仓成本 + TThostFtdcMoneyType OpenCost; + ///交易所保证金 + TThostFtdcMoneyType ExchangeMargin; + ///组合成交形成的持仓 + TThostFtdcVolumeType CombPosition; + ///组合多头冻结 + TThostFtdcVolumeType CombLongFrozen; + ///组合空头冻结 + TThostFtdcVolumeType CombShortFrozen; + ///逐日盯市平仓盈亏 + TThostFtdcMoneyType CloseProfitByDate; + ///逐笔对冲平仓盈亏 + TThostFtdcMoneyType CloseProfitByTrade; + ///今日持仓 + TThostFtdcVolumeType TodayPosition; + ///保证金率 + TThostFtdcRatioType MarginRateByMoney; + ///保证金率(按手数) + TThostFtdcRatioType MarginRateByVolume; + ///执行冻结 + TThostFtdcVolumeType StrikeFrozen; + ///执行冻结金额 + TThostFtdcMoneyType StrikeFrozenAmount; + ///放弃执行冻结 + TThostFtdcVolumeType AbandonFrozen; + ///期权市值 + TThostFtdcMoneyType OptionValue; +}; + +///正在同步中的合约保证金率 +struct CThostFtdcSyncingInstrumentMarginRateField +{ + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投资者范围 + TThostFtdcInvestorRangeType InvestorRange; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///多头保证金率 + TThostFtdcRatioType LongMarginRatioByMoney; + ///多头保证金费 + TThostFtdcMoneyType LongMarginRatioByVolume; + ///空头保证金率 + TThostFtdcRatioType ShortMarginRatioByMoney; + ///空头保证金费 + TThostFtdcMoneyType ShortMarginRatioByVolume; + ///是否相对交易所收取 + TThostFtdcBoolType IsRelative; +}; + +///正在同步中的合约手续费率 +struct CThostFtdcSyncingInstrumentCommissionRateField +{ + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投资者范围 + TThostFtdcInvestorRangeType InvestorRange; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///开仓手续费率 + TThostFtdcRatioType OpenRatioByMoney; + ///开仓手续费 + TThostFtdcRatioType OpenRatioByVolume; + ///平仓手续费率 + TThostFtdcRatioType CloseRatioByMoney; + ///平仓手续费 + TThostFtdcRatioType CloseRatioByVolume; + ///平今手续费率 + TThostFtdcRatioType CloseTodayRatioByMoney; + ///平今手续费 + TThostFtdcRatioType CloseTodayRatioByVolume; +}; + +///正在同步中的合约交易权限 +struct CThostFtdcSyncingInstrumentTradingRightField +{ + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投资者范围 + TThostFtdcInvestorRangeType InvestorRange; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///交易权限 + TThostFtdcTradingRightType TradingRight; +}; + +///查询报单 +struct CThostFtdcQryOrderField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///报单编号 + TThostFtdcOrderSysIDType OrderSysID; + ///开始时间 + TThostFtdcTimeType InsertTimeStart; + ///结束时间 + TThostFtdcTimeType InsertTimeEnd; +}; + +///查询成交 +struct CThostFtdcQryTradeField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///成交编号 + TThostFtdcTradeIDType TradeID; + ///开始时间 + TThostFtdcTimeType TradeTimeStart; + ///结束时间 + TThostFtdcTimeType TradeTimeEnd; +}; + +///查询投资者持仓 +struct CThostFtdcQryInvestorPositionField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; +}; + +///查询资金账户 +struct CThostFtdcQryTradingAccountField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; +}; + +///查询投资者 +struct CThostFtdcQryInvestorField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; +}; + +///查询交易编码 +struct CThostFtdcQryTradingCodeField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///交易编码类型 + TThostFtdcClientIDTypeType ClientIDType; +}; + +///查询投资者组 +struct CThostFtdcQryInvestorGroupField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; +}; + +///查询合约保证金率 +struct CThostFtdcQryInstrumentMarginRateField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; +}; + +///查询手续费率 +struct CThostFtdcQryInstrumentCommissionRateField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; +}; + +///查询合约交易权限 +struct CThostFtdcQryInstrumentTradingRightField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; +}; + +///查询经纪公司 +struct CThostFtdcQryBrokerField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; +}; + +///查询交易员 +struct CThostFtdcQryTraderField +{ + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; +}; + +///查询管理用户功能权限 +struct CThostFtdcQrySuperUserFunctionField +{ + ///用户代码 + TThostFtdcUserIDType UserID; +}; + +///查询用户会话 +struct CThostFtdcQryUserSessionField +{ + ///前置编号 + TThostFtdcFrontIDType FrontID; + ///会话编号 + TThostFtdcSessionIDType SessionID; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; +}; + +///查询经纪公司会员代码 +struct CThostFtdcQryPartBrokerField +{ + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; +}; + +///查询前置状态 +struct CThostFtdcQryFrontStatusField +{ + ///前置编号 + TThostFtdcFrontIDType FrontID; +}; + +///查询交易所报单 +struct CThostFtdcQryExchangeOrderField +{ + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; +}; + +///查询报单操作 +struct CThostFtdcQryOrderActionField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; +}; + +///查询交易所报单操作 +struct CThostFtdcQryExchangeOrderActionField +{ + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; +}; + +///查询管理用户 +struct CThostFtdcQrySuperUserField +{ + ///用户代码 + TThostFtdcUserIDType UserID; +}; + +///查询交易所 +struct CThostFtdcQryExchangeField +{ + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; +}; + +///查询产品 +struct CThostFtdcQryProductField +{ + ///产品代码 + TThostFtdcInstrumentIDType ProductID; + ///产品类型 + TThostFtdcProductClassType ProductClass; +}; + +///查询合约 +struct CThostFtdcQryInstrumentField +{ + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///产品代码 + TThostFtdcInstrumentIDType ProductID; +}; + +///查询行情 +struct CThostFtdcQryDepthMarketDataField +{ + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; +}; + +///查询经纪公司用户 +struct CThostFtdcQryBrokerUserField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; +}; + +///查询经纪公司用户权限 +struct CThostFtdcQryBrokerUserFunctionField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; +}; + +///查询交易员报盘机 +struct CThostFtdcQryTraderOfferField +{ + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; +}; + +///查询出入金流水 +struct CThostFtdcQrySyncDepositField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///出入金流水号 + TThostFtdcDepositSeqNoType DepositSeqNo; +}; + +///查询投资者结算结果 +struct CThostFtdcQrySettlementInfoField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///交易日 + TThostFtdcDateType TradingDay; +}; + +///查询交易所保证金率 +struct CThostFtdcQryExchangeMarginRateField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; +}; + +///查询交易所调整保证金率 +struct CThostFtdcQryExchangeMarginRateAdjustField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; +}; + +///查询汇率 +struct CThostFtdcQryExchangeRateField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///源币种 + TThostFtdcCurrencyIDType FromCurrencyID; + ///目标币种 + TThostFtdcCurrencyIDType ToCurrencyID; +}; + +///查询货币质押流水 +struct CThostFtdcQrySyncFundMortgageField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///货币质押流水号 + TThostFtdcDepositSeqNoType MortgageSeqNo; +}; + +///查询报单 +struct CThostFtdcQryHisOrderField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///报单编号 + TThostFtdcOrderSysIDType OrderSysID; + ///开始时间 + TThostFtdcTimeType InsertTimeStart; + ///结束时间 + TThostFtdcTimeType InsertTimeEnd; + ///交易日 + TThostFtdcDateType TradingDay; + ///结算编号 + TThostFtdcSettlementIDType SettlementID; +}; + +///当前期权合约最小保证金 +struct CThostFtdcOptionInstrMiniMarginField +{ + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投资者范围 + TThostFtdcInvestorRangeType InvestorRange; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///单位(手)期权合约最小保证金 + TThostFtdcMoneyType MinMargin; + ///取值方式 + TThostFtdcValueMethodType ValueMethod; + ///是否跟随交易所收取 + TThostFtdcBoolType IsRelative; +}; + +///当前期权合约保证金调整系数 +struct CThostFtdcOptionInstrMarginAdjustField +{ + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投资者范围 + TThostFtdcInvestorRangeType InvestorRange; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///投机空头保证金调整系数 + TThostFtdcRatioType SShortMarginRatioByMoney; + ///投机空头保证金调整系数 + TThostFtdcMoneyType SShortMarginRatioByVolume; + ///保值空头保证金调整系数 + TThostFtdcRatioType HShortMarginRatioByMoney; + ///保值空头保证金调整系数 + TThostFtdcMoneyType HShortMarginRatioByVolume; + ///套利空头保证金调整系数 + TThostFtdcRatioType AShortMarginRatioByMoney; + ///套利空头保证金调整系数 + TThostFtdcMoneyType AShortMarginRatioByVolume; + ///是否跟随交易所收取 + TThostFtdcBoolType IsRelative; +}; + +///当前期权合约手续费的详细内容 +struct CThostFtdcOptionInstrCommRateField +{ + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投资者范围 + TThostFtdcInvestorRangeType InvestorRange; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///开仓手续费率 + TThostFtdcRatioType OpenRatioByMoney; + ///开仓手续费 + TThostFtdcRatioType OpenRatioByVolume; + ///平仓手续费率 + TThostFtdcRatioType CloseRatioByMoney; + ///平仓手续费 + TThostFtdcRatioType CloseRatioByVolume; + ///平今手续费率 + TThostFtdcRatioType CloseTodayRatioByMoney; + ///平今手续费 + TThostFtdcRatioType CloseTodayRatioByVolume; + ///执行手续费率 + TThostFtdcRatioType StrikeRatioByMoney; + ///执行手续费 + TThostFtdcRatioType StrikeRatioByVolume; +}; + +///期权交易成本 +struct CThostFtdcOptionInstrTradeCostField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///期权合约保证金不变部分 + TThostFtdcMoneyType FixedMargin; + ///期权合约最小保证金 + TThostFtdcMoneyType MiniMargin; + ///期权合约权利金 + TThostFtdcMoneyType Royalty; + ///交易所期权合约保证金不变部分 + TThostFtdcMoneyType ExchFixedMargin; + ///交易所期权合约最小保证金 + TThostFtdcMoneyType ExchMiniMargin; +}; + +///期权交易成本查询 +struct CThostFtdcQryOptionInstrTradeCostField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///期权合约报价 + TThostFtdcPriceType InputPrice; + ///标的价格,填0则用昨结算价 + TThostFtdcPriceType UnderlyingPrice; +}; + +///期权手续费率查询 +struct CThostFtdcQryOptionInstrCommRateField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; +}; + +///股指现货指数 +struct CThostFtdcIndexPriceField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///指数现货收盘价 + TThostFtdcPriceType ClosePrice; +}; + +///输入的执行宣告 +struct CThostFtdcInputExecOrderField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///执行宣告引用 + TThostFtdcOrderRefType ExecOrderRef; + ///用户代码 + TThostFtdcUserIDType UserID; + ///数量 + TThostFtdcVolumeType Volume; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///开平标志 + TThostFtdcOffsetFlagType OffsetFlag; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///执行类型 + TThostFtdcActionTypeType ActionType; + ///保留头寸申请的持仓方向 + TThostFtdcPosiDirectionType PosiDirection; + ///期权行权后是否保留期货头寸的标记 + TThostFtdcExecOrderPositionFlagType ReservePositionFlag; + ///期权行权后生成的头寸是否自动平仓 + TThostFtdcExecOrderCloseFlagType CloseFlag; +}; + +///输入执行宣告操作 +struct CThostFtdcInputExecOrderActionField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///执行宣告操作引用 + TThostFtdcOrderActionRefType ExecOrderActionRef; + ///执行宣告引用 + TThostFtdcOrderRefType ExecOrderRef; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///前置编号 + TThostFtdcFrontIDType FrontID; + ///会话编号 + TThostFtdcSessionIDType SessionID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///执行宣告操作编号 + TThostFtdcExecOrderSysIDType ExecOrderSysID; + ///操作标志 + TThostFtdcActionFlagType ActionFlag; + ///用户代码 + TThostFtdcUserIDType UserID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; +}; + +///执行宣告 +struct CThostFtdcExecOrderField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///执行宣告引用 + TThostFtdcOrderRefType ExecOrderRef; + ///用户代码 + TThostFtdcUserIDType UserID; + ///数量 + TThostFtdcVolumeType Volume; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///开平标志 + TThostFtdcOffsetFlagType OffsetFlag; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///执行类型 + TThostFtdcActionTypeType ActionType; + ///保留头寸申请的持仓方向 + TThostFtdcPosiDirectionType PosiDirection; + ///期权行权后是否保留期货头寸的标记 + TThostFtdcExecOrderPositionFlagType ReservePositionFlag; + ///期权行权后生成的头寸是否自动平仓 + TThostFtdcExecOrderCloseFlagType CloseFlag; + ///本地执行宣告编号 + TThostFtdcOrderLocalIDType ExecOrderLocalID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///执行宣告提交状态 + TThostFtdcOrderSubmitStatusType OrderSubmitStatus; + ///报单提示序号 + TThostFtdcSequenceNoType NotifySequence; + ///交易日 + TThostFtdcDateType TradingDay; + ///结算编号 + TThostFtdcSettlementIDType SettlementID; + ///执行宣告编号 + TThostFtdcExecOrderSysIDType ExecOrderSysID; + ///报单日期 + TThostFtdcDateType InsertDate; + ///插入时间 + TThostFtdcTimeType InsertTime; + ///撤销时间 + TThostFtdcTimeType CancelTime; + ///执行结果 + TThostFtdcExecResultType ExecResult; + ///结算会员编号 + TThostFtdcParticipantIDType ClearingPartID; + ///序号 + TThostFtdcSequenceNoType SequenceNo; + ///前置编号 + TThostFtdcFrontIDType FrontID; + ///会话编号 + TThostFtdcSessionIDType SessionID; + ///用户端产品信息 + TThostFtdcProductInfoType UserProductInfo; + ///状态信息 + TThostFtdcErrorMsgType StatusMsg; + ///操作用户代码 + TThostFtdcUserIDType ActiveUserID; + ///经纪公司报单编号 + TThostFtdcSequenceNoType BrokerExecOrderSeq; +}; + +///执行宣告操作 +struct CThostFtdcExecOrderActionField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///执行宣告操作引用 + TThostFtdcOrderActionRefType ExecOrderActionRef; + ///执行宣告引用 + TThostFtdcOrderRefType ExecOrderRef; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///前置编号 + TThostFtdcFrontIDType FrontID; + ///会话编号 + TThostFtdcSessionIDType SessionID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///执行宣告操作编号 + TThostFtdcExecOrderSysIDType ExecOrderSysID; + ///操作标志 + TThostFtdcActionFlagType ActionFlag; + ///操作日期 + TThostFtdcDateType ActionDate; + ///操作时间 + TThostFtdcTimeType ActionTime; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///本地执行宣告编号 + TThostFtdcOrderLocalIDType ExecOrderLocalID; + ///操作本地编号 + TThostFtdcOrderLocalIDType ActionLocalID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///报单操作状态 + TThostFtdcOrderActionStatusType OrderActionStatus; + ///用户代码 + TThostFtdcUserIDType UserID; + ///执行类型 + TThostFtdcActionTypeType ActionType; + ///状态信息 + TThostFtdcErrorMsgType StatusMsg; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; +}; + +///执行宣告查询 +struct CThostFtdcQryExecOrderField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///执行宣告编号 + TThostFtdcExecOrderSysIDType ExecOrderSysID; + ///开始时间 + TThostFtdcTimeType InsertTimeStart; + ///结束时间 + TThostFtdcTimeType InsertTimeEnd; +}; + +///交易所执行宣告信息 +struct CThostFtdcExchangeExecOrderField +{ + ///数量 + TThostFtdcVolumeType Volume; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///开平标志 + TThostFtdcOffsetFlagType OffsetFlag; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///执行类型 + TThostFtdcActionTypeType ActionType; + ///保留头寸申请的持仓方向 + TThostFtdcPosiDirectionType PosiDirection; + ///期权行权后是否保留期货头寸的标记 + TThostFtdcExecOrderPositionFlagType ReservePositionFlag; + ///期权行权后生成的头寸是否自动平仓 + TThostFtdcExecOrderCloseFlagType CloseFlag; + ///本地执行宣告编号 + TThostFtdcOrderLocalIDType ExecOrderLocalID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///执行宣告提交状态 + TThostFtdcOrderSubmitStatusType OrderSubmitStatus; + ///报单提示序号 + TThostFtdcSequenceNoType NotifySequence; + ///交易日 + TThostFtdcDateType TradingDay; + ///结算编号 + TThostFtdcSettlementIDType SettlementID; + ///执行宣告编号 + TThostFtdcExecOrderSysIDType ExecOrderSysID; + ///报单日期 + TThostFtdcDateType InsertDate; + ///插入时间 + TThostFtdcTimeType InsertTime; + ///撤销时间 + TThostFtdcTimeType CancelTime; + ///执行结果 + TThostFtdcExecResultType ExecResult; + ///结算会员编号 + TThostFtdcParticipantIDType ClearingPartID; + ///序号 + TThostFtdcSequenceNoType SequenceNo; +}; + +///交易所执行宣告查询 +struct CThostFtdcQryExchangeExecOrderField +{ + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; +}; + +///执行宣告操作查询 +struct CThostFtdcQryExecOrderActionField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; +}; + +///交易所执行宣告操作 +struct CThostFtdcExchangeExecOrderActionField +{ + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///执行宣告操作编号 + TThostFtdcExecOrderSysIDType ExecOrderSysID; + ///操作标志 + TThostFtdcActionFlagType ActionFlag; + ///操作日期 + TThostFtdcDateType ActionDate; + ///操作时间 + TThostFtdcTimeType ActionTime; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///本地执行宣告编号 + TThostFtdcOrderLocalIDType ExecOrderLocalID; + ///操作本地编号 + TThostFtdcOrderLocalIDType ActionLocalID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///报单操作状态 + TThostFtdcOrderActionStatusType OrderActionStatus; + ///用户代码 + TThostFtdcUserIDType UserID; + ///执行类型 + TThostFtdcActionTypeType ActionType; +}; + +///交易所执行宣告操作查询 +struct CThostFtdcQryExchangeExecOrderActionField +{ + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; +}; + +///错误执行宣告 +struct CThostFtdcErrExecOrderField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///执行宣告引用 + TThostFtdcOrderRefType ExecOrderRef; + ///用户代码 + TThostFtdcUserIDType UserID; + ///数量 + TThostFtdcVolumeType Volume; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///开平标志 + TThostFtdcOffsetFlagType OffsetFlag; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///执行类型 + TThostFtdcActionTypeType ActionType; + ///保留头寸申请的持仓方向 + TThostFtdcPosiDirectionType PosiDirection; + ///期权行权后是否保留期货头寸的标记 + TThostFtdcExecOrderPositionFlagType ReservePositionFlag; + ///期权行权后生成的头寸是否自动平仓 + TThostFtdcExecOrderCloseFlagType CloseFlag; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; +}; + +///查询错误执行宣告 +struct CThostFtdcQryErrExecOrderField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; +}; + +///错误执行宣告操作 +struct CThostFtdcErrExecOrderActionField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///执行宣告操作引用 + TThostFtdcOrderActionRefType ExecOrderActionRef; + ///执行宣告引用 + TThostFtdcOrderRefType ExecOrderRef; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///前置编号 + TThostFtdcFrontIDType FrontID; + ///会话编号 + TThostFtdcSessionIDType SessionID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///执行宣告操作编号 + TThostFtdcExecOrderSysIDType ExecOrderSysID; + ///操作标志 + TThostFtdcActionFlagType ActionFlag; + ///用户代码 + TThostFtdcUserIDType UserID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; +}; + +///查询错误执行宣告操作 +struct CThostFtdcQryErrExecOrderActionField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; +}; + +///投资者期权合约交易权限 +struct CThostFtdcOptionInstrTradingRightField +{ + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投资者范围 + TThostFtdcInvestorRangeType InvestorRange; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///买卖方向 + TThostFtdcDirectionType Direction; + ///交易权限 + TThostFtdcTradingRightType TradingRight; +}; + +///查询期权合约交易权限 +struct CThostFtdcQryOptionInstrTradingRightField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///买卖方向 + TThostFtdcDirectionType Direction; +}; + +///输入的询价 +struct CThostFtdcInputForQuoteField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///询价引用 + TThostFtdcOrderRefType ForQuoteRef; + ///用户代码 + TThostFtdcUserIDType UserID; +}; + +///询价 +struct CThostFtdcForQuoteField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///询价引用 + TThostFtdcOrderRefType ForQuoteRef; + ///用户代码 + TThostFtdcUserIDType UserID; + ///本地询价编号 + TThostFtdcOrderLocalIDType ForQuoteLocalID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///报单日期 + TThostFtdcDateType InsertDate; + ///插入时间 + TThostFtdcTimeType InsertTime; + ///询价状态 + TThostFtdcForQuoteStatusType ForQuoteStatus; + ///前置编号 + TThostFtdcFrontIDType FrontID; + ///会话编号 + TThostFtdcSessionIDType SessionID; + ///状态信息 + TThostFtdcErrorMsgType StatusMsg; + ///操作用户代码 + TThostFtdcUserIDType ActiveUserID; + ///经纪公司询价编号 + TThostFtdcSequenceNoType BrokerForQutoSeq; +}; + +///询价查询 +struct CThostFtdcQryForQuoteField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///开始时间 + TThostFtdcTimeType InsertTimeStart; + ///结束时间 + TThostFtdcTimeType InsertTimeEnd; +}; + +///交易所询价信息 +struct CThostFtdcExchangeForQuoteField +{ + ///本地询价编号 + TThostFtdcOrderLocalIDType ForQuoteLocalID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///报单日期 + TThostFtdcDateType InsertDate; + ///插入时间 + TThostFtdcTimeType InsertTime; + ///询价状态 + TThostFtdcForQuoteStatusType ForQuoteStatus; +}; + +///交易所询价查询 +struct CThostFtdcQryExchangeForQuoteField +{ + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; +}; + +///输入的报价 +struct CThostFtdcInputQuoteField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///报价引用 + TThostFtdcOrderRefType QuoteRef; + ///用户代码 + TThostFtdcUserIDType UserID; + ///卖价格 + TThostFtdcPriceType AskPrice; + ///买价格 + TThostFtdcPriceType BidPrice; + ///卖数量 + TThostFtdcVolumeType AskVolume; + ///买数量 + TThostFtdcVolumeType BidVolume; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///卖开平标志 + TThostFtdcOffsetFlagType AskOffsetFlag; + ///买开平标志 + TThostFtdcOffsetFlagType BidOffsetFlag; + ///卖投机套保标志 + TThostFtdcHedgeFlagType AskHedgeFlag; + ///买投机套保标志 + TThostFtdcHedgeFlagType BidHedgeFlag; +}; + +///输入报价操作 +struct CThostFtdcInputQuoteActionField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///报价操作引用 + TThostFtdcOrderActionRefType QuoteActionRef; + ///报价引用 + TThostFtdcOrderRefType QuoteRef; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///前置编号 + TThostFtdcFrontIDType FrontID; + ///会话编号 + TThostFtdcSessionIDType SessionID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///报价操作编号 + TThostFtdcOrderSysIDType QuoteSysID; + ///操作标志 + TThostFtdcActionFlagType ActionFlag; + ///用户代码 + TThostFtdcUserIDType UserID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; +}; + +///报价 +struct CThostFtdcQuoteField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///报价引用 + TThostFtdcOrderRefType QuoteRef; + ///用户代码 + TThostFtdcUserIDType UserID; + ///卖价格 + TThostFtdcPriceType AskPrice; + ///买价格 + TThostFtdcPriceType BidPrice; + ///卖数量 + TThostFtdcVolumeType AskVolume; + ///买数量 + TThostFtdcVolumeType BidVolume; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///卖开平标志 + TThostFtdcOffsetFlagType AskOffsetFlag; + ///买开平标志 + TThostFtdcOffsetFlagType BidOffsetFlag; + ///卖投机套保标志 + TThostFtdcHedgeFlagType AskHedgeFlag; + ///买投机套保标志 + TThostFtdcHedgeFlagType BidHedgeFlag; + ///本地报价编号 + TThostFtdcOrderLocalIDType QuoteLocalID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///报价提示序号 + TThostFtdcSequenceNoType NotifySequence; + ///报价提交状态 + TThostFtdcOrderSubmitStatusType OrderSubmitStatus; + ///交易日 + TThostFtdcDateType TradingDay; + ///结算编号 + TThostFtdcSettlementIDType SettlementID; + ///报价编号 + TThostFtdcOrderSysIDType QuoteSysID; + ///报单日期 + TThostFtdcDateType InsertDate; + ///插入时间 + TThostFtdcTimeType InsertTime; + ///撤销时间 + TThostFtdcTimeType CancelTime; + ///报价状态 + TThostFtdcOrderStatusType QuoteStatus; + ///结算会员编号 + TThostFtdcParticipantIDType ClearingPartID; + ///序号 + TThostFtdcSequenceNoType SequenceNo; + ///卖方报单编号 + TThostFtdcOrderSysIDType AskOrderSysID; + ///买方报单编号 + TThostFtdcOrderSysIDType BidOrderSysID; + ///前置编号 + TThostFtdcFrontIDType FrontID; + ///会话编号 + TThostFtdcSessionIDType SessionID; + ///用户端产品信息 + TThostFtdcProductInfoType UserProductInfo; + ///状态信息 + TThostFtdcErrorMsgType StatusMsg; + ///操作用户代码 + TThostFtdcUserIDType ActiveUserID; + ///经纪公司报价编号 + TThostFtdcSequenceNoType BrokerQuoteSeq; +}; + +///报价操作 +struct CThostFtdcQuoteActionField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///报价操作引用 + TThostFtdcOrderActionRefType QuoteActionRef; + ///报价引用 + TThostFtdcOrderRefType QuoteRef; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///前置编号 + TThostFtdcFrontIDType FrontID; + ///会话编号 + TThostFtdcSessionIDType SessionID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///报价操作编号 + TThostFtdcOrderSysIDType QuoteSysID; + ///操作标志 + TThostFtdcActionFlagType ActionFlag; + ///操作日期 + TThostFtdcDateType ActionDate; + ///操作时间 + TThostFtdcTimeType ActionTime; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///本地报价编号 + TThostFtdcOrderLocalIDType QuoteLocalID; + ///操作本地编号 + TThostFtdcOrderLocalIDType ActionLocalID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///报单操作状态 + TThostFtdcOrderActionStatusType OrderActionStatus; + ///用户代码 + TThostFtdcUserIDType UserID; + ///状态信息 + TThostFtdcErrorMsgType StatusMsg; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; +}; + +///报价查询 +struct CThostFtdcQryQuoteField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///报价编号 + TThostFtdcOrderSysIDType QuoteSysID; + ///开始时间 + TThostFtdcTimeType InsertTimeStart; + ///结束时间 + TThostFtdcTimeType InsertTimeEnd; +}; + +///交易所报价信息 +struct CThostFtdcExchangeQuoteField +{ + ///卖价格 + TThostFtdcPriceType AskPrice; + ///买价格 + TThostFtdcPriceType BidPrice; + ///卖数量 + TThostFtdcVolumeType AskVolume; + ///买数量 + TThostFtdcVolumeType BidVolume; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///卖开平标志 + TThostFtdcOffsetFlagType AskOffsetFlag; + ///买开平标志 + TThostFtdcOffsetFlagType BidOffsetFlag; + ///卖投机套保标志 + TThostFtdcHedgeFlagType AskHedgeFlag; + ///买投机套保标志 + TThostFtdcHedgeFlagType BidHedgeFlag; + ///本地报价编号 + TThostFtdcOrderLocalIDType QuoteLocalID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///报价提示序号 + TThostFtdcSequenceNoType NotifySequence; + ///报价提交状态 + TThostFtdcOrderSubmitStatusType OrderSubmitStatus; + ///交易日 + TThostFtdcDateType TradingDay; + ///结算编号 + TThostFtdcSettlementIDType SettlementID; + ///报价编号 + TThostFtdcOrderSysIDType QuoteSysID; + ///报单日期 + TThostFtdcDateType InsertDate; + ///插入时间 + TThostFtdcTimeType InsertTime; + ///撤销时间 + TThostFtdcTimeType CancelTime; + ///报价状态 + TThostFtdcOrderStatusType QuoteStatus; + ///结算会员编号 + TThostFtdcParticipantIDType ClearingPartID; + ///序号 + TThostFtdcSequenceNoType SequenceNo; + ///卖方报单编号 + TThostFtdcOrderSysIDType AskOrderSysID; + ///买方报单编号 + TThostFtdcOrderSysIDType BidOrderSysID; +}; + +///交易所报价查询 +struct CThostFtdcQryExchangeQuoteField +{ + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; +}; + +///报价操作查询 +struct CThostFtdcQryQuoteActionField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; +}; + +///交易所报价操作 +struct CThostFtdcExchangeQuoteActionField +{ + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///报价操作编号 + TThostFtdcOrderSysIDType QuoteSysID; + ///操作标志 + TThostFtdcActionFlagType ActionFlag; + ///操作日期 + TThostFtdcDateType ActionDate; + ///操作时间 + TThostFtdcTimeType ActionTime; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///本地报价编号 + TThostFtdcOrderLocalIDType QuoteLocalID; + ///操作本地编号 + TThostFtdcOrderLocalIDType ActionLocalID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///报单操作状态 + TThostFtdcOrderActionStatusType OrderActionStatus; + ///用户代码 + TThostFtdcUserIDType UserID; +}; + +///交易所报价操作查询 +struct CThostFtdcQryExchangeQuoteActionField +{ + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; +}; + +///期权合约delta值 +struct CThostFtdcOptionInstrDeltaField +{ + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投资者范围 + TThostFtdcInvestorRangeType InvestorRange; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///Delta值 + TThostFtdcRatioType Delta; +}; + +///发给做市商的询价请求 +struct CThostFtdcForQuoteRspField +{ + ///交易日 + TThostFtdcDateType TradingDay; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///询价编号 + TThostFtdcOrderSysIDType ForQuoteSysID; + ///询价时间 + TThostFtdcTimeType ForQuoteTime; + ///业务日期 + TThostFtdcDateType ActionDay; +}; + +///当前期权合约执行偏移值的详细内容 +struct CThostFtdcStrikeOffsetField +{ + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投资者范围 + TThostFtdcInvestorRangeType InvestorRange; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///执行偏移值 + TThostFtdcMoneyType Offset; +}; + +///期权执行偏移值查询 +struct CThostFtdcQryStrikeOffsetField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; +}; + +///市场行情 +struct CThostFtdcMarketDataField +{ + ///交易日 + TThostFtdcDateType TradingDay; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///最新价 + TThostFtdcPriceType LastPrice; + ///上次结算价 + TThostFtdcPriceType PreSettlementPrice; + ///昨收盘 + TThostFtdcPriceType PreClosePrice; + ///昨持仓量 + TThostFtdcLargeVolumeType PreOpenInterest; + ///今开盘 + TThostFtdcPriceType OpenPrice; + ///最高价 + TThostFtdcPriceType HighestPrice; + ///最低价 + TThostFtdcPriceType LowestPrice; + ///数量 + TThostFtdcVolumeType Volume; + ///成交金额 + TThostFtdcMoneyType Turnover; + ///持仓量 + TThostFtdcLargeVolumeType OpenInterest; + ///今收盘 + TThostFtdcPriceType ClosePrice; + ///本次结算价 + TThostFtdcPriceType SettlementPrice; + ///涨停板价 + TThostFtdcPriceType UpperLimitPrice; + ///跌停板价 + TThostFtdcPriceType LowerLimitPrice; + ///昨虚实度 + TThostFtdcRatioType PreDelta; + ///今虚实度 + TThostFtdcRatioType CurrDelta; + ///最后修改时间 + TThostFtdcTimeType UpdateTime; + ///最后修改毫秒 + TThostFtdcMillisecType UpdateMillisec; + ///业务日期 + TThostFtdcDateType ActionDay; +}; + +///行情基础属性 +struct CThostFtdcMarketDataBaseField +{ + ///交易日 + TThostFtdcDateType TradingDay; + ///上次结算价 + TThostFtdcPriceType PreSettlementPrice; + ///昨收盘 + TThostFtdcPriceType PreClosePrice; + ///昨持仓量 + TThostFtdcLargeVolumeType PreOpenInterest; + ///昨虚实度 + TThostFtdcRatioType PreDelta; +}; + +///行情静态属性 +struct CThostFtdcMarketDataStaticField +{ + ///今开盘 + TThostFtdcPriceType OpenPrice; + ///最高价 + TThostFtdcPriceType HighestPrice; + ///最低价 + TThostFtdcPriceType LowestPrice; + ///今收盘 + TThostFtdcPriceType ClosePrice; + ///涨停板价 + TThostFtdcPriceType UpperLimitPrice; + ///跌停板价 + TThostFtdcPriceType LowerLimitPrice; + ///本次结算价 + TThostFtdcPriceType SettlementPrice; + ///今虚实度 + TThostFtdcRatioType CurrDelta; +}; + +///行情最新成交属性 +struct CThostFtdcMarketDataLastMatchField +{ + ///最新价 + TThostFtdcPriceType LastPrice; + ///数量 + TThostFtdcVolumeType Volume; + ///成交金额 + TThostFtdcMoneyType Turnover; + ///持仓量 + TThostFtdcLargeVolumeType OpenInterest; +}; + +///行情最优价属性 +struct CThostFtdcMarketDataBestPriceField +{ + ///申买价一 + TThostFtdcPriceType BidPrice1; + ///申买量一 + TThostFtdcVolumeType BidVolume1; + ///申卖价一 + TThostFtdcPriceType AskPrice1; + ///申卖量一 + TThostFtdcVolumeType AskVolume1; +}; + +///行情申买二、三属性 +struct CThostFtdcMarketDataBid23Field +{ + ///申买价二 + TThostFtdcPriceType BidPrice2; + ///申买量二 + TThostFtdcVolumeType BidVolume2; + ///申买价三 + TThostFtdcPriceType BidPrice3; + ///申买量三 + TThostFtdcVolumeType BidVolume3; +}; + +///行情申卖二、三属性 +struct CThostFtdcMarketDataAsk23Field +{ + ///申卖价二 + TThostFtdcPriceType AskPrice2; + ///申卖量二 + TThostFtdcVolumeType AskVolume2; + ///申卖价三 + TThostFtdcPriceType AskPrice3; + ///申卖量三 + TThostFtdcVolumeType AskVolume3; +}; + +///行情申买四、五属性 +struct CThostFtdcMarketDataBid45Field +{ + ///申买价四 + TThostFtdcPriceType BidPrice4; + ///申买量四 + TThostFtdcVolumeType BidVolume4; + ///申买价五 + TThostFtdcPriceType BidPrice5; + ///申买量五 + TThostFtdcVolumeType BidVolume5; +}; + +///行情申卖四、五属性 +struct CThostFtdcMarketDataAsk45Field +{ + ///申卖价四 + TThostFtdcPriceType AskPrice4; + ///申卖量四 + TThostFtdcVolumeType AskVolume4; + ///申卖价五 + TThostFtdcPriceType AskPrice5; + ///申卖量五 + TThostFtdcVolumeType AskVolume5; +}; + +///行情更新时间属性 +struct CThostFtdcMarketDataUpdateTimeField +{ + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///最后修改时间 + TThostFtdcTimeType UpdateTime; + ///最后修改毫秒 + TThostFtdcMillisecType UpdateMillisec; + ///业务日期 + TThostFtdcDateType ActionDay; +}; + +///行情交易所代码属性 +struct CThostFtdcMarketDataExchangeField +{ + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; +}; + +///指定的合约 +struct CThostFtdcSpecificInstrumentField +{ + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; +}; + +///合约状态 +struct CThostFtdcInstrumentStatusField +{ + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///结算组代码 + TThostFtdcSettlementGroupIDType SettlementGroupID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///合约交易状态 + TThostFtdcInstrumentStatusType InstrumentStatus; + ///交易阶段编号 + TThostFtdcTradingSegmentSNType TradingSegmentSN; + ///进入本状态时间 + TThostFtdcTimeType EnterTime; + ///进入本状态原因 + TThostFtdcInstStatusEnterReasonType EnterReason; +}; + +///查询合约状态 +struct CThostFtdcQryInstrumentStatusField +{ + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; +}; + +///投资者账户 +struct CThostFtdcInvestorAccountField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; +}; + +///浮动盈亏算法 +struct CThostFtdcPositionProfitAlgorithmField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///盈亏算法 + TThostFtdcAlgorithmType Algorithm; + ///备注 + TThostFtdcMemoType Memo; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; +}; + +///会员资金折扣 +struct CThostFtdcDiscountField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者范围 + TThostFtdcInvestorRangeType InvestorRange; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///资金折扣比例 + TThostFtdcRatioType Discount; +}; + +///查询转帐银行 +struct CThostFtdcQryTransferBankField +{ + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分中心代码 + TThostFtdcBankBrchIDType BankBrchID; +}; + +///转帐银行 +struct CThostFtdcTransferBankField +{ + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分中心代码 + TThostFtdcBankBrchIDType BankBrchID; + ///银行名称 + TThostFtdcBankNameType BankName; + ///是否活跃 + TThostFtdcBoolType IsActive; +}; + +///查询投资者持仓明细 +struct CThostFtdcQryInvestorPositionDetailField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; +}; + +///投资者持仓明细 +struct CThostFtdcInvestorPositionDetailField +{ + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///买卖 + TThostFtdcDirectionType Direction; + ///开仓日期 + TThostFtdcDateType OpenDate; + ///成交编号 + TThostFtdcTradeIDType TradeID; + ///数量 + TThostFtdcVolumeType Volume; + ///开仓价 + TThostFtdcPriceType OpenPrice; + ///交易日 + TThostFtdcDateType TradingDay; + ///结算编号 + TThostFtdcSettlementIDType SettlementID; + ///成交类型 + TThostFtdcTradeTypeType TradeType; + ///组合合约代码 + TThostFtdcInstrumentIDType CombInstrumentID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///逐日盯市平仓盈亏 + TThostFtdcMoneyType CloseProfitByDate; + ///逐笔对冲平仓盈亏 + TThostFtdcMoneyType CloseProfitByTrade; + ///逐日盯市持仓盈亏 + TThostFtdcMoneyType PositionProfitByDate; + ///逐笔对冲持仓盈亏 + TThostFtdcMoneyType PositionProfitByTrade; + ///投资者保证金 + TThostFtdcMoneyType Margin; + ///交易所保证金 + TThostFtdcMoneyType ExchMargin; + ///保证金率 + TThostFtdcRatioType MarginRateByMoney; + ///保证金率(按手数) + TThostFtdcRatioType MarginRateByVolume; + ///昨结算价 + TThostFtdcPriceType LastSettlementPrice; + ///结算价 + TThostFtdcPriceType SettlementPrice; + ///平仓量 + TThostFtdcVolumeType CloseVolume; + ///平仓金额 + TThostFtdcMoneyType CloseAmount; +}; + +///资金账户口令域 +struct CThostFtdcTradingAccountPasswordField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///密码 + TThostFtdcPasswordType Password; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; +}; + +///交易所行情报盘机 +struct CThostFtdcMDTraderOfferField +{ + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///密码 + TThostFtdcPasswordType Password; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///本地报单编号 + TThostFtdcOrderLocalIDType OrderLocalID; + ///交易所交易员连接状态 + TThostFtdcTraderConnectStatusType TraderConnectStatus; + ///发出连接请求的日期 + TThostFtdcDateType ConnectRequestDate; + ///发出连接请求的时间 + TThostFtdcTimeType ConnectRequestTime; + ///上次报告日期 + TThostFtdcDateType LastReportDate; + ///上次报告时间 + TThostFtdcTimeType LastReportTime; + ///完成连接日期 + TThostFtdcDateType ConnectDate; + ///完成连接时间 + TThostFtdcTimeType ConnectTime; + ///启动日期 + TThostFtdcDateType StartDate; + ///启动时间 + TThostFtdcTimeType StartTime; + ///交易日 + TThostFtdcDateType TradingDay; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///本席位最大成交编号 + TThostFtdcTradeIDType MaxTradeID; + ///本席位最大报单备拷 + TThostFtdcReturnCodeType MaxOrderMessageReference; +}; + +///查询行情报盘机 +struct CThostFtdcQryMDTraderOfferField +{ + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; +}; + +///查询客户通知 +struct CThostFtdcQryNoticeField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; +}; + +///客户通知 +struct CThostFtdcNoticeField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///消息正文 + TThostFtdcContentType Content; + ///经纪公司通知内容序列号 + TThostFtdcSequenceLabelType SequenceLabel; +}; + +///用户权限 +struct CThostFtdcUserRightField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///客户权限类型 + TThostFtdcUserRightTypeType UserRightType; + ///是否禁止 + TThostFtdcBoolType IsForbidden; +}; + +///查询结算信息确认域 +struct CThostFtdcQrySettlementInfoConfirmField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; +}; + +///装载结算信息 +struct CThostFtdcLoadSettlementInfoField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; +}; + +///经纪公司可提资金算法表 +struct CThostFtdcBrokerWithdrawAlgorithmField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///可提资金算法 + TThostFtdcAlgorithmType WithdrawAlgorithm; + ///资金使用率 + TThostFtdcRatioType UsingRatio; + ///可提是否包含平仓盈利 + TThostFtdcIncludeCloseProfitType IncludeCloseProfit; + ///本日无仓且无成交客户是否受可提比例限制 + TThostFtdcAllWithoutTradeType AllWithoutTrade; + ///可用是否包含平仓盈利 + TThostFtdcIncludeCloseProfitType AvailIncludeCloseProfit; + ///是否启用用户事件 + TThostFtdcBoolType IsBrokerUserEvent; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///货币质押比率 + TThostFtdcRatioType FundMortgageRatio; + ///权益算法 + TThostFtdcBalanceAlgorithmType BalanceAlgorithm; +}; + +///资金账户口令变更域 +struct CThostFtdcTradingAccountPasswordUpdateV1Field +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///原来的口令 + TThostFtdcPasswordType OldPassword; + ///新的口令 + TThostFtdcPasswordType NewPassword; +}; + +///资金账户口令变更域 +struct CThostFtdcTradingAccountPasswordUpdateField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///原来的口令 + TThostFtdcPasswordType OldPassword; + ///新的口令 + TThostFtdcPasswordType NewPassword; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; +}; + +///查询组合合约分腿 +struct CThostFtdcQryCombinationLegField +{ + ///组合合约代码 + TThostFtdcInstrumentIDType CombInstrumentID; + ///单腿编号 + TThostFtdcLegIDType LegID; + ///单腿合约代码 + TThostFtdcInstrumentIDType LegInstrumentID; +}; + +///查询组合合约分腿 +struct CThostFtdcQrySyncStatusField +{ + ///交易日 + TThostFtdcDateType TradingDay; +}; + +///组合交易合约的单腿 +struct CThostFtdcCombinationLegField +{ + ///组合合约代码 + TThostFtdcInstrumentIDType CombInstrumentID; + ///单腿编号 + TThostFtdcLegIDType LegID; + ///单腿合约代码 + TThostFtdcInstrumentIDType LegInstrumentID; + ///买卖方向 + TThostFtdcDirectionType Direction; + ///单腿乘数 + TThostFtdcLegMultipleType LegMultiple; + ///派生层数 + TThostFtdcImplyLevelType ImplyLevel; +}; + +///数据同步状态 +struct CThostFtdcSyncStatusField +{ + ///交易日 + TThostFtdcDateType TradingDay; + ///数据同步状态 + TThostFtdcDataSyncStatusType DataSyncStatus; +}; + +///查询联系人 +struct CThostFtdcQryLinkManField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; +}; + +///联系人 +struct CThostFtdcLinkManField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///联系人类型 + TThostFtdcPersonTypeType PersonType; + ///证件类型 + TThostFtdcIdCardTypeType IdentifiedCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///名称 + TThostFtdcPartyNameType PersonName; + ///联系电话 + TThostFtdcTelephoneType Telephone; + ///通讯地址 + TThostFtdcAddressType Address; + ///邮政编码 + TThostFtdcZipCodeType ZipCode; + ///优先级 + TThostFtdcPriorityType Priority; + ///开户邮政编码 + TThostFtdcUOAZipCodeType UOAZipCode; + ///全称 + TThostFtdcInvestorFullNameType PersonFullName; +}; + +///查询经纪公司用户事件 +struct CThostFtdcQryBrokerUserEventField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///用户事件类型 + TThostFtdcUserEventTypeType UserEventType; +}; + +///查询经纪公司用户事件 +struct CThostFtdcBrokerUserEventField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///用户事件类型 + TThostFtdcUserEventTypeType UserEventType; + ///用户事件序号 + TThostFtdcSequenceNoType EventSequenceNo; + ///事件发生日期 + TThostFtdcDateType EventDate; + ///事件发生时间 + TThostFtdcTimeType EventTime; + ///用户事件信息 + TThostFtdcUserEventInfoType UserEventInfo; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; +}; + +///查询签约银行请求 +struct CThostFtdcQryContractBankField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分中心代码 + TThostFtdcBankBrchIDType BankBrchID; +}; + +///查询签约银行响应 +struct CThostFtdcContractBankField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分中心代码 + TThostFtdcBankBrchIDType BankBrchID; + ///银行名称 + TThostFtdcBankNameType BankName; +}; + +///投资者组合持仓明细 +struct CThostFtdcInvestorPositionCombineDetailField +{ + ///交易日 + TThostFtdcDateType TradingDay; + ///开仓日期 + TThostFtdcDateType OpenDate; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///结算编号 + TThostFtdcSettlementIDType SettlementID; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///组合编号 + TThostFtdcTradeIDType ComTradeID; + ///撮合编号 + TThostFtdcTradeIDType TradeID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///买卖 + TThostFtdcDirectionType Direction; + ///持仓量 + TThostFtdcVolumeType TotalAmt; + ///投资者保证金 + TThostFtdcMoneyType Margin; + ///交易所保证金 + TThostFtdcMoneyType ExchMargin; + ///保证金率 + TThostFtdcRatioType MarginRateByMoney; + ///保证金率(按手数) + TThostFtdcRatioType MarginRateByVolume; + ///单腿编号 + TThostFtdcLegIDType LegID; + ///单腿乘数 + TThostFtdcLegMultipleType LegMultiple; + ///组合持仓合约编码 + TThostFtdcInstrumentIDType CombInstrumentID; + ///成交组号 + TThostFtdcTradeGroupIDType TradeGroupID; +}; + +///预埋单 +struct CThostFtdcParkedOrderField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///报单引用 + TThostFtdcOrderRefType OrderRef; + ///用户代码 + TThostFtdcUserIDType UserID; + ///报单价格条件 + TThostFtdcOrderPriceTypeType OrderPriceType; + ///买卖方向 + TThostFtdcDirectionType Direction; + ///组合开平标志 + TThostFtdcCombOffsetFlagType CombOffsetFlag; + ///组合投机套保标志 + TThostFtdcCombHedgeFlagType CombHedgeFlag; + ///价格 + TThostFtdcPriceType LimitPrice; + ///数量 + TThostFtdcVolumeType VolumeTotalOriginal; + ///有效期类型 + TThostFtdcTimeConditionType TimeCondition; + ///GTD日期 + TThostFtdcDateType GTDDate; + ///成交量类型 + TThostFtdcVolumeConditionType VolumeCondition; + ///最小成交量 + TThostFtdcVolumeType MinVolume; + ///触发条件 + TThostFtdcContingentConditionType ContingentCondition; + ///止损价 + TThostFtdcPriceType StopPrice; + ///强平原因 + TThostFtdcForceCloseReasonType ForceCloseReason; + ///自动挂起标志 + TThostFtdcBoolType IsAutoSuspend; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///用户强评标志 + TThostFtdcBoolType UserForceClose; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///预埋报单编号 + TThostFtdcParkedOrderIDType ParkedOrderID; + ///用户类型 + TThostFtdcUserTypeType UserType; + ///预埋单状态 + TThostFtdcParkedOrderStatusType Status; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; + ///互换单标志 + TThostFtdcBoolType IsSwapOrder; +}; + +///输入预埋单操作 +struct CThostFtdcParkedOrderActionField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///报单操作引用 + TThostFtdcOrderActionRefType OrderActionRef; + ///报单引用 + TThostFtdcOrderRefType OrderRef; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///前置编号 + TThostFtdcFrontIDType FrontID; + ///会话编号 + TThostFtdcSessionIDType SessionID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///报单编号 + TThostFtdcOrderSysIDType OrderSysID; + ///操作标志 + TThostFtdcActionFlagType ActionFlag; + ///价格 + TThostFtdcPriceType LimitPrice; + ///数量变化 + TThostFtdcVolumeType VolumeChange; + ///用户代码 + TThostFtdcUserIDType UserID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///预埋撤单单编号 + TThostFtdcParkedOrderActionIDType ParkedOrderActionID; + ///用户类型 + TThostFtdcUserTypeType UserType; + ///预埋撤单状态 + TThostFtdcParkedOrderStatusType Status; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; +}; + +///查询预埋单 +struct CThostFtdcQryParkedOrderField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; +}; + +///查询预埋撤单 +struct CThostFtdcQryParkedOrderActionField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; +}; + +///删除预埋单 +struct CThostFtdcRemoveParkedOrderField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///预埋报单编号 + TThostFtdcParkedOrderIDType ParkedOrderID; +}; + +///删除预埋撤单 +struct CThostFtdcRemoveParkedOrderActionField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///预埋撤单编号 + TThostFtdcParkedOrderActionIDType ParkedOrderActionID; +}; + +///经纪公司可提资金算法表 +struct CThostFtdcInvestorWithdrawAlgorithmField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者范围 + TThostFtdcInvestorRangeType InvestorRange; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///可提资金比例 + TThostFtdcRatioType UsingRatio; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///货币质押比率 + TThostFtdcRatioType FundMortgageRatio; +}; + +///查询组合持仓明细 +struct CThostFtdcQryInvestorPositionCombineDetailField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///组合持仓合约编码 + TThostFtdcInstrumentIDType CombInstrumentID; +}; + +///成交均价 +struct CThostFtdcMarketDataAveragePriceField +{ + ///当日均价 + TThostFtdcPriceType AveragePrice; +}; + +///校验投资者密码 +struct CThostFtdcVerifyInvestorPasswordField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///密码 + TThostFtdcPasswordType Password; +}; + +///用户IP +struct CThostFtdcUserIPField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///IP地址 + TThostFtdcIPAddressType IPAddress; + ///IP地址掩码 + TThostFtdcIPAddressType IPMask; + ///Mac地址 + TThostFtdcMacAddressType MacAddress; +}; + +///用户事件通知信息 +struct CThostFtdcTradingNoticeInfoField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///发送时间 + TThostFtdcTimeType SendTime; + ///消息正文 + TThostFtdcContentType FieldContent; + ///序列系列号 + TThostFtdcSequenceSeriesType SequenceSeries; + ///序列号 + TThostFtdcSequenceNoType SequenceNo; +}; + +///用户事件通知 +struct CThostFtdcTradingNoticeField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者范围 + TThostFtdcInvestorRangeType InvestorRange; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///序列系列号 + TThostFtdcSequenceSeriesType SequenceSeries; + ///用户代码 + TThostFtdcUserIDType UserID; + ///发送时间 + TThostFtdcTimeType SendTime; + ///序列号 + TThostFtdcSequenceNoType SequenceNo; + ///消息正文 + TThostFtdcContentType FieldContent; +}; + +///查询交易事件通知 +struct CThostFtdcQryTradingNoticeField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; +}; + +///查询错误报单 +struct CThostFtdcQryErrOrderField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; +}; + +///错误报单 +struct CThostFtdcErrOrderField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///报单引用 + TThostFtdcOrderRefType OrderRef; + ///用户代码 + TThostFtdcUserIDType UserID; + ///报单价格条件 + TThostFtdcOrderPriceTypeType OrderPriceType; + ///买卖方向 + TThostFtdcDirectionType Direction; + ///组合开平标志 + TThostFtdcCombOffsetFlagType CombOffsetFlag; + ///组合投机套保标志 + TThostFtdcCombHedgeFlagType CombHedgeFlag; + ///价格 + TThostFtdcPriceType LimitPrice; + ///数量 + TThostFtdcVolumeType VolumeTotalOriginal; + ///有效期类型 + TThostFtdcTimeConditionType TimeCondition; + ///GTD日期 + TThostFtdcDateType GTDDate; + ///成交量类型 + TThostFtdcVolumeConditionType VolumeCondition; + ///最小成交量 + TThostFtdcVolumeType MinVolume; + ///触发条件 + TThostFtdcContingentConditionType ContingentCondition; + ///止损价 + TThostFtdcPriceType StopPrice; + ///强平原因 + TThostFtdcForceCloseReasonType ForceCloseReason; + ///自动挂起标志 + TThostFtdcBoolType IsAutoSuspend; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///用户强评标志 + TThostFtdcBoolType UserForceClose; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; + ///互换单标志 + TThostFtdcBoolType IsSwapOrder; +}; + +///查询错误报单操作 +struct CThostFtdcErrorConditionalOrderField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///报单引用 + TThostFtdcOrderRefType OrderRef; + ///用户代码 + TThostFtdcUserIDType UserID; + ///报单价格条件 + TThostFtdcOrderPriceTypeType OrderPriceType; + ///买卖方向 + TThostFtdcDirectionType Direction; + ///组合开平标志 + TThostFtdcCombOffsetFlagType CombOffsetFlag; + ///组合投机套保标志 + TThostFtdcCombHedgeFlagType CombHedgeFlag; + ///价格 + TThostFtdcPriceType LimitPrice; + ///数量 + TThostFtdcVolumeType VolumeTotalOriginal; + ///有效期类型 + TThostFtdcTimeConditionType TimeCondition; + ///GTD日期 + TThostFtdcDateType GTDDate; + ///成交量类型 + TThostFtdcVolumeConditionType VolumeCondition; + ///最小成交量 + TThostFtdcVolumeType MinVolume; + ///触发条件 + TThostFtdcContingentConditionType ContingentCondition; + ///止损价 + TThostFtdcPriceType StopPrice; + ///强平原因 + TThostFtdcForceCloseReasonType ForceCloseReason; + ///自动挂起标志 + TThostFtdcBoolType IsAutoSuspend; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///本地报单编号 + TThostFtdcOrderLocalIDType OrderLocalID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///报单提交状态 + TThostFtdcOrderSubmitStatusType OrderSubmitStatus; + ///报单提示序号 + TThostFtdcSequenceNoType NotifySequence; + ///交易日 + TThostFtdcDateType TradingDay; + ///结算编号 + TThostFtdcSettlementIDType SettlementID; + ///报单编号 + TThostFtdcOrderSysIDType OrderSysID; + ///报单来源 + TThostFtdcOrderSourceType OrderSource; + ///报单状态 + TThostFtdcOrderStatusType OrderStatus; + ///报单类型 + TThostFtdcOrderTypeType OrderType; + ///今成交数量 + TThostFtdcVolumeType VolumeTraded; + ///剩余数量 + TThostFtdcVolumeType VolumeTotal; + ///报单日期 + TThostFtdcDateType InsertDate; + ///委托时间 + TThostFtdcTimeType InsertTime; + ///激活时间 + TThostFtdcTimeType ActiveTime; + ///挂起时间 + TThostFtdcTimeType SuspendTime; + ///最后修改时间 + TThostFtdcTimeType UpdateTime; + ///撤销时间 + TThostFtdcTimeType CancelTime; + ///最后修改交易所交易员代码 + TThostFtdcTraderIDType ActiveTraderID; + ///结算会员编号 + TThostFtdcParticipantIDType ClearingPartID; + ///序号 + TThostFtdcSequenceNoType SequenceNo; + ///前置编号 + TThostFtdcFrontIDType FrontID; + ///会话编号 + TThostFtdcSessionIDType SessionID; + ///用户端产品信息 + TThostFtdcProductInfoType UserProductInfo; + ///状态信息 + TThostFtdcErrorMsgType StatusMsg; + ///用户强评标志 + TThostFtdcBoolType UserForceClose; + ///操作用户代码 + TThostFtdcUserIDType ActiveUserID; + ///经纪公司报单编号 + TThostFtdcSequenceNoType BrokerOrderSeq; + ///相关报单 + TThostFtdcOrderSysIDType RelativeOrderSysID; + ///郑商所成交数量 + TThostFtdcVolumeType ZCETotalTradedVolume; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; + ///互换单标志 + TThostFtdcBoolType IsSwapOrder; +}; + +///查询错误报单操作 +struct CThostFtdcQryErrOrderActionField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; +}; + +///错误报单操作 +struct CThostFtdcErrOrderActionField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///报单操作引用 + TThostFtdcOrderActionRefType OrderActionRef; + ///报单引用 + TThostFtdcOrderRefType OrderRef; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///前置编号 + TThostFtdcFrontIDType FrontID; + ///会话编号 + TThostFtdcSessionIDType SessionID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///报单编号 + TThostFtdcOrderSysIDType OrderSysID; + ///操作标志 + TThostFtdcActionFlagType ActionFlag; + ///价格 + TThostFtdcPriceType LimitPrice; + ///数量变化 + TThostFtdcVolumeType VolumeChange; + ///操作日期 + TThostFtdcDateType ActionDate; + ///操作时间 + TThostFtdcTimeType ActionTime; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///本地报单编号 + TThostFtdcOrderLocalIDType OrderLocalID; + ///操作本地编号 + TThostFtdcOrderLocalIDType ActionLocalID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///报单操作状态 + TThostFtdcOrderActionStatusType OrderActionStatus; + ///用户代码 + TThostFtdcUserIDType UserID; + ///状态信息 + TThostFtdcErrorMsgType StatusMsg; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; +}; + +///查询交易所状态 +struct CThostFtdcQryExchangeSequenceField +{ + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; +}; + +///交易所状态 +struct CThostFtdcExchangeSequenceField +{ + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///序号 + TThostFtdcSequenceNoType SequenceNo; + ///合约交易状态 + TThostFtdcInstrumentStatusType MarketStatus; +}; + +///根据价格查询最大报单数量 +struct CThostFtdcQueryMaxOrderVolumeWithPriceField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///买卖方向 + TThostFtdcDirectionType Direction; + ///开平标志 + TThostFtdcOffsetFlagType OffsetFlag; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///最大允许报单数量 + TThostFtdcVolumeType MaxVolume; + ///报单价格 + TThostFtdcPriceType Price; +}; + +///查询经纪公司交易参数 +struct CThostFtdcQryBrokerTradingParamsField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; +}; + +///经纪公司交易参数 +struct CThostFtdcBrokerTradingParamsField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///保证金价格类型 + TThostFtdcMarginPriceTypeType MarginPriceType; + ///盈亏算法 + TThostFtdcAlgorithmType Algorithm; + ///可用是否包含平仓盈利 + TThostFtdcIncludeCloseProfitType AvailIncludeCloseProfit; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///期权权利金价格类型 + TThostFtdcOptionRoyaltyPriceTypeType OptionRoyaltyPriceType; +}; + +///查询经纪公司交易算法 +struct CThostFtdcQryBrokerTradingAlgosField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; +}; + +///经纪公司交易算法 +struct CThostFtdcBrokerTradingAlgosField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///持仓处理算法编号 + TThostFtdcHandlePositionAlgoIDType HandlePositionAlgoID; + ///寻找保证金率算法编号 + TThostFtdcFindMarginRateAlgoIDType FindMarginRateAlgoID; + ///资金处理算法编号 + TThostFtdcHandleTradingAccountAlgoIDType HandleTradingAccountAlgoID; +}; + +///查询经纪公司资金 +struct CThostFtdcQueryBrokerDepositField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; +}; + +///经纪公司资金 +struct CThostFtdcBrokerDepositField +{ + ///交易日期 + TThostFtdcTradeDateType TradingDay; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///上次结算准备金 + TThostFtdcMoneyType PreBalance; + ///当前保证金总额 + TThostFtdcMoneyType CurrMargin; + ///平仓盈亏 + TThostFtdcMoneyType CloseProfit; + ///期货结算准备金 + TThostFtdcMoneyType Balance; + ///入金金额 + TThostFtdcMoneyType Deposit; + ///出金金额 + TThostFtdcMoneyType Withdraw; + ///可提资金 + TThostFtdcMoneyType Available; + ///基本准备金 + TThostFtdcMoneyType Reserve; + ///冻结的保证金 + TThostFtdcMoneyType FrozenMargin; +}; + +///查询保证金监管系统经纪公司密钥 +struct CThostFtdcQryCFMMCBrokerKeyField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; +}; + +///保证金监管系统经纪公司密钥 +struct CThostFtdcCFMMCBrokerKeyField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///经纪公司统一编码 + TThostFtdcParticipantIDType ParticipantID; + ///密钥生成日期 + TThostFtdcDateType CreateDate; + ///密钥生成时间 + TThostFtdcTimeType CreateTime; + ///密钥编号 + TThostFtdcSequenceNoType KeyID; + ///动态密钥 + TThostFtdcCFMMCKeyType CurrentKey; + ///动态密钥类型 + TThostFtdcCFMMCKeyKindType KeyKind; +}; + +///保证金监管系统经纪公司资金账户密钥 +struct CThostFtdcCFMMCTradingAccountKeyField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///经纪公司统一编码 + TThostFtdcParticipantIDType ParticipantID; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///密钥编号 + TThostFtdcSequenceNoType KeyID; + ///动态密钥 + TThostFtdcCFMMCKeyType CurrentKey; +}; + +///请求查询保证金监管系统经纪公司资金账户密钥 +struct CThostFtdcQryCFMMCTradingAccountKeyField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; +}; + +///用户动态令牌参数 +struct CThostFtdcBrokerUserOTPParamField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///动态令牌提供商 + TThostFtdcOTPVendorsIDType OTPVendorsID; + ///动态令牌序列号 + TThostFtdcSerialNumberType SerialNumber; + ///令牌密钥 + TThostFtdcAuthKeyType AuthKey; + ///漂移值 + TThostFtdcLastDriftType LastDrift; + ///成功值 + TThostFtdcLastSuccessType LastSuccess; + ///动态令牌类型 + TThostFtdcOTPTypeType OTPType; +}; + +///手工同步用户动态令牌 +struct CThostFtdcManualSyncBrokerUserOTPField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///动态令牌类型 + TThostFtdcOTPTypeType OTPType; + ///第一个动态密码 + TThostFtdcPasswordType FirstOTP; + ///第二个动态密码 + TThostFtdcPasswordType SecondOTP; +}; + +///投资者手续费率模板 +struct CThostFtdcCommRateModelField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///手续费率模板代码 + TThostFtdcInvestorIDType CommModelID; + ///模板名称 + TThostFtdcCommModelNameType CommModelName; +}; + +///请求查询投资者手续费率模板 +struct CThostFtdcQryCommRateModelField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///手续费率模板代码 + TThostFtdcInvestorIDType CommModelID; +}; + +///投资者保证金率模板 +struct CThostFtdcMarginModelField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///保证金率模板代码 + TThostFtdcInvestorIDType MarginModelID; + ///模板名称 + TThostFtdcCommModelNameType MarginModelName; +}; + +///请求查询投资者保证金率模板 +struct CThostFtdcQryMarginModelField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///保证金率模板代码 + TThostFtdcInvestorIDType MarginModelID; +}; + +///仓单折抵信息 +struct CThostFtdcEWarrantOffsetField +{ + ///交易日期 + TThostFtdcTradeDateType TradingDay; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///买卖方向 + TThostFtdcDirectionType Direction; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///数量 + TThostFtdcVolumeType Volume; +}; + +///查询仓单折抵信息 +struct CThostFtdcQryEWarrantOffsetField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; +}; + +///查询投资者品种/跨品种保证金 +struct CThostFtdcQryInvestorProductGroupMarginField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///品种/跨品种标示 + TThostFtdcInstrumentIDType ProductGroupID; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; +}; + +///投资者品种/跨品种保证金 +struct CThostFtdcInvestorProductGroupMarginField +{ + ///品种/跨品种标示 + TThostFtdcInstrumentIDType ProductGroupID; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///交易日 + TThostFtdcDateType TradingDay; + ///结算编号 + TThostFtdcSettlementIDType SettlementID; + ///冻结的保证金 + TThostFtdcMoneyType FrozenMargin; + ///多头冻结的保证金 + TThostFtdcMoneyType LongFrozenMargin; + ///空头冻结的保证金 + TThostFtdcMoneyType ShortFrozenMargin; + ///占用的保证金 + TThostFtdcMoneyType UseMargin; + ///多头保证金 + TThostFtdcMoneyType LongUseMargin; + ///空头保证金 + TThostFtdcMoneyType ShortUseMargin; + ///交易所保证金 + TThostFtdcMoneyType ExchMargin; + ///交易所多头保证金 + TThostFtdcMoneyType LongExchMargin; + ///交易所空头保证金 + TThostFtdcMoneyType ShortExchMargin; + ///平仓盈亏 + TThostFtdcMoneyType CloseProfit; + ///冻结的手续费 + TThostFtdcMoneyType FrozenCommission; + ///手续费 + TThostFtdcMoneyType Commission; + ///冻结的资金 + TThostFtdcMoneyType FrozenCash; + ///资金差额 + TThostFtdcMoneyType CashIn; + ///持仓盈亏 + TThostFtdcMoneyType PositionProfit; + ///折抵总金额 + TThostFtdcMoneyType OffsetAmount; + ///多头折抵总金额 + TThostFtdcMoneyType LongOffsetAmount; + ///空头折抵总金额 + TThostFtdcMoneyType ShortOffsetAmount; + ///交易所折抵总金额 + TThostFtdcMoneyType ExchOffsetAmount; + ///交易所多头折抵总金额 + TThostFtdcMoneyType LongExchOffsetAmount; + ///交易所空头折抵总金额 + TThostFtdcMoneyType ShortExchOffsetAmount; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; +}; + +///转帐开户请求 +struct CThostFtdcReqOpenAccountField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///客户姓名 + TThostFtdcIndividualNameType CustomerName; + ///证件类型 + TThostFtdcIdCardTypeType IdCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///性别 + TThostFtdcGenderType Gender; + ///国家代码 + TThostFtdcCountryCodeType CountryCode; + ///客户类型 + TThostFtdcCustTypeType CustType; + ///地址 + TThostFtdcAddressType Address; + ///邮编 + TThostFtdcZipCodeType ZipCode; + ///电话号码 + TThostFtdcTelephoneType Telephone; + ///手机 + TThostFtdcMobilePhoneType MobilePhone; + ///传真 + TThostFtdcFaxType Fax; + ///电子邮件 + TThostFtdcEMailType EMail; + ///资金账户状态 + TThostFtdcMoneyAccountStatusType MoneyAccountStatus; + ///银行帐号 + TThostFtdcBankAccountType BankAccount; + ///银行密码 + TThostFtdcPasswordType BankPassWord; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///期货密码 + TThostFtdcPasswordType Password; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///验证客户证件号码标志 + TThostFtdcYesNoIndicatorType VerifyCertNoFlag; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///汇钞标志 + TThostFtdcCashExchangeCodeType CashExchangeCode; + ///摘要 + TThostFtdcDigestType Digest; + ///银行帐号类型 + TThostFtdcBankAccTypeType BankAccType; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货单位帐号类型 + TThostFtdcBankAccTypeType BankSecuAccType; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///期货单位帐号 + TThostFtdcBankAccountType BankSecuAcc; + ///银行密码标志 + TThostFtdcPwdFlagType BankPwdFlag; + ///期货资金密码核对标志 + TThostFtdcPwdFlagType SecuPwdFlag; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///交易ID + TThostFtdcTIDType TID; + ///用户标识 + TThostFtdcUserIDType UserID; +}; + +///转帐销户请求 +struct CThostFtdcReqCancelAccountField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///客户姓名 + TThostFtdcIndividualNameType CustomerName; + ///证件类型 + TThostFtdcIdCardTypeType IdCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///性别 + TThostFtdcGenderType Gender; + ///国家代码 + TThostFtdcCountryCodeType CountryCode; + ///客户类型 + TThostFtdcCustTypeType CustType; + ///地址 + TThostFtdcAddressType Address; + ///邮编 + TThostFtdcZipCodeType ZipCode; + ///电话号码 + TThostFtdcTelephoneType Telephone; + ///手机 + TThostFtdcMobilePhoneType MobilePhone; + ///传真 + TThostFtdcFaxType Fax; + ///电子邮件 + TThostFtdcEMailType EMail; + ///资金账户状态 + TThostFtdcMoneyAccountStatusType MoneyAccountStatus; + ///银行帐号 + TThostFtdcBankAccountType BankAccount; + ///银行密码 + TThostFtdcPasswordType BankPassWord; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///期货密码 + TThostFtdcPasswordType Password; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///验证客户证件号码标志 + TThostFtdcYesNoIndicatorType VerifyCertNoFlag; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///汇钞标志 + TThostFtdcCashExchangeCodeType CashExchangeCode; + ///摘要 + TThostFtdcDigestType Digest; + ///银行帐号类型 + TThostFtdcBankAccTypeType BankAccType; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货单位帐号类型 + TThostFtdcBankAccTypeType BankSecuAccType; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///期货单位帐号 + TThostFtdcBankAccountType BankSecuAcc; + ///银行密码标志 + TThostFtdcPwdFlagType BankPwdFlag; + ///期货资金密码核对标志 + TThostFtdcPwdFlagType SecuPwdFlag; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///交易ID + TThostFtdcTIDType TID; + ///用户标识 + TThostFtdcUserIDType UserID; +}; + +///变更银行账户请求 +struct CThostFtdcReqChangeAccountField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///客户姓名 + TThostFtdcIndividualNameType CustomerName; + ///证件类型 + TThostFtdcIdCardTypeType IdCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///性别 + TThostFtdcGenderType Gender; + ///国家代码 + TThostFtdcCountryCodeType CountryCode; + ///客户类型 + TThostFtdcCustTypeType CustType; + ///地址 + TThostFtdcAddressType Address; + ///邮编 + TThostFtdcZipCodeType ZipCode; + ///电话号码 + TThostFtdcTelephoneType Telephone; + ///手机 + TThostFtdcMobilePhoneType MobilePhone; + ///传真 + TThostFtdcFaxType Fax; + ///电子邮件 + TThostFtdcEMailType EMail; + ///资金账户状态 + TThostFtdcMoneyAccountStatusType MoneyAccountStatus; + ///银行帐号 + TThostFtdcBankAccountType BankAccount; + ///银行密码 + TThostFtdcPasswordType BankPassWord; + ///新银行帐号 + TThostFtdcBankAccountType NewBankAccount; + ///新银行密码 + TThostFtdcPasswordType NewBankPassWord; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///期货密码 + TThostFtdcPasswordType Password; + ///银行帐号类型 + TThostFtdcBankAccTypeType BankAccType; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///验证客户证件号码标志 + TThostFtdcYesNoIndicatorType VerifyCertNoFlag; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///银行密码标志 + TThostFtdcPwdFlagType BankPwdFlag; + ///期货资金密码核对标志 + TThostFtdcPwdFlagType SecuPwdFlag; + ///交易ID + TThostFtdcTIDType TID; + ///摘要 + TThostFtdcDigestType Digest; +}; + +///转账请求 +struct CThostFtdcReqTransferField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///客户姓名 + TThostFtdcIndividualNameType CustomerName; + ///证件类型 + TThostFtdcIdCardTypeType IdCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///客户类型 + TThostFtdcCustTypeType CustType; + ///银行帐号 + TThostFtdcBankAccountType BankAccount; + ///银行密码 + TThostFtdcPasswordType BankPassWord; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///期货密码 + TThostFtdcPasswordType Password; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///期货公司流水号 + TThostFtdcFutureSerialType FutureSerial; + ///用户标识 + TThostFtdcUserIDType UserID; + ///验证客户证件号码标志 + TThostFtdcYesNoIndicatorType VerifyCertNoFlag; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///转帐金额 + TThostFtdcTradeAmountType TradeAmount; + ///期货可取金额 + TThostFtdcTradeAmountType FutureFetchAmount; + ///费用支付标志 + TThostFtdcFeePayFlagType FeePayFlag; + ///应收客户费用 + TThostFtdcCustFeeType CustFee; + ///应收期货公司费用 + TThostFtdcFutureFeeType BrokerFee; + ///发送方给接收方的消息 + TThostFtdcAddInfoType Message; + ///摘要 + TThostFtdcDigestType Digest; + ///银行帐号类型 + TThostFtdcBankAccTypeType BankAccType; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货单位帐号类型 + TThostFtdcBankAccTypeType BankSecuAccType; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///期货单位帐号 + TThostFtdcBankAccountType BankSecuAcc; + ///银行密码标志 + TThostFtdcPwdFlagType BankPwdFlag; + ///期货资金密码核对标志 + TThostFtdcPwdFlagType SecuPwdFlag; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///交易ID + TThostFtdcTIDType TID; + ///转账交易状态 + TThostFtdcTransferStatusType TransferStatus; +}; + +///银行发起银行资金转期货响应 +struct CThostFtdcRspTransferField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///客户姓名 + TThostFtdcIndividualNameType CustomerName; + ///证件类型 + TThostFtdcIdCardTypeType IdCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///客户类型 + TThostFtdcCustTypeType CustType; + ///银行帐号 + TThostFtdcBankAccountType BankAccount; + ///银行密码 + TThostFtdcPasswordType BankPassWord; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///期货密码 + TThostFtdcPasswordType Password; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///期货公司流水号 + TThostFtdcFutureSerialType FutureSerial; + ///用户标识 + TThostFtdcUserIDType UserID; + ///验证客户证件号码标志 + TThostFtdcYesNoIndicatorType VerifyCertNoFlag; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///转帐金额 + TThostFtdcTradeAmountType TradeAmount; + ///期货可取金额 + TThostFtdcTradeAmountType FutureFetchAmount; + ///费用支付标志 + TThostFtdcFeePayFlagType FeePayFlag; + ///应收客户费用 + TThostFtdcCustFeeType CustFee; + ///应收期货公司费用 + TThostFtdcFutureFeeType BrokerFee; + ///发送方给接收方的消息 + TThostFtdcAddInfoType Message; + ///摘要 + TThostFtdcDigestType Digest; + ///银行帐号类型 + TThostFtdcBankAccTypeType BankAccType; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货单位帐号类型 + TThostFtdcBankAccTypeType BankSecuAccType; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///期货单位帐号 + TThostFtdcBankAccountType BankSecuAcc; + ///银行密码标志 + TThostFtdcPwdFlagType BankPwdFlag; + ///期货资金密码核对标志 + TThostFtdcPwdFlagType SecuPwdFlag; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///交易ID + TThostFtdcTIDType TID; + ///转账交易状态 + TThostFtdcTransferStatusType TransferStatus; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; +}; + +///冲正请求 +struct CThostFtdcReqRepealField +{ + ///冲正时间间隔 + TThostFtdcRepealTimeIntervalType RepealTimeInterval; + ///已经冲正次数 + TThostFtdcRepealedTimesType RepealedTimes; + ///银行冲正标志 + TThostFtdcBankRepealFlagType BankRepealFlag; + ///期商冲正标志 + TThostFtdcBrokerRepealFlagType BrokerRepealFlag; + ///被冲正平台流水号 + TThostFtdcPlateSerialType PlateRepealSerial; + ///被冲正银行流水号 + TThostFtdcBankSerialType BankRepealSerial; + ///被冲正期货流水号 + TThostFtdcFutureSerialType FutureRepealSerial; + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///客户姓名 + TThostFtdcIndividualNameType CustomerName; + ///证件类型 + TThostFtdcIdCardTypeType IdCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///客户类型 + TThostFtdcCustTypeType CustType; + ///银行帐号 + TThostFtdcBankAccountType BankAccount; + ///银行密码 + TThostFtdcPasswordType BankPassWord; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///期货密码 + TThostFtdcPasswordType Password; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///期货公司流水号 + TThostFtdcFutureSerialType FutureSerial; + ///用户标识 + TThostFtdcUserIDType UserID; + ///验证客户证件号码标志 + TThostFtdcYesNoIndicatorType VerifyCertNoFlag; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///转帐金额 + TThostFtdcTradeAmountType TradeAmount; + ///期货可取金额 + TThostFtdcTradeAmountType FutureFetchAmount; + ///费用支付标志 + TThostFtdcFeePayFlagType FeePayFlag; + ///应收客户费用 + TThostFtdcCustFeeType CustFee; + ///应收期货公司费用 + TThostFtdcFutureFeeType BrokerFee; + ///发送方给接收方的消息 + TThostFtdcAddInfoType Message; + ///摘要 + TThostFtdcDigestType Digest; + ///银行帐号类型 + TThostFtdcBankAccTypeType BankAccType; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货单位帐号类型 + TThostFtdcBankAccTypeType BankSecuAccType; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///期货单位帐号 + TThostFtdcBankAccountType BankSecuAcc; + ///银行密码标志 + TThostFtdcPwdFlagType BankPwdFlag; + ///期货资金密码核对标志 + TThostFtdcPwdFlagType SecuPwdFlag; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///交易ID + TThostFtdcTIDType TID; + ///转账交易状态 + TThostFtdcTransferStatusType TransferStatus; +}; + +///冲正响应 +struct CThostFtdcRspRepealField +{ + ///冲正时间间隔 + TThostFtdcRepealTimeIntervalType RepealTimeInterval; + ///已经冲正次数 + TThostFtdcRepealedTimesType RepealedTimes; + ///银行冲正标志 + TThostFtdcBankRepealFlagType BankRepealFlag; + ///期商冲正标志 + TThostFtdcBrokerRepealFlagType BrokerRepealFlag; + ///被冲正平台流水号 + TThostFtdcPlateSerialType PlateRepealSerial; + ///被冲正银行流水号 + TThostFtdcBankSerialType BankRepealSerial; + ///被冲正期货流水号 + TThostFtdcFutureSerialType FutureRepealSerial; + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///客户姓名 + TThostFtdcIndividualNameType CustomerName; + ///证件类型 + TThostFtdcIdCardTypeType IdCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///客户类型 + TThostFtdcCustTypeType CustType; + ///银行帐号 + TThostFtdcBankAccountType BankAccount; + ///银行密码 + TThostFtdcPasswordType BankPassWord; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///期货密码 + TThostFtdcPasswordType Password; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///期货公司流水号 + TThostFtdcFutureSerialType FutureSerial; + ///用户标识 + TThostFtdcUserIDType UserID; + ///验证客户证件号码标志 + TThostFtdcYesNoIndicatorType VerifyCertNoFlag; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///转帐金额 + TThostFtdcTradeAmountType TradeAmount; + ///期货可取金额 + TThostFtdcTradeAmountType FutureFetchAmount; + ///费用支付标志 + TThostFtdcFeePayFlagType FeePayFlag; + ///应收客户费用 + TThostFtdcCustFeeType CustFee; + ///应收期货公司费用 + TThostFtdcFutureFeeType BrokerFee; + ///发送方给接收方的消息 + TThostFtdcAddInfoType Message; + ///摘要 + TThostFtdcDigestType Digest; + ///银行帐号类型 + TThostFtdcBankAccTypeType BankAccType; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货单位帐号类型 + TThostFtdcBankAccTypeType BankSecuAccType; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///期货单位帐号 + TThostFtdcBankAccountType BankSecuAcc; + ///银行密码标志 + TThostFtdcPwdFlagType BankPwdFlag; + ///期货资金密码核对标志 + TThostFtdcPwdFlagType SecuPwdFlag; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///交易ID + TThostFtdcTIDType TID; + ///转账交易状态 + TThostFtdcTransferStatusType TransferStatus; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; +}; + +///查询账户信息请求 +struct CThostFtdcReqQueryAccountField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///客户姓名 + TThostFtdcIndividualNameType CustomerName; + ///证件类型 + TThostFtdcIdCardTypeType IdCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///客户类型 + TThostFtdcCustTypeType CustType; + ///银行帐号 + TThostFtdcBankAccountType BankAccount; + ///银行密码 + TThostFtdcPasswordType BankPassWord; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///期货密码 + TThostFtdcPasswordType Password; + ///期货公司流水号 + TThostFtdcFutureSerialType FutureSerial; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///用户标识 + TThostFtdcUserIDType UserID; + ///验证客户证件号码标志 + TThostFtdcYesNoIndicatorType VerifyCertNoFlag; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///摘要 + TThostFtdcDigestType Digest; + ///银行帐号类型 + TThostFtdcBankAccTypeType BankAccType; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货单位帐号类型 + TThostFtdcBankAccTypeType BankSecuAccType; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///期货单位帐号 + TThostFtdcBankAccountType BankSecuAcc; + ///银行密码标志 + TThostFtdcPwdFlagType BankPwdFlag; + ///期货资金密码核对标志 + TThostFtdcPwdFlagType SecuPwdFlag; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///交易ID + TThostFtdcTIDType TID; +}; + +///查询账户信息响应 +struct CThostFtdcRspQueryAccountField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///客户姓名 + TThostFtdcIndividualNameType CustomerName; + ///证件类型 + TThostFtdcIdCardTypeType IdCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///客户类型 + TThostFtdcCustTypeType CustType; + ///银行帐号 + TThostFtdcBankAccountType BankAccount; + ///银行密码 + TThostFtdcPasswordType BankPassWord; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///期货密码 + TThostFtdcPasswordType Password; + ///期货公司流水号 + TThostFtdcFutureSerialType FutureSerial; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///用户标识 + TThostFtdcUserIDType UserID; + ///验证客户证件号码标志 + TThostFtdcYesNoIndicatorType VerifyCertNoFlag; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///摘要 + TThostFtdcDigestType Digest; + ///银行帐号类型 + TThostFtdcBankAccTypeType BankAccType; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货单位帐号类型 + TThostFtdcBankAccTypeType BankSecuAccType; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///期货单位帐号 + TThostFtdcBankAccountType BankSecuAcc; + ///银行密码标志 + TThostFtdcPwdFlagType BankPwdFlag; + ///期货资金密码核对标志 + TThostFtdcPwdFlagType SecuPwdFlag; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///交易ID + TThostFtdcTIDType TID; + ///银行可用金额 + TThostFtdcTradeAmountType BankUseAmount; + ///银行可取金额 + TThostFtdcTradeAmountType BankFetchAmount; +}; + +///期商签到签退 +struct CThostFtdcFutureSignIOField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///用户标识 + TThostFtdcUserIDType UserID; + ///摘要 + TThostFtdcDigestType Digest; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///交易ID + TThostFtdcTIDType TID; +}; + +///期商签到响应 +struct CThostFtdcRspFutureSignInField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///用户标识 + TThostFtdcUserIDType UserID; + ///摘要 + TThostFtdcDigestType Digest; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///交易ID + TThostFtdcTIDType TID; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; + ///PIN密钥 + TThostFtdcPasswordKeyType PinKey; + ///MAC密钥 + TThostFtdcPasswordKeyType MacKey; +}; + +///期商签退请求 +struct CThostFtdcReqFutureSignOutField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///用户标识 + TThostFtdcUserIDType UserID; + ///摘要 + TThostFtdcDigestType Digest; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///交易ID + TThostFtdcTIDType TID; +}; + +///期商签退响应 +struct CThostFtdcRspFutureSignOutField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///用户标识 + TThostFtdcUserIDType UserID; + ///摘要 + TThostFtdcDigestType Digest; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///交易ID + TThostFtdcTIDType TID; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; +}; + +///查询指定流水号的交易结果请求 +struct CThostFtdcReqQueryTradeResultBySerialField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///流水号 + TThostFtdcSerialType Reference; + ///本流水号发布者的机构类型 + TThostFtdcInstitutionTypeType RefrenceIssureType; + ///本流水号发布者机构编码 + TThostFtdcOrganCodeType RefrenceIssure; + ///客户姓名 + TThostFtdcIndividualNameType CustomerName; + ///证件类型 + TThostFtdcIdCardTypeType IdCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///客户类型 + TThostFtdcCustTypeType CustType; + ///银行帐号 + TThostFtdcBankAccountType BankAccount; + ///银行密码 + TThostFtdcPasswordType BankPassWord; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///期货密码 + TThostFtdcPasswordType Password; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///转帐金额 + TThostFtdcTradeAmountType TradeAmount; + ///摘要 + TThostFtdcDigestType Digest; +}; + +///查询指定流水号的交易结果响应 +struct CThostFtdcRspQueryTradeResultBySerialField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; + ///流水号 + TThostFtdcSerialType Reference; + ///本流水号发布者的机构类型 + TThostFtdcInstitutionTypeType RefrenceIssureType; + ///本流水号发布者机构编码 + TThostFtdcOrganCodeType RefrenceIssure; + ///原始返回代码 + TThostFtdcReturnCodeType OriginReturnCode; + ///原始返回码描述 + TThostFtdcDescrInfoForReturnCodeType OriginDescrInfoForReturnCode; + ///银行帐号 + TThostFtdcBankAccountType BankAccount; + ///银行密码 + TThostFtdcPasswordType BankPassWord; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///期货密码 + TThostFtdcPasswordType Password; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///转帐金额 + TThostFtdcTradeAmountType TradeAmount; + ///摘要 + TThostFtdcDigestType Digest; +}; + +///日终文件就绪请求 +struct CThostFtdcReqDayEndFileReadyField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///文件业务功能 + TThostFtdcFileBusinessCodeType FileBusinessCode; + ///摘要 + TThostFtdcDigestType Digest; +}; + +///返回结果 +struct CThostFtdcReturnResultField +{ + ///返回代码 + TThostFtdcReturnCodeType ReturnCode; + ///返回码描述 + TThostFtdcDescrInfoForReturnCodeType DescrInfoForReturnCode; +}; + +///验证期货资金密码 +struct CThostFtdcVerifyFuturePasswordField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///期货密码 + TThostFtdcPasswordType Password; + ///银行帐号 + TThostFtdcBankAccountType BankAccount; + ///银行密码 + TThostFtdcPasswordType BankPassWord; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///交易ID + TThostFtdcTIDType TID; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; +}; + +///验证客户信息 +struct CThostFtdcVerifyCustInfoField +{ + ///客户姓名 + TThostFtdcIndividualNameType CustomerName; + ///证件类型 + TThostFtdcIdCardTypeType IdCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///客户类型 + TThostFtdcCustTypeType CustType; +}; + +///验证期货资金密码和客户信息 +struct CThostFtdcVerifyFuturePasswordAndCustInfoField +{ + ///客户姓名 + TThostFtdcIndividualNameType CustomerName; + ///证件类型 + TThostFtdcIdCardTypeType IdCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///客户类型 + TThostFtdcCustTypeType CustType; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///期货密码 + TThostFtdcPasswordType Password; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; +}; + +///验证期货资金密码和客户信息 +struct CThostFtdcDepositResultInformField +{ + ///出入金流水号,该流水号为银期报盘返回的流水号 + TThostFtdcDepositSeqNoType DepositSeqNo; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///入金金额 + TThostFtdcMoneyType Deposit; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///返回代码 + TThostFtdcReturnCodeType ReturnCode; + ///返回码描述 + TThostFtdcDescrInfoForReturnCodeType DescrInfoForReturnCode; +}; + +///交易核心向银期报盘发出密钥同步请求 +struct CThostFtdcReqSyncKeyField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///用户标识 + TThostFtdcUserIDType UserID; + ///交易核心给银期报盘的消息 + TThostFtdcAddInfoType Message; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///交易ID + TThostFtdcTIDType TID; +}; + +///交易核心向银期报盘发出密钥同步响应 +struct CThostFtdcRspSyncKeyField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///用户标识 + TThostFtdcUserIDType UserID; + ///交易核心给银期报盘的消息 + TThostFtdcAddInfoType Message; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///交易ID + TThostFtdcTIDType TID; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; +}; + +///查询账户信息通知 +struct CThostFtdcNotifyQueryAccountField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///客户姓名 + TThostFtdcIndividualNameType CustomerName; + ///证件类型 + TThostFtdcIdCardTypeType IdCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///客户类型 + TThostFtdcCustTypeType CustType; + ///银行帐号 + TThostFtdcBankAccountType BankAccount; + ///银行密码 + TThostFtdcPasswordType BankPassWord; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///期货密码 + TThostFtdcPasswordType Password; + ///期货公司流水号 + TThostFtdcFutureSerialType FutureSerial; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///用户标识 + TThostFtdcUserIDType UserID; + ///验证客户证件号码标志 + TThostFtdcYesNoIndicatorType VerifyCertNoFlag; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///摘要 + TThostFtdcDigestType Digest; + ///银行帐号类型 + TThostFtdcBankAccTypeType BankAccType; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货单位帐号类型 + TThostFtdcBankAccTypeType BankSecuAccType; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///期货单位帐号 + TThostFtdcBankAccountType BankSecuAcc; + ///银行密码标志 + TThostFtdcPwdFlagType BankPwdFlag; + ///期货资金密码核对标志 + TThostFtdcPwdFlagType SecuPwdFlag; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///交易ID + TThostFtdcTIDType TID; + ///银行可用金额 + TThostFtdcTradeAmountType BankUseAmount; + ///银行可取金额 + TThostFtdcTradeAmountType BankFetchAmount; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; +}; + +///银期转账交易流水表 +struct CThostFtdcTransferSerialField +{ + ///平台流水号 + TThostFtdcPlateSerialType PlateSerial; + ///交易发起方日期 + TThostFtdcTradeDateType TradeDate; + ///交易日期 + TThostFtdcDateType TradingDay; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///交易代码 + TThostFtdcTradeCodeType TradeCode; + ///会话编号 + TThostFtdcSessionIDType SessionID; + ///银行编码 + TThostFtdcBankIDType BankID; + ///银行分支机构编码 + TThostFtdcBankBrchIDType BankBranchID; + ///银行帐号类型 + TThostFtdcBankAccTypeType BankAccType; + ///银行帐号 + TThostFtdcBankAccountType BankAccount; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///期货公司编码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///期货公司帐号类型 + TThostFtdcFutureAccTypeType FutureAccType; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///期货公司流水号 + TThostFtdcFutureSerialType FutureSerial; + ///证件类型 + TThostFtdcIdCardTypeType IdCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///交易金额 + TThostFtdcTradeAmountType TradeAmount; + ///应收客户费用 + TThostFtdcCustFeeType CustFee; + ///应收期货公司费用 + TThostFtdcFutureFeeType BrokerFee; + ///有效标志 + TThostFtdcAvailabilityFlagType AvailabilityFlag; + ///操作员 + TThostFtdcOperatorCodeType OperatorCode; + ///新银行帐号 + TThostFtdcBankAccountType BankNewAccount; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; +}; + +///请求查询转帐流水 +struct CThostFtdcQryTransferSerialField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///银行编码 + TThostFtdcBankIDType BankID; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; +}; + +///期商签到通知 +struct CThostFtdcNotifyFutureSignInField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///用户标识 + TThostFtdcUserIDType UserID; + ///摘要 + TThostFtdcDigestType Digest; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///交易ID + TThostFtdcTIDType TID; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; + ///PIN密钥 + TThostFtdcPasswordKeyType PinKey; + ///MAC密钥 + TThostFtdcPasswordKeyType MacKey; +}; + +///期商签退通知 +struct CThostFtdcNotifyFutureSignOutField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///用户标识 + TThostFtdcUserIDType UserID; + ///摘要 + TThostFtdcDigestType Digest; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///交易ID + TThostFtdcTIDType TID; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; +}; + +///交易核心向银期报盘发出密钥同步处理结果的通知 +struct CThostFtdcNotifySyncKeyField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///用户标识 + TThostFtdcUserIDType UserID; + ///交易核心给银期报盘的消息 + TThostFtdcAddInfoType Message; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///交易ID + TThostFtdcTIDType TID; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; +}; + +///请求查询银期签约关系 +struct CThostFtdcQryAccountregisterField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///银行编码 + TThostFtdcBankIDType BankID; + ///银行分支机构编码 + TThostFtdcBankBrchIDType BankBranchID; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; +}; + +///客户开销户信息表 +struct CThostFtdcAccountregisterField +{ + ///交易日期 + TThostFtdcTradeDateType TradeDay; + ///银行编码 + TThostFtdcBankIDType BankID; + ///银行分支机构编码 + TThostFtdcBankBrchIDType BankBranchID; + ///银行帐号 + TThostFtdcBankAccountType BankAccount; + ///期货公司编码 + TThostFtdcBrokerIDType BrokerID; + ///期货公司分支机构编码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///证件类型 + TThostFtdcIdCardTypeType IdCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///客户姓名 + TThostFtdcIndividualNameType CustomerName; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///开销户类别 + TThostFtdcOpenOrDestroyType OpenOrDestroy; + ///签约日期 + TThostFtdcTradeDateType RegDate; + ///解约日期 + TThostFtdcTradeDateType OutDate; + ///交易ID + TThostFtdcTIDType TID; + ///客户类型 + TThostFtdcCustTypeType CustType; + ///银行帐号类型 + TThostFtdcBankAccTypeType BankAccType; +}; + +///银期开户信息 +struct CThostFtdcOpenAccountField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///客户姓名 + TThostFtdcIndividualNameType CustomerName; + ///证件类型 + TThostFtdcIdCardTypeType IdCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///性别 + TThostFtdcGenderType Gender; + ///国家代码 + TThostFtdcCountryCodeType CountryCode; + ///客户类型 + TThostFtdcCustTypeType CustType; + ///地址 + TThostFtdcAddressType Address; + ///邮编 + TThostFtdcZipCodeType ZipCode; + ///电话号码 + TThostFtdcTelephoneType Telephone; + ///手机 + TThostFtdcMobilePhoneType MobilePhone; + ///传真 + TThostFtdcFaxType Fax; + ///电子邮件 + TThostFtdcEMailType EMail; + ///资金账户状态 + TThostFtdcMoneyAccountStatusType MoneyAccountStatus; + ///银行帐号 + TThostFtdcBankAccountType BankAccount; + ///银行密码 + TThostFtdcPasswordType BankPassWord; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///期货密码 + TThostFtdcPasswordType Password; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///验证客户证件号码标志 + TThostFtdcYesNoIndicatorType VerifyCertNoFlag; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///汇钞标志 + TThostFtdcCashExchangeCodeType CashExchangeCode; + ///摘要 + TThostFtdcDigestType Digest; + ///银行帐号类型 + TThostFtdcBankAccTypeType BankAccType; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货单位帐号类型 + TThostFtdcBankAccTypeType BankSecuAccType; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///期货单位帐号 + TThostFtdcBankAccountType BankSecuAcc; + ///银行密码标志 + TThostFtdcPwdFlagType BankPwdFlag; + ///期货资金密码核对标志 + TThostFtdcPwdFlagType SecuPwdFlag; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///交易ID + TThostFtdcTIDType TID; + ///用户标识 + TThostFtdcUserIDType UserID; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; +}; + +///银期销户信息 +struct CThostFtdcCancelAccountField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///客户姓名 + TThostFtdcIndividualNameType CustomerName; + ///证件类型 + TThostFtdcIdCardTypeType IdCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///性别 + TThostFtdcGenderType Gender; + ///国家代码 + TThostFtdcCountryCodeType CountryCode; + ///客户类型 + TThostFtdcCustTypeType CustType; + ///地址 + TThostFtdcAddressType Address; + ///邮编 + TThostFtdcZipCodeType ZipCode; + ///电话号码 + TThostFtdcTelephoneType Telephone; + ///手机 + TThostFtdcMobilePhoneType MobilePhone; + ///传真 + TThostFtdcFaxType Fax; + ///电子邮件 + TThostFtdcEMailType EMail; + ///资金账户状态 + TThostFtdcMoneyAccountStatusType MoneyAccountStatus; + ///银行帐号 + TThostFtdcBankAccountType BankAccount; + ///银行密码 + TThostFtdcPasswordType BankPassWord; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///期货密码 + TThostFtdcPasswordType Password; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///验证客户证件号码标志 + TThostFtdcYesNoIndicatorType VerifyCertNoFlag; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///汇钞标志 + TThostFtdcCashExchangeCodeType CashExchangeCode; + ///摘要 + TThostFtdcDigestType Digest; + ///银行帐号类型 + TThostFtdcBankAccTypeType BankAccType; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货单位帐号类型 + TThostFtdcBankAccTypeType BankSecuAccType; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///期货单位帐号 + TThostFtdcBankAccountType BankSecuAcc; + ///银行密码标志 + TThostFtdcPwdFlagType BankPwdFlag; + ///期货资金密码核对标志 + TThostFtdcPwdFlagType SecuPwdFlag; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///交易ID + TThostFtdcTIDType TID; + ///用户标识 + TThostFtdcUserIDType UserID; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; +}; + +///银期变更银行账号信息 +struct CThostFtdcChangeAccountField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///客户姓名 + TThostFtdcIndividualNameType CustomerName; + ///证件类型 + TThostFtdcIdCardTypeType IdCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///性别 + TThostFtdcGenderType Gender; + ///国家代码 + TThostFtdcCountryCodeType CountryCode; + ///客户类型 + TThostFtdcCustTypeType CustType; + ///地址 + TThostFtdcAddressType Address; + ///邮编 + TThostFtdcZipCodeType ZipCode; + ///电话号码 + TThostFtdcTelephoneType Telephone; + ///手机 + TThostFtdcMobilePhoneType MobilePhone; + ///传真 + TThostFtdcFaxType Fax; + ///电子邮件 + TThostFtdcEMailType EMail; + ///资金账户状态 + TThostFtdcMoneyAccountStatusType MoneyAccountStatus; + ///银行帐号 + TThostFtdcBankAccountType BankAccount; + ///银行密码 + TThostFtdcPasswordType BankPassWord; + ///新银行帐号 + TThostFtdcBankAccountType NewBankAccount; + ///新银行密码 + TThostFtdcPasswordType NewBankPassWord; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///期货密码 + TThostFtdcPasswordType Password; + ///银行帐号类型 + TThostFtdcBankAccTypeType BankAccType; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///验证客户证件号码标志 + TThostFtdcYesNoIndicatorType VerifyCertNoFlag; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///银行密码标志 + TThostFtdcPwdFlagType BankPwdFlag; + ///期货资金密码核对标志 + TThostFtdcPwdFlagType SecuPwdFlag; + ///交易ID + TThostFtdcTIDType TID; + ///摘要 + TThostFtdcDigestType Digest; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; +}; + +///二级代理操作员银期权限 +struct CThostFtdcSecAgentACIDMapField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///资金账户 + TThostFtdcAccountIDType AccountID; + ///币种 + TThostFtdcCurrencyIDType CurrencyID; + ///境外中介机构资金帐号 + TThostFtdcAccountIDType BrokerSecAgentID; +}; + +///二级代理操作员银期权限查询 +struct CThostFtdcQrySecAgentACIDMapField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///资金账户 + TThostFtdcAccountIDType AccountID; + ///币种 + TThostFtdcCurrencyIDType CurrencyID; +}; + +///灾备中心交易权限 +struct CThostFtdcUserRightsAssignField +{ + ///应用单元代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///交易中心代码 + TThostFtdcDRIdentityIDType DRIdentityID; +}; + +///经济公司是否有在本标示的交易权限 +struct CThostFtdcBrokerUserRightAssignField +{ + ///应用单元代码 + TThostFtdcBrokerIDType BrokerID; + ///交易中心代码 + TThostFtdcDRIdentityIDType DRIdentityID; + ///能否交易 + TThostFtdcBoolType Tradeable; +}; + +///灾备交易转换报文 +struct CThostFtdcDRTransferField +{ + ///原交易中心代码 + TThostFtdcDRIdentityIDType OrigDRIdentityID; + ///目标交易中心代码 + TThostFtdcDRIdentityIDType DestDRIdentityID; + ///原应用单元代码 + TThostFtdcBrokerIDType OrigBrokerID; + ///目标易用单元代码 + TThostFtdcBrokerIDType DestBrokerID; +}; + +///Fens用户信息 +struct CThostFtdcFensUserInfoField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///登录模式 + TThostFtdcLoginModeType LoginMode; +}; + +///当前银期所属交易中心 +struct CThostFtdcCurrTransferIdentityField +{ + ///交易中心代码 + TThostFtdcDRIdentityIDType IdentityID; +}; + +///禁止登录用户 +struct CThostFtdcLoginForbiddenUserField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; +}; + +///查询禁止登录用户 +struct CThostFtdcQryLoginForbiddenUserField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; +}; + +///UDP组播组信息 +struct CThostFtdcMulticastGroupInfoField +{ + ///组播组IP地址 + TThostFtdcIPAddressType GroupIP; + ///组播组IP端口 + TThostFtdcIPPortType GroupPort; + ///源地址 + TThostFtdcIPAddressType SourceIP; +}; + +///资金账户基本准备金 +struct CThostFtdcTradingAccountReserveField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///基本准备金 + TThostFtdcMoneyType Reserve; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; +}; + + + +#endif diff --git a/vn.ctp/ctpapi/error.dtd b/vn.ctp/ctpapi/error.dtd new file mode 100644 index 00000000..15e50b73 --- /dev/null +++ b/vn.ctp/ctpapi/error.dtd @@ -0,0 +1,9 @@ + + + + + diff --git a/vn.ctp/ctpapi/error.xml b/vn.ctp/ctpapi/error.xml new file mode 100644 index 00000000..419c018d --- /dev/null +++ b/vn.ctp/ctpapi/error.xml @@ -0,0 +1,118 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vn.ctp/ctpapi/thostmduserapi.dll b/vn.ctp/ctpapi/thostmduserapi.dll new file mode 100644 index 00000000..c7402a35 Binary files /dev/null and b/vn.ctp/ctpapi/thostmduserapi.dll differ diff --git a/vn.ctp/ctpapi/thostmduserapi.lib b/vn.ctp/ctpapi/thostmduserapi.lib new file mode 100644 index 00000000..23212405 Binary files /dev/null and b/vn.ctp/ctpapi/thostmduserapi.lib differ diff --git a/vn.ctp/ctpapi/thosttraderapi.dll b/vn.ctp/ctpapi/thosttraderapi.dll new file mode 100644 index 00000000..d0c6dea9 Binary files /dev/null and b/vn.ctp/ctpapi/thosttraderapi.dll differ diff --git a/vn.ctp/ctpapi/thosttraderapi.lib b/vn.ctp/ctpapi/thosttraderapi.lib new file mode 100644 index 00000000..fc5bf650 Binary files /dev/null and b/vn.ctp/ctpapi/thosttraderapi.lib differ diff --git a/vn.ctp/pyscript/ThostFtdcMdApi.h b/vn.ctp/pyscript/ThostFtdcMdApi.h new file mode 100644 index 00000000..9af915f4 --- /dev/null +++ b/vn.ctp/pyscript/ThostFtdcMdApi.h @@ -0,0 +1,158 @@ +///////////////////////////////////////////////////////////////////////// +///@system 新一代交易所系统 +///@company 上海期货信息技术有限公司 +///@file ThostFtdcMdApi.h +///@brief 定义了客户端接口 +///@history +///20060106 赵鸿昊 创建该文件 +///////////////////////////////////////////////////////////////////////// + +#if !defined(THOST_FTDCMDAPI_H) +#define THOST_FTDCMDAPI_H + +#if _MSC_VER > 1000 +#pragma once +#endif // _MSC_VER > 1000 + +#include "ThostFtdcUserApiStruct.h" + +#if defined(ISLIB) && defined(WIN32) +#ifdef LIB_MD_API_EXPORT +#define MD_API_EXPORT __declspec(dllexport) +#else +#define MD_API_EXPORT __declspec(dllimport) +#endif +#else +#define MD_API_EXPORT +#endif + +class CThostFtdcMdSpi +{ +public: + ///当客户端与交易后台建立起通信连接时(还未登录前),该方法被调用。 + virtual void OnFrontConnected(){}; + + ///当客户端与交易后台通信连接断开时,该方法被调用。当发生这个情况后,API会自动重新连接,客户端可不做处理。 + ///@param nReason 错误原因 + /// 0x1001 网络读失败 + /// 0x1002 网络写失败 + /// 0x2001 接收心跳超时 + /// 0x2002 发送心跳失败 + /// 0x2003 收到错误报文 + virtual void OnFrontDisconnected(int nReason){}; + + ///心跳超时警告。当长时间未收到报文时,该方法被调用。 + ///@param nTimeLapse 距离上次接收报文的时间 + virtual void OnHeartBeatWarning(int nTimeLapse){}; + + + ///登录请求响应 + virtual void OnRspUserLogin(CThostFtdcRspUserLoginField *pRspUserLogin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///登出请求响应 + virtual void OnRspUserLogout(CThostFtdcUserLogoutField *pUserLogout, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///错误应答 + virtual void OnRspError(CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///订阅行情应答 + virtual void OnRspSubMarketData(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///取消订阅行情应答 + virtual void OnRspUnSubMarketData(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///订阅询价应答 + virtual void OnRspSubForQuoteRsp(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///取消订阅询价应答 + virtual void OnRspUnSubForQuoteRsp(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///深度行情通知 + virtual void OnRtnDepthMarketData(CThostFtdcDepthMarketDataField *pDepthMarketData) {}; + + ///询价通知 + virtual void OnRtnForQuoteRsp(CThostFtdcForQuoteRspField *pForQuoteRsp) {}; +}; + +class MD_API_EXPORT CThostFtdcMdApi +{ +public: + ///创建MdApi + ///@param pszFlowPath 存贮订阅信息文件的目录,默认为当前目录 + ///@return 创建出的UserApi + ///modify for udp marketdata + static CThostFtdcMdApi *CreateFtdcMdApi(const char *pszFlowPath = "", const bool bIsUsingUdp=false, const bool bIsMulticast=false); + + ///删除接口对象本身 + ///@remark 不再使用本接口对象时,调用该函数删除接口对象 + virtual void Release() = 0; + + ///初始化 + ///@remark 初始化运行环境,只有调用后,接口才开始工作 + virtual void Init() = 0; + + ///等待接口线程结束运行 + ///@return 线程退出代码 + virtual int Join() = 0; + + ///获取当前交易日 + ///@retrun 获取到的交易日 + ///@remark 只有登录成功后,才能得到正确的交易日 + virtual const char *GetTradingDay() = 0; + + ///注册前置机网络地址 + ///@param pszFrontAddress:前置机网络地址。 + ///@remark 网络地址的格式为:“protocol://ipaddress:port”,如:”tcp://127.0.0.1:17001”。 + ///@remark “tcp”代表传输协议,“127.0.0.1”代表服务器地址。”17001”代表服务器端口号。 + virtual void RegisterFront(char *pszFrontAddress) = 0; + + ///注册名字服务器网络地址 + ///@param pszNsAddress:名字服务器网络地址。 + ///@remark 网络地址的格式为:“protocol://ipaddress:port”,如:”tcp://127.0.0.1:12001”。 + ///@remark “tcp”代表传输协议,“127.0.0.1”代表服务器地址。”12001”代表服务器端口号。 + ///@remark RegisterNameServer优先于RegisterFront + virtual void RegisterNameServer(char *pszNsAddress) = 0; + + ///注册名字服务器用户信息 + ///@param pFensUserInfo:用户信息。 + virtual void RegisterFensUserInfo(CThostFtdcFensUserInfoField * pFensUserInfo) = 0; + + ///注册回调接口 + ///@param pSpi 派生自回调接口类的实例 + virtual void RegisterSpi(CThostFtdcMdSpi *pSpi) = 0; + + ///订阅行情。 + ///@param ppInstrumentID 合约ID + ///@param nCount 要订阅/退订行情的合约个数 + ///@remark + virtual int SubscribeMarketData(char *ppInstrumentID[], int nCount) = 0; + + ///退订行情。 + ///@param ppInstrumentID 合约ID + ///@param nCount 要订阅/退订行情的合约个数 + ///@remark + virtual int UnSubscribeMarketData(char *ppInstrumentID[], int nCount) = 0; + + ///订阅询价。 + ///@param ppInstrumentID 合约ID + ///@param nCount 要订阅/退订行情的合约个数 + ///@remark + virtual int SubscribeForQuoteRsp(char *ppInstrumentID[], int nCount) = 0; + + ///退订询价。 + ///@param ppInstrumentID 合约ID + ///@param nCount 要订阅/退订行情的合约个数 + ///@remark + virtual int UnSubscribeForQuoteRsp(char *ppInstrumentID[], int nCount) = 0; + + ///用户登录请求 + virtual int ReqUserLogin(CThostFtdcReqUserLoginField *pReqUserLoginField, int nRequestID) = 0; + + + ///登出请求 + virtual int ReqUserLogout(CThostFtdcUserLogoutField *pUserLogout, int nRequestID) = 0; +protected: + ~CThostFtdcMdApi(){}; +}; + +#endif diff --git a/vn.ctp/pyscript/ThostFtdcTraderApi.h b/vn.ctp/pyscript/ThostFtdcTraderApi.h new file mode 100644 index 00000000..93ea0fc7 --- /dev/null +++ b/vn.ctp/pyscript/ThostFtdcTraderApi.h @@ -0,0 +1,575 @@ +///////////////////////////////////////////////////////////////////////// +///@system 新一代交易所系统 +///@company 上海期货信息技术有限公司 +///@file ThostFtdcTraderApi.h +///@brief 定义了客户端接口 +///@history +///20060106 赵鸿昊 创建该文件 +///////////////////////////////////////////////////////////////////////// + +#if !defined(THOST_FTDCTRADERAPI_H) +#define THOST_FTDCTRADERAPI_H + +#if _MSC_VER > 1000 +#pragma once +#endif // _MSC_VER > 1000 + +#include "ThostFtdcUserApiStruct.h" + +#if defined(ISLIB) && defined(WIN32) +#ifdef LIB_TRADER_API_EXPORT +#define TRADER_API_EXPORT __declspec(dllexport) +#else +#define TRADER_API_EXPORT __declspec(dllimport) +#endif +#else +#define TRADER_API_EXPORT +#endif + +class CThostFtdcTraderSpi +{ +public: + ///当客户端与交易后台建立起通信连接时(还未登录前),该方法被调用。 + virtual void OnFrontConnected(){}; + + ///当客户端与交易后台通信连接断开时,该方法被调用。当发生这个情况后,API会自动重新连接,客户端可不做处理。 + ///@param nReason 错误原因 + /// 0x1001 网络读失败 + /// 0x1002 网络写失败 + /// 0x2001 接收心跳超时 + /// 0x2002 发送心跳失败 + /// 0x2003 收到错误报文 + virtual void OnFrontDisconnected(int nReason){}; + + ///心跳超时警告。当长时间未收到报文时,该方法被调用。 + ///@param nTimeLapse 距离上次接收报文的时间 + virtual void OnHeartBeatWarning(int nTimeLapse){}; + + ///客户端认证响应 + virtual void OnRspAuthenticate(CThostFtdcRspAuthenticateField *pRspAuthenticateField, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + + ///登录请求响应 + virtual void OnRspUserLogin(CThostFtdcRspUserLoginField *pRspUserLogin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///登出请求响应 + virtual void OnRspUserLogout(CThostFtdcUserLogoutField *pUserLogout, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///用户口令更新请求响应 + virtual void OnRspUserPasswordUpdate(CThostFtdcUserPasswordUpdateField *pUserPasswordUpdate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///资金账户口令更新请求响应 + virtual void OnRspTradingAccountPasswordUpdate(CThostFtdcTradingAccountPasswordUpdateField *pTradingAccountPasswordUpdate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///报单录入请求响应 + virtual void OnRspOrderInsert(CThostFtdcInputOrderField *pInputOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///预埋单录入请求响应 + virtual void OnRspParkedOrderInsert(CThostFtdcParkedOrderField *pParkedOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///预埋撤单录入请求响应 + virtual void OnRspParkedOrderAction(CThostFtdcParkedOrderActionField *pParkedOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///报单操作请求响应 + virtual void OnRspOrderAction(CThostFtdcInputOrderActionField *pInputOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///查询最大报单数量响应 + virtual void OnRspQueryMaxOrderVolume(CThostFtdcQueryMaxOrderVolumeField *pQueryMaxOrderVolume, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///投资者结算结果确认响应 + virtual void OnRspSettlementInfoConfirm(CThostFtdcSettlementInfoConfirmField *pSettlementInfoConfirm, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///删除预埋单响应 + virtual void OnRspRemoveParkedOrder(CThostFtdcRemoveParkedOrderField *pRemoveParkedOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///删除预埋撤单响应 + virtual void OnRspRemoveParkedOrderAction(CThostFtdcRemoveParkedOrderActionField *pRemoveParkedOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///执行宣告录入请求响应 + virtual void OnRspExecOrderInsert(CThostFtdcInputExecOrderField *pInputExecOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///执行宣告操作请求响应 + virtual void OnRspExecOrderAction(CThostFtdcInputExecOrderActionField *pInputExecOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///询价录入请求响应 + virtual void OnRspForQuoteInsert(CThostFtdcInputForQuoteField *pInputForQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///报价录入请求响应 + virtual void OnRspQuoteInsert(CThostFtdcInputQuoteField *pInputQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///报价操作请求响应 + virtual void OnRspQuoteAction(CThostFtdcInputQuoteActionField *pInputQuoteAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询报单响应 + virtual void OnRspQryOrder(CThostFtdcOrderField *pOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询成交响应 + virtual void OnRspQryTrade(CThostFtdcTradeField *pTrade, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询投资者持仓响应 + virtual void OnRspQryInvestorPosition(CThostFtdcInvestorPositionField *pInvestorPosition, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询资金账户响应 + virtual void OnRspQryTradingAccount(CThostFtdcTradingAccountField *pTradingAccount, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询投资者响应 + virtual void OnRspQryInvestor(CThostFtdcInvestorField *pInvestor, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询交易编码响应 + virtual void OnRspQryTradingCode(CThostFtdcTradingCodeField *pTradingCode, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询合约保证金率响应 + virtual void OnRspQryInstrumentMarginRate(CThostFtdcInstrumentMarginRateField *pInstrumentMarginRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询合约手续费率响应 + virtual void OnRspQryInstrumentCommissionRate(CThostFtdcInstrumentCommissionRateField *pInstrumentCommissionRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询交易所响应 + virtual void OnRspQryExchange(CThostFtdcExchangeField *pExchange, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询产品响应 + virtual void OnRspQryProduct(CThostFtdcProductField *pProduct, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询合约响应 + virtual void OnRspQryInstrument(CThostFtdcInstrumentField *pInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询行情响应 + virtual void OnRspQryDepthMarketData(CThostFtdcDepthMarketDataField *pDepthMarketData, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询投资者结算结果响应 + virtual void OnRspQrySettlementInfo(CThostFtdcSettlementInfoField *pSettlementInfo, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询转帐银行响应 + virtual void OnRspQryTransferBank(CThostFtdcTransferBankField *pTransferBank, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询投资者持仓明细响应 + virtual void OnRspQryInvestorPositionDetail(CThostFtdcInvestorPositionDetailField *pInvestorPositionDetail, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询客户通知响应 + virtual void OnRspQryNotice(CThostFtdcNoticeField *pNotice, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询结算信息确认响应 + virtual void OnRspQrySettlementInfoConfirm(CThostFtdcSettlementInfoConfirmField *pSettlementInfoConfirm, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询投资者持仓明细响应 + virtual void OnRspQryInvestorPositionCombineDetail(CThostFtdcInvestorPositionCombineDetailField *pInvestorPositionCombineDetail, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///查询保证金监管系统经纪公司资金账户密钥响应 + virtual void OnRspQryCFMMCTradingAccountKey(CThostFtdcCFMMCTradingAccountKeyField *pCFMMCTradingAccountKey, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询仓单折抵信息响应 + virtual void OnRspQryEWarrantOffset(CThostFtdcEWarrantOffsetField *pEWarrantOffset, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询投资者品种/跨品种保证金响应 + virtual void OnRspQryInvestorProductGroupMargin(CThostFtdcInvestorProductGroupMarginField *pInvestorProductGroupMargin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询交易所保证金率响应 + virtual void OnRspQryExchangeMarginRate(CThostFtdcExchangeMarginRateField *pExchangeMarginRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询交易所调整保证金率响应 + virtual void OnRspQryExchangeMarginRateAdjust(CThostFtdcExchangeMarginRateAdjustField *pExchangeMarginRateAdjust, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询汇率响应 + virtual void OnRspQryExchangeRate(CThostFtdcExchangeRateField *pExchangeRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询二级代理操作员银期权限响应 + virtual void OnRspQrySecAgentACIDMap(CThostFtdcSecAgentACIDMapField *pSecAgentACIDMap, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询期权交易成本响应 + virtual void OnRspQryOptionInstrTradeCost(CThostFtdcOptionInstrTradeCostField *pOptionInstrTradeCost, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询期权合约手续费响应 + virtual void OnRspQryOptionInstrCommRate(CThostFtdcOptionInstrCommRateField *pOptionInstrCommRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询执行宣告响应 + virtual void OnRspQryExecOrder(CThostFtdcExecOrderField *pExecOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询询价响应 + virtual void OnRspQryForQuote(CThostFtdcForQuoteField *pForQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询报价响应 + virtual void OnRspQryQuote(CThostFtdcQuoteField *pQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询转帐流水响应 + virtual void OnRspQryTransferSerial(CThostFtdcTransferSerialField *pTransferSerial, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询银期签约关系响应 + virtual void OnRspQryAccountregister(CThostFtdcAccountregisterField *pAccountregister, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///错误应答 + virtual void OnRspError(CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///报单通知 + virtual void OnRtnOrder(CThostFtdcOrderField *pOrder) {}; + + ///成交通知 + virtual void OnRtnTrade(CThostFtdcTradeField *pTrade) {}; + + ///报单录入错误回报 + virtual void OnErrRtnOrderInsert(CThostFtdcInputOrderField *pInputOrder, CThostFtdcRspInfoField *pRspInfo) {}; + + ///报单操作错误回报 + virtual void OnErrRtnOrderAction(CThostFtdcOrderActionField *pOrderAction, CThostFtdcRspInfoField *pRspInfo) {}; + + ///合约交易状态通知 + virtual void OnRtnInstrumentStatus(CThostFtdcInstrumentStatusField *pInstrumentStatus) {}; + + ///交易通知 + virtual void OnRtnTradingNotice(CThostFtdcTradingNoticeInfoField *pTradingNoticeInfo) {}; + + ///提示条件单校验错误 + virtual void OnRtnErrorConditionalOrder(CThostFtdcErrorConditionalOrderField *pErrorConditionalOrder) {}; + + ///执行宣告通知 + virtual void OnRtnExecOrder(CThostFtdcExecOrderField *pExecOrder) {}; + + ///执行宣告录入错误回报 + virtual void OnErrRtnExecOrderInsert(CThostFtdcInputExecOrderField *pInputExecOrder, CThostFtdcRspInfoField *pRspInfo) {}; + + ///执行宣告操作错误回报 + virtual void OnErrRtnExecOrderAction(CThostFtdcExecOrderActionField *pExecOrderAction, CThostFtdcRspInfoField *pRspInfo) {}; + + ///询价录入错误回报 + virtual void OnErrRtnForQuoteInsert(CThostFtdcInputForQuoteField *pInputForQuote, CThostFtdcRspInfoField *pRspInfo) {}; + + ///报价通知 + virtual void OnRtnQuote(CThostFtdcQuoteField *pQuote) {}; + + ///报价录入错误回报 + virtual void OnErrRtnQuoteInsert(CThostFtdcInputQuoteField *pInputQuote, CThostFtdcRspInfoField *pRspInfo) {}; + + ///报价操作错误回报 + virtual void OnErrRtnQuoteAction(CThostFtdcQuoteActionField *pQuoteAction, CThostFtdcRspInfoField *pRspInfo) {}; + + ///询价通知 + virtual void OnRtnForQuoteRsp(CThostFtdcForQuoteRspField *pForQuoteRsp) {}; + + ///请求查询签约银行响应 + virtual void OnRspQryContractBank(CThostFtdcContractBankField *pContractBank, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询预埋单响应 + virtual void OnRspQryParkedOrder(CThostFtdcParkedOrderField *pParkedOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询预埋撤单响应 + virtual void OnRspQryParkedOrderAction(CThostFtdcParkedOrderActionField *pParkedOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询交易通知响应 + virtual void OnRspQryTradingNotice(CThostFtdcTradingNoticeField *pTradingNotice, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询经纪公司交易参数响应 + virtual void OnRspQryBrokerTradingParams(CThostFtdcBrokerTradingParamsField *pBrokerTradingParams, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///请求查询经纪公司交易算法响应 + virtual void OnRspQryBrokerTradingAlgos(CThostFtdcBrokerTradingAlgosField *pBrokerTradingAlgos, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///银行发起银行资金转期货通知 + virtual void OnRtnFromBankToFutureByBank(CThostFtdcRspTransferField *pRspTransfer) {}; + + ///银行发起期货资金转银行通知 + virtual void OnRtnFromFutureToBankByBank(CThostFtdcRspTransferField *pRspTransfer) {}; + + ///银行发起冲正银行转期货通知 + virtual void OnRtnRepealFromBankToFutureByBank(CThostFtdcRspRepealField *pRspRepeal) {}; + + ///银行发起冲正期货转银行通知 + virtual void OnRtnRepealFromFutureToBankByBank(CThostFtdcRspRepealField *pRspRepeal) {}; + + ///期货发起银行资金转期货通知 + virtual void OnRtnFromBankToFutureByFuture(CThostFtdcRspTransferField *pRspTransfer) {}; + + ///期货发起期货资金转银行通知 + virtual void OnRtnFromFutureToBankByFuture(CThostFtdcRspTransferField *pRspTransfer) {}; + + ///系统运行时期货端手工发起冲正银行转期货请求,银行处理完毕后报盘发回的通知 + virtual void OnRtnRepealFromBankToFutureByFutureManual(CThostFtdcRspRepealField *pRspRepeal) {}; + + ///系统运行时期货端手工发起冲正期货转银行请求,银行处理完毕后报盘发回的通知 + virtual void OnRtnRepealFromFutureToBankByFutureManual(CThostFtdcRspRepealField *pRspRepeal) {}; + + ///期货发起查询银行余额通知 + virtual void OnRtnQueryBankBalanceByFuture(CThostFtdcNotifyQueryAccountField *pNotifyQueryAccount) {}; + + ///期货发起银行资金转期货错误回报 + virtual void OnErrRtnBankToFutureByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo) {}; + + ///期货发起期货资金转银行错误回报 + virtual void OnErrRtnFutureToBankByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo) {}; + + ///系统运行时期货端手工发起冲正银行转期货错误回报 + virtual void OnErrRtnRepealBankToFutureByFutureManual(CThostFtdcReqRepealField *pReqRepeal, CThostFtdcRspInfoField *pRspInfo) {}; + + ///系统运行时期货端手工发起冲正期货转银行错误回报 + virtual void OnErrRtnRepealFutureToBankByFutureManual(CThostFtdcReqRepealField *pReqRepeal, CThostFtdcRspInfoField *pRspInfo) {}; + + ///期货发起查询银行余额错误回报 + virtual void OnErrRtnQueryBankBalanceByFuture(CThostFtdcReqQueryAccountField *pReqQueryAccount, CThostFtdcRspInfoField *pRspInfo) {}; + + ///期货发起冲正银行转期货请求,银行处理完毕后报盘发回的通知 + virtual void OnRtnRepealFromBankToFutureByFuture(CThostFtdcRspRepealField *pRspRepeal) {}; + + ///期货发起冲正期货转银行请求,银行处理完毕后报盘发回的通知 + virtual void OnRtnRepealFromFutureToBankByFuture(CThostFtdcRspRepealField *pRspRepeal) {}; + + ///期货发起银行资金转期货应答 + virtual void OnRspFromBankToFutureByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///期货发起期货资金转银行应答 + virtual void OnRspFromFutureToBankByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///期货发起查询银行余额应答 + virtual void OnRspQueryBankAccountMoneyByFuture(CThostFtdcReqQueryAccountField *pReqQueryAccount, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; + + ///银行发起银期开户通知 + virtual void OnRtnOpenAccountByBank(CThostFtdcOpenAccountField *pOpenAccount) {}; + + ///银行发起银期销户通知 + virtual void OnRtnCancelAccountByBank(CThostFtdcCancelAccountField *pCancelAccount) {}; + + ///银行发起变更银行账号通知 + virtual void OnRtnChangeAccountByBank(CThostFtdcChangeAccountField *pChangeAccount) {}; +}; + +class TRADER_API_EXPORT CThostFtdcTraderApi +{ +public: + ///创建TraderApi + ///@param pszFlowPath 存贮订阅信息文件的目录,默认为当前目录 + ///@return 创建出的UserApi + static CThostFtdcTraderApi *CreateFtdcTraderApi(const char *pszFlowPath = ""); + + ///删除接口对象本身 + ///@remark 不再使用本接口对象时,调用该函数删除接口对象 + virtual void Release() = 0; + + ///初始化 + ///@remark 初始化运行环境,只有调用后,接口才开始工作 + virtual void Init() = 0; + + ///等待接口线程结束运行 + ///@return 线程退出代码 + virtual int Join() = 0; + + ///获取当前交易日 + ///@retrun 获取到的交易日 + ///@remark 只有登录成功后,才能得到正确的交易日 + virtual const char *GetTradingDay() = 0; + + ///注册前置机网络地址 + ///@param pszFrontAddress:前置机网络地址。 + ///@remark 网络地址的格式为:“protocol://ipaddress:port”,如:”tcp://127.0.0.1:17001”。 + ///@remark “tcp”代表传输协议,“127.0.0.1”代表服务器地址。”17001”代表服务器端口号。 + virtual void RegisterFront(char *pszFrontAddress) = 0; + + ///注册名字服务器网络地址 + ///@param pszNsAddress:名字服务器网络地址。 + ///@remark 网络地址的格式为:“protocol://ipaddress:port”,如:”tcp://127.0.0.1:12001”。 + ///@remark “tcp”代表传输协议,“127.0.0.1”代表服务器地址。”12001”代表服务器端口号。 + ///@remark RegisterNameServer优先于RegisterFront + virtual void RegisterNameServer(char *pszNsAddress) = 0; + + ///注册名字服务器用户信息 + ///@param pFensUserInfo:用户信息。 + virtual void RegisterFensUserInfo(CThostFtdcFensUserInfoField * pFensUserInfo) = 0; + + ///注册回调接口 + ///@param pSpi 派生自回调接口类的实例 + virtual void RegisterSpi(CThostFtdcTraderSpi *pSpi) = 0; + + ///订阅私有流。 + ///@param nResumeType 私有流重传方式 + /// THOST_TERT_RESTART:从本交易日开始重传 + /// THOST_TERT_RESUME:从上次收到的续传 + /// THOST_TERT_QUICK:只传送登录后私有流的内容 + ///@remark 该方法要在Init方法前调用。若不调用则不会收到私有流的数据。 + virtual void SubscribePrivateTopic(THOST_TE_RESUME_TYPE nResumeType) = 0; + + ///订阅公共流。 + ///@param nResumeType 公共流重传方式 + /// THOST_TERT_RESTART:从本交易日开始重传 + /// THOST_TERT_RESUME:从上次收到的续传 + /// THOST_TERT_QUICK:只传送登录后公共流的内容 + ///@remark 该方法要在Init方法前调用。若不调用则不会收到公共流的数据。 + virtual void SubscribePublicTopic(THOST_TE_RESUME_TYPE nResumeType) = 0; + + ///客户端认证请求 + virtual int ReqAuthenticate(CThostFtdcReqAuthenticateField *pReqAuthenticateField, int nRequestID) = 0; + + ///用户登录请求 + virtual int ReqUserLogin(CThostFtdcReqUserLoginField *pReqUserLoginField, int nRequestID) = 0; + + + ///登出请求 + virtual int ReqUserLogout(CThostFtdcUserLogoutField *pUserLogout, int nRequestID) = 0; + + ///用户口令更新请求 + virtual int ReqUserPasswordUpdate(CThostFtdcUserPasswordUpdateField *pUserPasswordUpdate, int nRequestID) = 0; + + ///资金账户口令更新请求 + virtual int ReqTradingAccountPasswordUpdate(CThostFtdcTradingAccountPasswordUpdateField *pTradingAccountPasswordUpdate, int nRequestID) = 0; + + ///报单录入请求 + virtual int ReqOrderInsert(CThostFtdcInputOrderField *pInputOrder, int nRequestID) = 0; + + ///预埋单录入请求 + virtual int ReqParkedOrderInsert(CThostFtdcParkedOrderField *pParkedOrder, int nRequestID) = 0; + + ///预埋撤单录入请求 + virtual int ReqParkedOrderAction(CThostFtdcParkedOrderActionField *pParkedOrderAction, int nRequestID) = 0; + + ///报单操作请求 + virtual int ReqOrderAction(CThostFtdcInputOrderActionField *pInputOrderAction, int nRequestID) = 0; + + ///查询最大报单数量请求 + virtual int ReqQueryMaxOrderVolume(CThostFtdcQueryMaxOrderVolumeField *pQueryMaxOrderVolume, int nRequestID) = 0; + + ///投资者结算结果确认 + virtual int ReqSettlementInfoConfirm(CThostFtdcSettlementInfoConfirmField *pSettlementInfoConfirm, int nRequestID) = 0; + + ///请求删除预埋单 + virtual int ReqRemoveParkedOrder(CThostFtdcRemoveParkedOrderField *pRemoveParkedOrder, int nRequestID) = 0; + + ///请求删除预埋撤单 + virtual int ReqRemoveParkedOrderAction(CThostFtdcRemoveParkedOrderActionField *pRemoveParkedOrderAction, int nRequestID) = 0; + + ///执行宣告录入请求 + virtual int ReqExecOrderInsert(CThostFtdcInputExecOrderField *pInputExecOrder, int nRequestID) = 0; + + ///执行宣告操作请求 + virtual int ReqExecOrderAction(CThostFtdcInputExecOrderActionField *pInputExecOrderAction, int nRequestID) = 0; + + ///询价录入请求 + virtual int ReqForQuoteInsert(CThostFtdcInputForQuoteField *pInputForQuote, int nRequestID) = 0; + + ///报价录入请求 + virtual int ReqQuoteInsert(CThostFtdcInputQuoteField *pInputQuote, int nRequestID) = 0; + + ///报价操作请求 + virtual int ReqQuoteAction(CThostFtdcInputQuoteActionField *pInputQuoteAction, int nRequestID) = 0; + + ///请求查询报单 + virtual int ReqQryOrder(CThostFtdcQryOrderField *pQryOrder, int nRequestID) = 0; + + ///请求查询成交 + virtual int ReqQryTrade(CThostFtdcQryTradeField *pQryTrade, int nRequestID) = 0; + + ///请求查询投资者持仓 + virtual int ReqQryInvestorPosition(CThostFtdcQryInvestorPositionField *pQryInvestorPosition, int nRequestID) = 0; + + ///请求查询资金账户 + virtual int ReqQryTradingAccount(CThostFtdcQryTradingAccountField *pQryTradingAccount, int nRequestID) = 0; + + ///请求查询投资者 + virtual int ReqQryInvestor(CThostFtdcQryInvestorField *pQryInvestor, int nRequestID) = 0; + + ///请求查询交易编码 + virtual int ReqQryTradingCode(CThostFtdcQryTradingCodeField *pQryTradingCode, int nRequestID) = 0; + + ///请求查询合约保证金率 + virtual int ReqQryInstrumentMarginRate(CThostFtdcQryInstrumentMarginRateField *pQryInstrumentMarginRate, int nRequestID) = 0; + + ///请求查询合约手续费率 + virtual int ReqQryInstrumentCommissionRate(CThostFtdcQryInstrumentCommissionRateField *pQryInstrumentCommissionRate, int nRequestID) = 0; + + ///请求查询交易所 + virtual int ReqQryExchange(CThostFtdcQryExchangeField *pQryExchange, int nRequestID) = 0; + + ///请求查询产品 + virtual int ReqQryProduct(CThostFtdcQryProductField *pQryProduct, int nRequestID) = 0; + + ///请求查询合约 + virtual int ReqQryInstrument(CThostFtdcQryInstrumentField *pQryInstrument, int nRequestID) = 0; + + ///请求查询行情 + virtual int ReqQryDepthMarketData(CThostFtdcQryDepthMarketDataField *pQryDepthMarketData, int nRequestID) = 0; + + ///请求查询投资者结算结果 + virtual int ReqQrySettlementInfo(CThostFtdcQrySettlementInfoField *pQrySettlementInfo, int nRequestID) = 0; + + ///请求查询转帐银行 + virtual int ReqQryTransferBank(CThostFtdcQryTransferBankField *pQryTransferBank, int nRequestID) = 0; + + ///请求查询投资者持仓明细 + virtual int ReqQryInvestorPositionDetail(CThostFtdcQryInvestorPositionDetailField *pQryInvestorPositionDetail, int nRequestID) = 0; + + ///请求查询客户通知 + virtual int ReqQryNotice(CThostFtdcQryNoticeField *pQryNotice, int nRequestID) = 0; + + ///请求查询结算信息确认 + virtual int ReqQrySettlementInfoConfirm(CThostFtdcQrySettlementInfoConfirmField *pQrySettlementInfoConfirm, int nRequestID) = 0; + + ///请求查询投资者持仓明细 + virtual int ReqQryInvestorPositionCombineDetail(CThostFtdcQryInvestorPositionCombineDetailField *pQryInvestorPositionCombineDetail, int nRequestID) = 0; + + ///请求查询保证金监管系统经纪公司资金账户密钥 + virtual int ReqQryCFMMCTradingAccountKey(CThostFtdcQryCFMMCTradingAccountKeyField *pQryCFMMCTradingAccountKey, int nRequestID) = 0; + + ///请求查询仓单折抵信息 + virtual int ReqQryEWarrantOffset(CThostFtdcQryEWarrantOffsetField *pQryEWarrantOffset, int nRequestID) = 0; + + ///请求查询投资者品种/跨品种保证金 + virtual int ReqQryInvestorProductGroupMargin(CThostFtdcQryInvestorProductGroupMarginField *pQryInvestorProductGroupMargin, int nRequestID) = 0; + + ///请求查询交易所保证金率 + virtual int ReqQryExchangeMarginRate(CThostFtdcQryExchangeMarginRateField *pQryExchangeMarginRate, int nRequestID) = 0; + + ///请求查询交易所调整保证金率 + virtual int ReqQryExchangeMarginRateAdjust(CThostFtdcQryExchangeMarginRateAdjustField *pQryExchangeMarginRateAdjust, int nRequestID) = 0; + + ///请求查询汇率 + virtual int ReqQryExchangeRate(CThostFtdcQryExchangeRateField *pQryExchangeRate, int nRequestID) = 0; + + ///请求查询二级代理操作员银期权限 + virtual int ReqQrySecAgentACIDMap(CThostFtdcQrySecAgentACIDMapField *pQrySecAgentACIDMap, int nRequestID) = 0; + + ///请求查询期权交易成本 + virtual int ReqQryOptionInstrTradeCost(CThostFtdcQryOptionInstrTradeCostField *pQryOptionInstrTradeCost, int nRequestID) = 0; + + ///请求查询期权合约手续费 + virtual int ReqQryOptionInstrCommRate(CThostFtdcQryOptionInstrCommRateField *pQryOptionInstrCommRate, int nRequestID) = 0; + + ///请求查询执行宣告 + virtual int ReqQryExecOrder(CThostFtdcQryExecOrderField *pQryExecOrder, int nRequestID) = 0; + + ///请求查询询价 + virtual int ReqQryForQuote(CThostFtdcQryForQuoteField *pQryForQuote, int nRequestID) = 0; + + ///请求查询报价 + virtual int ReqQryQuote(CThostFtdcQryQuoteField *pQryQuote, int nRequestID) = 0; + + ///请求查询转帐流水 + virtual int ReqQryTransferSerial(CThostFtdcQryTransferSerialField *pQryTransferSerial, int nRequestID) = 0; + + ///请求查询银期签约关系 + virtual int ReqQryAccountregister(CThostFtdcQryAccountregisterField *pQryAccountregister, int nRequestID) = 0; + + ///请求查询签约银行 + virtual int ReqQryContractBank(CThostFtdcQryContractBankField *pQryContractBank, int nRequestID) = 0; + + ///请求查询预埋单 + virtual int ReqQryParkedOrder(CThostFtdcQryParkedOrderField *pQryParkedOrder, int nRequestID) = 0; + + ///请求查询预埋撤单 + virtual int ReqQryParkedOrderAction(CThostFtdcQryParkedOrderActionField *pQryParkedOrderAction, int nRequestID) = 0; + + ///请求查询交易通知 + virtual int ReqQryTradingNotice(CThostFtdcQryTradingNoticeField *pQryTradingNotice, int nRequestID) = 0; + + ///请求查询经纪公司交易参数 + virtual int ReqQryBrokerTradingParams(CThostFtdcQryBrokerTradingParamsField *pQryBrokerTradingParams, int nRequestID) = 0; + + ///请求查询经纪公司交易算法 + virtual int ReqQryBrokerTradingAlgos(CThostFtdcQryBrokerTradingAlgosField *pQryBrokerTradingAlgos, int nRequestID) = 0; + + ///期货发起银行资金转期货请求 + virtual int ReqFromBankToFutureByFuture(CThostFtdcReqTransferField *pReqTransfer, int nRequestID) = 0; + + ///期货发起期货资金转银行请求 + virtual int ReqFromFutureToBankByFuture(CThostFtdcReqTransferField *pReqTransfer, int nRequestID) = 0; + + ///期货发起查询银行余额请求 + virtual int ReqQueryBankAccountMoneyByFuture(CThostFtdcReqQueryAccountField *pReqQueryAccount, int nRequestID) = 0; +protected: + ~CThostFtdcTraderApi(){}; +}; + +#endif diff --git a/vn.ctp/pyscript/ThostFtdcUserApiDataType.h b/vn.ctp/pyscript/ThostFtdcUserApiDataType.h new file mode 100644 index 00000000..15c6e00b --- /dev/null +++ b/vn.ctp/pyscript/ThostFtdcUserApiDataType.h @@ -0,0 +1,6267 @@ +///////////////////////////////////////////////////////////////////////// +///@system 新一代交易所系统 +///@company 上海期货信息技术有限公司 +///@file ThostFtdcUserApiDataType.h +///@brief 定义了客户端接口使用的业务数据类型 +///@history +///20060106 赵鸿昊 创建该文件 +///////////////////////////////////////////////////////////////////////// + +#ifndef THOST_FTDCDATATYPE_H +#define THOST_FTDCDATATYPE_H + +enum THOST_TE_RESUME_TYPE +{ + THOST_TERT_RESTART = 0, + THOST_TERT_RESUME, + THOST_TERT_QUICK +}; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTraderIDType是一个交易所交易员代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcTraderIDType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInvestorIDType是一个投资者代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcInvestorIDType[13]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBrokerIDType是一个经纪公司代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBrokerIDType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBrokerAbbrType是一个经纪公司简称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBrokerAbbrType[9]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBrokerNameType是一个经纪公司名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBrokerNameType[81]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcExchangeInstIDType是一个合约在交易所的代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcExchangeInstIDType[31]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOrderRefType是一个报单引用类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcOrderRefType[13]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcParticipantIDType是一个会员代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcParticipantIDType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUserIDType是一个用户代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcUserIDType[16]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPasswordType是一个密码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcPasswordType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcClientIDType是一个交易编码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcClientIDType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInstrumentIDType是一个合约代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcInstrumentIDType[31]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcMarketIDType是一个市场代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcMarketIDType[31]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcProductNameType是一个产品名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcProductNameType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcExchangeIDType是一个交易所代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcExchangeIDType[9]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcExchangeNameType是一个交易所名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcExchangeNameType[61]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcExchangeAbbrType是一个交易所简称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcExchangeAbbrType[9]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcExchangeFlagType是一个交易所标志类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcExchangeFlagType[2]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcMacAddressType是一个Mac地址类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcMacAddressType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSystemIDType是一个系统编号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcSystemIDType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcExchangePropertyType是一个交易所属性类型 +///////////////////////////////////////////////////////////////////////// +///正常 +#define THOST_FTDC_EXP_Normal '0' +///根据成交生成报单 +#define THOST_FTDC_EXP_GenOrderByTrade '1' + +typedef char TThostFtdcExchangePropertyType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDateType是一个日期类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcDateType[9]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTimeType是一个时间类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcTimeType[9]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcLongTimeType是一个长时间类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcLongTimeType[13]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInstrumentNameType是一个合约名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcInstrumentNameType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSettlementGroupIDType是一个结算组代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcSettlementGroupIDType[9]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOrderSysIDType是一个报单编号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcOrderSysIDType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTradeIDType是一个成交编号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcTradeIDType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCommandTypeType是一个DB命令类型类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCommandTypeType[65]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcIPAddressType是一个IP地址类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcIPAddressType[16]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcIPPortType是一个IP端口类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcIPPortType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcProductInfoType是一个产品信息类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcProductInfoType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcProtocolInfoType是一个协议信息类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcProtocolInfoType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBusinessUnitType是一个业务单元类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBusinessUnitType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDepositSeqNoType是一个出入金流水号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcDepositSeqNoType[15]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcIdentifiedCardNoType是一个证件号码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcIdentifiedCardNoType[51]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcIdCardTypeType是一个证件类型类型 +///////////////////////////////////////////////////////////////////////// +///组织机构代码 +#define THOST_FTDC_ICT_EID '0' +///中国公民身份证 +#define THOST_FTDC_ICT_IDCard '1' +///军官证 +#define THOST_FTDC_ICT_OfficerIDCard '2' +///警官证 +#define THOST_FTDC_ICT_PoliceIDCard '3' +///士兵证 +#define THOST_FTDC_ICT_SoldierIDCard '4' +///户口簿 +#define THOST_FTDC_ICT_HouseholdRegister '5' +///护照 +#define THOST_FTDC_ICT_Passport '6' +///台胞证 +#define THOST_FTDC_ICT_TaiwanCompatriotIDCard '7' +///回乡证 +#define THOST_FTDC_ICT_HomeComingCard '8' +///营业执照号 +#define THOST_FTDC_ICT_LicenseNo '9' +///税务登记号/当地纳税ID +#define THOST_FTDC_ICT_TaxNo 'A' +///港澳居民来往内地通行证 +#define THOST_FTDC_ICT_HMMainlandTravelPermit 'B' +///台湾居民来往大陆通行证 +#define THOST_FTDC_ICT_TwMainlandTravelPermit 'C' +///驾照 +#define THOST_FTDC_ICT_DrivingLicense 'D' +///当地社保ID +#define THOST_FTDC_ICT_SocialID 'F' +///当地身份证 +#define THOST_FTDC_ICT_LocalID 'G' +///商业登记证 +#define THOST_FTDC_ICT_BusinessRegistration 'H' +///港澳永久性居民身份证 +#define THOST_FTDC_ICT_HKMCIDCard 'I' +///其他证件 +#define THOST_FTDC_ICT_OtherCard 'x' + +typedef char TThostFtdcIdCardTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOrderLocalIDType是一个本地报单编号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcOrderLocalIDType[13]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUserNameType是一个用户名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcUserNameType[81]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPartyNameType是一个参与人名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcPartyNameType[81]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcErrorMsgType是一个错误信息类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcErrorMsgType[81]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFieldNameType是一个字段名类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFieldNameType[2049]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFieldContentType是一个字段内容类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFieldContentType[2049]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSystemNameType是一个系统名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcSystemNameType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcContentType是一个消息正文类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcContentType[501]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInvestorRangeType是一个投资者范围类型 +///////////////////////////////////////////////////////////////////////// +///所有 +#define THOST_FTDC_IR_All '1' +///投资者组 +#define THOST_FTDC_IR_Group '2' +///单一投资者 +#define THOST_FTDC_IR_Single '3' + +typedef char TThostFtdcInvestorRangeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDepartmentRangeType是一个投资者范围类型 +///////////////////////////////////////////////////////////////////////// +///所有 +#define THOST_FTDC_DR_All '1' +///组织架构 +#define THOST_FTDC_DR_Group '2' +///单一投资者 +#define THOST_FTDC_DR_Single '3' + +typedef char TThostFtdcDepartmentRangeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDataSyncStatusType是一个数据同步状态类型 +///////////////////////////////////////////////////////////////////////// +///未同步 +#define THOST_FTDC_DS_Asynchronous '1' +///同步中 +#define THOST_FTDC_DS_Synchronizing '2' +///已同步 +#define THOST_FTDC_DS_Synchronized '3' + +typedef char TThostFtdcDataSyncStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBrokerDataSyncStatusType是一个经纪公司数据同步状态类型 +///////////////////////////////////////////////////////////////////////// +///已同步 +#define THOST_FTDC_BDS_Synchronized '1' +///同步中 +#define THOST_FTDC_BDS_Synchronizing '2' + +typedef char TThostFtdcBrokerDataSyncStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcExchangeConnectStatusType是一个交易所连接状态类型 +///////////////////////////////////////////////////////////////////////// +///没有任何连接 +#define THOST_FTDC_ECS_NoConnection '1' +///已经发出合约查询请求 +#define THOST_FTDC_ECS_QryInstrumentSent '2' +///已经获取信息 +#define THOST_FTDC_ECS_GotInformation '9' + +typedef char TThostFtdcExchangeConnectStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTraderConnectStatusType是一个交易所交易员连接状态类型 +///////////////////////////////////////////////////////////////////////// +///没有任何连接 +#define THOST_FTDC_TCS_NotConnected '1' +///已经连接 +#define THOST_FTDC_TCS_Connected '2' +///已经发出合约查询请求 +#define THOST_FTDC_TCS_QryInstrumentSent '3' +///订阅私有流 +#define THOST_FTDC_TCS_SubPrivateFlow '4' + +typedef char TThostFtdcTraderConnectStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFunctionCodeType是一个功能代码类型 +///////////////////////////////////////////////////////////////////////// +///数据异步化 +#define THOST_FTDC_FC_DataAsync '1' +///强制用户登出 +#define THOST_FTDC_FC_ForceUserLogout '2' +///变更管理用户口令 +#define THOST_FTDC_FC_UserPasswordUpdate '3' +///变更经纪公司口令 +#define THOST_FTDC_FC_BrokerPasswordUpdate '4' +///变更投资者口令 +#define THOST_FTDC_FC_InvestorPasswordUpdate '5' +///报单插入 +#define THOST_FTDC_FC_OrderInsert '6' +///报单操作 +#define THOST_FTDC_FC_OrderAction '7' +///同步系统数据 +#define THOST_FTDC_FC_SyncSystemData '8' +///同步经纪公司数据 +#define THOST_FTDC_FC_SyncBrokerData '9' +///批量同步经纪公司数据 +#define THOST_FTDC_FC_BachSyncBrokerData 'A' +///超级查询 +#define THOST_FTDC_FC_SuperQuery 'B' +///预埋报单插入 +#define THOST_FTDC_FC_ParkedOrderInsert 'C' +///预埋报单操作 +#define THOST_FTDC_FC_ParkedOrderAction 'D' +///同步动态令牌 +#define THOST_FTDC_FC_SyncOTP 'E' +///删除未知单 +#define THOST_FTDC_FC_DeleteOrder 'F' + +typedef char TThostFtdcFunctionCodeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBrokerFunctionCodeType是一个经纪公司功能代码类型 +///////////////////////////////////////////////////////////////////////// +///强制用户登出 +#define THOST_FTDC_BFC_ForceUserLogout '1' +///变更用户口令 +#define THOST_FTDC_BFC_UserPasswordUpdate '2' +///同步经纪公司数据 +#define THOST_FTDC_BFC_SyncBrokerData '3' +///批量同步经纪公司数据 +#define THOST_FTDC_BFC_BachSyncBrokerData '4' +///报单插入 +#define THOST_FTDC_BFC_OrderInsert '5' +///报单操作 +#define THOST_FTDC_BFC_OrderAction '6' +///全部查询 +#define THOST_FTDC_BFC_AllQuery '7' +///系统功能:登入/登出/修改密码等 +#define THOST_FTDC_BFC_log 'a' +///基本查询:查询基础数据,如合约,交易所等常量 +#define THOST_FTDC_BFC_BaseQry 'b' +///交易查询:如查成交,委托 +#define THOST_FTDC_BFC_TradeQry 'c' +///交易功能:报单,撤单 +#define THOST_FTDC_BFC_Trade 'd' +///银期转账 +#define THOST_FTDC_BFC_Virement 'e' +///风险监控 +#define THOST_FTDC_BFC_Risk 'f' +///查询/管理:查询会话,踢人等 +#define THOST_FTDC_BFC_Session 'g' +///风控通知控制 +#define THOST_FTDC_BFC_RiskNoticeCtl 'h' +///风控通知发送 +#define THOST_FTDC_BFC_RiskNotice 'i' +///察看经纪公司资金权限 +#define THOST_FTDC_BFC_BrokerDeposit 'j' +///资金查询 +#define THOST_FTDC_BFC_QueryFund 'k' +///报单查询 +#define THOST_FTDC_BFC_QueryOrder 'l' +///成交查询 +#define THOST_FTDC_BFC_QueryTrade 'm' +///持仓查询 +#define THOST_FTDC_BFC_QueryPosition 'n' +///行情查询 +#define THOST_FTDC_BFC_QueryMarketData 'o' +///用户事件查询 +#define THOST_FTDC_BFC_QueryUserEvent 'p' +///风险通知查询 +#define THOST_FTDC_BFC_QueryRiskNotify 'q' +///出入金查询 +#define THOST_FTDC_BFC_QueryFundChange 'r' +///投资者信息查询 +#define THOST_FTDC_BFC_QueryInvestor 's' +///交易编码查询 +#define THOST_FTDC_BFC_QueryTradingCode 't' +///强平 +#define THOST_FTDC_BFC_ForceClose 'u' +///压力测试 +#define THOST_FTDC_BFC_PressTest 'v' +///权益反算 +#define THOST_FTDC_BFC_RemainCalc 'w' +///净持仓保证金指标 +#define THOST_FTDC_BFC_NetPositionInd 'x' +///风险预算 +#define THOST_FTDC_BFC_RiskPredict 'y' +///数据导出 +#define THOST_FTDC_BFC_DataExport 'z' +///风控指标设置 +#define THOST_FTDC_BFC_RiskTargetSetup 'A' +///行情预警 +#define THOST_FTDC_BFC_MarketDataWarn 'B' +///业务通知查询 +#define THOST_FTDC_BFC_QryBizNotice 'C' +///业务通知模板设置 +#define THOST_FTDC_BFC_CfgBizNotice 'D' +///同步动态令牌 +#define THOST_FTDC_BFC_SyncOTP 'E' +///发送业务通知 +#define THOST_FTDC_BFC_SendBizNotice 'F' +///风险级别标准设置 +#define THOST_FTDC_BFC_CfgRiskLevelStd 'G' +///交易终端应急功能 +#define THOST_FTDC_BFC_TbCommand 'H' +///删除未知单 +#define THOST_FTDC_BFC_DeleteOrder 'J' +///预埋报单插入 +#define THOST_FTDC_BFC_ParkedOrderInsert 'K' +///预埋报单操作 +#define THOST_FTDC_BFC_ParkedOrderAction 'L' + +typedef char TThostFtdcBrokerFunctionCodeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOrderActionStatusType是一个报单操作状态类型 +///////////////////////////////////////////////////////////////////////// +///已经提交 +#define THOST_FTDC_OAS_Submitted 'a' +///已经接受 +#define THOST_FTDC_OAS_Accepted 'b' +///已经被拒绝 +#define THOST_FTDC_OAS_Rejected 'c' + +typedef char TThostFtdcOrderActionStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOrderStatusType是一个报单状态类型 +///////////////////////////////////////////////////////////////////////// +///全部成交 +#define THOST_FTDC_OST_AllTraded '0' +///部分成交还在队列中 +#define THOST_FTDC_OST_PartTradedQueueing '1' +///部分成交不在队列中 +#define THOST_FTDC_OST_PartTradedNotQueueing '2' +///未成交还在队列中 +#define THOST_FTDC_OST_NoTradeQueueing '3' +///未成交不在队列中 +#define THOST_FTDC_OST_NoTradeNotQueueing '4' +///撤单 +#define THOST_FTDC_OST_Canceled '5' +///未知 +#define THOST_FTDC_OST_Unknown 'a' +///尚未触发 +#define THOST_FTDC_OST_NotTouched 'b' +///已触发 +#define THOST_FTDC_OST_Touched 'c' + +typedef char TThostFtdcOrderStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOrderSubmitStatusType是一个报单提交状态类型 +///////////////////////////////////////////////////////////////////////// +///已经提交 +#define THOST_FTDC_OSS_InsertSubmitted '0' +///撤单已经提交 +#define THOST_FTDC_OSS_CancelSubmitted '1' +///修改已经提交 +#define THOST_FTDC_OSS_ModifySubmitted '2' +///已经接受 +#define THOST_FTDC_OSS_Accepted '3' +///报单已经被拒绝 +#define THOST_FTDC_OSS_InsertRejected '4' +///撤单已经被拒绝 +#define THOST_FTDC_OSS_CancelRejected '5' +///改单已经被拒绝 +#define THOST_FTDC_OSS_ModifyRejected '6' + +typedef char TThostFtdcOrderSubmitStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPositionDateType是一个持仓日期类型 +///////////////////////////////////////////////////////////////////////// +///今日持仓 +#define THOST_FTDC_PSD_Today '1' +///历史持仓 +#define THOST_FTDC_PSD_History '2' + +typedef char TThostFtdcPositionDateType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPositionDateTypeType是一个持仓日期类型类型 +///////////////////////////////////////////////////////////////////////// +///使用历史持仓 +#define THOST_FTDC_PDT_UseHistory '1' +///不使用历史持仓 +#define THOST_FTDC_PDT_NoUseHistory '2' + +typedef char TThostFtdcPositionDateTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTradingRoleType是一个交易角色类型 +///////////////////////////////////////////////////////////////////////// +///代理 +#define THOST_FTDC_ER_Broker '1' +///自营 +#define THOST_FTDC_ER_Host '2' +///做市商 +#define THOST_FTDC_ER_Maker '3' + +typedef char TThostFtdcTradingRoleType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcProductClassType是一个产品类型类型 +///////////////////////////////////////////////////////////////////////// +///期货 +#define THOST_FTDC_PC_Futures '1' +///期货期权 +#define THOST_FTDC_PC_Options '2' +///组合 +#define THOST_FTDC_PC_Combination '3' +///即期 +#define THOST_FTDC_PC_Spot '4' +///期转现 +#define THOST_FTDC_PC_EFP '5' +///现货期权 +#define THOST_FTDC_PC_SpotOption '6' + +typedef char TThostFtdcProductClassType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInstLifePhaseType是一个合约生命周期状态类型 +///////////////////////////////////////////////////////////////////////// +///未上市 +#define THOST_FTDC_IP_NotStart '0' +///上市 +#define THOST_FTDC_IP_Started '1' +///停牌 +#define THOST_FTDC_IP_Pause '2' +///到期 +#define THOST_FTDC_IP_Expired '3' + +typedef char TThostFtdcInstLifePhaseType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDirectionType是一个买卖方向类型 +///////////////////////////////////////////////////////////////////////// +///买 +#define THOST_FTDC_D_Buy '0' +///卖 +#define THOST_FTDC_D_Sell '1' + +typedef char TThostFtdcDirectionType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPositionTypeType是一个持仓类型类型 +///////////////////////////////////////////////////////////////////////// +///净持仓 +#define THOST_FTDC_PT_Net '1' +///综合持仓 +#define THOST_FTDC_PT_Gross '2' + +typedef char TThostFtdcPositionTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPosiDirectionType是一个持仓多空方向类型 +///////////////////////////////////////////////////////////////////////// +///净 +#define THOST_FTDC_PD_Net '1' +///多头 +#define THOST_FTDC_PD_Long '2' +///空头 +#define THOST_FTDC_PD_Short '3' + +typedef char TThostFtdcPosiDirectionType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSysSettlementStatusType是一个系统结算状态类型 +///////////////////////////////////////////////////////////////////////// +///不活跃 +#define THOST_FTDC_SS_NonActive '1' +///启动 +#define THOST_FTDC_SS_Startup '2' +///操作 +#define THOST_FTDC_SS_Operating '3' +///结算 +#define THOST_FTDC_SS_Settlement '4' +///结算完成 +#define THOST_FTDC_SS_SettlementFinished '5' + +typedef char TThostFtdcSysSettlementStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRatioAttrType是一个费率属性类型 +///////////////////////////////////////////////////////////////////////// +///交易费率 +#define THOST_FTDC_RA_Trade '0' +///结算费率 +#define THOST_FTDC_RA_Settlement '1' + +typedef char TThostFtdcRatioAttrType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcHedgeFlagType是一个投机套保标志类型 +///////////////////////////////////////////////////////////////////////// +///投机 +#define THOST_FTDC_HF_Speculation '1' +///套利 +#define THOST_FTDC_HF_Arbitrage '2' +///套保 +#define THOST_FTDC_HF_Hedge '3' + +typedef char TThostFtdcHedgeFlagType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBillHedgeFlagType是一个投机套保标志类型 +///////////////////////////////////////////////////////////////////////// +///投机 +#define THOST_FTDC_BHF_Speculation '1' +///套利 +#define THOST_FTDC_BHF_Arbitrage '2' +///套保 +#define THOST_FTDC_BHF_Hedge '3' + +typedef char TThostFtdcBillHedgeFlagType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcClientIDTypeType是一个交易编码类型类型 +///////////////////////////////////////////////////////////////////////// +///投机 +#define THOST_FTDC_CIDT_Speculation '1' +///套利 +#define THOST_FTDC_CIDT_Arbitrage '2' +///套保 +#define THOST_FTDC_CIDT_Hedge '3' + +typedef char TThostFtdcClientIDTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOrderPriceTypeType是一个报单价格条件类型 +///////////////////////////////////////////////////////////////////////// +///任意价 +#define THOST_FTDC_OPT_AnyPrice '1' +///限价 +#define THOST_FTDC_OPT_LimitPrice '2' +///最优价 +#define THOST_FTDC_OPT_BestPrice '3' +///最新价 +#define THOST_FTDC_OPT_LastPrice '4' +///最新价浮动上浮1个ticks +#define THOST_FTDC_OPT_LastPricePlusOneTicks '5' +///最新价浮动上浮2个ticks +#define THOST_FTDC_OPT_LastPricePlusTwoTicks '6' +///最新价浮动上浮3个ticks +#define THOST_FTDC_OPT_LastPricePlusThreeTicks '7' +///卖一价 +#define THOST_FTDC_OPT_AskPrice1 '8' +///卖一价浮动上浮1个ticks +#define THOST_FTDC_OPT_AskPrice1PlusOneTicks '9' +///卖一价浮动上浮2个ticks +#define THOST_FTDC_OPT_AskPrice1PlusTwoTicks 'A' +///卖一价浮动上浮3个ticks +#define THOST_FTDC_OPT_AskPrice1PlusThreeTicks 'B' +///买一价 +#define THOST_FTDC_OPT_BidPrice1 'C' +///买一价浮动上浮1个ticks +#define THOST_FTDC_OPT_BidPrice1PlusOneTicks 'D' +///买一价浮动上浮2个ticks +#define THOST_FTDC_OPT_BidPrice1PlusTwoTicks 'E' +///买一价浮动上浮3个ticks +#define THOST_FTDC_OPT_BidPrice1PlusThreeTicks 'F' + +typedef char TThostFtdcOrderPriceTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOffsetFlagType是一个开平标志类型 +///////////////////////////////////////////////////////////////////////// +///开仓 +#define THOST_FTDC_OF_Open '0' +///平仓 +#define THOST_FTDC_OF_Close '1' +///强平 +#define THOST_FTDC_OF_ForceClose '2' +///平今 +#define THOST_FTDC_OF_CloseToday '3' +///平昨 +#define THOST_FTDC_OF_CloseYesterday '4' +///强减 +#define THOST_FTDC_OF_ForceOff '5' +///本地强平 +#define THOST_FTDC_OF_LocalForceClose '6' + +typedef char TThostFtdcOffsetFlagType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcForceCloseReasonType是一个强平原因类型 +///////////////////////////////////////////////////////////////////////// +///非强平 +#define THOST_FTDC_FCC_NotForceClose '0' +///资金不足 +#define THOST_FTDC_FCC_LackDeposit '1' +///客户超仓 +#define THOST_FTDC_FCC_ClientOverPositionLimit '2' +///会员超仓 +#define THOST_FTDC_FCC_MemberOverPositionLimit '3' +///持仓非整数倍 +#define THOST_FTDC_FCC_NotMultiple '4' +///违规 +#define THOST_FTDC_FCC_Violation '5' +///其它 +#define THOST_FTDC_FCC_Other '6' +///自然人临近交割 +#define THOST_FTDC_FCC_PersonDeliv '7' + +typedef char TThostFtdcForceCloseReasonType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOrderTypeType是一个报单类型类型 +///////////////////////////////////////////////////////////////////////// +///正常 +#define THOST_FTDC_ORDT_Normal '0' +///报价衍生 +#define THOST_FTDC_ORDT_DeriveFromQuote '1' +///组合衍生 +#define THOST_FTDC_ORDT_DeriveFromCombination '2' +///组合报单 +#define THOST_FTDC_ORDT_Combination '3' +///条件单 +#define THOST_FTDC_ORDT_ConditionalOrder '4' +///互换单 +#define THOST_FTDC_ORDT_Swap '5' + +typedef char TThostFtdcOrderTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTimeConditionType是一个有效期类型类型 +///////////////////////////////////////////////////////////////////////// +///立即完成,否则撤销 +#define THOST_FTDC_TC_IOC '1' +///本节有效 +#define THOST_FTDC_TC_GFS '2' +///当日有效 +#define THOST_FTDC_TC_GFD '3' +///指定日期前有效 +#define THOST_FTDC_TC_GTD '4' +///撤销前有效 +#define THOST_FTDC_TC_GTC '5' +///集合竞价有效 +#define THOST_FTDC_TC_GFA '6' + +typedef char TThostFtdcTimeConditionType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcVolumeConditionType是一个成交量类型类型 +///////////////////////////////////////////////////////////////////////// +///任何数量 +#define THOST_FTDC_VC_AV '1' +///最小数量 +#define THOST_FTDC_VC_MV '2' +///全部数量 +#define THOST_FTDC_VC_CV '3' + +typedef char TThostFtdcVolumeConditionType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcContingentConditionType是一个触发条件类型 +///////////////////////////////////////////////////////////////////////// +///立即 +#define THOST_FTDC_CC_Immediately '1' +///止损 +#define THOST_FTDC_CC_Touch '2' +///止赢 +#define THOST_FTDC_CC_TouchProfit '3' +///预埋单 +#define THOST_FTDC_CC_ParkedOrder '4' +///最新价大于条件价 +#define THOST_FTDC_CC_LastPriceGreaterThanStopPrice '5' +///最新价大于等于条件价 +#define THOST_FTDC_CC_LastPriceGreaterEqualStopPrice '6' +///最新价小于条件价 +#define THOST_FTDC_CC_LastPriceLesserThanStopPrice '7' +///最新价小于等于条件价 +#define THOST_FTDC_CC_LastPriceLesserEqualStopPrice '8' +///卖一价大于条件价 +#define THOST_FTDC_CC_AskPriceGreaterThanStopPrice '9' +///卖一价大于等于条件价 +#define THOST_FTDC_CC_AskPriceGreaterEqualStopPrice 'A' +///卖一价小于条件价 +#define THOST_FTDC_CC_AskPriceLesserThanStopPrice 'B' +///卖一价小于等于条件价 +#define THOST_FTDC_CC_AskPriceLesserEqualStopPrice 'C' +///买一价大于条件价 +#define THOST_FTDC_CC_BidPriceGreaterThanStopPrice 'D' +///买一价大于等于条件价 +#define THOST_FTDC_CC_BidPriceGreaterEqualStopPrice 'E' +///买一价小于条件价 +#define THOST_FTDC_CC_BidPriceLesserThanStopPrice 'F' +///买一价小于等于条件价 +#define THOST_FTDC_CC_BidPriceLesserEqualStopPrice 'H' + +typedef char TThostFtdcContingentConditionType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcActionFlagType是一个操作标志类型 +///////////////////////////////////////////////////////////////////////// +///删除 +#define THOST_FTDC_AF_Delete '0' +///修改 +#define THOST_FTDC_AF_Modify '3' + +typedef char TThostFtdcActionFlagType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTradingRightType是一个交易权限类型 +///////////////////////////////////////////////////////////////////////// +///可以交易 +#define THOST_FTDC_TR_Allow '0' +///只能平仓 +#define THOST_FTDC_TR_CloseOnly '1' +///不能交易 +#define THOST_FTDC_TR_Forbidden '2' + +typedef char TThostFtdcTradingRightType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOrderSourceType是一个报单来源类型 +///////////////////////////////////////////////////////////////////////// +///来自参与者 +#define THOST_FTDC_OSRC_Participant '0' +///来自管理员 +#define THOST_FTDC_OSRC_Administrator '1' + +typedef char TThostFtdcOrderSourceType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTradeTypeType是一个成交类型类型 +///////////////////////////////////////////////////////////////////////// +///组合持仓拆分为单一持仓,初始化不应包含该类型的持仓 +#define THOST_FTDC_TRDT_SplitCombination '#' +///普通成交 +#define THOST_FTDC_TRDT_Common '0' +///期权执行 +#define THOST_FTDC_TRDT_OptionsExecution '1' +///OTC成交 +#define THOST_FTDC_TRDT_OTC '2' +///期转现衍生成交 +#define THOST_FTDC_TRDT_EFPDerived '3' +///组合衍生成交 +#define THOST_FTDC_TRDT_CombinationDerived '4' + +typedef char TThostFtdcTradeTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPriceSourceType是一个成交价来源类型 +///////////////////////////////////////////////////////////////////////// +///前成交价 +#define THOST_FTDC_PSRC_LastPrice '0' +///买委托价 +#define THOST_FTDC_PSRC_Buy '1' +///卖委托价 +#define THOST_FTDC_PSRC_Sell '2' + +typedef char TThostFtdcPriceSourceType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInstrumentStatusType是一个合约交易状态类型 +///////////////////////////////////////////////////////////////////////// +///开盘前 +#define THOST_FTDC_IS_BeforeTrading '0' +///非交易 +#define THOST_FTDC_IS_NoTrading '1' +///连续交易 +#define THOST_FTDC_IS_Continous '2' +///集合竞价报单 +#define THOST_FTDC_IS_AuctionOrdering '3' +///集合竞价价格平衡 +#define THOST_FTDC_IS_AuctionBalance '4' +///集合竞价撮合 +#define THOST_FTDC_IS_AuctionMatch '5' +///收盘 +#define THOST_FTDC_IS_Closed '6' + +typedef char TThostFtdcInstrumentStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInstStatusEnterReasonType是一个品种进入交易状态原因类型 +///////////////////////////////////////////////////////////////////////// +///自动切换 +#define THOST_FTDC_IER_Automatic '1' +///手动切换 +#define THOST_FTDC_IER_Manual '2' +///熔断 +#define THOST_FTDC_IER_Fuse '3' + +typedef char TThostFtdcInstStatusEnterReasonType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOrderActionRefType是一个报单操作引用类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcOrderActionRefType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInstallCountType是一个安装数量类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcInstallCountType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInstallIDType是一个安装编号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcInstallIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcErrorIDType是一个错误代码类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcErrorIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSettlementIDType是一个结算编号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcSettlementIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcVolumeType是一个数量类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcVolumeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFrontIDType是一个前置编号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcFrontIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSessionIDType是一个会话编号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcSessionIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSequenceNoType是一个序号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcSequenceNoType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCommandNoType是一个DB命令序号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcCommandNoType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcMillisecType是一个时间(毫秒)类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcMillisecType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcVolumeMultipleType是一个合约数量乘数类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcVolumeMultipleType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTradingSegmentSNType是一个交易阶段编号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcTradingSegmentSNType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRequestIDType是一个请求编号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcRequestIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcYearType是一个年份类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcYearType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcMonthType是一个月份类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcMonthType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBoolType是一个布尔型类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcBoolType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPriceType是一个价格类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcPriceType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCombOffsetFlagType是一个组合开平标志类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCombOffsetFlagType[5]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCombHedgeFlagType是一个组合投机套保标志类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCombHedgeFlagType[5]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRatioType是一个比率类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcRatioType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcMoneyType是一个资金类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcMoneyType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcLargeVolumeType是一个大额数量类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcLargeVolumeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSequenceSeriesType是一个序列系列号类型 +///////////////////////////////////////////////////////////////////////// +typedef short TThostFtdcSequenceSeriesType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCommPhaseNoType是一个通讯时段编号类型 +///////////////////////////////////////////////////////////////////////// +typedef short TThostFtdcCommPhaseNoType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSequenceLabelType是一个序列编号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcSequenceLabelType[2]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUnderlyingMultipleType是一个基础商品乘数类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcUnderlyingMultipleType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPriorityType是一个优先级类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcPriorityType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcContractCodeType是一个合同编号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcContractCodeType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCityType是一个市类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCityType[51]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcIsStockType是一个是否股民类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcIsStockType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcChannelType是一个渠道类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcChannelType[51]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAddressType是一个通讯地址类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAddressType[101]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcZipCodeType是一个邮政编码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcZipCodeType[7]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTelephoneType是一个联系电话类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcTelephoneType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFaxType是一个传真类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFaxType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcMobileType是一个手机类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcMobileType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcEMailType是一个电子邮件类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcEMailType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcMemoType是一个备注类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcMemoType[161]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCompanyCodeType是一个企业代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCompanyCodeType[51]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcWebsiteType是一个网站地址类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcWebsiteType[51]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTaxNoType是一个税务登记号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcTaxNoType[31]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBatchStatusType是一个处理状态类型 +///////////////////////////////////////////////////////////////////////// +///未上传 +#define THOST_FTDC_BS_NoUpload '1' +///已上传 +#define THOST_FTDC_BS_Uploaded '2' +///审核失败 +#define THOST_FTDC_BS_Failed '3' + +typedef char TThostFtdcBatchStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPropertyIDType是一个属性代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcPropertyIDType[33]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPropertyNameType是一个属性名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcPropertyNameType[65]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcLicenseNoType是一个营业执照号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcLicenseNoType[51]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAgentIDType是一个经纪人代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAgentIDType[13]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAgentNameType是一个经纪人名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAgentNameType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAgentGroupIDType是一个经纪人组代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAgentGroupIDType[13]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAgentGroupNameType是一个经纪人组名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAgentGroupNameType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcReturnStyleType是一个按品种返还方式类型 +///////////////////////////////////////////////////////////////////////// +///按所有品种 +#define THOST_FTDC_RS_All '1' +///按品种 +#define THOST_FTDC_RS_ByProduct '2' + +typedef char TThostFtdcReturnStyleType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcReturnPatternType是一个返还模式类型 +///////////////////////////////////////////////////////////////////////// +///按成交手数 +#define THOST_FTDC_RP_ByVolume '1' +///按留存手续费 +#define THOST_FTDC_RP_ByFeeOnHand '2' + +typedef char TThostFtdcReturnPatternType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcReturnLevelType是一个返还级别类型 +///////////////////////////////////////////////////////////////////////// +///级别1 +#define THOST_FTDC_RL_Level1 '1' +///级别2 +#define THOST_FTDC_RL_Level2 '2' +///级别3 +#define THOST_FTDC_RL_Level3 '3' +///级别4 +#define THOST_FTDC_RL_Level4 '4' +///级别5 +#define THOST_FTDC_RL_Level5 '5' +///级别6 +#define THOST_FTDC_RL_Level6 '6' +///级别7 +#define THOST_FTDC_RL_Level7 '7' +///级别8 +#define THOST_FTDC_RL_Level8 '8' +///级别9 +#define THOST_FTDC_RL_Level9 '9' + +typedef char TThostFtdcReturnLevelType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcReturnStandardType是一个返还标准类型 +///////////////////////////////////////////////////////////////////////// +///分阶段返还 +#define THOST_FTDC_RSD_ByPeriod '1' +///按某一标准 +#define THOST_FTDC_RSD_ByStandard '2' + +typedef char TThostFtdcReturnStandardType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcMortgageTypeType是一个质押类型类型 +///////////////////////////////////////////////////////////////////////// +///质出 +#define THOST_FTDC_MT_Out '0' +///质入 +#define THOST_FTDC_MT_In '1' + +typedef char TThostFtdcMortgageTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInvestorSettlementParamIDType是一个投资者结算参数代码类型 +///////////////////////////////////////////////////////////////////////// +///质押比例 +#define THOST_FTDC_ISPI_MortgageRatio '4' +///保证金算法 +#define THOST_FTDC_ISPI_MarginWay '5' +///结算单结存是否包含质押 +#define THOST_FTDC_ISPI_BillDeposit '9' + +typedef char TThostFtdcInvestorSettlementParamIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcExchangeSettlementParamIDType是一个交易所结算参数代码类型 +///////////////////////////////////////////////////////////////////////// +///质押比例 +#define THOST_FTDC_ESPI_MortgageRatio '1' +///分项资金导入项 +#define THOST_FTDC_ESPI_OtherFundItem '2' +///分项资金入交易所出入金 +#define THOST_FTDC_ESPI_OtherFundImport '3' +///中金所开户最低可用金额 +#define THOST_FTDC_ESPI_CFFEXMinPrepa '6' +///郑商所结算方式 +#define THOST_FTDC_ESPI_CZCESettlementType '7' +///交易所交割手续费收取方式 +#define THOST_FTDC_ESPI_ExchDelivFeeMode '9' +///投资者交割手续费收取方式 +#define THOST_FTDC_ESPI_DelivFeeMode '0' +///郑商所组合持仓保证金收取方式 +#define THOST_FTDC_ESPI_CZCEComMarginType 'A' +///大商所套利保证金是否优惠 +#define THOST_FTDC_ESPI_DceComMarginType 'B' +///虚值期权保证金优惠比率 +#define THOST_FTDC_ESPI_OptOutDisCountRate 'a' +///最低保障系数 +#define THOST_FTDC_ESPI_OptMiniGuarantee 'b' + +typedef char TThostFtdcExchangeSettlementParamIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSystemParamIDType是一个系统参数代码类型 +///////////////////////////////////////////////////////////////////////// +///投资者代码最小长度 +#define THOST_FTDC_SPI_InvestorIDMinLength '1' +///投资者帐号代码最小长度 +#define THOST_FTDC_SPI_AccountIDMinLength '2' +///投资者开户默认登录权限 +#define THOST_FTDC_SPI_UserRightLogon '3' +///投资者交易结算单成交汇总方式 +#define THOST_FTDC_SPI_SettlementBillTrade '4' +///统一开户更新交易编码方式 +#define THOST_FTDC_SPI_TradingCode '5' +///结算是否判断存在未复核的出入金和分项资金 +#define THOST_FTDC_SPI_CheckFund '6' +///是否启用手续费模板数据权限 +#define THOST_FTDC_SPI_CommModelRight '7' +///是否启用保证金率模板数据权限 +#define THOST_FTDC_SPI_MarginModelRight '9' +///是否规范用户才能激活 +#define THOST_FTDC_SPI_IsStandardActive '8' +///上传的交易所结算文件路径 +#define THOST_FTDC_SPI_UploadSettlementFile 'U' +///上报保证金监控中心文件路径 +#define THOST_FTDC_SPI_DownloadCSRCFile 'D' +///生成的结算单文件路径 +#define THOST_FTDC_SPI_SettlementBillFile 'S' +///证监会文件标识 +#define THOST_FTDC_SPI_CSRCOthersFile 'C' +///投资者照片路径 +#define THOST_FTDC_SPI_InvestorPhoto 'P' +///全结经纪公司上传文件路径 +#define THOST_FTDC_SPI_CSRCData 'R' +///开户密码录入方式 +#define THOST_FTDC_SPI_InvestorPwdModel 'I' +///投资者中金所结算文件下载路径 +#define THOST_FTDC_SPI_CFFEXInvestorSettleFile 'F' +///投资者代码编码方式 +#define THOST_FTDC_SPI_InvestorIDType 'a' +///休眠户最高权益 +#define THOST_FTDC_SPI_FreezeMaxReMain 'r' +///手续费相关操作实时上场开关 +#define THOST_FTDC_SPI_IsSync 'A' +///解除开仓权限限制 +#define THOST_FTDC_SPI_RelieveOpenLimit 'O' +///是否规范用户才能休眠 +#define THOST_FTDC_SPI_IsStandardFreeze 'X' +///郑商所是否开放所有品种套保交易 +#define THOST_FTDC_SPI_CZCENormalProductHedge 'B' + +typedef char TThostFtdcSystemParamIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTradeParamIDType是一个交易系统参数代码类型 +///////////////////////////////////////////////////////////////////////// +///系统加密算法 +#define THOST_FTDC_TPID_EncryptionStandard 'E' +///系统风险算法 +#define THOST_FTDC_TPID_RiskMode 'R' +///系统风险算法是否全局 0-否 1-是 +#define THOST_FTDC_TPID_RiskModeGlobal 'G' +///密码加密算法 +#define THOST_FTDC_TPID_modeEncode 'P' +///价格小数位数参数 +#define THOST_FTDC_TPID_tickMode 'T' +///用户最大会话数 +#define THOST_FTDC_TPID_SingleUserSessionMaxNum 'S' +///最大连续登录失败数 +#define THOST_FTDC_TPID_LoginFailMaxNum 'L' +///是否强制认证 +#define THOST_FTDC_TPID_IsAuthForce 'A' + +typedef char TThostFtdcTradeParamIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSettlementParamValueType是一个参数代码值类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcSettlementParamValueType[256]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCounterIDType是一个计数器代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCounterIDType[33]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInvestorGroupNameType是一个投资者分组名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcInvestorGroupNameType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBrandCodeType是一个牌号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBrandCodeType[257]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcWarehouseType是一个仓库类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcWarehouseType[257]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcProductDateType是一个产期类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcProductDateType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcGradeType是一个等级类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcGradeType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcClassifyType是一个类别类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcClassifyType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPositionType是一个货位类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcPositionType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcYieldlyType是一个产地类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcYieldlyType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcWeightType是一个公定重量类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcWeightType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSubEntryFundNoType是一个分项资金流水号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcSubEntryFundNoType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFileIDType是一个文件标识类型 +///////////////////////////////////////////////////////////////////////// +///资金数据 +#define THOST_FTDC_FI_SettlementFund 'F' +///成交数据 +#define THOST_FTDC_FI_Trade 'T' +///投资者持仓数据 +#define THOST_FTDC_FI_InvestorPosition 'P' +///投资者分项资金数据 +#define THOST_FTDC_FI_SubEntryFund 'O' +///组合持仓数据 +#define THOST_FTDC_FI_CZCECombinationPos 'C' +///上报保证金监控中心数据 +#define THOST_FTDC_FI_CSRCData 'R' +///郑商所平仓了结数据 +#define THOST_FTDC_FI_CZCEClose 'L' +///郑商所非平仓了结数据 +#define THOST_FTDC_FI_CZCENoClose 'N' +///持仓明细数据 +#define THOST_FTDC_FI_PositionDtl 'D' +///期权执行文件 +#define THOST_FTDC_FI_OptionStrike 'S' +///结算价比对文件 +#define THOST_FTDC_FI_SettlementPriceComparison 'M' +///上期所非持仓变动明细 +#define THOST_FTDC_FI_NonTradePosChange 'B' + +typedef char TThostFtdcFileIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFileNameType是一个文件名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFileNameType[257]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFileTypeType是一个文件上传类型类型 +///////////////////////////////////////////////////////////////////////// +///结算 +#define THOST_FTDC_FUT_Settlement '0' +///核对 +#define THOST_FTDC_FUT_Check '1' + +typedef char TThostFtdcFileTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFileFormatType是一个文件格式类型 +///////////////////////////////////////////////////////////////////////// +///文本文件(.txt) +#define THOST_FTDC_FFT_Txt '0' +///压缩文件(.zip) +#define THOST_FTDC_FFT_Zip '1' +///DBF文件(.dbf) +#define THOST_FTDC_FFT_DBF '2' + +typedef char TThostFtdcFileFormatType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFileUploadStatusType是一个文件状态类型 +///////////////////////////////////////////////////////////////////////// +///上传成功 +#define THOST_FTDC_FUS_SucceedUpload '1' +///上传失败 +#define THOST_FTDC_FUS_FailedUpload '2' +///导入成功 +#define THOST_FTDC_FUS_SucceedLoad '3' +///导入部分成功 +#define THOST_FTDC_FUS_PartSucceedLoad '4' +///导入失败 +#define THOST_FTDC_FUS_FailedLoad '5' + +typedef char TThostFtdcFileUploadStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTransferDirectionType是一个移仓方向类型 +///////////////////////////////////////////////////////////////////////// +///移出 +#define THOST_FTDC_TD_Out '0' +///移入 +#define THOST_FTDC_TD_In '1' + +typedef char TThostFtdcTransferDirectionType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUploadModeType是一个上传文件类型类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcUploadModeType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAccountIDType是一个投资者帐号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAccountIDType[13]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankFlagType是一个银行统一标识类型类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBankFlagType[4]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankAccountType是一个银行账户类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBankAccountType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOpenNameType是一个银行账户的开户人名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcOpenNameType[61]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOpenBankType是一个银行账户的开户行类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcOpenBankType[101]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankNameType是一个银行名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBankNameType[101]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPublishPathType是一个发布路径类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcPublishPathType[257]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOperatorIDType是一个操作员代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcOperatorIDType[65]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcMonthCountType是一个月份数量类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcMonthCountType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAdvanceMonthArrayType是一个月份提前数组类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAdvanceMonthArrayType[13]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDateExprType是一个日期表达式类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcDateExprType[1025]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInstrumentIDExprType是一个合约代码表达式类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcInstrumentIDExprType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInstrumentNameExprType是一个合约名称表达式类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcInstrumentNameExprType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSpecialCreateRuleType是一个特殊的创建规则类型 +///////////////////////////////////////////////////////////////////////// +///没有特殊创建规则 +#define THOST_FTDC_SC_NoSpecialRule '0' +///不包含春节 +#define THOST_FTDC_SC_NoSpringFestival '1' + +typedef char TThostFtdcSpecialCreateRuleType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBasisPriceTypeType是一个挂牌基准价类型类型 +///////////////////////////////////////////////////////////////////////// +///上一合约结算价 +#define THOST_FTDC_IPT_LastSettlement '1' +///上一合约收盘价 +#define THOST_FTDC_IPT_LaseClose '2' + +typedef char TThostFtdcBasisPriceTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcProductLifePhaseType是一个产品生命周期状态类型 +///////////////////////////////////////////////////////////////////////// +///活跃 +#define THOST_FTDC_PLP_Active '1' +///不活跃 +#define THOST_FTDC_PLP_NonActive '2' +///注销 +#define THOST_FTDC_PLP_Canceled '3' + +typedef char TThostFtdcProductLifePhaseType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDeliveryModeType是一个交割方式类型 +///////////////////////////////////////////////////////////////////////// +///现金交割 +#define THOST_FTDC_DM_CashDeliv '1' +///实物交割 +#define THOST_FTDC_DM_CommodityDeliv '2' + +typedef char TThostFtdcDeliveryModeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcLogLevelType是一个日志级别类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcLogLevelType[33]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcProcessNameType是一个存储过程名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcProcessNameType[257]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOperationMemoType是一个操作摘要类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcOperationMemoType[1025]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFundIOTypeType是一个出入金类型类型 +///////////////////////////////////////////////////////////////////////// +///出入金 +#define THOST_FTDC_FIOT_FundIO '1' +///银期转帐 +#define THOST_FTDC_FIOT_Transfer '2' +///银期换汇 +#define THOST_FTDC_FIOT_SwapCurrency '3' + +typedef char TThostFtdcFundIOTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFundTypeType是一个资金类型类型 +///////////////////////////////////////////////////////////////////////// +///银行存款 +#define THOST_FTDC_FT_Deposite '1' +///分项资金 +#define THOST_FTDC_FT_ItemFund '2' +///公司调整 +#define THOST_FTDC_FT_Company '3' +///资金内转 +#define THOST_FTDC_FT_InnerTransfer '4' + +typedef char TThostFtdcFundTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFundDirectionType是一个出入金方向类型 +///////////////////////////////////////////////////////////////////////// +///入金 +#define THOST_FTDC_FD_In '1' +///出金 +#define THOST_FTDC_FD_Out '2' + +typedef char TThostFtdcFundDirectionType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFundStatusType是一个资金状态类型 +///////////////////////////////////////////////////////////////////////// +///已录入 +#define THOST_FTDC_FS_Record '1' +///已复核 +#define THOST_FTDC_FS_Check '2' +///已冲销 +#define THOST_FTDC_FS_Charge '3' + +typedef char TThostFtdcFundStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBillNoType是一个票据号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBillNoType[15]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBillNameType是一个票据名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBillNameType[33]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPublishStatusType是一个发布状态类型 +///////////////////////////////////////////////////////////////////////// +///未发布 +#define THOST_FTDC_PS_None '1' +///正在发布 +#define THOST_FTDC_PS_Publishing '2' +///已发布 +#define THOST_FTDC_PS_Published '3' + +typedef char TThostFtdcPublishStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcEnumValueIDType是一个枚举值代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcEnumValueIDType[65]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcEnumValueTypeType是一个枚举值类型类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcEnumValueTypeType[33]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcEnumValueLabelType是一个枚举值名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcEnumValueLabelType[65]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcEnumValueResultType是一个枚举值结果类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcEnumValueResultType[33]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSystemStatusType是一个系统状态类型 +///////////////////////////////////////////////////////////////////////// +///不活跃 +#define THOST_FTDC_ES_NonActive '1' +///启动 +#define THOST_FTDC_ES_Startup '2' +///交易开始初始化 +#define THOST_FTDC_ES_Initialize '3' +///交易完成初始化 +#define THOST_FTDC_ES_Initialized '4' +///收市开始 +#define THOST_FTDC_ES_Close '5' +///收市完成 +#define THOST_FTDC_ES_Closed '6' +///结算 +#define THOST_FTDC_ES_Settlement '7' + +typedef char TThostFtdcSystemStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSettlementStatusType是一个结算状态类型 +///////////////////////////////////////////////////////////////////////// +///初始 +#define THOST_FTDC_STS_Initialize '0' +///结算中 +#define THOST_FTDC_STS_Settlementing '1' +///已结算 +#define THOST_FTDC_STS_Settlemented '2' +///结算完成 +#define THOST_FTDC_STS_Finished '3' + +typedef char TThostFtdcSettlementStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRangeIntTypeType是一个限定值类型类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcRangeIntTypeType[33]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRangeIntFromType是一个限定值下限类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcRangeIntFromType[33]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRangeIntToType是一个限定值上限类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcRangeIntToType[33]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFunctionIDType是一个功能代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFunctionIDType[25]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFunctionValueCodeType是一个功能编码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFunctionValueCodeType[257]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFunctionNameType是一个功能名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFunctionNameType[65]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRoleIDType是一个角色编号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcRoleIDType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRoleNameType是一个角色名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcRoleNameType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDescriptionType是一个描述类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcDescriptionType[401]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCombineIDType是一个组合编号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCombineIDType[25]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCombineTypeType是一个组合类型类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCombineTypeType[25]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInvestorTypeType是一个投资者类型类型 +///////////////////////////////////////////////////////////////////////// +///自然人 +#define THOST_FTDC_CT_Person '0' +///法人 +#define THOST_FTDC_CT_Company '1' +///投资基金 +#define THOST_FTDC_CT_Fund '2' +///特殊法人 +#define THOST_FTDC_CT_SpecialOrgan '3' +///资管户 +#define THOST_FTDC_CT_Asset '4' + +typedef char TThostFtdcInvestorTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBrokerTypeType是一个经纪公司类型类型 +///////////////////////////////////////////////////////////////////////// +///交易会员 +#define THOST_FTDC_BT_Trade '0' +///交易结算会员 +#define THOST_FTDC_BT_TradeSettle '1' + +typedef char TThostFtdcBrokerTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRiskLevelType是一个风险等级类型 +///////////////////////////////////////////////////////////////////////// +///低风险客户 +#define THOST_FTDC_FAS_Low '1' +///普通客户 +#define THOST_FTDC_FAS_Normal '2' +///关注客户 +#define THOST_FTDC_FAS_Focus '3' +///风险客户 +#define THOST_FTDC_FAS_Risk '4' + +typedef char TThostFtdcRiskLevelType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFeeAcceptStyleType是一个手续费收取方式类型 +///////////////////////////////////////////////////////////////////////// +///按交易收取 +#define THOST_FTDC_FAS_ByTrade '1' +///按交割收取 +#define THOST_FTDC_FAS_ByDeliv '2' +///不收 +#define THOST_FTDC_FAS_None '3' +///按指定手续费收取 +#define THOST_FTDC_FAS_FixFee '4' + +typedef char TThostFtdcFeeAcceptStyleType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPasswordTypeType是一个密码类型类型 +///////////////////////////////////////////////////////////////////////// +///交易密码 +#define THOST_FTDC_PWDT_Trade '1' +///资金密码 +#define THOST_FTDC_PWDT_Account '2' + +typedef char TThostFtdcPasswordTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAlgorithmType是一个盈亏算法类型 +///////////////////////////////////////////////////////////////////////// +///浮盈浮亏都计算 +#define THOST_FTDC_AG_All '1' +///浮盈不计,浮亏计 +#define THOST_FTDC_AG_OnlyLost '2' +///浮盈计,浮亏不计 +#define THOST_FTDC_AG_OnlyGain '3' +///浮盈浮亏都不计算 +#define THOST_FTDC_AG_None '4' + +typedef char TThostFtdcAlgorithmType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcIncludeCloseProfitType是一个是否包含平仓盈利类型 +///////////////////////////////////////////////////////////////////////// +///包含平仓盈利 +#define THOST_FTDC_ICP_Include '0' +///不包含平仓盈利 +#define THOST_FTDC_ICP_NotInclude '2' + +typedef char TThostFtdcIncludeCloseProfitType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAllWithoutTradeType是一个是否受可提比例限制类型 +///////////////////////////////////////////////////////////////////////// +///无仓无成交不受可提比例限制 +#define THOST_FTDC_AWT_Enable '0' +///受可提比例限制 +#define THOST_FTDC_AWT_Disable '2' +///无仓不受可提比例限制 +#define THOST_FTDC_AWT_NoHoldEnable '3' + +typedef char TThostFtdcAllWithoutTradeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCommentType是一个盈亏算法说明类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCommentType[31]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcVersionType是一个版本号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcVersionType[4]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTradeCodeType是一个交易代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcTradeCodeType[7]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTradeDateType是一个交易日期类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcTradeDateType[9]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTradeTimeType是一个交易时间类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcTradeTimeType[9]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTradeSerialType是一个发起方流水号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcTradeSerialType[9]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTradeSerialNoType是一个发起方流水号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcTradeSerialNoType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFutureIDType是一个期货公司代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFutureIDType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankIDType是一个银行代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBankIDType[4]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankBrchIDType是一个银行分中心代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBankBrchIDType[5]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankBranchIDType是一个分中心代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBankBranchIDType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOperNoType是一个交易柜员类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcOperNoType[17]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDeviceIDType是一个渠道标志类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcDeviceIDType[3]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRecordNumType是一个记录数类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcRecordNumType[7]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFutureAccountType是一个期货资金账号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFutureAccountType[22]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFuturePwdFlagType是一个资金密码核对标志类型 +///////////////////////////////////////////////////////////////////////// +///不核对 +#define THOST_FTDC_FPWD_UnCheck '0' +///核对 +#define THOST_FTDC_FPWD_Check '1' + +typedef char TThostFtdcFuturePwdFlagType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTransferTypeType是一个银期转账类型类型 +///////////////////////////////////////////////////////////////////////// +///银行转期货 +#define THOST_FTDC_TT_BankToFuture '0' +///期货转银行 +#define THOST_FTDC_TT_FutureToBank '1' + +typedef char TThostFtdcTransferTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFutureAccPwdType是一个期货资金密码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFutureAccPwdType[17]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCurrencyCodeType是一个币种类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCurrencyCodeType[4]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRetCodeType是一个响应代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcRetCodeType[5]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRetInfoType是一个响应信息类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcRetInfoType[129]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTradeAmtType是一个银行总余额类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcTradeAmtType[20]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUseAmtType是一个银行可用余额类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcUseAmtType[20]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFetchAmtType是一个银行可取余额类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFetchAmtType[20]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTransferValidFlagType是一个转账有效标志类型 +///////////////////////////////////////////////////////////////////////// +///无效或失败 +#define THOST_FTDC_TVF_Invalid '0' +///有效 +#define THOST_FTDC_TVF_Valid '1' +///冲正 +#define THOST_FTDC_TVF_Reverse '2' + +typedef char TThostFtdcTransferValidFlagType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCertCodeType是一个证件号码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCertCodeType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcReasonType是一个事由类型 +///////////////////////////////////////////////////////////////////////// +///错单 +#define THOST_FTDC_RN_CD '0' +///资金在途 +#define THOST_FTDC_RN_ZT '1' +///其它 +#define THOST_FTDC_RN_QT '2' + +typedef char TThostFtdcReasonType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFundProjectIDType是一个资金项目编号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFundProjectIDType[5]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSexType是一个性别类型 +///////////////////////////////////////////////////////////////////////// +///未知 +#define THOST_FTDC_SEX_None '0' +///男 +#define THOST_FTDC_SEX_Man '1' +///女 +#define THOST_FTDC_SEX_Woman '2' + +typedef char TThostFtdcSexType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcProfessionType是一个职业类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcProfessionType[101]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcNationalType是一个国籍类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcNationalType[31]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcProvinceType是一个省类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcProvinceType[51]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRegionType是一个区类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcRegionType[16]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCountryType是一个国家类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCountryType[16]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcLicenseNOType是一个营业执照类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcLicenseNOType[33]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCompanyTypeType是一个企业性质类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCompanyTypeType[16]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBusinessScopeType是一个经营范围类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBusinessScopeType[1001]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCapitalCurrencyType是一个注册资本币种类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCapitalCurrencyType[4]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUserTypeType是一个用户类型类型 +///////////////////////////////////////////////////////////////////////// +///投资者 +#define THOST_FTDC_UT_Investor '0' +///操作员 +#define THOST_FTDC_UT_Operator '1' +///管理员 +#define THOST_FTDC_UT_SuperUser '2' + +typedef char TThostFtdcUserTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRateTypeType是一个费率类型类型 +///////////////////////////////////////////////////////////////////////// +///保证金率 +#define THOST_FTDC_RATETYPE_MarginRate '2' + +typedef char TThostFtdcRateTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcNoteTypeType是一个通知类型类型 +///////////////////////////////////////////////////////////////////////// +///交易结算单 +#define THOST_FTDC_NOTETYPE_TradeSettleBill '1' +///交易结算月报 +#define THOST_FTDC_NOTETYPE_TradeSettleMonth '2' +///追加保证金通知书 +#define THOST_FTDC_NOTETYPE_CallMarginNotes '3' +///强行平仓通知书 +#define THOST_FTDC_NOTETYPE_ForceCloseNotes '4' +///成交通知书 +#define THOST_FTDC_NOTETYPE_TradeNotes '5' +///交割通知书 +#define THOST_FTDC_NOTETYPE_DelivNotes '6' + +typedef char TThostFtdcNoteTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSettlementStyleType是一个结算单方式类型 +///////////////////////////////////////////////////////////////////////// +///逐日盯市 +#define THOST_FTDC_SBS_Day '1' +///逐笔对冲 +#define THOST_FTDC_SBS_Volume '2' + +typedef char TThostFtdcSettlementStyleType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBrokerDNSType是一个域名类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBrokerDNSType[256]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSentenceType是一个语句类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcSentenceType[501]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSettlementBillTypeType是一个结算单类型类型 +///////////////////////////////////////////////////////////////////////// +///日报 +#define THOST_FTDC_ST_Day '0' +///月报 +#define THOST_FTDC_ST_Month '1' + +typedef char TThostFtdcSettlementBillTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUserRightTypeType是一个客户权限类型类型 +///////////////////////////////////////////////////////////////////////// +///登录 +#define THOST_FTDC_URT_Logon '1' +///银期转帐 +#define THOST_FTDC_URT_Transfer '2' +///邮寄结算单 +#define THOST_FTDC_URT_EMail '3' +///传真结算单 +#define THOST_FTDC_URT_Fax '4' +///条件单 +#define THOST_FTDC_URT_ConditionOrder '5' + +typedef char TThostFtdcUserRightTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcMarginPriceTypeType是一个保证金价格类型类型 +///////////////////////////////////////////////////////////////////////// +///昨结算价 +#define THOST_FTDC_MPT_PreSettlementPrice '1' +///最新价 +#define THOST_FTDC_MPT_SettlementPrice '2' +///成交均价 +#define THOST_FTDC_MPT_AveragePrice '3' +///开仓价 +#define THOST_FTDC_MPT_OpenPrice '4' + +typedef char TThostFtdcMarginPriceTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBillGenStatusType是一个结算单生成状态类型 +///////////////////////////////////////////////////////////////////////// +///未生成 +#define THOST_FTDC_BGS_None '0' +///生成中 +#define THOST_FTDC_BGS_NoGenerated '1' +///已生成 +#define THOST_FTDC_BGS_Generated '2' + +typedef char TThostFtdcBillGenStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAlgoTypeType是一个算法类型类型 +///////////////////////////////////////////////////////////////////////// +///持仓处理算法 +#define THOST_FTDC_AT_HandlePositionAlgo '1' +///寻找保证金率算法 +#define THOST_FTDC_AT_FindMarginRateAlgo '2' + +typedef char TThostFtdcAlgoTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcHandlePositionAlgoIDType是一个持仓处理算法编号类型 +///////////////////////////////////////////////////////////////////////// +///基本 +#define THOST_FTDC_HPA_Base '1' +///大连商品交易所 +#define THOST_FTDC_HPA_DCE '2' +///郑州商品交易所 +#define THOST_FTDC_HPA_CZCE '3' + +typedef char TThostFtdcHandlePositionAlgoIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFindMarginRateAlgoIDType是一个寻找保证金率算法编号类型 +///////////////////////////////////////////////////////////////////////// +///基本 +#define THOST_FTDC_FMRA_Base '1' +///大连商品交易所 +#define THOST_FTDC_FMRA_DCE '2' +///郑州商品交易所 +#define THOST_FTDC_FMRA_CZCE '3' + +typedef char TThostFtdcFindMarginRateAlgoIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcHandleTradingAccountAlgoIDType是一个资金处理算法编号类型 +///////////////////////////////////////////////////////////////////////// +///基本 +#define THOST_FTDC_HTAA_Base '1' +///大连商品交易所 +#define THOST_FTDC_HTAA_DCE '2' +///郑州商品交易所 +#define THOST_FTDC_HTAA_CZCE '3' + +typedef char TThostFtdcHandleTradingAccountAlgoIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPersonTypeType是一个联系人类型类型 +///////////////////////////////////////////////////////////////////////// +///指定下单人 +#define THOST_FTDC_PST_Order '1' +///开户授权人 +#define THOST_FTDC_PST_Open '2' +///资金调拨人 +#define THOST_FTDC_PST_Fund '3' +///结算单确认人 +#define THOST_FTDC_PST_Settlement '4' +///法人 +#define THOST_FTDC_PST_Company '5' +///法人代表 +#define THOST_FTDC_PST_Corporation '6' +///投资者联系人 +#define THOST_FTDC_PST_LinkMan '7' +///分户管理资产负责人 +#define THOST_FTDC_PST_Ledger '8' +///托(保)管人 +#define THOST_FTDC_PST_Trustee '9' +///托(保)管机构法人代表 +#define THOST_FTDC_PST_TrusteeCorporation 'A' +///托(保)管机构开户授权人 +#define THOST_FTDC_PST_TrusteeOpen 'B' +///托(保)管机构联系人 +#define THOST_FTDC_PST_TrusteeContact 'C' +///境外自然人参考证件 +#define THOST_FTDC_PST_ForeignerRefer 'D' +///法人代表参考证件 +#define THOST_FTDC_PST_CorporationRefer 'E' + +typedef char TThostFtdcPersonTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcQueryInvestorRangeType是一个查询范围类型 +///////////////////////////////////////////////////////////////////////// +///所有 +#define THOST_FTDC_QIR_All '1' +///查询分类 +#define THOST_FTDC_QIR_Group '2' +///单一投资者 +#define THOST_FTDC_QIR_Single '3' + +typedef char TThostFtdcQueryInvestorRangeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInvestorRiskStatusType是一个投资者风险状态类型 +///////////////////////////////////////////////////////////////////////// +///正常 +#define THOST_FTDC_IRS_Normal '1' +///警告 +#define THOST_FTDC_IRS_Warn '2' +///追保 +#define THOST_FTDC_IRS_Call '3' +///强平 +#define THOST_FTDC_IRS_Force '4' +///异常 +#define THOST_FTDC_IRS_Exception '5' + +typedef char TThostFtdcInvestorRiskStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcLegIDType是一个单腿编号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcLegIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcLegMultipleType是一个单腿乘数类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcLegMultipleType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcImplyLevelType是一个派生层数类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcImplyLevelType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcClearAccountType是一个结算账户类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcClearAccountType[33]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOrganNOType是一个结算账户类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcOrganNOType[6]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcClearbarchIDType是一个结算账户联行号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcClearbarchIDType[6]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUserEventTypeType是一个用户事件类型类型 +///////////////////////////////////////////////////////////////////////// +///登录 +#define THOST_FTDC_UET_Login '1' +///登出 +#define THOST_FTDC_UET_Logout '2' +///交易成功 +#define THOST_FTDC_UET_Trading '3' +///交易失败 +#define THOST_FTDC_UET_TradingError '4' +///修改密码 +#define THOST_FTDC_UET_UpdatePassword '5' +///客户端认证 +#define THOST_FTDC_UET_Authenticate '6' +///其他 +#define THOST_FTDC_UET_Other '9' + +typedef char TThostFtdcUserEventTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUserEventInfoType是一个用户事件信息类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcUserEventInfoType[1025]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCloseStyleType是一个平仓方式类型 +///////////////////////////////////////////////////////////////////////// +///先开先平 +#define THOST_FTDC_ICS_Close '0' +///先平今再平昨 +#define THOST_FTDC_ICS_CloseToday '1' + +typedef char TThostFtdcCloseStyleType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcStatModeType是一个统计方式类型 +///////////////////////////////////////////////////////////////////////// +///---- +#define THOST_FTDC_SM_Non '0' +///按合约统计 +#define THOST_FTDC_SM_Instrument '1' +///按产品统计 +#define THOST_FTDC_SM_Product '2' +///按投资者统计 +#define THOST_FTDC_SM_Investor '3' + +typedef char TThostFtdcStatModeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcParkedOrderStatusType是一个预埋单状态类型 +///////////////////////////////////////////////////////////////////////// +///未发送 +#define THOST_FTDC_PAOS_NotSend '1' +///已发送 +#define THOST_FTDC_PAOS_Send '2' +///已删除 +#define THOST_FTDC_PAOS_Deleted '3' + +typedef char TThostFtdcParkedOrderStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcParkedOrderIDType是一个预埋报单编号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcParkedOrderIDType[13]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcParkedOrderActionIDType是一个预埋撤单编号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcParkedOrderActionIDType[13]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcVirDealStatusType是一个处理状态类型 +///////////////////////////////////////////////////////////////////////// +///正在处理 +#define THOST_FTDC_VDS_Dealing '1' +///处理成功 +#define THOST_FTDC_VDS_DeaclSucceed '2' + +typedef char TThostFtdcVirDealStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOrgSystemIDType是一个原有系统代码类型 +///////////////////////////////////////////////////////////////////////// +///综合交易平台 +#define THOST_FTDC_ORGS_Standard '0' +///易盛系统 +#define THOST_FTDC_ORGS_ESunny '1' +///金仕达V6系统 +#define THOST_FTDC_ORGS_KingStarV6 '2' + +typedef char TThostFtdcOrgSystemIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcVirTradeStatusType是一个交易状态类型 +///////////////////////////////////////////////////////////////////////// +///正常处理中 +#define THOST_FTDC_VTS_NaturalDeal '0' +///成功结束 +#define THOST_FTDC_VTS_SucceedEnd '1' +///失败结束 +#define THOST_FTDC_VTS_FailedEND '2' +///异常中 +#define THOST_FTDC_VTS_Exception '3' +///已人工异常处理 +#define THOST_FTDC_VTS_ManualDeal '4' +///通讯异常 ,请人工处理 +#define THOST_FTDC_VTS_MesException '5' +///系统出错,请人工处理 +#define THOST_FTDC_VTS_SysException '6' + +typedef char TThostFtdcVirTradeStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcVirBankAccTypeType是一个银行帐户类型类型 +///////////////////////////////////////////////////////////////////////// +///存折 +#define THOST_FTDC_VBAT_BankBook '1' +///储蓄卡 +#define THOST_FTDC_VBAT_BankCard '2' +///信用卡 +#define THOST_FTDC_VBAT_CreditCard '3' + +typedef char TThostFtdcVirBankAccTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcVirementStatusType是一个银行帐户类型类型 +///////////////////////////////////////////////////////////////////////// +///正常 +#define THOST_FTDC_VMS_Natural '0' +///销户 +#define THOST_FTDC_VMS_Canceled '9' + +typedef char TThostFtdcVirementStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcVirementAvailAbilityType是一个有效标志类型 +///////////////////////////////////////////////////////////////////////// +///未确认 +#define THOST_FTDC_VAA_NoAvailAbility '0' +///有效 +#define THOST_FTDC_VAA_AvailAbility '1' +///冲正 +#define THOST_FTDC_VAA_Repeal '2' + +typedef char TThostFtdcVirementAvailAbilityType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcVirementTradeCodeType是一个交易代码类型 +///////////////////////////////////////////////////////////////////////// +///银行发起银行资金转期货 +#define THOST_FTDC_VTC_BankBankToFuture '102001' +///银行发起期货资金转银行 +#define THOST_FTDC_VTC_BankFutureToBank '102002' +///期货发起银行资金转期货 +#define THOST_FTDC_VTC_FutureBankToFuture '202001' +///期货发起期货资金转银行 +#define THOST_FTDC_VTC_FutureFutureToBank '202002' + +typedef char TThostFtdcVirementTradeCodeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPhotoTypeNameType是一个影像类型名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcPhotoTypeNameType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPhotoTypeIDType是一个影像类型代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcPhotoTypeIDType[5]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPhotoNameType是一个影像名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcPhotoNameType[161]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTopicIDType是一个主题代码类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcTopicIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcReportTypeIDType是一个交易报告类型标识类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcReportTypeIDType[3]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCharacterIDType是一个交易特征代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCharacterIDType[5]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLParamIDType是一个参数代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLParamIDType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLInvestorTypeType是一个投资者类型类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLInvestorTypeType[3]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLIdCardTypeType是一个证件类型类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLIdCardTypeType[3]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLTradeDirectType是一个资金进出方向类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLTradeDirectType[3]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLTradeModelType是一个资金进出方式类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLTradeModelType[3]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLParamIDType是一个参数代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLParamIDType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLOpParamValueType是一个业务参数代码值类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcAMLOpParamValueType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLCustomerCardTypeType是一个客户身份证件/证明文件类型类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLCustomerCardTypeType[81]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLInstitutionNameType是一个金融机构网点名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLInstitutionNameType[65]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLDistrictIDType是一个金融机构网点所在地区行政区划代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLDistrictIDType[7]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLRelationShipType是一个金融机构网点与大额交易的关系类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLRelationShipType[3]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLInstitutionTypeType是一个金融机构网点代码类型类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLInstitutionTypeType[3]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLInstitutionIDType是一个金融机构网点代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLInstitutionIDType[13]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLAccountTypeType是一个账户类型类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLAccountTypeType[5]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLTradingTypeType是一个交易方式类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLTradingTypeType[7]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLTransactClassType是一个涉外收支交易分类与代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLTransactClassType[7]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLCapitalIOType是一个资金收付标识类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLCapitalIOType[3]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLSiteType是一个交易地点类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLSiteType[10]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLCapitalPurposeType是一个资金用途类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLCapitalPurposeType[129]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLReportTypeType是一个报文类型类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLReportTypeType[2]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLSerialNoType是一个编号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLSerialNoType[5]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLStatusType是一个状态类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLStatusType[2]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLGenStatusType是一个Aml生成方式类型 +///////////////////////////////////////////////////////////////////////// +///程序生成 +#define THOST_FTDC_GEN_Program '0' +///人工生成 +#define THOST_FTDC_GEN_HandWork '1' + +typedef char TThostFtdcAMLGenStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLSeqCodeType是一个业务标识号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLSeqCodeType[65]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLFileNameType是一个AML文件名类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLFileNameType[257]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLMoneyType是一个反洗钱资金类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcAMLMoneyType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLFileAmountType是一个反洗钱资金类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcAMLFileAmountType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCFMMCKeyType是一个密钥类型(保证金监管)类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCFMMCKeyType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCFMMCKeyKindType是一个动态密钥类别(保证金监管)类型 +///////////////////////////////////////////////////////////////////////// +///主动请求更新 +#define THOST_FTDC_CFMMCKK_REQUEST 'R' +///CFMMC自动更新 +#define THOST_FTDC_CFMMCKK_AUTO 'A' +///CFMMC手动更新 +#define THOST_FTDC_CFMMCKK_MANUAL 'M' + +typedef char TThostFtdcCFMMCKeyKindType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLReportNameType是一个报文名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAMLReportNameType[81]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcIndividualNameType是一个个人姓名类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcIndividualNameType[51]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCurrencyIDType是一个币种代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCurrencyIDType[4]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCustNumberType是一个客户编号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCustNumberType[36]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOrganCodeType是一个机构编码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcOrganCodeType[36]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOrganNameType是一个机构名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcOrganNameType[71]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSuperOrganCodeType是一个上级机构编码,即期货公司总部、银行总行类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcSuperOrganCodeType[12]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSubBranchIDType是一个分支机构类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcSubBranchIDType[31]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSubBranchNameType是一个分支机构名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcSubBranchNameType[71]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBranchNetCodeType是一个机构网点号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBranchNetCodeType[31]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBranchNetNameType是一个机构网点名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBranchNetNameType[71]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOrganFlagType是一个机构标识类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcOrganFlagType[2]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankCodingForFutureType是一个银行对期货公司的编码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBankCodingForFutureType[33]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankReturnCodeType是一个银行对返回码的定义类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBankReturnCodeType[7]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPlateReturnCodeType是一个银期转帐平台对返回码的定义类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcPlateReturnCodeType[5]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankSubBranchIDType是一个银行分支机构编码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBankSubBranchIDType[31]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFutureBranchIDType是一个期货分支机构编码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFutureBranchIDType[31]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcReturnCodeType是一个返回代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcReturnCodeType[7]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOperatorCodeType是一个操作员类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcOperatorCodeType[17]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcClearDepIDType是一个机构结算帐户机构号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcClearDepIDType[6]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcClearBrchIDType是一个机构结算帐户联行号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcClearBrchIDType[6]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcClearNameType是一个机构结算帐户名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcClearNameType[71]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankAccountNameType是一个银行帐户名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBankAccountNameType[71]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInvDepIDType是一个机构投资人账号机构号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcInvDepIDType[6]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInvBrchIDType是一个机构投资人联行号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcInvBrchIDType[6]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcMessageFormatVersionType是一个信息格式版本类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcMessageFormatVersionType[36]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDigestType是一个摘要类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcDigestType[36]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAuthenticDataType是一个认证数据类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAuthenticDataType[129]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPasswordKeyType是一个密钥类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcPasswordKeyType[129]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFutureAccountNameType是一个期货帐户名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFutureAccountNameType[129]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcMobilePhoneType是一个手机类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcMobilePhoneType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFutureMainKeyType是一个期货公司主密钥类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFutureMainKeyType[129]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFutureWorkKeyType是一个期货公司工作密钥类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFutureWorkKeyType[129]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFutureTransKeyType是一个期货公司传输密钥类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFutureTransKeyType[129]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankMainKeyType是一个银行主密钥类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBankMainKeyType[129]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankWorkKeyType是一个银行工作密钥类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBankWorkKeyType[129]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankTransKeyType是一个银行传输密钥类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBankTransKeyType[129]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankServerDescriptionType是一个银行服务器描述信息类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBankServerDescriptionType[129]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAddInfoType是一个附加信息类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAddInfoType[129]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDescrInfoForReturnCodeType是一个返回码描述类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcDescrInfoForReturnCodeType[129]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCountryCodeType是一个国家代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCountryCodeType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSerialType是一个流水号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcSerialType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPlateSerialType是一个平台流水号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcPlateSerialType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankSerialType是一个银行流水号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBankSerialType[13]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCorrectSerialType是一个被冲正交易流水号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcCorrectSerialType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFutureSerialType是一个期货公司流水号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcFutureSerialType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcApplicationIDType是一个应用标识类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcApplicationIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankProxyIDType是一个银行代理标识类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcBankProxyIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBTCoreIDType是一个银期转帐核心系统标识类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcFBTCoreIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcServerPortType是一个服务端口号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcServerPortType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRepealedTimesType是一个已经冲正次数类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcRepealedTimesType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRepealTimeIntervalType是一个冲正时间间隔类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcRepealTimeIntervalType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTotalTimesType是一个每日累计转帐次数类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcTotalTimesType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBTRequestIDType是一个请求ID类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcFBTRequestIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTIDType是一个交易ID类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcTIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTradeAmountType是一个交易金额(元)类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcTradeAmountType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCustFeeType是一个应收客户费用(元)类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcCustFeeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFutureFeeType是一个应收期货公司费用(元)类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcFutureFeeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSingleMaxAmtType是一个单笔最高限额类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcSingleMaxAmtType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSingleMinAmtType是一个单笔最低限额类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcSingleMinAmtType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTotalAmtType是一个每日累计转帐额度类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcTotalAmtType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCertificationTypeType是一个证件类型类型 +///////////////////////////////////////////////////////////////////////// +///身份证 +#define THOST_FTDC_CFT_IDCard '0' +///护照 +#define THOST_FTDC_CFT_Passport '1' +///军官证 +#define THOST_FTDC_CFT_OfficerIDCard '2' +///士兵证 +#define THOST_FTDC_CFT_SoldierIDCard '3' +///回乡证 +#define THOST_FTDC_CFT_HomeComingCard '4' +///户口簿 +#define THOST_FTDC_CFT_HouseholdRegister '5' +///营业执照号 +#define THOST_FTDC_CFT_LicenseNo '6' +///组织机构代码证 +#define THOST_FTDC_CFT_InstitutionCodeCard '7' +///临时营业执照号 +#define THOST_FTDC_CFT_TempLicenseNo '8' +///民办非企业登记证书 +#define THOST_FTDC_CFT_NoEnterpriseLicenseNo '9' +///其他证件 +#define THOST_FTDC_CFT_OtherCard 'x' +///主管部门批文 +#define THOST_FTDC_CFT_SuperDepAgree 'a' + +typedef char TThostFtdcCertificationTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFileBusinessCodeType是一个文件业务功能类型 +///////////////////////////////////////////////////////////////////////// +///其他 +#define THOST_FTDC_FBC_Others '0' +///转账交易明细对账 +#define THOST_FTDC_FBC_TransferDetails '1' +///客户账户状态对账 +#define THOST_FTDC_FBC_CustAccStatus '2' +///账户类交易明细对账 +#define THOST_FTDC_FBC_AccountTradeDetails '3' +///期货账户信息变更明细对账 +#define THOST_FTDC_FBC_FutureAccountChangeInfoDetails '4' +///客户资金台账余额明细对账 +#define THOST_FTDC_FBC_CustMoneyDetail '5' +///客户销户结息明细对账 +#define THOST_FTDC_FBC_CustCancelAccountInfo '6' +///客户资金余额对账结果 +#define THOST_FTDC_FBC_CustMoneyResult '7' +///其它对账异常结果文件 +#define THOST_FTDC_FBC_OthersExceptionResult '8' +///客户结息净额明细 +#define THOST_FTDC_FBC_CustInterestNetMoneyDetails '9' +///客户资金交收明细 +#define THOST_FTDC_FBC_CustMoneySendAndReceiveDetails 'a' +///法人存管银行资金交收汇总 +#define THOST_FTDC_FBC_CorporationMoneyTotal 'b' +///主体间资金交收汇总 +#define THOST_FTDC_FBC_MainbodyMoneyTotal 'c' +///总分平衡监管数据 +#define THOST_FTDC_FBC_MainPartMonitorData 'd' +///存管银行备付金余额 +#define THOST_FTDC_FBC_PreparationMoney 'e' +///协办存管银行资金监管数据 +#define THOST_FTDC_FBC_BankMoneyMonitorData 'f' + +typedef char TThostFtdcFileBusinessCodeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCashExchangeCodeType是一个汇钞标志类型 +///////////////////////////////////////////////////////////////////////// +///汇 +#define THOST_FTDC_CEC_Exchange '1' +///钞 +#define THOST_FTDC_CEC_Cash '2' + +typedef char TThostFtdcCashExchangeCodeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcYesNoIndicatorType是一个是或否标识类型 +///////////////////////////////////////////////////////////////////////// +///是 +#define THOST_FTDC_YNI_Yes '0' +///否 +#define THOST_FTDC_YNI_No '1' + +typedef char TThostFtdcYesNoIndicatorType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBanlanceTypeType是一个余额类型类型 +///////////////////////////////////////////////////////////////////////// +///当前余额 +#define THOST_FTDC_BLT_CurrentMoney '0' +///可用余额 +#define THOST_FTDC_BLT_UsableMoney '1' +///可取余额 +#define THOST_FTDC_BLT_FetchableMoney '2' +///冻结余额 +#define THOST_FTDC_BLT_FreezeMoney '3' + +typedef char TThostFtdcBanlanceTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcGenderType是一个性别类型 +///////////////////////////////////////////////////////////////////////// +///未知状态 +#define THOST_FTDC_GD_Unknown '0' +///男 +#define THOST_FTDC_GD_Male '1' +///女 +#define THOST_FTDC_GD_Female '2' + +typedef char TThostFtdcGenderType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFeePayFlagType是一个费用支付标志类型 +///////////////////////////////////////////////////////////////////////// +///由受益方支付费用 +#define THOST_FTDC_FPF_BEN '0' +///由发送方支付费用 +#define THOST_FTDC_FPF_OUR '1' +///由发送方支付发起的费用,受益方支付接受的费用 +#define THOST_FTDC_FPF_SHA '2' + +typedef char TThostFtdcFeePayFlagType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPassWordKeyTypeType是一个密钥类型类型 +///////////////////////////////////////////////////////////////////////// +///交换密钥 +#define THOST_FTDC_PWKT_ExchangeKey '0' +///密码密钥 +#define THOST_FTDC_PWKT_PassWordKey '1' +///MAC密钥 +#define THOST_FTDC_PWKT_MACKey '2' +///报文密钥 +#define THOST_FTDC_PWKT_MessageKey '3' + +typedef char TThostFtdcPassWordKeyTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBTPassWordTypeType是一个密码类型类型 +///////////////////////////////////////////////////////////////////////// +///查询 +#define THOST_FTDC_PWT_Query '0' +///取款 +#define THOST_FTDC_PWT_Fetch '1' +///转帐 +#define THOST_FTDC_PWT_Transfer '2' +///交易 +#define THOST_FTDC_PWT_Trade '3' + +typedef char TThostFtdcFBTPassWordTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBTEncryModeType是一个加密方式类型 +///////////////////////////////////////////////////////////////////////// +///不加密 +#define THOST_FTDC_EM_NoEncry '0' +///DES +#define THOST_FTDC_EM_DES '1' +///3DES +#define THOST_FTDC_EM_3DES '2' + +typedef char TThostFtdcFBTEncryModeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankRepealFlagType是一个银行冲正标志类型 +///////////////////////////////////////////////////////////////////////// +///银行无需自动冲正 +#define THOST_FTDC_BRF_BankNotNeedRepeal '0' +///银行待自动冲正 +#define THOST_FTDC_BRF_BankWaitingRepeal '1' +///银行已自动冲正 +#define THOST_FTDC_BRF_BankBeenRepealed '2' + +typedef char TThostFtdcBankRepealFlagType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBrokerRepealFlagType是一个期商冲正标志类型 +///////////////////////////////////////////////////////////////////////// +///期商无需自动冲正 +#define THOST_FTDC_BRORF_BrokerNotNeedRepeal '0' +///期商待自动冲正 +#define THOST_FTDC_BRORF_BrokerWaitingRepeal '1' +///期商已自动冲正 +#define THOST_FTDC_BRORF_BrokerBeenRepealed '2' + +typedef char TThostFtdcBrokerRepealFlagType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInstitutionTypeType是一个机构类别类型 +///////////////////////////////////////////////////////////////////////// +///银行 +#define THOST_FTDC_TS_Bank '0' +///期商 +#define THOST_FTDC_TS_Future '1' +///券商 +#define THOST_FTDC_TS_Store '2' + +typedef char TThostFtdcInstitutionTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcLastFragmentType是一个最后分片标志类型 +///////////////////////////////////////////////////////////////////////// +///是最后分片 +#define THOST_FTDC_LF_Yes '0' +///不是最后分片 +#define THOST_FTDC_LF_No '1' + +typedef char TThostFtdcLastFragmentType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankAccStatusType是一个银行账户状态类型 +///////////////////////////////////////////////////////////////////////// +///正常 +#define THOST_FTDC_BAS_Normal '0' +///冻结 +#define THOST_FTDC_BAS_Freeze '1' +///挂失 +#define THOST_FTDC_BAS_ReportLoss '2' + +typedef char TThostFtdcBankAccStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcMoneyAccountStatusType是一个资金账户状态类型 +///////////////////////////////////////////////////////////////////////// +///正常 +#define THOST_FTDC_MAS_Normal '0' +///销户 +#define THOST_FTDC_MAS_Cancel '1' + +typedef char TThostFtdcMoneyAccountStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcManageStatusType是一个存管状态类型 +///////////////////////////////////////////////////////////////////////// +///指定存管 +#define THOST_FTDC_MSS_Point '0' +///预指定 +#define THOST_FTDC_MSS_PrePoint '1' +///撤销指定 +#define THOST_FTDC_MSS_CancelPoint '2' + +typedef char TThostFtdcManageStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSystemTypeType是一个应用系统类型类型 +///////////////////////////////////////////////////////////////////////// +///银期转帐 +#define THOST_FTDC_SYT_FutureBankTransfer '0' +///银证转帐 +#define THOST_FTDC_SYT_StockBankTransfer '1' +///第三方存管 +#define THOST_FTDC_SYT_TheThirdPartStore '2' + +typedef char TThostFtdcSystemTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTxnEndFlagType是一个银期转帐划转结果标志类型 +///////////////////////////////////////////////////////////////////////// +///正常处理中 +#define THOST_FTDC_TEF_NormalProcessing '0' +///成功结束 +#define THOST_FTDC_TEF_Success '1' +///失败结束 +#define THOST_FTDC_TEF_Failed '2' +///异常中 +#define THOST_FTDC_TEF_Abnormal '3' +///已人工异常处理 +#define THOST_FTDC_TEF_ManualProcessedForException '4' +///通讯异常 ,请人工处理 +#define THOST_FTDC_TEF_CommuFailedNeedManualProcess '5' +///系统出错,请人工处理 +#define THOST_FTDC_TEF_SysErrorNeedManualProcess '6' + +typedef char TThostFtdcTxnEndFlagType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcProcessStatusType是一个银期转帐服务处理状态类型 +///////////////////////////////////////////////////////////////////////// +///未处理 +#define THOST_FTDC_PSS_NotProcess '0' +///开始处理 +#define THOST_FTDC_PSS_StartProcess '1' +///处理完成 +#define THOST_FTDC_PSS_Finished '2' + +typedef char TThostFtdcProcessStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCustTypeType是一个客户类型类型 +///////////////////////////////////////////////////////////////////////// +///自然人 +#define THOST_FTDC_CUSTT_Person '0' +///机构户 +#define THOST_FTDC_CUSTT_Institution '1' + +typedef char TThostFtdcCustTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBTTransferDirectionType是一个银期转帐方向类型 +///////////////////////////////////////////////////////////////////////// +///入金,银行转期货 +#define THOST_FTDC_FBTTD_FromBankToFuture '1' +///出金,期货转银行 +#define THOST_FTDC_FBTTD_FromFutureToBank '2' + +typedef char TThostFtdcFBTTransferDirectionType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOpenOrDestroyType是一个开销户类别类型 +///////////////////////////////////////////////////////////////////////// +///开户 +#define THOST_FTDC_OOD_Open '1' +///销户 +#define THOST_FTDC_OOD_Destroy '0' + +typedef char TThostFtdcOpenOrDestroyType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAvailabilityFlagType是一个有效标志类型 +///////////////////////////////////////////////////////////////////////// +///未确认 +#define THOST_FTDC_AVAF_Invalid '0' +///有效 +#define THOST_FTDC_AVAF_Valid '1' +///冲正 +#define THOST_FTDC_AVAF_Repeal '2' + +typedef char TThostFtdcAvailabilityFlagType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOrganTypeType是一个机构类型类型 +///////////////////////////////////////////////////////////////////////// +///银行代理 +#define THOST_FTDC_OT_Bank '1' +///交易前置 +#define THOST_FTDC_OT_Future '2' +///银期转帐平台管理 +#define THOST_FTDC_OT_PlateForm '9' + +typedef char TThostFtdcOrganTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOrganLevelType是一个机构级别类型 +///////////////////////////////////////////////////////////////////////// +///银行总行或期商总部 +#define THOST_FTDC_OL_HeadQuarters '1' +///银行分中心或期货公司营业部 +#define THOST_FTDC_OL_Branch '2' + +typedef char TThostFtdcOrganLevelType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcProtocalIDType是一个协议类型类型 +///////////////////////////////////////////////////////////////////////// +///期商协议 +#define THOST_FTDC_PID_FutureProtocal '0' +///工行协议 +#define THOST_FTDC_PID_ICBCProtocal '1' +///农行协议 +#define THOST_FTDC_PID_ABCProtocal '2' +///中国银行协议 +#define THOST_FTDC_PID_CBCProtocal '3' +///建行协议 +#define THOST_FTDC_PID_CCBProtocal '4' +///交行协议 +#define THOST_FTDC_PID_BOCOMProtocal '5' +///银期转帐平台协议 +#define THOST_FTDC_PID_FBTPlateFormProtocal 'X' + +typedef char TThostFtdcProtocalIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcConnectModeType是一个套接字连接方式类型 +///////////////////////////////////////////////////////////////////////// +///短连接 +#define THOST_FTDC_CM_ShortConnect '0' +///长连接 +#define THOST_FTDC_CM_LongConnect '1' + +typedef char TThostFtdcConnectModeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSyncModeType是一个套接字通信方式类型 +///////////////////////////////////////////////////////////////////////// +///异步 +#define THOST_FTDC_SRM_ASync '0' +///同步 +#define THOST_FTDC_SRM_Sync '1' + +typedef char TThostFtdcSyncModeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankAccTypeType是一个银行帐号类型类型 +///////////////////////////////////////////////////////////////////////// +///银行存折 +#define THOST_FTDC_BAT_BankBook '1' +///储蓄卡 +#define THOST_FTDC_BAT_SavingCard '2' +///信用卡 +#define THOST_FTDC_BAT_CreditCard '3' + +typedef char TThostFtdcBankAccTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFutureAccTypeType是一个期货公司帐号类型类型 +///////////////////////////////////////////////////////////////////////// +///银行存折 +#define THOST_FTDC_FAT_BankBook '1' +///储蓄卡 +#define THOST_FTDC_FAT_SavingCard '2' +///信用卡 +#define THOST_FTDC_FAT_CreditCard '3' + +typedef char TThostFtdcFutureAccTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOrganStatusType是一个接入机构状态类型 +///////////////////////////////////////////////////////////////////////// +///启用 +#define THOST_FTDC_OS_Ready '0' +///签到 +#define THOST_FTDC_OS_CheckIn '1' +///签退 +#define THOST_FTDC_OS_CheckOut '2' +///对帐文件到达 +#define THOST_FTDC_OS_CheckFileArrived '3' +///对帐 +#define THOST_FTDC_OS_CheckDetail '4' +///日终清理 +#define THOST_FTDC_OS_DayEndClean '5' +///注销 +#define THOST_FTDC_OS_Invalid '9' + +typedef char TThostFtdcOrganStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCCBFeeModeType是一个建行收费模式类型 +///////////////////////////////////////////////////////////////////////// +///按金额扣收 +#define THOST_FTDC_CCBFM_ByAmount '1' +///按月扣收 +#define THOST_FTDC_CCBFM_ByMonth '2' + +typedef char TThostFtdcCCBFeeModeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCommApiTypeType是一个通讯API类型类型 +///////////////////////////////////////////////////////////////////////// +///客户端 +#define THOST_FTDC_CAPIT_Client '1' +///服务端 +#define THOST_FTDC_CAPIT_Server '2' +///交易系统的UserApi +#define THOST_FTDC_CAPIT_UserApi '3' + +typedef char TThostFtdcCommApiTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcServiceIDType是一个服务编号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcServiceIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcServiceLineNoType是一个服务线路编号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcServiceLineNoType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcServiceNameType是一个服务名类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcServiceNameType[61]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcLinkStatusType是一个连接状态类型 +///////////////////////////////////////////////////////////////////////// +///已经连接 +#define THOST_FTDC_LS_Connected '1' +///没有连接 +#define THOST_FTDC_LS_Disconnected '2' + +typedef char TThostFtdcLinkStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCommApiPointerType是一个通讯API指针类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcCommApiPointerType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPwdFlagType是一个密码核对标志类型 +///////////////////////////////////////////////////////////////////////// +///不核对 +#define THOST_FTDC_BPWDF_NoCheck '0' +///明文核对 +#define THOST_FTDC_BPWDF_BlankCheck '1' +///密文核对 +#define THOST_FTDC_BPWDF_EncryptCheck '2' + +typedef char TThostFtdcPwdFlagType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSecuAccTypeType是一个期货帐号类型类型 +///////////////////////////////////////////////////////////////////////// +///资金帐号 +#define THOST_FTDC_SAT_AccountID '1' +///资金卡号 +#define THOST_FTDC_SAT_CardID '2' +///上海股东帐号 +#define THOST_FTDC_SAT_SHStockholderID '3' +///深圳股东帐号 +#define THOST_FTDC_SAT_SZStockholderID '4' + +typedef char TThostFtdcSecuAccTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTransferStatusType是一个转账交易状态类型 +///////////////////////////////////////////////////////////////////////// +///正常 +#define THOST_FTDC_TRFS_Normal '0' +///被冲正 +#define THOST_FTDC_TRFS_Repealed '1' + +typedef char TThostFtdcTransferStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSponsorTypeType是一个发起方类型 +///////////////////////////////////////////////////////////////////////// +///期商 +#define THOST_FTDC_SPTYPE_Broker '0' +///银行 +#define THOST_FTDC_SPTYPE_Bank '1' + +typedef char TThostFtdcSponsorTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcReqRspTypeType是一个请求响应类别类型 +///////////////////////////////////////////////////////////////////////// +///请求 +#define THOST_FTDC_REQRSP_Request '0' +///响应 +#define THOST_FTDC_REQRSP_Response '1' + +typedef char TThostFtdcReqRspTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBTUserEventTypeType是一个银期转帐用户事件类型类型 +///////////////////////////////////////////////////////////////////////// +///签到 +#define THOST_FTDC_FBTUET_SignIn '0' +///银行转期货 +#define THOST_FTDC_FBTUET_FromBankToFuture '1' +///期货转银行 +#define THOST_FTDC_FBTUET_FromFutureToBank '2' +///开户 +#define THOST_FTDC_FBTUET_OpenAccount '3' +///销户 +#define THOST_FTDC_FBTUET_CancelAccount '4' +///变更银行账户 +#define THOST_FTDC_FBTUET_ChangeAccount '5' +///冲正银行转期货 +#define THOST_FTDC_FBTUET_RepealFromBankToFuture '6' +///冲正期货转银行 +#define THOST_FTDC_FBTUET_RepealFromFutureToBank '7' +///查询银行账户 +#define THOST_FTDC_FBTUET_QueryBankAccount '8' +///查询期货账户 +#define THOST_FTDC_FBTUET_QueryFutureAccount '9' +///签退 +#define THOST_FTDC_FBTUET_SignOut 'A' +///密钥同步 +#define THOST_FTDC_FBTUET_SyncKey 'B' +///其他 +#define THOST_FTDC_FBTUET_Other 'Z' + +typedef char TThostFtdcFBTUserEventTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankIDByBankType是一个银行自己的编码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBankIDByBankType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankOperNoType是一个银行操作员号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBankOperNoType[4]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankCustNoType是一个银行客户号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBankCustNoType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDBOPSeqNoType是一个递增的序列号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcDBOPSeqNoType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTableNameType是一个FBT表名类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcTableNameType[61]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPKNameType是一个FBT表操作主键名类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcPKNameType[201]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPKValueType是一个FBT表操作主键值类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcPKValueType[501]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDBOperationType是一个记录操作类型类型 +///////////////////////////////////////////////////////////////////////// +///插入 +#define THOST_FTDC_DBOP_Insert '0' +///更新 +#define THOST_FTDC_DBOP_Update '1' +///删除 +#define THOST_FTDC_DBOP_Delete '2' + +typedef char TThostFtdcDBOperationType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSyncFlagType是一个同步标记类型 +///////////////////////////////////////////////////////////////////////// +///已同步 +#define THOST_FTDC_SYNF_Yes '0' +///未同步 +#define THOST_FTDC_SYNF_No '1' + +typedef char TThostFtdcSyncFlagType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTargetIDType是一个同步目标编号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcTargetIDType[4]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSyncTypeType是一个同步类型类型 +///////////////////////////////////////////////////////////////////////// +///一次同步 +#define THOST_FTDC_SYNT_OneOffSync '0' +///定时同步 +#define THOST_FTDC_SYNT_TimerSync '1' +///定时完全同步 +#define THOST_FTDC_SYNT_TimerFullSync '2' + +typedef char TThostFtdcSyncTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBETimeType是一个各种换汇时间类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFBETimeType[7]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBEBankNoType是一个换汇银行行号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFBEBankNoType[13]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBECertNoType是一个换汇凭证号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFBECertNoType[13]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcExDirectionType是一个换汇方向类型 +///////////////////////////////////////////////////////////////////////// +///结汇 +#define THOST_FTDC_FBEDIR_Settlement '0' +///售汇 +#define THOST_FTDC_FBEDIR_Sale '1' + +typedef char TThostFtdcExDirectionType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBEBankAccountType是一个换汇银行账户类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFBEBankAccountType[33]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBEBankAccountNameType是一个换汇银行账户名类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFBEBankAccountNameType[61]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBEAmtType是一个各种换汇金额类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcFBEAmtType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBEBusinessTypeType是一个换汇业务类型类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFBEBusinessTypeType[3]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBEPostScriptType是一个换汇附言类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFBEPostScriptType[61]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBERemarkType是一个换汇备注类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFBERemarkType[71]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcExRateType是一个换汇汇率类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcExRateType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBEResultFlagType是一个换汇成功标志类型 +///////////////////////////////////////////////////////////////////////// +///成功 +#define THOST_FTDC_FBERES_Success '0' +///账户余额不足 +#define THOST_FTDC_FBERES_InsufficientBalance '1' +///交易结果未知 +#define THOST_FTDC_FBERES_UnknownTrading '8' +///失败 +#define THOST_FTDC_FBERES_Fail 'x' + +typedef char TThostFtdcFBEResultFlagType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBERtnMsgType是一个换汇返回信息类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFBERtnMsgType[61]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBEExtendMsgType是一个换汇扩展信息类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFBEExtendMsgType[61]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBEBusinessSerialType是一个换汇记账流水号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFBEBusinessSerialType[31]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBESystemSerialType是一个换汇流水号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFBESystemSerialType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBETotalExCntType是一个换汇交易总笔数类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcFBETotalExCntType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBEExchStatusType是一个换汇交易状态类型 +///////////////////////////////////////////////////////////////////////// +///正常 +#define THOST_FTDC_FBEES_Normal '0' +///交易重发 +#define THOST_FTDC_FBEES_ReExchange '1' + +typedef char TThostFtdcFBEExchStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBEFileFlagType是一个换汇文件标志类型 +///////////////////////////////////////////////////////////////////////// +///数据包 +#define THOST_FTDC_FBEFG_DataPackage '0' +///文件 +#define THOST_FTDC_FBEFG_File '1' + +typedef char TThostFtdcFBEFileFlagType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBEAlreadyTradeType是一个换汇已交易标志类型 +///////////////////////////////////////////////////////////////////////// +///未交易 +#define THOST_FTDC_FBEAT_NotTrade '0' +///已交易 +#define THOST_FTDC_FBEAT_Trade '1' + +typedef char TThostFtdcFBEAlreadyTradeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBEOpenBankType是一个换汇账户开户行类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFBEOpenBankType[61]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBEUserEventTypeType是一个银期换汇用户事件类型类型 +///////////////////////////////////////////////////////////////////////// +///签到 +#define THOST_FTDC_FBEUET_SignIn '0' +///换汇 +#define THOST_FTDC_FBEUET_Exchange '1' +///换汇重发 +#define THOST_FTDC_FBEUET_ReExchange '2' +///银行账户查询 +#define THOST_FTDC_FBEUET_QueryBankAccount '3' +///换汇明细查询 +#define THOST_FTDC_FBEUET_QueryExchDetial '4' +///换汇汇总查询 +#define THOST_FTDC_FBEUET_QueryExchSummary '5' +///换汇汇率查询 +#define THOST_FTDC_FBEUET_QueryExchRate '6' +///对账文件通知 +#define THOST_FTDC_FBEUET_CheckBankAccount '7' +///签退 +#define THOST_FTDC_FBEUET_SignOut '8' +///其他 +#define THOST_FTDC_FBEUET_Other 'Z' + +typedef char TThostFtdcFBEUserEventTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBEFileNameType是一个换汇相关文件名类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFBEFileNameType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBEBatchSerialType是一个换汇批次号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFBEBatchSerialType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBEReqFlagType是一个换汇发送标志类型 +///////////////////////////////////////////////////////////////////////// +///未处理 +#define THOST_FTDC_FBERF_UnProcessed '0' +///等待发送 +#define THOST_FTDC_FBERF_WaitSend '1' +///发送成功 +#define THOST_FTDC_FBERF_SendSuccess '2' +///发送失败 +#define THOST_FTDC_FBERF_SendFailed '3' +///等待重发 +#define THOST_FTDC_FBERF_WaitReSend '4' + +typedef char TThostFtdcFBEReqFlagType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcNotifyClassType是一个风险通知类型类型 +///////////////////////////////////////////////////////////////////////// +///正常 +#define THOST_FTDC_NC_NOERROR '0' +///警示 +#define THOST_FTDC_NC_Warn '1' +///追保 +#define THOST_FTDC_NC_Call '2' +///强平 +#define THOST_FTDC_NC_Force '3' +///穿仓 +#define THOST_FTDC_NC_CHUANCANG '4' +///异常 +#define THOST_FTDC_NC_Exception '5' + +typedef char TThostFtdcNotifyClassType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRiskNofityInfoType是一个客户风险通知消息类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcRiskNofityInfoType[257]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcForceCloseSceneIdType是一个强平场景编号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcForceCloseSceneIdType[24]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcForceCloseTypeType是一个强平单类型类型 +///////////////////////////////////////////////////////////////////////// +///手工强平 +#define THOST_FTDC_FCT_Manual '0' +///单一投资者辅助强平 +#define THOST_FTDC_FCT_Single '1' +///批量投资者辅助强平 +#define THOST_FTDC_FCT_Group '2' + +typedef char TThostFtdcForceCloseTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInstrumentIDsType是一个多个产品代码,用+分隔,如cu+zn类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcInstrumentIDsType[101]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRiskNotifyMethodType是一个风险通知途径类型 +///////////////////////////////////////////////////////////////////////// +///系统通知 +#define THOST_FTDC_RNM_System '0' +///短信通知 +#define THOST_FTDC_RNM_SMS '1' +///邮件通知 +#define THOST_FTDC_RNM_EMail '2' +///人工通知 +#define THOST_FTDC_RNM_Manual '3' + +typedef char TThostFtdcRiskNotifyMethodType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRiskNotifyStatusType是一个风险通知状态类型 +///////////////////////////////////////////////////////////////////////// +///未生成 +#define THOST_FTDC_RNS_NotGen '0' +///已生成未发送 +#define THOST_FTDC_RNS_Generated '1' +///发送失败 +#define THOST_FTDC_RNS_SendError '2' +///已发送未接收 +#define THOST_FTDC_RNS_SendOk '3' +///已接收未确认 +#define THOST_FTDC_RNS_Received '4' +///已确认 +#define THOST_FTDC_RNS_Confirmed '5' + +typedef char TThostFtdcRiskNotifyStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRiskUserEventType是一个风控用户操作事件类型 +///////////////////////////////////////////////////////////////////////// +///导出数据 +#define THOST_FTDC_RUE_ExportData '0' + +typedef char TThostFtdcRiskUserEventType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcParamIDType是一个参数代码类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcParamIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcParamNameType是一个参数名类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcParamNameType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcParamValueType是一个参数值类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcParamValueType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcConditionalOrderSortTypeType是一个条件单索引条件类型 +///////////////////////////////////////////////////////////////////////// +///使用最新价升序 +#define THOST_FTDC_COST_LastPriceAsc '0' +///使用最新价降序 +#define THOST_FTDC_COST_LastPriceDesc '1' +///使用卖价升序 +#define THOST_FTDC_COST_AskPriceAsc '2' +///使用卖价降序 +#define THOST_FTDC_COST_AskPriceDesc '3' +///使用买价升序 +#define THOST_FTDC_COST_BidPriceAsc '4' +///使用买价降序 +#define THOST_FTDC_COST_BidPriceDesc '5' + +typedef char TThostFtdcConditionalOrderSortTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSendTypeType是一个报送状态类型 +///////////////////////////////////////////////////////////////////////// +///未发送 +#define THOST_FTDC_UOAST_NoSend '0' +///已发送 +#define THOST_FTDC_UOAST_Sended '1' +///已生成 +#define THOST_FTDC_UOAST_Generated '2' +///报送失败 +#define THOST_FTDC_UOAST_SendFail '3' +///接收成功 +#define THOST_FTDC_UOAST_Success '4' +///接收失败 +#define THOST_FTDC_UOAST_Fail '5' +///取消报送 +#define THOST_FTDC_UOAST_Cancel '6' + +typedef char TThostFtdcSendTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcClientIDStatusType是一个交易编码状态类型 +///////////////////////////////////////////////////////////////////////// +///未申请 +#define THOST_FTDC_UOACS_NoApply '1' +///已提交申请 +#define THOST_FTDC_UOACS_Submited '2' +///已发送申请 +#define THOST_FTDC_UOACS_Sended '3' +///完成 +#define THOST_FTDC_UOACS_Success '4' +///拒绝 +#define THOST_FTDC_UOACS_Refuse '5' +///已撤销编码 +#define THOST_FTDC_UOACS_Cancel '6' + +typedef char TThostFtdcClientIDStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcIndustryIDType是一个行业编码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcIndustryIDType[17]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcQuestionIDType是一个特有信息编号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcQuestionIDType[5]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcQuestionContentType是一个特有信息说明类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcQuestionContentType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOptionIDType是一个选项编号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcOptionIDType[13]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOptionContentType是一个选项说明类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcOptionContentType[61]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcQuestionTypeType是一个特有信息类型类型 +///////////////////////////////////////////////////////////////////////// +///单选 +#define THOST_FTDC_QT_Radio '1' +///多选 +#define THOST_FTDC_QT_Option '2' +///填空 +#define THOST_FTDC_QT_Blank '3' + +typedef char TThostFtdcQuestionTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcProcessIDType是一个业务流水号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcProcessIDType[33]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSeqNoType是一个流水号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcSeqNoType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUOAProcessStatusType是一个流程状态类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcUOAProcessStatusType[3]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcProcessTypeType是一个流程功能类型类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcProcessTypeType[3]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBusinessTypeType是一个业务类型类型 +///////////////////////////////////////////////////////////////////////// +///请求 +#define THOST_FTDC_BT_Request '1' +///应答 +#define THOST_FTDC_BT_Response '2' +///通知 +#define THOST_FTDC_BT_Notice '3' + +typedef char TThostFtdcBusinessTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCfmmcReturnCodeType是一个监控中心返回码类型 +///////////////////////////////////////////////////////////////////////// +///成功 +#define THOST_FTDC_CRC_Success '0' +///该客户已经有流程在处理中 +#define THOST_FTDC_CRC_Working '1' +///监控中客户资料检查失败 +#define THOST_FTDC_CRC_InfoFail '2' +///监控中实名制检查失败 +#define THOST_FTDC_CRC_IDCardFail '3' +///其他错误 +#define THOST_FTDC_CRC_OtherFail '4' + +typedef char TThostFtdcCfmmcReturnCodeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcExReturnCodeType是一个交易所返回码类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcExReturnCodeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcClientTypeType是一个客户类型类型 +///////////////////////////////////////////////////////////////////////// +///所有 +#define THOST_FTDC_CfMMCCT_All '0' +///个人 +#define THOST_FTDC_CfMMCCT_Person '1' +///单位 +#define THOST_FTDC_CfMMCCT_Company '2' +///其他 +#define THOST_FTDC_CfMMCCT_Other '3' +///特殊法人 +#define THOST_FTDC_CfMMCCT_SpecialOrgan '4' +///资管户 +#define THOST_FTDC_CfMMCCT_Asset '5' + +typedef char TThostFtdcClientTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcExchangeIDTypeType是一个交易所编号类型 +///////////////////////////////////////////////////////////////////////// +///上海期货交易所 +#define THOST_FTDC_EIDT_SHFE 'S' +///郑州商品交易所 +#define THOST_FTDC_EIDT_CZCE 'Z' +///大连商品交易所 +#define THOST_FTDC_EIDT_DCE 'D' +///中国金融期货交易所 +#define THOST_FTDC_EIDT_CFFEX 'J' +///上海国际能源交易中心股份有限公司 +#define THOST_FTDC_EIDT_INE 'N' + +typedef char TThostFtdcExchangeIDTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcExClientIDTypeType是一个交易编码类型类型 +///////////////////////////////////////////////////////////////////////// +///套保 +#define THOST_FTDC_ECIDT_Hedge '1' +///套利 +#define THOST_FTDC_ECIDT_Arbitrage '2' +///投机 +#define THOST_FTDC_ECIDT_Speculation '3' + +typedef char TThostFtdcExClientIDTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcClientClassifyType是一个客户分类码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcClientClassifyType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUOAOrganTypeType是一个单位性质类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcUOAOrganTypeType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUOACountryCodeType是一个国家代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcUOACountryCodeType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAreaCodeType是一个区号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAreaCodeType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFuturesIDType是一个监控中心为客户分配的代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFuturesIDType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCffmcDateType是一个日期类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCffmcDateType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCffmcTimeType是一个时间类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCffmcTimeType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcNocIDType是一个组织机构代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcNocIDType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUpdateFlagType是一个更新状态类型 +///////////////////////////////////////////////////////////////////////// +///未更新 +#define THOST_FTDC_UF_NoUpdate '0' +///更新全部信息成功 +#define THOST_FTDC_UF_Success '1' +///更新全部信息失败 +#define THOST_FTDC_UF_Fail '2' +///更新交易编码成功 +#define THOST_FTDC_UF_TCSuccess '3' +///更新交易编码失败 +#define THOST_FTDC_UF_TCFail '4' +///已丢弃 +#define THOST_FTDC_UF_Cancel '5' + +typedef char TThostFtdcUpdateFlagType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcApplyOperateIDType是一个申请动作类型 +///////////////////////////////////////////////////////////////////////// +///开户 +#define THOST_FTDC_AOID_OpenInvestor '1' +///修改身份信息 +#define THOST_FTDC_AOID_ModifyIDCard '2' +///修改一般信息 +#define THOST_FTDC_AOID_ModifyNoIDCard '3' +///申请交易编码 +#define THOST_FTDC_AOID_ApplyTradingCode '4' +///撤销交易编码 +#define THOST_FTDC_AOID_CancelTradingCode '5' +///销户 +#define THOST_FTDC_AOID_CancelInvestor '6' +///账户休眠 +#define THOST_FTDC_AOID_FreezeAccount '8' +///激活休眠账户 +#define THOST_FTDC_AOID_ActiveFreezeAccount '9' + +typedef char TThostFtdcApplyOperateIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcApplyStatusIDType是一个申请状态类型 +///////////////////////////////////////////////////////////////////////// +///未补全 +#define THOST_FTDC_ASID_NoComplete '1' +///已提交 +#define THOST_FTDC_ASID_Submited '2' +///已审核 +#define THOST_FTDC_ASID_Checked '3' +///已拒绝 +#define THOST_FTDC_ASID_Refused '4' +///已删除 +#define THOST_FTDC_ASID_Deleted '5' + +typedef char TThostFtdcApplyStatusIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSendMethodType是一个发送方式类型 +///////////////////////////////////////////////////////////////////////// +///文件发送 +#define THOST_FTDC_UOASM_ByAPI '1' +///电子发送 +#define THOST_FTDC_UOASM_ByFile '2' + +typedef char TThostFtdcSendMethodType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcEventTypeType是一个业务操作类型类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcEventTypeType[33]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcEventModeType是一个操作方法类型 +///////////////////////////////////////////////////////////////////////// +///增加 +#define THOST_FTDC_EvM_ADD '1' +///修改 +#define THOST_FTDC_EvM_UPDATE '2' +///删除 +#define THOST_FTDC_EvM_DELETE '3' +///复核 +#define THOST_FTDC_EvM_CHECK '4' +///复制 +#define THOST_FTDC_EvM_COPY '5' +///注销 +#define THOST_FTDC_EvM_CANCEL '6' +///冲销 +#define THOST_FTDC_EvM_Reverse '7' + +typedef char TThostFtdcEventModeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUOAAutoSendType是一个统一开户申请自动发送类型 +///////////////////////////////////////////////////////////////////////// +///自动发送并接收 +#define THOST_FTDC_UOAA_ASR '1' +///自动发送,不自动接收 +#define THOST_FTDC_UOAA_ASNR '2' +///不自动发送,自动接收 +#define THOST_FTDC_UOAA_NSAR '3' +///不自动发送,也不自动接收 +#define THOST_FTDC_UOAA_NSR '4' + +typedef char TThostFtdcUOAAutoSendType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcQueryDepthType是一个查询深度类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcQueryDepthType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDataCenterIDType是一个数据中心代码类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcDataCenterIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFlowIDType是一个流程ID类型 +///////////////////////////////////////////////////////////////////////// +///投资者对应投资者组设置 +#define THOST_FTDC_EvM_InvestorGroupFlow '1' +///投资者手续费率设置 +#define THOST_FTDC_EvM_InvestorRate '2' +///投资者手续费率模板关系设置 +#define THOST_FTDC_EvM_InvestorCommRateModel '3' + +typedef char TThostFtdcFlowIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCheckLevelType是一个复核级别类型 +///////////////////////////////////////////////////////////////////////// +///零级复核 +#define THOST_FTDC_CL_Zero '0' +///一级复核 +#define THOST_FTDC_CL_One '1' +///二级复核 +#define THOST_FTDC_CL_Two '2' + +typedef char TThostFtdcCheckLevelType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCheckNoType是一个操作次数类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcCheckNoType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCheckStatusType是一个复核级别类型 +///////////////////////////////////////////////////////////////////////// +///未复核 +#define THOST_FTDC_CHS_Init '0' +///复核中 +#define THOST_FTDC_CHS_Checking '1' +///已复核 +#define THOST_FTDC_CHS_Checked '2' +///拒绝 +#define THOST_FTDC_CHS_Refuse '3' +///作废 +#define THOST_FTDC_CHS_Cancel '4' + +typedef char TThostFtdcCheckStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUsedStatusType是一个生效状态类型 +///////////////////////////////////////////////////////////////////////// +///未生效 +#define THOST_FTDC_CHU_Unused '0' +///已生效 +#define THOST_FTDC_CHU_Used '1' +///生效失败 +#define THOST_FTDC_CHU_Fail '2' + +typedef char TThostFtdcUsedStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRateTemplateNameType是一个模型名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcRateTemplateNameType[61]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPropertyStringType是一个用于查询的投资属性字段类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcPropertyStringType[2049]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankAcountOriginType是一个账户来源类型 +///////////////////////////////////////////////////////////////////////// +///手工录入 +#define THOST_FTDC_BAO_ByAccProperty '0' +///银期转账 +#define THOST_FTDC_BAO_ByFBTransfer '1' + +typedef char TThostFtdcBankAcountOriginType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcMonthBillTradeSumType是一个结算单月报成交汇总方式类型 +///////////////////////////////////////////////////////////////////////// +///同日同合约 +#define THOST_FTDC_MBTS_ByInstrument '0' +///同日同合约同价格 +#define THOST_FTDC_MBTS_ByDayInsPrc '1' +///同合约 +#define THOST_FTDC_MBTS_ByDayIns '2' + +typedef char TThostFtdcMonthBillTradeSumType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFBTTradeCodeEnumType是一个银期交易代码枚举类型 +///////////////////////////////////////////////////////////////////////// +///银行发起银行转期货 +#define THOST_FTDC_FTC_BankLaunchBankToBroker '102001' +///期货发起银行转期货 +#define THOST_FTDC_FTC_BrokerLaunchBankToBroker '202001' +///银行发起期货转银行 +#define THOST_FTDC_FTC_BankLaunchBrokerToBank '102002' +///期货发起期货转银行 +#define THOST_FTDC_FTC_BrokerLaunchBrokerToBank '202002' + +typedef char TThostFtdcFBTTradeCodeEnumType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRateTemplateIDType是一个模型代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcRateTemplateIDType[9]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRiskRateType是一个风险度类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcRiskRateType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTimestampType是一个时间戳类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcTimestampType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInvestorIDRuleNameType是一个号段规则名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcInvestorIDRuleNameType[61]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInvestorIDRuleExprType是一个号段规则表达式类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcInvestorIDRuleExprType[513]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcLastDriftType是一个上次OTP漂移值类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcLastDriftType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcLastSuccessType是一个上次OTP成功值类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcLastSuccessType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAuthKeyType是一个令牌密钥类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAuthKeyType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSerialNumberType是一个序列号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcSerialNumberType[17]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOTPTypeType是一个动态令牌类型类型 +///////////////////////////////////////////////////////////////////////// +///无动态令牌 +#define THOST_FTDC_OTP_NONE '0' +///时间令牌 +#define THOST_FTDC_OTP_TOTP '1' + +typedef char TThostFtdcOTPTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOTPVendorsIDType是一个动态令牌提供商类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcOTPVendorsIDType[2]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOTPVendorsNameType是一个动态令牌提供商名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcOTPVendorsNameType[61]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOTPStatusType是一个动态令牌状态类型 +///////////////////////////////////////////////////////////////////////// +///未使用 +#define THOST_FTDC_OTPS_Unused '0' +///已使用 +#define THOST_FTDC_OTPS_Used '1' +///注销 +#define THOST_FTDC_OTPS_Disuse '2' + +typedef char TThostFtdcOTPStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBrokerUserTypeType是一个经济公司用户类型类型 +///////////////////////////////////////////////////////////////////////// +///投资者 +#define THOST_FTDC_BUT_Investor '1' +///操作员 +#define THOST_FTDC_BUT_BrokerUser '2' + +typedef char TThostFtdcBrokerUserTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFutureTypeType是一个期货类型类型 +///////////////////////////////////////////////////////////////////////// +///商品期货 +#define THOST_FTDC_FUTT_Commodity '1' +///金融期货 +#define THOST_FTDC_FUTT_Financial '2' + +typedef char TThostFtdcFutureTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFundEventTypeType是一个资金管理操作类型类型 +///////////////////////////////////////////////////////////////////////// +///转账限额 +#define THOST_FTDC_FET_Restriction '0' +///当日转账限额 +#define THOST_FTDC_FET_TodayRestriction '1' +///期商流水 +#define THOST_FTDC_FET_Transfer '2' +///资金冻结 +#define THOST_FTDC_FET_Credit '3' +///投资者可提资金比例 +#define THOST_FTDC_FET_InvestorWithdrawAlm '4' +///单个银行帐户转账限额 +#define THOST_FTDC_FET_BankRestriction '5' +///银期签约账户 +#define THOST_FTDC_FET_Accountregister '6' +///交易所出入金 +#define THOST_FTDC_FET_ExchangeFundIO '7' +///投资者出入金 +#define THOST_FTDC_FET_InvestorFundIO '8' + +typedef char TThostFtdcFundEventTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAccountSourceTypeType是一个资金账户来源类型 +///////////////////////////////////////////////////////////////////////// +///银期同步 +#define THOST_FTDC_AST_FBTransfer '0' +///手工录入 +#define THOST_FTDC_AST_ManualEntry '1' + +typedef char TThostFtdcAccountSourceTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCodeSourceTypeType是一个交易编码来源类型 +///////////////////////////////////////////////////////////////////////// +///统一开户(已规范) +#define THOST_FTDC_CST_UnifyAccount '0' +///手工录入(未规范) +#define THOST_FTDC_CST_ManualEntry '1' + +typedef char TThostFtdcCodeSourceTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUserRangeType是一个操作员范围类型 +///////////////////////////////////////////////////////////////////////// +///所有 +#define THOST_FTDC_UR_All '0' +///单一操作员 +#define THOST_FTDC_UR_Single '1' + +typedef char TThostFtdcUserRangeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTimeSpanType是一个时间跨度类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcTimeSpanType[9]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcImportSequenceIDType是一个动态令牌导入批次编号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcImportSequenceIDType[17]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcByGroupType是一个交易统计表按客户统计方式类型 +///////////////////////////////////////////////////////////////////////// +///按投资者统计 +#define THOST_FTDC_BG_Investor '2' +///按类统计 +#define THOST_FTDC_BG_Group '1' + +typedef char TThostFtdcByGroupType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTradeSumStatModeType是一个交易统计表按范围统计方式类型 +///////////////////////////////////////////////////////////////////////// +///按合约统计 +#define THOST_FTDC_TSSM_Instrument '1' +///按产品统计 +#define THOST_FTDC_TSSM_Product '2' +///按交易所统计 +#define THOST_FTDC_TSSM_Exchange '3' + +typedef char TThostFtdcTradeSumStatModeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcComTypeType是一个组合成交类型类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcComTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUserProductIDType是一个产品标识类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcUserProductIDType[33]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUserProductNameType是一个产品名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcUserProductNameType[65]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUserProductMemoType是一个产品说明类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcUserProductMemoType[129]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCCancelFlagType是一个新增或变更标志类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCCancelFlagType[2]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCDateType是一个日期类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCDateType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCInvestorNameType是一个客户名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCInvestorNameType[201]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCOpenInvestorNameType是一个客户名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCOpenInvestorNameType[101]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCInvestorIDType是一个客户代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCInvestorIDType[13]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCIdentifiedCardNoType是一个证件号码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCIdentifiedCardNoType[51]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCClientIDType是一个交易编码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCClientIDType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCBankFlagType是一个银行标识类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCBankFlagType[3]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCBankAccountType是一个银行账户类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCBankAccountType[23]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCOpenNameType是一个开户人类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCOpenNameType[401]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCMemoType是一个说明类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCMemoType[101]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCTimeType是一个时间类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCTimeType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCTradeIDType是一个成交流水号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCTradeIDType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCExchangeInstIDType是一个合约代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCExchangeInstIDType[31]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCMortgageNameType是一个质押品名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCMortgageNameType[7]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCReasonType是一个事由类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCReasonType[3]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcIsSettlementType是一个是否为非结算会员类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcIsSettlementType[2]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCMoneyType是一个资金类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcCSRCMoneyType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCPriceType是一个价格类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcCSRCPriceType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCOptionsTypeType是一个期权类型类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCOptionsTypeType[2]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCStrikePriceType是一个执行价类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcCSRCStrikePriceType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCTargetProductIDType是一个标的品种类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCTargetProductIDType[3]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCTargetInstrIDType是一个标的合约类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCTargetInstrIDType[31]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCommModelNameType是一个手续费率模板名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCommModelNameType[161]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCommModelMemoType是一个手续费率模板备注类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCommModelMemoType[1025]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcExprSetModeType是一个日期表达式设置类型类型 +///////////////////////////////////////////////////////////////////////// +///相对已有规则设置 +#define THOST_FTDC_ESM_Relative '1' +///典型设置 +#define THOST_FTDC_ESM_Typical '2' + +typedef char TThostFtdcExprSetModeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRateInvestorRangeType是一个投资者范围类型 +///////////////////////////////////////////////////////////////////////// +///公司标准 +#define THOST_FTDC_RIR_All '1' +///模板 +#define THOST_FTDC_RIR_Model '2' +///单一投资者 +#define THOST_FTDC_RIR_Single '3' + +typedef char TThostFtdcRateInvestorRangeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAgentBrokerIDType是一个代理经纪公司代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAgentBrokerIDType[13]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDRIdentityIDType是一个交易中心代码类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcDRIdentityIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDRIdentityNameType是一个交易中心名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcDRIdentityNameType[65]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDBLinkIDType是一个DBLink标识号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcDBLinkIDType[31]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSyncDataStatusType是一个主次用系统数据同步状态类型 +///////////////////////////////////////////////////////////////////////// +///未同步 +#define THOST_FTDC_SDS_Initialize '0' +///同步中 +#define THOST_FTDC_SDS_Settlementing '1' +///已同步 +#define THOST_FTDC_SDS_Settlemented '2' + +typedef char TThostFtdcSyncDataStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTradeSourceType是一个成交来源类型 +///////////////////////////////////////////////////////////////////////// +///来自交易所普通回报 +#define THOST_FTDC_TSRC_NORMAL '0' +///来自查询 +#define THOST_FTDC_TSRC_QUERY '1' + +typedef char TThostFtdcTradeSourceType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFlexStatModeType是一个产品合约统计方式类型 +///////////////////////////////////////////////////////////////////////// +///产品统计 +#define THOST_FTDC_FSM_Product '1' +///交易所统计 +#define THOST_FTDC_FSM_Exchange '2' +///统计所有 +#define THOST_FTDC_FSM_All '3' + +typedef char TThostFtdcFlexStatModeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcByInvestorRangeType是一个投资者范围统计方式类型 +///////////////////////////////////////////////////////////////////////// +///属性统计 +#define THOST_FTDC_BIR_Property '1' +///统计所有 +#define THOST_FTDC_BIR_All '2' + +typedef char TThostFtdcByInvestorRangeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSRiskRateType是一个风险度类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcSRiskRateType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSequenceNo12Type是一个序号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcSequenceNo12Type; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPropertyInvestorRangeType是一个投资者范围类型 +///////////////////////////////////////////////////////////////////////// +///所有 +#define THOST_FTDC_PIR_All '1' +///投资者属性 +#define THOST_FTDC_PIR_Property '2' +///单一投资者 +#define THOST_FTDC_PIR_Single '3' + +typedef char TThostFtdcPropertyInvestorRangeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFileStatusType是一个文件状态类型 +///////////////////////////////////////////////////////////////////////// +///未生成 +#define THOST_FTDC_FIS_NoCreate '0' +///已生成 +#define THOST_FTDC_FIS_Created '1' +///生成失败 +#define THOST_FTDC_FIS_Failed '2' + +typedef char TThostFtdcFileStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFileGenStyleType是一个文件生成方式类型 +///////////////////////////////////////////////////////////////////////// +///下发 +#define THOST_FTDC_FGS_FileTransmit '0' +///生成 +#define THOST_FTDC_FGS_FileGen '1' + +typedef char TThostFtdcFileGenStyleType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSysOperModeType是一个系统日志操作方法类型 +///////////////////////////////////////////////////////////////////////// +///增加 +#define THOST_FTDC_SoM_Add '1' +///修改 +#define THOST_FTDC_SoM_Update '2' +///删除 +#define THOST_FTDC_SoM_Delete '3' +///复制 +#define THOST_FTDC_SoM_Copy '4' +///激活 +#define THOST_FTDC_SoM_AcTive '5' +///注销 +#define THOST_FTDC_SoM_CanCel '6' +///重置 +#define THOST_FTDC_SoM_ReSet '7' + +typedef char TThostFtdcSysOperModeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSysOperTypeType是一个系统日志操作类型类型 +///////////////////////////////////////////////////////////////////////// +///修改操作员密码 +#define THOST_FTDC_SoT_UpdatePassword '0' +///操作员组织架构关系 +#define THOST_FTDC_SoT_UserDepartment '1' +///角色管理 +#define THOST_FTDC_SoT_RoleManager '2' +///角色功能设置 +#define THOST_FTDC_SoT_RoleFunction '3' +///基础参数设置 +#define THOST_FTDC_SoT_BaseParam '4' +///设置操作员 +#define THOST_FTDC_SoT_SetUserID '5' +///用户角色设置 +#define THOST_FTDC_SoT_SetUserRole '6' +///用户IP限制 +#define THOST_FTDC_SoT_UserIpRestriction '7' +///组织架构管理 +#define THOST_FTDC_SoT_DepartmentManager '8' +///组织架构向查询分类复制 +#define THOST_FTDC_SoT_DepartmentCopy '9' +///交易编码管理 +#define THOST_FTDC_SoT_Tradingcode 'A' +///投资者状态维护 +#define THOST_FTDC_SoT_InvestorStatus 'B' +///投资者权限管理 +#define THOST_FTDC_SoT_InvestorAuthority 'C' +///属性设置 +#define THOST_FTDC_SoT_PropertySet 'D' +///重置投资者密码 +#define THOST_FTDC_SoT_ReSetInvestorPasswd 'E' +///投资者个性信息维护 +#define THOST_FTDC_SoT_InvestorPersonalityInfo 'F' + +typedef char TThostFtdcSysOperTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCDataQueyTypeType是一个上报数据查询类型类型 +///////////////////////////////////////////////////////////////////////// +///查询当前交易日报送的数据 +#define THOST_FTDC_CSRCQ_Current '0' +///查询历史报送的代理经纪公司的数据 +#define THOST_FTDC_CSRCQ_History '1' + +typedef char TThostFtdcCSRCDataQueyTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFreezeStatusType是一个休眠状态类型 +///////////////////////////////////////////////////////////////////////// +///活跃 +#define THOST_FTDC_FRS_Normal '1' +///休眠 +#define THOST_FTDC_FRS_Freeze '0' + +typedef char TThostFtdcFreezeStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcStandardStatusType是一个规范状态类型 +///////////////////////////////////////////////////////////////////////// +///已规范 +#define THOST_FTDC_STST_Standard '0' +///未规范 +#define THOST_FTDC_STST_NonStandard '1' + +typedef char TThostFtdcStandardStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCFreezeStatusType是一个休眠状态类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCFreezeStatusType[2]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRightParamTypeType是一个配置类型类型 +///////////////////////////////////////////////////////////////////////// +///休眠户 +#define THOST_FTDC_RPT_Freeze '1' +///激活休眠户 +#define THOST_FTDC_RPT_FreezeActive '2' +///开仓权限限制 +#define THOST_FTDC_RPT_OpenLimit '3' +///解除开仓权限限制 +#define THOST_FTDC_RPT_RelieveOpenLimit '4' + +typedef char TThostFtdcRightParamTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRightTemplateIDType是一个模板代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcRightTemplateIDType[9]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRightTemplateNameType是一个模板名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcRightTemplateNameType[61]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDataStatusType是一个反洗钱审核表数据状态类型 +///////////////////////////////////////////////////////////////////////// +///正常 +#define THOST_FTDC_AMLDS_Normal '0' +///已删除 +#define THOST_FTDC_AMLDS_Deleted '1' + +typedef char TThostFtdcDataStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAMLCheckStatusType是一个审核状态类型 +///////////////////////////////////////////////////////////////////////// +///未复核 +#define THOST_FTDC_AMLCHS_Init '0' +///复核中 +#define THOST_FTDC_AMLCHS_Checking '1' +///已复核 +#define THOST_FTDC_AMLCHS_Checked '2' +///拒绝上报 +#define THOST_FTDC_AMLCHS_RefuseReport '3' + +typedef char TThostFtdcAMLCheckStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAmlDateTypeType是一个日期类型类型 +///////////////////////////////////////////////////////////////////////// +///检查日期 +#define THOST_FTDC_AMLDT_DrawDay '0' +///发生日期 +#define THOST_FTDC_AMLDT_TouchDay '1' + +typedef char TThostFtdcAmlDateTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAmlCheckLevelType是一个审核级别类型 +///////////////////////////////////////////////////////////////////////// +///零级审核 +#define THOST_FTDC_AMLCL_CheckLevel0 '0' +///一级审核 +#define THOST_FTDC_AMLCL_CheckLevel1 '1' +///二级审核 +#define THOST_FTDC_AMLCL_CheckLevel2 '2' +///三级审核 +#define THOST_FTDC_AMLCL_CheckLevel3 '3' + +typedef char TThostFtdcAmlCheckLevelType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAmlCheckFlowType是一个反洗钱数据抽取审核流程类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAmlCheckFlowType[2]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDataTypeType是一个数据类型类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcDataTypeType[129]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcExportFileTypeType是一个导出文件类型类型 +///////////////////////////////////////////////////////////////////////// +///CSV +#define THOST_FTDC_EFT_CSV '0' +///Excel +#define THOST_FTDC_EFT_EXCEL '1' +///DBF +#define THOST_FTDC_EFT_DBF '2' + +typedef char TThostFtdcExportFileTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSettleManagerTypeType是一个结算配置类型类型 +///////////////////////////////////////////////////////////////////////// +///结算前准备 +#define THOST_FTDC_SMT_Before '1' +///结算 +#define THOST_FTDC_SMT_Settlement '2' +///结算后核对 +#define THOST_FTDC_SMT_After '3' +///结算后处理 +#define THOST_FTDC_SMT_Settlemented '4' + +typedef char TThostFtdcSettleManagerTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSettleManagerIDType是一个结算配置代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcSettleManagerIDType[33]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSettleManagerNameType是一个结算配置名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcSettleManagerNameType[129]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSettleManagerLevelType是一个结算配置等级类型 +///////////////////////////////////////////////////////////////////////// +///必要 +#define THOST_FTDC_SML_Must '1' +///警告 +#define THOST_FTDC_SML_Alarm '2' +///提示 +#define THOST_FTDC_SML_Prompt '3' +///不检查 +#define THOST_FTDC_SML_Ignore '4' + +typedef char TThostFtdcSettleManagerLevelType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSettleManagerGroupType是一个模块分组类型 +///////////////////////////////////////////////////////////////////////// +///交易所核对 +#define THOST_FTDC_SMG_Exhcange '1' +///内部核对 +#define THOST_FTDC_SMG_ASP '2' +///上报数据核对 +#define THOST_FTDC_SMG_CSRC '3' + +typedef char TThostFtdcSettleManagerGroupType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCheckResultMemoType是一个核对结果说明类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCheckResultMemoType[1025]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFunctionUrlType是一个功能链接类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcFunctionUrlType[1025]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAuthInfoType是一个客户端认证信息类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAuthInfoType[129]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAuthCodeType是一个客户端认证码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAuthCodeType[17]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcLimitUseTypeType是一个保值额度使用类型类型 +///////////////////////////////////////////////////////////////////////// +///可重复使用 +#define THOST_FTDC_LUT_Repeatable '1' +///不可重复使用 +#define THOST_FTDC_LUT_Unrepeatable '2' + +typedef char TThostFtdcLimitUseTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDataResourceType是一个数据来源类型 +///////////////////////////////////////////////////////////////////////// +///本系统 +#define THOST_FTDC_DAR_Settle '1' +///交易所 +#define THOST_FTDC_DAR_Exchange '2' +///报送数据 +#define THOST_FTDC_DAR_CSRC '3' + +typedef char TThostFtdcDataResourceType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcMarginTypeType是一个保证金类型类型 +///////////////////////////////////////////////////////////////////////// +///交易所保证金率 +#define THOST_FTDC_MGT_ExchMarginRate '0' +///投资者保证金率 +#define THOST_FTDC_MGT_InstrMarginRate '1' +///投资者交易保证金率 +#define THOST_FTDC_MGT_InstrMarginRateTrade '2' + +typedef char TThostFtdcMarginTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcActiveTypeType是一个生效类型类型 +///////////////////////////////////////////////////////////////////////// +///仅当日生效 +#define THOST_FTDC_ACT_Intraday '1' +///长期生效 +#define THOST_FTDC_ACT_Long '2' + +typedef char TThostFtdcActiveTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcMarginRateTypeType是一个冲突保证金率类型类型 +///////////////////////////////////////////////////////////////////////// +///交易所保证金率 +#define THOST_FTDC_MRT_Exchange '1' +///投资者保证金率 +#define THOST_FTDC_MRT_Investor '2' +///投资者交易保证金率 +#define THOST_FTDC_MRT_InvestorTrade '3' + +typedef char TThostFtdcMarginRateTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBackUpStatusType是一个备份数据状态类型 +///////////////////////////////////////////////////////////////////////// +///未生成备份数据 +#define THOST_FTDC_BUS_UnBak '0' +///备份数据生成中 +#define THOST_FTDC_BUS_BakUp '1' +///已生成备份数据 +#define THOST_FTDC_BUS_BakUped '2' +///备份数据失败 +#define THOST_FTDC_BUS_BakFail '3' + +typedef char TThostFtdcBackUpStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInitSettlementType是一个结算初始化状态类型 +///////////////////////////////////////////////////////////////////////// +///结算初始化未开始 +#define THOST_FTDC_SIS_UnInitialize '0' +///结算初始化中 +#define THOST_FTDC_SIS_Initialize '1' +///结算初始化完成 +#define THOST_FTDC_SIS_Initialized '2' + +typedef char TThostFtdcInitSettlementType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcReportStatusType是一个报表数据生成状态类型 +///////////////////////////////////////////////////////////////////////// +///未生成报表数据 +#define THOST_FTDC_SRS_NoCreate '0' +///报表数据生成中 +#define THOST_FTDC_SRS_Create '1' +///已生成报表数据 +#define THOST_FTDC_SRS_Created '2' +///生成报表数据失败 +#define THOST_FTDC_SRS_CreateFail '3' + +typedef char TThostFtdcReportStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSaveStatusType是一个数据归档状态类型 +///////////////////////////////////////////////////////////////////////// +///归档未完成 +#define THOST_FTDC_SSS_UnSaveData '0' +///归档完成 +#define THOST_FTDC_SSS_SaveDatad '1' + +typedef char TThostFtdcSaveStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSettArchiveStatusType是一个结算确认数据归档状态类型 +///////////////////////////////////////////////////////////////////////// +///未归档数据 +#define THOST_FTDC_SAS_UnArchived '0' +///数据归档中 +#define THOST_FTDC_SAS_Archiving '1' +///已归档数据 +#define THOST_FTDC_SAS_Archived '2' +///归档数据失败 +#define THOST_FTDC_SAS_ArchiveFail '3' + +typedef char TThostFtdcSettArchiveStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCTPTypeType是一个CTP交易系统类型类型 +///////////////////////////////////////////////////////////////////////// +///未知类型 +#define THOST_FTDC_CTPT_Unkown '0' +///主中心 +#define THOST_FTDC_CTPT_MainCenter '1' +///备中心 +#define THOST_FTDC_CTPT_BackUp '2' + +typedef char TThostFtdcCTPTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcToolIDType是一个工具代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcToolIDType[9]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcToolNameType是一个工具名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcToolNameType[81]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCloseDealTypeType是一个平仓处理类型类型 +///////////////////////////////////////////////////////////////////////// +///正常 +#define THOST_FTDC_CDT_Normal '0' +///投机平仓优先 +#define THOST_FTDC_CDT_SpecFirst '1' + +typedef char TThostFtdcCloseDealTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcMortgageFundUseRangeType是一个货币质押资金可用范围类型 +///////////////////////////////////////////////////////////////////////// +///不能使用 +#define THOST_FTDC_MFUR_None '0' +///用于保证金 +#define THOST_FTDC_MFUR_Margin '1' +///用于手续费、盈亏、保证金 +#define THOST_FTDC_MFUR_All '2' + +typedef char TThostFtdcMortgageFundUseRangeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCurrencyUnitType是一个币种单位数量类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcCurrencyUnitType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcExchangeRateType是一个汇率类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcExchangeRateType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSpecProductTypeType是一个特殊产品类型类型 +///////////////////////////////////////////////////////////////////////// +///郑商所套保产品 +#define THOST_FTDC_SPT_CzceHedge '1' +///货币质押产品 +#define THOST_FTDC_SPT_IneForeignCurrency '2' +///大连短线开平仓产品 +#define THOST_FTDC_SPT_DceOpenClose '3' + +typedef char TThostFtdcSpecProductTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFundMortgageTypeType是一个货币质押类型类型 +///////////////////////////////////////////////////////////////////////// +///质押 +#define THOST_FTDC_FMT_Mortgage '1' +///解质 +#define THOST_FTDC_FMT_Redemption '2' + +typedef char TThostFtdcFundMortgageTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAccountSettlementParamIDType是一个投资者账户结算参数代码类型 +///////////////////////////////////////////////////////////////////////// +///基础保证金 +#define THOST_FTDC_ASPI_BaseMargin '1' +///最低权益标准 +#define THOST_FTDC_ASPI_LowestInterest '2' + +typedef char TThostFtdcAccountSettlementParamIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCurrencyNameType是一个币种名称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCurrencyNameType[31]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCurrencySignType是一个币种符号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCurrencySignType[4]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFundMortDirectionType是一个货币质押方向类型 +///////////////////////////////////////////////////////////////////////// +///货币质入 +#define THOST_FTDC_FMD_In '1' +///货币质出 +#define THOST_FTDC_FMD_Out '2' + +typedef char TThostFtdcFundMortDirectionType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBusinessClassType是一个换汇类别类型 +///////////////////////////////////////////////////////////////////////// +///盈利 +#define THOST_FTDC_BT_Profit '0' +///亏损 +#define THOST_FTDC_BT_Loss '1' +///其他 +#define THOST_FTDC_BT_Other 'Z' + +typedef char TThostFtdcBusinessClassType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSwapSourceTypeType是一个换汇数据来源类型 +///////////////////////////////////////////////////////////////////////// +///手工 +#define THOST_FTDC_SST_Manual '0' +///自动生成 +#define THOST_FTDC_SST_Automatic '1' + +typedef char TThostFtdcSwapSourceTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCurrExDirectionType是一个换汇类型类型 +///////////////////////////////////////////////////////////////////////// +///结汇 +#define THOST_FTDC_CED_Settlement '0' +///售汇 +#define THOST_FTDC_CED_Sale '1' + +typedef char TThostFtdcCurrExDirectionType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCurrencySwapStatusType是一个申请状态类型 +///////////////////////////////////////////////////////////////////////// +///已录入 +#define THOST_FTDC_CSS_Entry '1' +///已审核 +#define THOST_FTDC_CSS_Approve '2' +///已拒绝 +#define THOST_FTDC_CSS_Refuse '3' +///已撤销 +#define THOST_FTDC_CSS_Revoke '4' +///已发送 +#define THOST_FTDC_CSS_Send '5' +///换汇成功 +#define THOST_FTDC_CSS_Success '6' +///换汇失败 +#define THOST_FTDC_CSS_Failure '7' + +typedef char TThostFtdcCurrencySwapStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCurrExchCertNoType是一个凭证号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCurrExchCertNoType[13]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBatchSerialNoType是一个批次号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBatchSerialNoType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcReqFlagType是一个换汇发送标志类型 +///////////////////////////////////////////////////////////////////////// +///未发送 +#define THOST_FTDC_REQF_NoSend '0' +///发送成功 +#define THOST_FTDC_REQF_SendSuccess '1' +///发送失败 +#define THOST_FTDC_REQF_SendFailed '2' +///等待重发 +#define THOST_FTDC_REQF_WaitReSend '3' + +typedef char TThostFtdcReqFlagType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcResFlagType是一个换汇返回成功标志类型 +///////////////////////////////////////////////////////////////////////// +///成功 +#define THOST_FTDC_RESF_Success '0' +///账户余额不足 +#define THOST_FTDC_RESF_InsuffiCient '1' +///交易结果未知 +#define THOST_FTDC_RESF_UnKnown '8' + +typedef char TThostFtdcResFlagType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPageControlType是一个换汇页面控制类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcPageControlType[2]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcRecordCountType是一个记录数类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcRecordCountType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCurrencySwapMemoType是一个换汇需确认信息类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCurrencySwapMemoType[101]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcExStatusType是一个修改状态类型 +///////////////////////////////////////////////////////////////////////// +///修改前 +#define THOST_FTDC_EXS_Before '0' +///修改后 +#define THOST_FTDC_EXS_After '1' + +typedef char TThostFtdcExStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcClientRegionType是一个开户客户地域类型 +///////////////////////////////////////////////////////////////////////// +///国内客户 +#define THOST_FTDC_CR_Domestic '1' +///港澳台客户 +#define THOST_FTDC_CR_GMT '2' +///国外客户 +#define THOST_FTDC_CR_Foreign '3' + +typedef char TThostFtdcClientRegionType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcWorkPlaceType是一个工作单位类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcWorkPlaceType[101]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBusinessPeriodType是一个经营期限类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBusinessPeriodType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcWebSiteType是一个网址类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcWebSiteType[101]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUOAIdCardTypeType是一个统一开户证件类型类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcUOAIdCardTypeType[3]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcClientModeType是一个开户模式类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcClientModeType[3]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInvestorFullNameType是一个投资者全称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcInvestorFullNameType[101]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUOABrokerIDType是一个境外中介机构ID类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcUOABrokerIDType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUOAZipCodeType是一个邮政编码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcUOAZipCodeType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUOAEMailType是一个电子邮箱类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcUOAEMailType[101]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOldCityType是一个城市类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcOldCityType[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCorporateIdentifiedCardNoType是一个法人代表证件号码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCorporateIdentifiedCardNoType[101]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcHasBoardType是一个是否有董事会类型 +///////////////////////////////////////////////////////////////////////// +///没有 +#define THOST_FTDC_HB_No '0' +///有 +#define THOST_FTDC_HB_Yes '1' + +typedef char TThostFtdcHasBoardType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcStartModeType是一个启动模式类型 +///////////////////////////////////////////////////////////////////////// +///正常 +#define THOST_FTDC_SM_Normal '1' +///应急 +#define THOST_FTDC_SM_Emerge '2' +///恢复 +#define THOST_FTDC_SM_Restore '3' + +typedef char TThostFtdcStartModeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTemplateTypeType是一个模型类型类型 +///////////////////////////////////////////////////////////////////////// +///全量 +#define THOST_FTDC_TPT_Full '1' +///增量 +#define THOST_FTDC_TPT_Increment '2' +///备份 +#define THOST_FTDC_TPT_BackUp '3' + +typedef char TThostFtdcTemplateTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcLoginModeType是一个登录模式类型 +///////////////////////////////////////////////////////////////////////// +///交易 +#define THOST_FTDC_LM_Trade '0' +///转账 +#define THOST_FTDC_LM_Transfer '1' + +typedef char TThostFtdcLoginModeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPromptTypeType是一个日历提示类型类型 +///////////////////////////////////////////////////////////////////////// +///合约上下市 +#define THOST_FTDC_CPT_Instrument '1' +///保证金分段生效 +#define THOST_FTDC_CPT_Margin '2' + +typedef char TThostFtdcPromptTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcLedgerManageIDType是一个分户管理资产编码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcLedgerManageIDType[51]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInvestVarietyType是一个投资品种类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcInvestVarietyType[101]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBankAccountTypeType是一个账户类别类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcBankAccountTypeType[2]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcLedgerManageBankType是一个开户银行类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcLedgerManageBankType[101]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCffexDepartmentNameType是一个开户营业部类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCffexDepartmentNameType[101]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCffexDepartmentCodeType是一个营业部代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCffexDepartmentCodeType[9]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcHasTrusteeType是一个是否有托管人类型 +///////////////////////////////////////////////////////////////////////// +///有 +#define THOST_FTDC_HT_Yes '1' +///没有 +#define THOST_FTDC_HT_No '0' + +typedef char TThostFtdcHasTrusteeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCMemo1Type是一个说明类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCMemo1Type[41]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAssetmgrCFullNameType是一个代理资产管理业务的期货公司全称类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAssetmgrCFullNameType[101]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAssetmgrApprovalNOType是一个资产管理业务批文号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAssetmgrApprovalNOType[51]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAssetmgrMgrNameType是一个资产管理业务负责人姓名类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAssetmgrMgrNameType[401]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAmTypeType是一个机构类型类型 +///////////////////////////////////////////////////////////////////////// +///银行 +#define THOST_FTDC_AMT_Bank '1' +///证券公司 +#define THOST_FTDC_AMT_Securities '2' +///基金公司 +#define THOST_FTDC_AMT_Fund '3' +///保险公司 +#define THOST_FTDC_AMT_Insurance '4' +///信托公司 +#define THOST_FTDC_AMT_Trust '5' +///其他 +#define THOST_FTDC_AMT_Other '9' + +typedef char TThostFtdcAmTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCAmTypeType是一个机构类型类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCAmTypeType[5]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCFundIOTypeType是一个出入金类型类型 +///////////////////////////////////////////////////////////////////////// +///出入金 +#define THOST_FTDC_CFIOT_FundIO '0' +///银期换汇 +#define THOST_FTDC_CFIOT_SwapCurrency '1' + +typedef char TThostFtdcCSRCFundIOTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCusAccountTypeType是一个结算账户类型类型 +///////////////////////////////////////////////////////////////////////// +///期货结算账户 +#define THOST_FTDC_CAT_Futures '1' +///纯期货资管业务下的资管结算账户 +#define THOST_FTDC_CAT_AssetmgrFuture '2' +///综合类资管业务下的期货资管托管账户 +#define THOST_FTDC_CAT_AssetmgrTrustee '3' +///综合类资管业务下的资金中转账户 +#define THOST_FTDC_CAT_AssetmgrTransfer '4' + +typedef char TThostFtdcCusAccountTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCNationalType是一个国籍类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCNationalType[4]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCSRCSecAgentIDType是一个二级代理ID类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCSRCSecAgentIDType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcLanguageTypeType是一个通知语言类型类型 +///////////////////////////////////////////////////////////////////////// +///中文 +#define THOST_FTDC_LT_Chinese '1' +///英文 +#define THOST_FTDC_LT_English '2' + +typedef char TThostFtdcLanguageTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAmAccountType是一个投资账户类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcAmAccountType[23]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAssetmgrClientTypeType是一个资产管理客户类型类型 +///////////////////////////////////////////////////////////////////////// +///个人资管客户 +#define THOST_FTDC_AMCT_Person '1' +///单位资管客户 +#define THOST_FTDC_AMCT_Organ '2' +///特殊单位资管客户 +#define THOST_FTDC_AMCT_SpecialOrgan '4' + +typedef char TThostFtdcAssetmgrClientTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcAssetmgrTypeType是一个投资类型类型 +///////////////////////////////////////////////////////////////////////// +///期货类 +#define THOST_FTDC_ASST_Futures '3' +///综合类 +#define THOST_FTDC_ASST_SpecialOrgan '4' + +typedef char TThostFtdcAssetmgrTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUOMType是一个计量单位类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcUOMType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSHFEInstLifePhaseType是一个上期所合约生命周期状态类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcSHFEInstLifePhaseType[3]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSHFEProductClassType是一个产品类型类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcSHFEProductClassType[11]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcPriceDecimalType是一个价格小数位类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcPriceDecimalType[2]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcInTheMoneyFlagType是一个平值期权标志类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcInTheMoneyFlagType[2]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCheckInstrTypeType是一个合约比较类型类型 +///////////////////////////////////////////////////////////////////////// +///合约交易所不存在 +#define THOST_FTDC_CIT_HasExch '0' +///合约本系统不存在 +#define THOST_FTDC_CIT_HasATP '1' +///合约比较不一致 +#define THOST_FTDC_CIT_HasDiff '2' + +typedef char TThostFtdcCheckInstrTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDeliveryTypeType是一个交割类型类型 +///////////////////////////////////////////////////////////////////////// +///手工交割 +#define THOST_FTDC_DT_HandDeliv '1' +///到期交割 +#define THOST_FTDC_DT_PersonDeliv '2' + +typedef char TThostFtdcDeliveryTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBigMoneyType是一个资金类型 +///////////////////////////////////////////////////////////////////////// +typedef double TThostFtdcBigMoneyType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcMaxMarginSideAlgorithmType是一个大额单边保证金算法类型 +///////////////////////////////////////////////////////////////////////// +///不使用大额单边保证金算法 +#define THOST_FTDC_MMSA_NO '0' +///使用大额单边保证金算法 +#define THOST_FTDC_MMSA_YES '1' + +typedef char TThostFtdcMaxMarginSideAlgorithmType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDAClientTypeType是一个资产管理客户类型类型 +///////////////////////////////////////////////////////////////////////// +///自然人 +#define THOST_FTDC_CACT_Person '0' +///法人 +#define THOST_FTDC_CACT_Company '1' +///其他 +#define THOST_FTDC_CACT_Other '2' + +typedef char TThostFtdcDAClientTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCombinInstrIDType是一个套利合约代码类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCombinInstrIDType[61]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCombinSettlePriceType是一个各腿结算价类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcCombinSettlePriceType[61]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDCEPriorityType是一个优先级类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcDCEPriorityType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcTradeGroupIDType是一个成交组号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcTradeGroupIDType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcIsCheckPrepaType是一个是否校验开户可用资金类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcIsCheckPrepaType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcUOAAssetmgrTypeType是一个投资类型类型 +///////////////////////////////////////////////////////////////////////// +///期货类 +#define THOST_FTDC_UOAAT_Futures '1' +///综合类 +#define THOST_FTDC_UOAAT_SpecialOrgan '2' + +typedef char TThostFtdcUOAAssetmgrTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDirectionEnType是一个买卖方向类型 +///////////////////////////////////////////////////////////////////////// +///Buy +#define THOST_FTDC_DEN_Buy '0' +///Sell +#define THOST_FTDC_DEN_Sell '1' + +typedef char TThostFtdcDirectionEnType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOffsetFlagEnType是一个开平标志类型 +///////////////////////////////////////////////////////////////////////// +///Position Opening +#define THOST_FTDC_OFEN_Open '0' +///Position Close +#define THOST_FTDC_OFEN_Close '1' +///Forced Liquidation +#define THOST_FTDC_OFEN_ForceClose '2' +///Close Today +#define THOST_FTDC_OFEN_CloseToday '3' +///Close Prev. +#define THOST_FTDC_OFEN_CloseYesterday '4' +///Forced Reduction +#define THOST_FTDC_OFEN_ForceOff '5' +///Local Forced Liquidation +#define THOST_FTDC_OFEN_LocalForceClose '6' + +typedef char TThostFtdcOffsetFlagEnType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcHedgeFlagEnType是一个投机套保标志类型 +///////////////////////////////////////////////////////////////////////// +///Speculation +#define THOST_FTDC_HFEN_Speculation '1' +///Arbitrage +#define THOST_FTDC_HFEN_Arbitrage '2' +///Hedge +#define THOST_FTDC_HFEN_Hedge '3' + +typedef char TThostFtdcHedgeFlagEnType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFundIOTypeEnType是一个出入金类型类型 +///////////////////////////////////////////////////////////////////////// +///Deposit/Withdrawal +#define THOST_FTDC_FIOTEN_FundIO '1' +///Bank-Futures Transfer +#define THOST_FTDC_FIOTEN_Transfer '2' +///Bank-Futures FX Exchange +#define THOST_FTDC_FIOTEN_SwapCurrency '3' + +typedef char TThostFtdcFundIOTypeEnType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFundTypeEnType是一个资金类型类型 +///////////////////////////////////////////////////////////////////////// +///Bank Deposit +#define THOST_FTDC_FTEN_Deposite '1' +///Payment/Fee +#define THOST_FTDC_FTEN_ItemFund '2' +///Brokerage Adj +#define THOST_FTDC_FTEN_Company '3' +///Internal Transfer +#define THOST_FTDC_FTEN_InnerTransfer '4' + +typedef char TThostFtdcFundTypeEnType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFundDirectionEnType是一个出入金方向类型 +///////////////////////////////////////////////////////////////////////// +///Deposit +#define THOST_FTDC_FDEN_In '1' +///Withdrawal +#define THOST_FTDC_FDEN_Out '2' + +typedef char TThostFtdcFundDirectionEnType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcFundMortDirectionEnType是一个货币质押方向类型 +///////////////////////////////////////////////////////////////////////// +///Pledge +#define THOST_FTDC_FMDEN_In '1' +///Redemption +#define THOST_FTDC_FMDEN_Out '2' + +typedef char TThostFtdcFundMortDirectionEnType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSwapBusinessTypeType是一个换汇业务种类类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcSwapBusinessTypeType[3]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOptionsTypeType是一个期权类型类型 +///////////////////////////////////////////////////////////////////////// +///看涨 +#define THOST_FTDC_CP_CallOptions '1' +///看跌 +#define THOST_FTDC_CP_PutOptions '2' + +typedef char TThostFtdcOptionsTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcStrikeModeType是一个执行方式类型 +///////////////////////////////////////////////////////////////////////// +///欧式 +#define THOST_FTDC_STM_Continental '0' +///美式 +#define THOST_FTDC_STM_American '1' +///百慕大 +#define THOST_FTDC_STM_Bermuda '2' + +typedef char TThostFtdcStrikeModeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcStrikeTypeType是一个执行类型类型 +///////////////////////////////////////////////////////////////////////// +///自身对冲 +#define THOST_FTDC_STT_Hedge '0' +///匹配执行 +#define THOST_FTDC_STT_Match '1' + +typedef char TThostFtdcStrikeTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcApplyTypeType是一个中金所期权放弃执行申请类型类型 +///////////////////////////////////////////////////////////////////////// +///不执行数量 +#define THOST_FTDC_APPT_NotStrikeNum '4' + +typedef char TThostFtdcApplyTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcGiveUpDataSourceType是一个放弃执行申请数据来源类型 +///////////////////////////////////////////////////////////////////////// +///系统生成 +#define THOST_FTDC_GUDS_Gen '0' +///手工添加 +#define THOST_FTDC_GUDS_Hand '1' + +typedef char TThostFtdcGiveUpDataSourceType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcExecOrderSysIDType是一个执行宣告系统编号类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcExecOrderSysIDType[21]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcExecResultType是一个执行结果类型 +///////////////////////////////////////////////////////////////////////// +///没有执行 +#define THOST_FTDC_OER_NoExec 'n' +///已经取消 +#define THOST_FTDC_OER_Canceled 'c' +///执行成功 +#define THOST_FTDC_OER_OK '0' +///期权持仓不够 +#define THOST_FTDC_OER_NoPosition '1' +///资金不够 +#define THOST_FTDC_OER_NoDeposit '2' +///会员不存在 +#define THOST_FTDC_OER_NoParticipant '3' +///客户不存在 +#define THOST_FTDC_OER_NoClient '4' +///合约不存在 +#define THOST_FTDC_OER_NoInstrument '6' +///没有执行权限 +#define THOST_FTDC_OER_NoRight '7' +///不合理的数量 +#define THOST_FTDC_OER_InvalidVolume '8' +///没有足够的历史成交 +#define THOST_FTDC_OER_NoEnoughHistoryTrade '9' +///未知 +#define THOST_FTDC_OER_Unknown 'a' + +typedef char TThostFtdcExecResultType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcStrikeSequenceType是一个执行序号类型 +///////////////////////////////////////////////////////////////////////// +typedef int TThostFtdcStrikeSequenceType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcStrikeTimeType是一个执行时间类型 +///////////////////////////////////////////////////////////////////////// +typedef char TThostFtdcStrikeTimeType[13]; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCombinationTypeType是一个组合类型类型 +///////////////////////////////////////////////////////////////////////// +///期货组合 +#define THOST_FTDC_COMBT_Future '0' +///垂直价差BUL +#define THOST_FTDC_COMBT_BUL '1' +///垂直价差BER +#define THOST_FTDC_COMBT_BER '2' +///跨式组合 +#define THOST_FTDC_COMBT_STD '3' +///宽跨式组合 +#define THOST_FTDC_COMBT_STG '4' +///备兑组合 +#define THOST_FTDC_COMBT_PRT '5' + +typedef char TThostFtdcCombinationTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcOptionRoyaltyPriceTypeType是一个期权权利金价格类型类型 +///////////////////////////////////////////////////////////////////////// +///昨结算价 +#define THOST_FTDC_ORPT_PreSettlementPrice '1' +///开仓价 +#define THOST_FTDC_ORPT_OpenPrice '4' + +typedef char TThostFtdcOptionRoyaltyPriceTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcBalanceAlgorithmType是一个权益算法类型 +///////////////////////////////////////////////////////////////////////// +///不计算期权市值盈亏 +#define THOST_FTDC_BLAG_Default '1' +///计算期权市值亏损 +#define THOST_FTDC_BLAG_IncludeOptValLost '2' + +typedef char TThostFtdcBalanceAlgorithmType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcActionTypeType是一个执行类型类型 +///////////////////////////////////////////////////////////////////////// +///执行 +#define THOST_FTDC_ACTP_Exec '1' +///放弃 +#define THOST_FTDC_ACTP_Abandon '2' + +typedef char TThostFtdcActionTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcForQuoteStatusType是一个询价状态类型 +///////////////////////////////////////////////////////////////////////// +///已经提交 +#define THOST_FTDC_FQST_Submitted 'a' +///已经接受 +#define THOST_FTDC_FQST_Accepted 'b' +///已经被拒绝 +#define THOST_FTDC_FQST_Rejected 'c' + +typedef char TThostFtdcForQuoteStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcQuotStatusType是一个报价状态类型 +///////////////////////////////////////////////////////////////////////// +///未知 +#define THOST_FTDC_QTST_Unknown 'a' +///已经接受 +#define THOST_FTDC_QTST_Accepted 'b' +///已经撤销 +#define THOST_FTDC_QTST_Canceled 'c' + +typedef char TThostFtdcQuotStatusType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcValueMethodType是一个取值方式类型 +///////////////////////////////////////////////////////////////////////// +///按绝对值 +#define THOST_FTDC_VM_Absolute '0' +///按比率 +#define THOST_FTDC_VM_Ratio '1' + +typedef char TThostFtdcValueMethodType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcExecOrderPositionFlagType是一个期权行权后是否保留期货头寸的标记类型 +///////////////////////////////////////////////////////////////////////// +///保留 +#define THOST_FTDC_EOPF_Reserve '0' +///不保留 +#define THOST_FTDC_EOPF_UnReserve '1' + +typedef char TThostFtdcExecOrderPositionFlagType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcExecOrderCloseFlagType是一个期权行权后生成的头寸是否自动平仓类型 +///////////////////////////////////////////////////////////////////////// +///自动平仓 +#define THOST_FTDC_EOCF_AutoClose '0' +///免于自动平仓 +#define THOST_FTDC_EOCF_NotToClose '1' + +typedef char TThostFtdcExecOrderCloseFlagType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcProductTypeType是一个产品类型类型 +///////////////////////////////////////////////////////////////////////// +///期货 +#define THOST_FTDC_PTE_Futures '1' +///期权 +#define THOST_FTDC_PTE_Options '2' + +typedef char TThostFtdcProductTypeType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCZCEUploadFileNameType是一个郑商所结算文件名类型 +///////////////////////////////////////////////////////////////////////// +///^\d{8}_zz_\d{4} +#define THOST_FTDC_CUFN_CUFN_O 'O' +///^\d{8}成交表 +#define THOST_FTDC_CUFN_CUFN_T 'T' +///^\d{8}单腿持仓表new +#define THOST_FTDC_CUFN_CUFN_P 'P' +///^\d{8}非平仓了结表 +#define THOST_FTDC_CUFN_CUFN_N 'N' +///^\d{8}平仓表 +#define THOST_FTDC_CUFN_CUFN_L 'L' +///^\d{8}资金表 +#define THOST_FTDC_CUFN_CUFN_F 'F' +///^\d{8}组合持仓表 +#define THOST_FTDC_CUFN_CUFN_C 'C' +///^\d{8}保证金参数表 +#define THOST_FTDC_CUFN_CUFN_M 'M' + +typedef char TThostFtdcCZCEUploadFileNameType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcDCEUploadFileNameType是一个大商所结算文件名类型 +///////////////////////////////////////////////////////////////////////// +///^\d{8}_dl_\d{3} +#define THOST_FTDC_DUFN_DUFN_O 'O' +///^\d{8}_成交表 +#define THOST_FTDC_DUFN_DUFN_T 'T' +///^\d{8}_持仓表 +#define THOST_FTDC_DUFN_DUFN_P 'P' +///^\d{8}_资金结算表 +#define THOST_FTDC_DUFN_DUFN_F 'F' +///^\d{8}_优惠组合持仓明细表 +#define THOST_FTDC_DUFN_DUFN_C 'C' +///^\d{8}_持仓明细表 +#define THOST_FTDC_DUFN_DUFN_D 'D' +///^\d{8}_保证金参数表 +#define THOST_FTDC_DUFN_DUFN_M 'M' +///^\d{8}_期权执行表 +#define THOST_FTDC_DUFN_DUFN_S 'S' + +typedef char TThostFtdcDCEUploadFileNameType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcSHFEUploadFileNameType是一个上期所结算文件名类型 +///////////////////////////////////////////////////////////////////////// +///^\d{4}_\d{8}_\d{8}_DailyFundChg +#define THOST_FTDC_SUFN_SUFN_O 'O' +///^\d{4}_\d{8}_\d{8}_Trade +#define THOST_FTDC_SUFN_SUFN_T 'T' +///^\d{4}_\d{8}_\d{8}_SettlementDetail +#define THOST_FTDC_SUFN_SUFN_P 'P' +///^\d{4}_\d{8}_\d{8}_Capital +#define THOST_FTDC_SUFN_SUFN_F 'F' + +typedef char TThostFtdcSHFEUploadFileNameType; + +///////////////////////////////////////////////////////////////////////// +///TFtdcCFFEXUploadFileNameType是一个中金所结算文件名类型 +///////////////////////////////////////////////////////////////////////// +///^\d{4}_SG\d{1}_\d{8}_\d{1}_Trade +#define THOST_FTDC_CFUFN_SUFN_T 'T' +///^\d{4}_SG\d{1}_\d{8}_\d{1}_SettlementDetail +#define THOST_FTDC_CFUFN_SUFN_P 'P' +///^\d{4}_SG\d{1}_\d{8}_\d{1}_Capital +#define THOST_FTDC_CFUFN_SUFN_F 'F' +///^\d{4}_SG\d{1}_\d{8}_\d{1}_OptionExec +#define THOST_FTDC_CFUFN_SUFN_S 'S' + +typedef char TThostFtdcCFFEXUploadFileNameType; + +#endif diff --git a/vn.ctp/pyscript/ThostFtdcUserApiStruct.h b/vn.ctp/pyscript/ThostFtdcUserApiStruct.h new file mode 100644 index 00000000..ada148c8 --- /dev/null +++ b/vn.ctp/pyscript/ThostFtdcUserApiStruct.h @@ -0,0 +1,7430 @@ +///////////////////////////////////////////////////////////////////////// +///@system 新一代交易所系统 +///@company 上海期货信息技术有限公司 +///@file ThostFtdcUserApiStruct.h +///@brief 定义了客户端接口使用的业务数据结构 +///@history +///20060106 赵鸿昊 创建该文件 +///////////////////////////////////////////////////////////////////////// + +#if !defined(THOST_FTDCSTRUCT_H) +#define THOST_FTDCSTRUCT_H + +#if _MSC_VER > 1000 +#pragma once +#endif // _MSC_VER > 1000 + +#include "ThostFtdcUserApiDataType.h" + +///信息分发 +struct CThostFtdcDisseminationField +{ + ///序列系列号 + TThostFtdcSequenceSeriesType SequenceSeries; + ///序列号 + TThostFtdcSequenceNoType SequenceNo; +}; + +///用户登录请求 +struct CThostFtdcReqUserLoginField +{ + ///交易日 + TThostFtdcDateType TradingDay; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///密码 + TThostFtdcPasswordType Password; + ///用户端产品信息 + TThostFtdcProductInfoType UserProductInfo; + ///接口端产品信息 + TThostFtdcProductInfoType InterfaceProductInfo; + ///协议信息 + TThostFtdcProtocolInfoType ProtocolInfo; + ///Mac地址 + TThostFtdcMacAddressType MacAddress; + ///动态密码 + TThostFtdcPasswordType OneTimePassword; + ///终端IP地址 + TThostFtdcIPAddressType ClientIPAddress; +}; + +///用户登录应答 +struct CThostFtdcRspUserLoginField +{ + ///交易日 + TThostFtdcDateType TradingDay; + ///登录成功时间 + TThostFtdcTimeType LoginTime; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///交易系统名称 + TThostFtdcSystemNameType SystemName; + ///前置编号 + TThostFtdcFrontIDType FrontID; + ///会话编号 + TThostFtdcSessionIDType SessionID; + ///最大报单引用 + TThostFtdcOrderRefType MaxOrderRef; + ///上期所时间 + TThostFtdcTimeType SHFETime; + ///大商所时间 + TThostFtdcTimeType DCETime; + ///郑商所时间 + TThostFtdcTimeType CZCETime; + ///中金所时间 + TThostFtdcTimeType FFEXTime; + ///能源中心时间 + TThostFtdcTimeType INETime; +}; + +///用户登出请求 +struct CThostFtdcUserLogoutField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; +}; + +///强制交易员退出 +struct CThostFtdcForceUserLogoutField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; +}; + +///客户端认证请求 +struct CThostFtdcReqAuthenticateField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///用户端产品信息 + TThostFtdcProductInfoType UserProductInfo; + ///认证码 + TThostFtdcAuthCodeType AuthCode; +}; + +///客户端认证响应 +struct CThostFtdcRspAuthenticateField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///用户端产品信息 + TThostFtdcProductInfoType UserProductInfo; +}; + +///客户端认证信息 +struct CThostFtdcAuthenticationInfoField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///用户端产品信息 + TThostFtdcProductInfoType UserProductInfo; + ///认证信息 + TThostFtdcAuthInfoType AuthInfo; + ///是否为认证结果 + TThostFtdcBoolType IsResult; +}; + +///银期转帐报文头 +struct CThostFtdcTransferHeaderField +{ + ///版本号,常量,1.0 + TThostFtdcVersionType Version; + ///交易代码,必填 + TThostFtdcTradeCodeType TradeCode; + ///交易日期,必填,格式:yyyymmdd + TThostFtdcTradeDateType TradeDate; + ///交易时间,必填,格式:hhmmss + TThostFtdcTradeTimeType TradeTime; + ///发起方流水号,N/A + TThostFtdcTradeSerialType TradeSerial; + ///期货公司代码,必填 + TThostFtdcFutureIDType FutureID; + ///银行代码,根据查询银行得到,必填 + TThostFtdcBankIDType BankID; + ///银行分中心代码,根据查询银行得到,必填 + TThostFtdcBankBrchIDType BankBrchID; + ///操作员,N/A + TThostFtdcOperNoType OperNo; + ///交易设备类型,N/A + TThostFtdcDeviceIDType DeviceID; + ///记录数,N/A + TThostFtdcRecordNumType RecordNum; + ///会话编号,N/A + TThostFtdcSessionIDType SessionID; + ///请求编号,N/A + TThostFtdcRequestIDType RequestID; +}; + +///银行资金转期货请求,TradeCode=202001 +struct CThostFtdcTransferBankToFutureReqField +{ + ///期货资金账户 + TThostFtdcAccountIDType FutureAccount; + ///密码标志 + TThostFtdcFuturePwdFlagType FuturePwdFlag; + ///密码 + TThostFtdcFutureAccPwdType FutureAccPwd; + ///转账金额 + TThostFtdcMoneyType TradeAmt; + ///客户手续费 + TThostFtdcMoneyType CustFee; + ///币种:RMB-人民币 USD-美圆 HKD-港元 + TThostFtdcCurrencyCodeType CurrencyCode; +}; + +///银行资金转期货请求响应 +struct CThostFtdcTransferBankToFutureRspField +{ + ///响应代码 + TThostFtdcRetCodeType RetCode; + ///响应信息 + TThostFtdcRetInfoType RetInfo; + ///资金账户 + TThostFtdcAccountIDType FutureAccount; + ///转帐金额 + TThostFtdcMoneyType TradeAmt; + ///应收客户手续费 + TThostFtdcMoneyType CustFee; + ///币种 + TThostFtdcCurrencyCodeType CurrencyCode; +}; + +///期货资金转银行请求,TradeCode=202002 +struct CThostFtdcTransferFutureToBankReqField +{ + ///期货资金账户 + TThostFtdcAccountIDType FutureAccount; + ///密码标志 + TThostFtdcFuturePwdFlagType FuturePwdFlag; + ///密码 + TThostFtdcFutureAccPwdType FutureAccPwd; + ///转账金额 + TThostFtdcMoneyType TradeAmt; + ///客户手续费 + TThostFtdcMoneyType CustFee; + ///币种:RMB-人民币 USD-美圆 HKD-港元 + TThostFtdcCurrencyCodeType CurrencyCode; +}; + +///期货资金转银行请求响应 +struct CThostFtdcTransferFutureToBankRspField +{ + ///响应代码 + TThostFtdcRetCodeType RetCode; + ///响应信息 + TThostFtdcRetInfoType RetInfo; + ///资金账户 + TThostFtdcAccountIDType FutureAccount; + ///转帐金额 + TThostFtdcMoneyType TradeAmt; + ///应收客户手续费 + TThostFtdcMoneyType CustFee; + ///币种 + TThostFtdcCurrencyCodeType CurrencyCode; +}; + +///查询银行资金请求,TradeCode=204002 +struct CThostFtdcTransferQryBankReqField +{ + ///期货资金账户 + TThostFtdcAccountIDType FutureAccount; + ///密码标志 + TThostFtdcFuturePwdFlagType FuturePwdFlag; + ///密码 + TThostFtdcFutureAccPwdType FutureAccPwd; + ///币种:RMB-人民币 USD-美圆 HKD-港元 + TThostFtdcCurrencyCodeType CurrencyCode; +}; + +///查询银行资金请求响应 +struct CThostFtdcTransferQryBankRspField +{ + ///响应代码 + TThostFtdcRetCodeType RetCode; + ///响应信息 + TThostFtdcRetInfoType RetInfo; + ///资金账户 + TThostFtdcAccountIDType FutureAccount; + ///银行余额 + TThostFtdcMoneyType TradeAmt; + ///银行可用余额 + TThostFtdcMoneyType UseAmt; + ///银行可取余额 + TThostFtdcMoneyType FetchAmt; + ///币种 + TThostFtdcCurrencyCodeType CurrencyCode; +}; + +///查询银行交易明细请求,TradeCode=204999 +struct CThostFtdcTransferQryDetailReqField +{ + ///期货资金账户 + TThostFtdcAccountIDType FutureAccount; +}; + +///查询银行交易明细请求响应 +struct CThostFtdcTransferQryDetailRspField +{ + ///交易日期 + TThostFtdcDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///交易代码 + TThostFtdcTradeCodeType TradeCode; + ///期货流水号 + TThostFtdcTradeSerialNoType FutureSerial; + ///期货公司代码 + TThostFtdcFutureIDType FutureID; + ///资金帐号 + TThostFtdcFutureAccountType FutureAccount; + ///银行流水号 + TThostFtdcTradeSerialNoType BankSerial; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分中心代码 + TThostFtdcBankBrchIDType BankBrchID; + ///银行账号 + TThostFtdcBankAccountType BankAccount; + ///证件号码 + TThostFtdcCertCodeType CertCode; + ///货币代码 + TThostFtdcCurrencyCodeType CurrencyCode; + ///发生金额 + TThostFtdcMoneyType TxAmount; + ///有效标志 + TThostFtdcTransferValidFlagType Flag; +}; + +///响应信息 +struct CThostFtdcRspInfoField +{ + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; +}; + +///交易所 +struct CThostFtdcExchangeField +{ + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///交易所名称 + TThostFtdcExchangeNameType ExchangeName; + ///交易所属性 + TThostFtdcExchangePropertyType ExchangeProperty; +}; + +///产品 +struct CThostFtdcProductField +{ + ///产品代码 + TThostFtdcInstrumentIDType ProductID; + ///产品名称 + TThostFtdcProductNameType ProductName; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///产品类型 + TThostFtdcProductClassType ProductClass; + ///合约数量乘数 + TThostFtdcVolumeMultipleType VolumeMultiple; + ///最小变动价位 + TThostFtdcPriceType PriceTick; + ///市价单最大下单量 + TThostFtdcVolumeType MaxMarketOrderVolume; + ///市价单最小下单量 + TThostFtdcVolumeType MinMarketOrderVolume; + ///限价单最大下单量 + TThostFtdcVolumeType MaxLimitOrderVolume; + ///限价单最小下单量 + TThostFtdcVolumeType MinLimitOrderVolume; + ///持仓类型 + TThostFtdcPositionTypeType PositionType; + ///持仓日期类型 + TThostFtdcPositionDateTypeType PositionDateType; + ///平仓处理类型 + TThostFtdcCloseDealTypeType CloseDealType; + ///交易币种类型 + TThostFtdcCurrencyIDType TradeCurrencyID; + ///质押资金可用范围 + TThostFtdcMortgageFundUseRangeType MortgageFundUseRange; + ///交易所产品代码 + TThostFtdcInstrumentIDType ExchangeProductID; + ///合约基础商品乘数 + TThostFtdcUnderlyingMultipleType UnderlyingMultiple; +}; + +///合约 +struct CThostFtdcInstrumentField +{ + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///合约名称 + TThostFtdcInstrumentNameType InstrumentName; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///产品代码 + TThostFtdcInstrumentIDType ProductID; + ///产品类型 + TThostFtdcProductClassType ProductClass; + ///交割年份 + TThostFtdcYearType DeliveryYear; + ///交割月 + TThostFtdcMonthType DeliveryMonth; + ///市价单最大下单量 + TThostFtdcVolumeType MaxMarketOrderVolume; + ///市价单最小下单量 + TThostFtdcVolumeType MinMarketOrderVolume; + ///限价单最大下单量 + TThostFtdcVolumeType MaxLimitOrderVolume; + ///限价单最小下单量 + TThostFtdcVolumeType MinLimitOrderVolume; + ///合约数量乘数 + TThostFtdcVolumeMultipleType VolumeMultiple; + ///最小变动价位 + TThostFtdcPriceType PriceTick; + ///创建日 + TThostFtdcDateType CreateDate; + ///上市日 + TThostFtdcDateType OpenDate; + ///到期日 + TThostFtdcDateType ExpireDate; + ///开始交割日 + TThostFtdcDateType StartDelivDate; + ///结束交割日 + TThostFtdcDateType EndDelivDate; + ///合约生命周期状态 + TThostFtdcInstLifePhaseType InstLifePhase; + ///当前是否交易 + TThostFtdcBoolType IsTrading; + ///持仓类型 + TThostFtdcPositionTypeType PositionType; + ///持仓日期类型 + TThostFtdcPositionDateTypeType PositionDateType; + ///多头保证金率 + TThostFtdcRatioType LongMarginRatio; + ///空头保证金率 + TThostFtdcRatioType ShortMarginRatio; + ///是否使用大额单边保证金算法 + TThostFtdcMaxMarginSideAlgorithmType MaxMarginSideAlgorithm; + ///基础商品代码 + TThostFtdcInstrumentIDType UnderlyingInstrID; + ///执行价 + TThostFtdcPriceType StrikePrice; + ///期权类型 + TThostFtdcOptionsTypeType OptionsType; + ///合约基础商品乘数 + TThostFtdcUnderlyingMultipleType UnderlyingMultiple; + ///组合类型 + TThostFtdcCombinationTypeType CombinationType; +}; + +///经纪公司 +struct CThostFtdcBrokerField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///经纪公司简称 + TThostFtdcBrokerAbbrType BrokerAbbr; + ///经纪公司名称 + TThostFtdcBrokerNameType BrokerName; + ///是否活跃 + TThostFtdcBoolType IsActive; +}; + +///交易所交易员 +struct CThostFtdcTraderField +{ + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///密码 + TThostFtdcPasswordType Password; + ///安装数量 + TThostFtdcInstallCountType InstallCount; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; +}; + +///投资者 +struct CThostFtdcInvestorField +{ + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者分组代码 + TThostFtdcInvestorIDType InvestorGroupID; + ///投资者名称 + TThostFtdcPartyNameType InvestorName; + ///证件类型 + TThostFtdcIdCardTypeType IdentifiedCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///是否活跃 + TThostFtdcBoolType IsActive; + ///联系电话 + TThostFtdcTelephoneType Telephone; + ///通讯地址 + TThostFtdcAddressType Address; + ///开户日期 + TThostFtdcDateType OpenDate; + ///手机 + TThostFtdcMobileType Mobile; + ///手续费率模板代码 + TThostFtdcInvestorIDType CommModelID; + ///保证金率模板代码 + TThostFtdcInvestorIDType MarginModelID; +}; + +///交易编码 +struct CThostFtdcTradingCodeField +{ + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///是否活跃 + TThostFtdcBoolType IsActive; + ///交易编码类型 + TThostFtdcClientIDTypeType ClientIDType; +}; + +///会员编码和经纪公司编码对照表 +struct CThostFtdcPartBrokerField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///是否活跃 + TThostFtdcBoolType IsActive; +}; + +///管理用户 +struct CThostFtdcSuperUserField +{ + ///用户代码 + TThostFtdcUserIDType UserID; + ///用户名称 + TThostFtdcUserNameType UserName; + ///密码 + TThostFtdcPasswordType Password; + ///是否活跃 + TThostFtdcBoolType IsActive; +}; + +///管理用户功能权限 +struct CThostFtdcSuperUserFunctionField +{ + ///用户代码 + TThostFtdcUserIDType UserID; + ///功能代码 + TThostFtdcFunctionCodeType FunctionCode; +}; + +///投资者组 +struct CThostFtdcInvestorGroupField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者分组代码 + TThostFtdcInvestorIDType InvestorGroupID; + ///投资者分组名称 + TThostFtdcInvestorGroupNameType InvestorGroupName; +}; + +///资金账户 +struct CThostFtdcTradingAccountField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///上次质押金额 + TThostFtdcMoneyType PreMortgage; + ///上次信用额度 + TThostFtdcMoneyType PreCredit; + ///上次存款额 + TThostFtdcMoneyType PreDeposit; + ///上次结算准备金 + TThostFtdcMoneyType PreBalance; + ///上次占用的保证金 + TThostFtdcMoneyType PreMargin; + ///利息基数 + TThostFtdcMoneyType InterestBase; + ///利息收入 + TThostFtdcMoneyType Interest; + ///入金金额 + TThostFtdcMoneyType Deposit; + ///出金金额 + TThostFtdcMoneyType Withdraw; + ///冻结的保证金 + TThostFtdcMoneyType FrozenMargin; + ///冻结的资金 + TThostFtdcMoneyType FrozenCash; + ///冻结的手续费 + TThostFtdcMoneyType FrozenCommission; + ///当前保证金总额 + TThostFtdcMoneyType CurrMargin; + ///资金差额 + TThostFtdcMoneyType CashIn; + ///手续费 + TThostFtdcMoneyType Commission; + ///平仓盈亏 + TThostFtdcMoneyType CloseProfit; + ///持仓盈亏 + TThostFtdcMoneyType PositionProfit; + ///期货结算准备金 + TThostFtdcMoneyType Balance; + ///可用资金 + TThostFtdcMoneyType Available; + ///可取资金 + TThostFtdcMoneyType WithdrawQuota; + ///基本准备金 + TThostFtdcMoneyType Reserve; + ///交易日 + TThostFtdcDateType TradingDay; + ///结算编号 + TThostFtdcSettlementIDType SettlementID; + ///信用额度 + TThostFtdcMoneyType Credit; + ///质押金额 + TThostFtdcMoneyType Mortgage; + ///交易所保证金 + TThostFtdcMoneyType ExchangeMargin; + ///投资者交割保证金 + TThostFtdcMoneyType DeliveryMargin; + ///交易所交割保证金 + TThostFtdcMoneyType ExchangeDeliveryMargin; + ///保底期货结算准备金 + TThostFtdcMoneyType ReserveBalance; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///上次货币质入金额 + TThostFtdcMoneyType PreFundMortgageIn; + ///上次货币质出金额 + TThostFtdcMoneyType PreFundMortgageOut; + ///货币质入金额 + TThostFtdcMoneyType FundMortgageIn; + ///货币质出金额 + TThostFtdcMoneyType FundMortgageOut; + ///货币质押余额 + TThostFtdcMoneyType FundMortgageAvailable; + ///可质押货币金额 + TThostFtdcMoneyType MortgageableFund; + ///特殊产品占用保证金 + TThostFtdcMoneyType SpecProductMargin; + ///特殊产品冻结保证金 + TThostFtdcMoneyType SpecProductFrozenMargin; + ///特殊产品手续费 + TThostFtdcMoneyType SpecProductCommission; + ///特殊产品冻结手续费 + TThostFtdcMoneyType SpecProductFrozenCommission; + ///特殊产品持仓盈亏 + TThostFtdcMoneyType SpecProductPositionProfit; + ///特殊产品平仓盈亏 + TThostFtdcMoneyType SpecProductCloseProfit; + ///根据持仓盈亏算法计算的特殊产品持仓盈亏 + TThostFtdcMoneyType SpecProductPositionProfitByAlg; + ///特殊产品交易所保证金 + TThostFtdcMoneyType SpecProductExchangeMargin; + ///期权平仓盈亏 + TThostFtdcMoneyType OptionCloseProfit; + ///期权市值 + TThostFtdcMoneyType OptionValue; +}; + +///投资者持仓 +struct CThostFtdcInvestorPositionField +{ + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///持仓多空方向 + TThostFtdcPosiDirectionType PosiDirection; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///持仓日期 + TThostFtdcPositionDateType PositionDate; + ///上日持仓 + TThostFtdcVolumeType YdPosition; + ///今日持仓 + TThostFtdcVolumeType Position; + ///多头冻结 + TThostFtdcVolumeType LongFrozen; + ///空头冻结 + TThostFtdcVolumeType ShortFrozen; + ///开仓冻结金额 + TThostFtdcMoneyType LongFrozenAmount; + ///开仓冻结金额 + TThostFtdcMoneyType ShortFrozenAmount; + ///开仓量 + TThostFtdcVolumeType OpenVolume; + ///平仓量 + TThostFtdcVolumeType CloseVolume; + ///开仓金额 + TThostFtdcMoneyType OpenAmount; + ///平仓金额 + TThostFtdcMoneyType CloseAmount; + ///持仓成本 + TThostFtdcMoneyType PositionCost; + ///上次占用的保证金 + TThostFtdcMoneyType PreMargin; + ///占用的保证金 + TThostFtdcMoneyType UseMargin; + ///冻结的保证金 + TThostFtdcMoneyType FrozenMargin; + ///冻结的资金 + TThostFtdcMoneyType FrozenCash; + ///冻结的手续费 + TThostFtdcMoneyType FrozenCommission; + ///资金差额 + TThostFtdcMoneyType CashIn; + ///手续费 + TThostFtdcMoneyType Commission; + ///平仓盈亏 + TThostFtdcMoneyType CloseProfit; + ///持仓盈亏 + TThostFtdcMoneyType PositionProfit; + ///上次结算价 + TThostFtdcPriceType PreSettlementPrice; + ///本次结算价 + TThostFtdcPriceType SettlementPrice; + ///交易日 + TThostFtdcDateType TradingDay; + ///结算编号 + TThostFtdcSettlementIDType SettlementID; + ///开仓成本 + TThostFtdcMoneyType OpenCost; + ///交易所保证金 + TThostFtdcMoneyType ExchangeMargin; + ///组合成交形成的持仓 + TThostFtdcVolumeType CombPosition; + ///组合多头冻结 + TThostFtdcVolumeType CombLongFrozen; + ///组合空头冻结 + TThostFtdcVolumeType CombShortFrozen; + ///逐日盯市平仓盈亏 + TThostFtdcMoneyType CloseProfitByDate; + ///逐笔对冲平仓盈亏 + TThostFtdcMoneyType CloseProfitByTrade; + ///今日持仓 + TThostFtdcVolumeType TodayPosition; + ///保证金率 + TThostFtdcRatioType MarginRateByMoney; + ///保证金率(按手数) + TThostFtdcRatioType MarginRateByVolume; + ///执行冻结 + TThostFtdcVolumeType StrikeFrozen; + ///执行冻结金额 + TThostFtdcMoneyType StrikeFrozenAmount; + ///放弃执行冻结 + TThostFtdcVolumeType AbandonFrozen; + ///期权市值 + TThostFtdcMoneyType OptionValue; +}; + +///合约保证金率 +struct CThostFtdcInstrumentMarginRateField +{ + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投资者范围 + TThostFtdcInvestorRangeType InvestorRange; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///多头保证金率 + TThostFtdcRatioType LongMarginRatioByMoney; + ///多头保证金费 + TThostFtdcMoneyType LongMarginRatioByVolume; + ///空头保证金率 + TThostFtdcRatioType ShortMarginRatioByMoney; + ///空头保证金费 + TThostFtdcMoneyType ShortMarginRatioByVolume; + ///是否相对交易所收取 + TThostFtdcBoolType IsRelative; +}; + +///合约手续费率 +struct CThostFtdcInstrumentCommissionRateField +{ + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投资者范围 + TThostFtdcInvestorRangeType InvestorRange; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///开仓手续费率 + TThostFtdcRatioType OpenRatioByMoney; + ///开仓手续费 + TThostFtdcRatioType OpenRatioByVolume; + ///平仓手续费率 + TThostFtdcRatioType CloseRatioByMoney; + ///平仓手续费 + TThostFtdcRatioType CloseRatioByVolume; + ///平今手续费率 + TThostFtdcRatioType CloseTodayRatioByMoney; + ///平今手续费 + TThostFtdcRatioType CloseTodayRatioByVolume; +}; + +///深度行情 +struct CThostFtdcDepthMarketDataField +{ + ///交易日 + TThostFtdcDateType TradingDay; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///最新价 + TThostFtdcPriceType LastPrice; + ///上次结算价 + TThostFtdcPriceType PreSettlementPrice; + ///昨收盘 + TThostFtdcPriceType PreClosePrice; + ///昨持仓量 + TThostFtdcLargeVolumeType PreOpenInterest; + ///今开盘 + TThostFtdcPriceType OpenPrice; + ///最高价 + TThostFtdcPriceType HighestPrice; + ///最低价 + TThostFtdcPriceType LowestPrice; + ///数量 + TThostFtdcVolumeType Volume; + ///成交金额 + TThostFtdcMoneyType Turnover; + ///持仓量 + TThostFtdcLargeVolumeType OpenInterest; + ///今收盘 + TThostFtdcPriceType ClosePrice; + ///本次结算价 + TThostFtdcPriceType SettlementPrice; + ///涨停板价 + TThostFtdcPriceType UpperLimitPrice; + ///跌停板价 + TThostFtdcPriceType LowerLimitPrice; + ///昨虚实度 + TThostFtdcRatioType PreDelta; + ///今虚实度 + TThostFtdcRatioType CurrDelta; + ///最后修改时间 + TThostFtdcTimeType UpdateTime; + ///最后修改毫秒 + TThostFtdcMillisecType UpdateMillisec; + ///申买价一 + TThostFtdcPriceType BidPrice1; + ///申买量一 + TThostFtdcVolumeType BidVolume1; + ///申卖价一 + TThostFtdcPriceType AskPrice1; + ///申卖量一 + TThostFtdcVolumeType AskVolume1; + ///申买价二 + TThostFtdcPriceType BidPrice2; + ///申买量二 + TThostFtdcVolumeType BidVolume2; + ///申卖价二 + TThostFtdcPriceType AskPrice2; + ///申卖量二 + TThostFtdcVolumeType AskVolume2; + ///申买价三 + TThostFtdcPriceType BidPrice3; + ///申买量三 + TThostFtdcVolumeType BidVolume3; + ///申卖价三 + TThostFtdcPriceType AskPrice3; + ///申卖量三 + TThostFtdcVolumeType AskVolume3; + ///申买价四 + TThostFtdcPriceType BidPrice4; + ///申买量四 + TThostFtdcVolumeType BidVolume4; + ///申卖价四 + TThostFtdcPriceType AskPrice4; + ///申卖量四 + TThostFtdcVolumeType AskVolume4; + ///申买价五 + TThostFtdcPriceType BidPrice5; + ///申买量五 + TThostFtdcVolumeType BidVolume5; + ///申卖价五 + TThostFtdcPriceType AskPrice5; + ///申卖量五 + TThostFtdcVolumeType AskVolume5; + ///当日均价 + TThostFtdcPriceType AveragePrice; + ///业务日期 + TThostFtdcDateType ActionDay; +}; + +///投资者合约交易权限 +struct CThostFtdcInstrumentTradingRightField +{ + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投资者范围 + TThostFtdcInvestorRangeType InvestorRange; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///交易权限 + TThostFtdcTradingRightType TradingRight; +}; + +///经纪公司用户 +struct CThostFtdcBrokerUserField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///用户名称 + TThostFtdcUserNameType UserName; + ///用户类型 + TThostFtdcUserTypeType UserType; + ///是否活跃 + TThostFtdcBoolType IsActive; + ///是否使用令牌 + TThostFtdcBoolType IsUsingOTP; +}; + +///经纪公司用户口令 +struct CThostFtdcBrokerUserPasswordField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///密码 + TThostFtdcPasswordType Password; +}; + +///经纪公司用户功能权限 +struct CThostFtdcBrokerUserFunctionField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///经纪公司功能代码 + TThostFtdcBrokerFunctionCodeType BrokerFunctionCode; +}; + +///交易所交易员报盘机 +struct CThostFtdcTraderOfferField +{ + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///密码 + TThostFtdcPasswordType Password; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///本地报单编号 + TThostFtdcOrderLocalIDType OrderLocalID; + ///交易所交易员连接状态 + TThostFtdcTraderConnectStatusType TraderConnectStatus; + ///发出连接请求的日期 + TThostFtdcDateType ConnectRequestDate; + ///发出连接请求的时间 + TThostFtdcTimeType ConnectRequestTime; + ///上次报告日期 + TThostFtdcDateType LastReportDate; + ///上次报告时间 + TThostFtdcTimeType LastReportTime; + ///完成连接日期 + TThostFtdcDateType ConnectDate; + ///完成连接时间 + TThostFtdcTimeType ConnectTime; + ///启动日期 + TThostFtdcDateType StartDate; + ///启动时间 + TThostFtdcTimeType StartTime; + ///交易日 + TThostFtdcDateType TradingDay; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///本席位最大成交编号 + TThostFtdcTradeIDType MaxTradeID; + ///本席位最大报单备拷 + TThostFtdcReturnCodeType MaxOrderMessageReference; +}; + +///投资者结算结果 +struct CThostFtdcSettlementInfoField +{ + ///交易日 + TThostFtdcDateType TradingDay; + ///结算编号 + TThostFtdcSettlementIDType SettlementID; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///序号 + TThostFtdcSequenceNoType SequenceNo; + ///消息正文 + TThostFtdcContentType Content; +}; + +///合约保证金率调整 +struct CThostFtdcInstrumentMarginRateAdjustField +{ + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投资者范围 + TThostFtdcInvestorRangeType InvestorRange; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///多头保证金率 + TThostFtdcRatioType LongMarginRatioByMoney; + ///多头保证金费 + TThostFtdcMoneyType LongMarginRatioByVolume; + ///空头保证金率 + TThostFtdcRatioType ShortMarginRatioByMoney; + ///空头保证金费 + TThostFtdcMoneyType ShortMarginRatioByVolume; + ///是否相对交易所收取 + TThostFtdcBoolType IsRelative; +}; + +///交易所保证金率 +struct CThostFtdcExchangeMarginRateField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///多头保证金率 + TThostFtdcRatioType LongMarginRatioByMoney; + ///多头保证金费 + TThostFtdcMoneyType LongMarginRatioByVolume; + ///空头保证金率 + TThostFtdcRatioType ShortMarginRatioByMoney; + ///空头保证金费 + TThostFtdcMoneyType ShortMarginRatioByVolume; +}; + +///交易所保证金率调整 +struct CThostFtdcExchangeMarginRateAdjustField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///跟随交易所投资者多头保证金率 + TThostFtdcRatioType LongMarginRatioByMoney; + ///跟随交易所投资者多头保证金费 + TThostFtdcMoneyType LongMarginRatioByVolume; + ///跟随交易所投资者空头保证金率 + TThostFtdcRatioType ShortMarginRatioByMoney; + ///跟随交易所投资者空头保证金费 + TThostFtdcMoneyType ShortMarginRatioByVolume; + ///交易所多头保证金率 + TThostFtdcRatioType ExchLongMarginRatioByMoney; + ///交易所多头保证金费 + TThostFtdcMoneyType ExchLongMarginRatioByVolume; + ///交易所空头保证金率 + TThostFtdcRatioType ExchShortMarginRatioByMoney; + ///交易所空头保证金费 + TThostFtdcMoneyType ExchShortMarginRatioByVolume; + ///不跟随交易所投资者多头保证金率 + TThostFtdcRatioType NoLongMarginRatioByMoney; + ///不跟随交易所投资者多头保证金费 + TThostFtdcMoneyType NoLongMarginRatioByVolume; + ///不跟随交易所投资者空头保证金率 + TThostFtdcRatioType NoShortMarginRatioByMoney; + ///不跟随交易所投资者空头保证金费 + TThostFtdcMoneyType NoShortMarginRatioByVolume; +}; + +///汇率 +struct CThostFtdcExchangeRateField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///源币种 + TThostFtdcCurrencyIDType FromCurrencyID; + ///源币种单位数量 + TThostFtdcCurrencyUnitType FromCurrencyUnit; + ///目标币种 + TThostFtdcCurrencyIDType ToCurrencyID; + ///汇率 + TThostFtdcExchangeRateType ExchangeRate; +}; + +///结算引用 +struct CThostFtdcSettlementRefField +{ + ///交易日 + TThostFtdcDateType TradingDay; + ///结算编号 + TThostFtdcSettlementIDType SettlementID; +}; + +///当前时间 +struct CThostFtdcCurrentTimeField +{ + ///当前日期 + TThostFtdcDateType CurrDate; + ///当前时间 + TThostFtdcTimeType CurrTime; + ///当前时间(毫秒) + TThostFtdcMillisecType CurrMillisec; + ///业务日期 + TThostFtdcDateType ActionDay; +}; + +///通讯阶段 +struct CThostFtdcCommPhaseField +{ + ///交易日 + TThostFtdcDateType TradingDay; + ///通讯时段编号 + TThostFtdcCommPhaseNoType CommPhaseNo; + ///系统编号 + TThostFtdcSystemIDType SystemID; +}; + +///登录信息 +struct CThostFtdcLoginInfoField +{ + ///前置编号 + TThostFtdcFrontIDType FrontID; + ///会话编号 + TThostFtdcSessionIDType SessionID; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///登录日期 + TThostFtdcDateType LoginDate; + ///登录时间 + TThostFtdcTimeType LoginTime; + ///IP地址 + TThostFtdcIPAddressType IPAddress; + ///用户端产品信息 + TThostFtdcProductInfoType UserProductInfo; + ///接口端产品信息 + TThostFtdcProductInfoType InterfaceProductInfo; + ///协议信息 + TThostFtdcProtocolInfoType ProtocolInfo; + ///系统名称 + TThostFtdcSystemNameType SystemName; + ///密码 + TThostFtdcPasswordType Password; + ///最大报单引用 + TThostFtdcOrderRefType MaxOrderRef; + ///上期所时间 + TThostFtdcTimeType SHFETime; + ///大商所时间 + TThostFtdcTimeType DCETime; + ///郑商所时间 + TThostFtdcTimeType CZCETime; + ///中金所时间 + TThostFtdcTimeType FFEXTime; + ///Mac地址 + TThostFtdcMacAddressType MacAddress; + ///动态密码 + TThostFtdcPasswordType OneTimePassword; + ///能源中心时间 + TThostFtdcTimeType INETime; +}; + +///登录信息 +struct CThostFtdcLogoutAllField +{ + ///前置编号 + TThostFtdcFrontIDType FrontID; + ///会话编号 + TThostFtdcSessionIDType SessionID; + ///系统名称 + TThostFtdcSystemNameType SystemName; +}; + +///前置状态 +struct CThostFtdcFrontStatusField +{ + ///前置编号 + TThostFtdcFrontIDType FrontID; + ///上次报告日期 + TThostFtdcDateType LastReportDate; + ///上次报告时间 + TThostFtdcTimeType LastReportTime; + ///是否活跃 + TThostFtdcBoolType IsActive; +}; + +///用户口令变更 +struct CThostFtdcUserPasswordUpdateField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///原来的口令 + TThostFtdcPasswordType OldPassword; + ///新的口令 + TThostFtdcPasswordType NewPassword; +}; + +///输入报单 +struct CThostFtdcInputOrderField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///报单引用 + TThostFtdcOrderRefType OrderRef; + ///用户代码 + TThostFtdcUserIDType UserID; + ///报单价格条件 + TThostFtdcOrderPriceTypeType OrderPriceType; + ///买卖方向 + TThostFtdcDirectionType Direction; + ///组合开平标志 + TThostFtdcCombOffsetFlagType CombOffsetFlag; + ///组合投机套保标志 + TThostFtdcCombHedgeFlagType CombHedgeFlag; + ///价格 + TThostFtdcPriceType LimitPrice; + ///数量 + TThostFtdcVolumeType VolumeTotalOriginal; + ///有效期类型 + TThostFtdcTimeConditionType TimeCondition; + ///GTD日期 + TThostFtdcDateType GTDDate; + ///成交量类型 + TThostFtdcVolumeConditionType VolumeCondition; + ///最小成交量 + TThostFtdcVolumeType MinVolume; + ///触发条件 + TThostFtdcContingentConditionType ContingentCondition; + ///止损价 + TThostFtdcPriceType StopPrice; + ///强平原因 + TThostFtdcForceCloseReasonType ForceCloseReason; + ///自动挂起标志 + TThostFtdcBoolType IsAutoSuspend; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///用户强评标志 + TThostFtdcBoolType UserForceClose; + ///互换单标志 + TThostFtdcBoolType IsSwapOrder; +}; + +///报单 +struct CThostFtdcOrderField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///报单引用 + TThostFtdcOrderRefType OrderRef; + ///用户代码 + TThostFtdcUserIDType UserID; + ///报单价格条件 + TThostFtdcOrderPriceTypeType OrderPriceType; + ///买卖方向 + TThostFtdcDirectionType Direction; + ///组合开平标志 + TThostFtdcCombOffsetFlagType CombOffsetFlag; + ///组合投机套保标志 + TThostFtdcCombHedgeFlagType CombHedgeFlag; + ///价格 + TThostFtdcPriceType LimitPrice; + ///数量 + TThostFtdcVolumeType VolumeTotalOriginal; + ///有效期类型 + TThostFtdcTimeConditionType TimeCondition; + ///GTD日期 + TThostFtdcDateType GTDDate; + ///成交量类型 + TThostFtdcVolumeConditionType VolumeCondition; + ///最小成交量 + TThostFtdcVolumeType MinVolume; + ///触发条件 + TThostFtdcContingentConditionType ContingentCondition; + ///止损价 + TThostFtdcPriceType StopPrice; + ///强平原因 + TThostFtdcForceCloseReasonType ForceCloseReason; + ///自动挂起标志 + TThostFtdcBoolType IsAutoSuspend; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///本地报单编号 + TThostFtdcOrderLocalIDType OrderLocalID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///报单提交状态 + TThostFtdcOrderSubmitStatusType OrderSubmitStatus; + ///报单提示序号 + TThostFtdcSequenceNoType NotifySequence; + ///交易日 + TThostFtdcDateType TradingDay; + ///结算编号 + TThostFtdcSettlementIDType SettlementID; + ///报单编号 + TThostFtdcOrderSysIDType OrderSysID; + ///报单来源 + TThostFtdcOrderSourceType OrderSource; + ///报单状态 + TThostFtdcOrderStatusType OrderStatus; + ///报单类型 + TThostFtdcOrderTypeType OrderType; + ///今成交数量 + TThostFtdcVolumeType VolumeTraded; + ///剩余数量 + TThostFtdcVolumeType VolumeTotal; + ///报单日期 + TThostFtdcDateType InsertDate; + ///委托时间 + TThostFtdcTimeType InsertTime; + ///激活时间 + TThostFtdcTimeType ActiveTime; + ///挂起时间 + TThostFtdcTimeType SuspendTime; + ///最后修改时间 + TThostFtdcTimeType UpdateTime; + ///撤销时间 + TThostFtdcTimeType CancelTime; + ///最后修改交易所交易员代码 + TThostFtdcTraderIDType ActiveTraderID; + ///结算会员编号 + TThostFtdcParticipantIDType ClearingPartID; + ///序号 + TThostFtdcSequenceNoType SequenceNo; + ///前置编号 + TThostFtdcFrontIDType FrontID; + ///会话编号 + TThostFtdcSessionIDType SessionID; + ///用户端产品信息 + TThostFtdcProductInfoType UserProductInfo; + ///状态信息 + TThostFtdcErrorMsgType StatusMsg; + ///用户强评标志 + TThostFtdcBoolType UserForceClose; + ///操作用户代码 + TThostFtdcUserIDType ActiveUserID; + ///经纪公司报单编号 + TThostFtdcSequenceNoType BrokerOrderSeq; + ///相关报单 + TThostFtdcOrderSysIDType RelativeOrderSysID; + ///郑商所成交数量 + TThostFtdcVolumeType ZCETotalTradedVolume; + ///互换单标志 + TThostFtdcBoolType IsSwapOrder; +}; + +///交易所报单 +struct CThostFtdcExchangeOrderField +{ + ///报单价格条件 + TThostFtdcOrderPriceTypeType OrderPriceType; + ///买卖方向 + TThostFtdcDirectionType Direction; + ///组合开平标志 + TThostFtdcCombOffsetFlagType CombOffsetFlag; + ///组合投机套保标志 + TThostFtdcCombHedgeFlagType CombHedgeFlag; + ///价格 + TThostFtdcPriceType LimitPrice; + ///数量 + TThostFtdcVolumeType VolumeTotalOriginal; + ///有效期类型 + TThostFtdcTimeConditionType TimeCondition; + ///GTD日期 + TThostFtdcDateType GTDDate; + ///成交量类型 + TThostFtdcVolumeConditionType VolumeCondition; + ///最小成交量 + TThostFtdcVolumeType MinVolume; + ///触发条件 + TThostFtdcContingentConditionType ContingentCondition; + ///止损价 + TThostFtdcPriceType StopPrice; + ///强平原因 + TThostFtdcForceCloseReasonType ForceCloseReason; + ///自动挂起标志 + TThostFtdcBoolType IsAutoSuspend; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///本地报单编号 + TThostFtdcOrderLocalIDType OrderLocalID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///报单提交状态 + TThostFtdcOrderSubmitStatusType OrderSubmitStatus; + ///报单提示序号 + TThostFtdcSequenceNoType NotifySequence; + ///交易日 + TThostFtdcDateType TradingDay; + ///结算编号 + TThostFtdcSettlementIDType SettlementID; + ///报单编号 + TThostFtdcOrderSysIDType OrderSysID; + ///报单来源 + TThostFtdcOrderSourceType OrderSource; + ///报单状态 + TThostFtdcOrderStatusType OrderStatus; + ///报单类型 + TThostFtdcOrderTypeType OrderType; + ///今成交数量 + TThostFtdcVolumeType VolumeTraded; + ///剩余数量 + TThostFtdcVolumeType VolumeTotal; + ///报单日期 + TThostFtdcDateType InsertDate; + ///委托时间 + TThostFtdcTimeType InsertTime; + ///激活时间 + TThostFtdcTimeType ActiveTime; + ///挂起时间 + TThostFtdcTimeType SuspendTime; + ///最后修改时间 + TThostFtdcTimeType UpdateTime; + ///撤销时间 + TThostFtdcTimeType CancelTime; + ///最后修改交易所交易员代码 + TThostFtdcTraderIDType ActiveTraderID; + ///结算会员编号 + TThostFtdcParticipantIDType ClearingPartID; + ///序号 + TThostFtdcSequenceNoType SequenceNo; +}; + +///交易所报单插入失败 +struct CThostFtdcExchangeOrderInsertErrorField +{ + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///本地报单编号 + TThostFtdcOrderLocalIDType OrderLocalID; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; +}; + +///输入报单操作 +struct CThostFtdcInputOrderActionField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///报单操作引用 + TThostFtdcOrderActionRefType OrderActionRef; + ///报单引用 + TThostFtdcOrderRefType OrderRef; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///前置编号 + TThostFtdcFrontIDType FrontID; + ///会话编号 + TThostFtdcSessionIDType SessionID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///报单编号 + TThostFtdcOrderSysIDType OrderSysID; + ///操作标志 + TThostFtdcActionFlagType ActionFlag; + ///价格 + TThostFtdcPriceType LimitPrice; + ///数量变化 + TThostFtdcVolumeType VolumeChange; + ///用户代码 + TThostFtdcUserIDType UserID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; +}; + +///报单操作 +struct CThostFtdcOrderActionField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///报单操作引用 + TThostFtdcOrderActionRefType OrderActionRef; + ///报单引用 + TThostFtdcOrderRefType OrderRef; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///前置编号 + TThostFtdcFrontIDType FrontID; + ///会话编号 + TThostFtdcSessionIDType SessionID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///报单编号 + TThostFtdcOrderSysIDType OrderSysID; + ///操作标志 + TThostFtdcActionFlagType ActionFlag; + ///价格 + TThostFtdcPriceType LimitPrice; + ///数量变化 + TThostFtdcVolumeType VolumeChange; + ///操作日期 + TThostFtdcDateType ActionDate; + ///操作时间 + TThostFtdcTimeType ActionTime; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///本地报单编号 + TThostFtdcOrderLocalIDType OrderLocalID; + ///操作本地编号 + TThostFtdcOrderLocalIDType ActionLocalID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///报单操作状态 + TThostFtdcOrderActionStatusType OrderActionStatus; + ///用户代码 + TThostFtdcUserIDType UserID; + ///状态信息 + TThostFtdcErrorMsgType StatusMsg; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; +}; + +///交易所报单操作 +struct CThostFtdcExchangeOrderActionField +{ + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///报单编号 + TThostFtdcOrderSysIDType OrderSysID; + ///操作标志 + TThostFtdcActionFlagType ActionFlag; + ///价格 + TThostFtdcPriceType LimitPrice; + ///数量变化 + TThostFtdcVolumeType VolumeChange; + ///操作日期 + TThostFtdcDateType ActionDate; + ///操作时间 + TThostFtdcTimeType ActionTime; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///本地报单编号 + TThostFtdcOrderLocalIDType OrderLocalID; + ///操作本地编号 + TThostFtdcOrderLocalIDType ActionLocalID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///报单操作状态 + TThostFtdcOrderActionStatusType OrderActionStatus; + ///用户代码 + TThostFtdcUserIDType UserID; +}; + +///交易所报单操作失败 +struct CThostFtdcExchangeOrderActionErrorField +{ + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///报单编号 + TThostFtdcOrderSysIDType OrderSysID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///本地报单编号 + TThostFtdcOrderLocalIDType OrderLocalID; + ///操作本地编号 + TThostFtdcOrderLocalIDType ActionLocalID; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; +}; + +///交易所成交 +struct CThostFtdcExchangeTradeField +{ + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///成交编号 + TThostFtdcTradeIDType TradeID; + ///买卖方向 + TThostFtdcDirectionType Direction; + ///报单编号 + TThostFtdcOrderSysIDType OrderSysID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///交易角色 + TThostFtdcTradingRoleType TradingRole; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///开平标志 + TThostFtdcOffsetFlagType OffsetFlag; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///价格 + TThostFtdcPriceType Price; + ///数量 + TThostFtdcVolumeType Volume; + ///成交时期 + TThostFtdcDateType TradeDate; + ///成交时间 + TThostFtdcTimeType TradeTime; + ///成交类型 + TThostFtdcTradeTypeType TradeType; + ///成交价来源 + TThostFtdcPriceSourceType PriceSource; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///本地报单编号 + TThostFtdcOrderLocalIDType OrderLocalID; + ///结算会员编号 + TThostFtdcParticipantIDType ClearingPartID; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///序号 + TThostFtdcSequenceNoType SequenceNo; + ///成交来源 + TThostFtdcTradeSourceType TradeSource; +}; + +///成交 +struct CThostFtdcTradeField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///报单引用 + TThostFtdcOrderRefType OrderRef; + ///用户代码 + TThostFtdcUserIDType UserID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///成交编号 + TThostFtdcTradeIDType TradeID; + ///买卖方向 + TThostFtdcDirectionType Direction; + ///报单编号 + TThostFtdcOrderSysIDType OrderSysID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///交易角色 + TThostFtdcTradingRoleType TradingRole; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///开平标志 + TThostFtdcOffsetFlagType OffsetFlag; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///价格 + TThostFtdcPriceType Price; + ///数量 + TThostFtdcVolumeType Volume; + ///成交时期 + TThostFtdcDateType TradeDate; + ///成交时间 + TThostFtdcTimeType TradeTime; + ///成交类型 + TThostFtdcTradeTypeType TradeType; + ///成交价来源 + TThostFtdcPriceSourceType PriceSource; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///本地报单编号 + TThostFtdcOrderLocalIDType OrderLocalID; + ///结算会员编号 + TThostFtdcParticipantIDType ClearingPartID; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///序号 + TThostFtdcSequenceNoType SequenceNo; + ///交易日 + TThostFtdcDateType TradingDay; + ///结算编号 + TThostFtdcSettlementIDType SettlementID; + ///经纪公司报单编号 + TThostFtdcSequenceNoType BrokerOrderSeq; + ///成交来源 + TThostFtdcTradeSourceType TradeSource; +}; + +///用户会话 +struct CThostFtdcUserSessionField +{ + ///前置编号 + TThostFtdcFrontIDType FrontID; + ///会话编号 + TThostFtdcSessionIDType SessionID; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///登录日期 + TThostFtdcDateType LoginDate; + ///登录时间 + TThostFtdcTimeType LoginTime; + ///IP地址 + TThostFtdcIPAddressType IPAddress; + ///用户端产品信息 + TThostFtdcProductInfoType UserProductInfo; + ///接口端产品信息 + TThostFtdcProductInfoType InterfaceProductInfo; + ///协议信息 + TThostFtdcProtocolInfoType ProtocolInfo; + ///Mac地址 + TThostFtdcMacAddressType MacAddress; +}; + +///查询最大报单数量 +struct CThostFtdcQueryMaxOrderVolumeField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///买卖方向 + TThostFtdcDirectionType Direction; + ///开平标志 + TThostFtdcOffsetFlagType OffsetFlag; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///最大允许报单数量 + TThostFtdcVolumeType MaxVolume; +}; + +///投资者结算结果确认信息 +struct CThostFtdcSettlementInfoConfirmField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///确认日期 + TThostFtdcDateType ConfirmDate; + ///确认时间 + TThostFtdcTimeType ConfirmTime; +}; + +///出入金同步 +struct CThostFtdcSyncDepositField +{ + ///出入金流水号 + TThostFtdcDepositSeqNoType DepositSeqNo; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///入金金额 + TThostFtdcMoneyType Deposit; + ///是否强制进行 + TThostFtdcBoolType IsForce; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; +}; + +///货币质押同步 +struct CThostFtdcSyncFundMortgageField +{ + ///货币质押流水号 + TThostFtdcDepositSeqNoType MortgageSeqNo; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///源币种 + TThostFtdcCurrencyIDType FromCurrencyID; + ///质押金额 + TThostFtdcMoneyType MortgageAmount; + ///目标币种 + TThostFtdcCurrencyIDType ToCurrencyID; +}; + +///经纪公司同步 +struct CThostFtdcBrokerSyncField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; +}; + +///正在同步中的投资者 +struct CThostFtdcSyncingInvestorField +{ + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者分组代码 + TThostFtdcInvestorIDType InvestorGroupID; + ///投资者名称 + TThostFtdcPartyNameType InvestorName; + ///证件类型 + TThostFtdcIdCardTypeType IdentifiedCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///是否活跃 + TThostFtdcBoolType IsActive; + ///联系电话 + TThostFtdcTelephoneType Telephone; + ///通讯地址 + TThostFtdcAddressType Address; + ///开户日期 + TThostFtdcDateType OpenDate; + ///手机 + TThostFtdcMobileType Mobile; + ///手续费率模板代码 + TThostFtdcInvestorIDType CommModelID; + ///保证金率模板代码 + TThostFtdcInvestorIDType MarginModelID; +}; + +///正在同步中的交易代码 +struct CThostFtdcSyncingTradingCodeField +{ + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///是否活跃 + TThostFtdcBoolType IsActive; + ///交易编码类型 + TThostFtdcClientIDTypeType ClientIDType; +}; + +///正在同步中的投资者分组 +struct CThostFtdcSyncingInvestorGroupField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者分组代码 + TThostFtdcInvestorIDType InvestorGroupID; + ///投资者分组名称 + TThostFtdcInvestorGroupNameType InvestorGroupName; +}; + +///正在同步中的交易账号 +struct CThostFtdcSyncingTradingAccountField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///上次质押金额 + TThostFtdcMoneyType PreMortgage; + ///上次信用额度 + TThostFtdcMoneyType PreCredit; + ///上次存款额 + TThostFtdcMoneyType PreDeposit; + ///上次结算准备金 + TThostFtdcMoneyType PreBalance; + ///上次占用的保证金 + TThostFtdcMoneyType PreMargin; + ///利息基数 + TThostFtdcMoneyType InterestBase; + ///利息收入 + TThostFtdcMoneyType Interest; + ///入金金额 + TThostFtdcMoneyType Deposit; + ///出金金额 + TThostFtdcMoneyType Withdraw; + ///冻结的保证金 + TThostFtdcMoneyType FrozenMargin; + ///冻结的资金 + TThostFtdcMoneyType FrozenCash; + ///冻结的手续费 + TThostFtdcMoneyType FrozenCommission; + ///当前保证金总额 + TThostFtdcMoneyType CurrMargin; + ///资金差额 + TThostFtdcMoneyType CashIn; + ///手续费 + TThostFtdcMoneyType Commission; + ///平仓盈亏 + TThostFtdcMoneyType CloseProfit; + ///持仓盈亏 + TThostFtdcMoneyType PositionProfit; + ///期货结算准备金 + TThostFtdcMoneyType Balance; + ///可用资金 + TThostFtdcMoneyType Available; + ///可取资金 + TThostFtdcMoneyType WithdrawQuota; + ///基本准备金 + TThostFtdcMoneyType Reserve; + ///交易日 + TThostFtdcDateType TradingDay; + ///结算编号 + TThostFtdcSettlementIDType SettlementID; + ///信用额度 + TThostFtdcMoneyType Credit; + ///质押金额 + TThostFtdcMoneyType Mortgage; + ///交易所保证金 + TThostFtdcMoneyType ExchangeMargin; + ///投资者交割保证金 + TThostFtdcMoneyType DeliveryMargin; + ///交易所交割保证金 + TThostFtdcMoneyType ExchangeDeliveryMargin; + ///保底期货结算准备金 + TThostFtdcMoneyType ReserveBalance; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///上次货币质入金额 + TThostFtdcMoneyType PreFundMortgageIn; + ///上次货币质出金额 + TThostFtdcMoneyType PreFundMortgageOut; + ///货币质入金额 + TThostFtdcMoneyType FundMortgageIn; + ///货币质出金额 + TThostFtdcMoneyType FundMortgageOut; + ///货币质押余额 + TThostFtdcMoneyType FundMortgageAvailable; + ///可质押货币金额 + TThostFtdcMoneyType MortgageableFund; + ///特殊产品占用保证金 + TThostFtdcMoneyType SpecProductMargin; + ///特殊产品冻结保证金 + TThostFtdcMoneyType SpecProductFrozenMargin; + ///特殊产品手续费 + TThostFtdcMoneyType SpecProductCommission; + ///特殊产品冻结手续费 + TThostFtdcMoneyType SpecProductFrozenCommission; + ///特殊产品持仓盈亏 + TThostFtdcMoneyType SpecProductPositionProfit; + ///特殊产品平仓盈亏 + TThostFtdcMoneyType SpecProductCloseProfit; + ///根据持仓盈亏算法计算的特殊产品持仓盈亏 + TThostFtdcMoneyType SpecProductPositionProfitByAlg; + ///特殊产品交易所保证金 + TThostFtdcMoneyType SpecProductExchangeMargin; + ///期权平仓盈亏 + TThostFtdcMoneyType OptionCloseProfit; + ///期权市值 + TThostFtdcMoneyType OptionValue; +}; + +///正在同步中的投资者持仓 +struct CThostFtdcSyncingInvestorPositionField +{ + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///持仓多空方向 + TThostFtdcPosiDirectionType PosiDirection; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///持仓日期 + TThostFtdcPositionDateType PositionDate; + ///上日持仓 + TThostFtdcVolumeType YdPosition; + ///今日持仓 + TThostFtdcVolumeType Position; + ///多头冻结 + TThostFtdcVolumeType LongFrozen; + ///空头冻结 + TThostFtdcVolumeType ShortFrozen; + ///开仓冻结金额 + TThostFtdcMoneyType LongFrozenAmount; + ///开仓冻结金额 + TThostFtdcMoneyType ShortFrozenAmount; + ///开仓量 + TThostFtdcVolumeType OpenVolume; + ///平仓量 + TThostFtdcVolumeType CloseVolume; + ///开仓金额 + TThostFtdcMoneyType OpenAmount; + ///平仓金额 + TThostFtdcMoneyType CloseAmount; + ///持仓成本 + TThostFtdcMoneyType PositionCost; + ///上次占用的保证金 + TThostFtdcMoneyType PreMargin; + ///占用的保证金 + TThostFtdcMoneyType UseMargin; + ///冻结的保证金 + TThostFtdcMoneyType FrozenMargin; + ///冻结的资金 + TThostFtdcMoneyType FrozenCash; + ///冻结的手续费 + TThostFtdcMoneyType FrozenCommission; + ///资金差额 + TThostFtdcMoneyType CashIn; + ///手续费 + TThostFtdcMoneyType Commission; + ///平仓盈亏 + TThostFtdcMoneyType CloseProfit; + ///持仓盈亏 + TThostFtdcMoneyType PositionProfit; + ///上次结算价 + TThostFtdcPriceType PreSettlementPrice; + ///本次结算价 + TThostFtdcPriceType SettlementPrice; + ///交易日 + TThostFtdcDateType TradingDay; + ///结算编号 + TThostFtdcSettlementIDType SettlementID; + ///开仓成本 + TThostFtdcMoneyType OpenCost; + ///交易所保证金 + TThostFtdcMoneyType ExchangeMargin; + ///组合成交形成的持仓 + TThostFtdcVolumeType CombPosition; + ///组合多头冻结 + TThostFtdcVolumeType CombLongFrozen; + ///组合空头冻结 + TThostFtdcVolumeType CombShortFrozen; + ///逐日盯市平仓盈亏 + TThostFtdcMoneyType CloseProfitByDate; + ///逐笔对冲平仓盈亏 + TThostFtdcMoneyType CloseProfitByTrade; + ///今日持仓 + TThostFtdcVolumeType TodayPosition; + ///保证金率 + TThostFtdcRatioType MarginRateByMoney; + ///保证金率(按手数) + TThostFtdcRatioType MarginRateByVolume; + ///执行冻结 + TThostFtdcVolumeType StrikeFrozen; + ///执行冻结金额 + TThostFtdcMoneyType StrikeFrozenAmount; + ///放弃执行冻结 + TThostFtdcVolumeType AbandonFrozen; + ///期权市值 + TThostFtdcMoneyType OptionValue; +}; + +///正在同步中的合约保证金率 +struct CThostFtdcSyncingInstrumentMarginRateField +{ + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投资者范围 + TThostFtdcInvestorRangeType InvestorRange; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///多头保证金率 + TThostFtdcRatioType LongMarginRatioByMoney; + ///多头保证金费 + TThostFtdcMoneyType LongMarginRatioByVolume; + ///空头保证金率 + TThostFtdcRatioType ShortMarginRatioByMoney; + ///空头保证金费 + TThostFtdcMoneyType ShortMarginRatioByVolume; + ///是否相对交易所收取 + TThostFtdcBoolType IsRelative; +}; + +///正在同步中的合约手续费率 +struct CThostFtdcSyncingInstrumentCommissionRateField +{ + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投资者范围 + TThostFtdcInvestorRangeType InvestorRange; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///开仓手续费率 + TThostFtdcRatioType OpenRatioByMoney; + ///开仓手续费 + TThostFtdcRatioType OpenRatioByVolume; + ///平仓手续费率 + TThostFtdcRatioType CloseRatioByMoney; + ///平仓手续费 + TThostFtdcRatioType CloseRatioByVolume; + ///平今手续费率 + TThostFtdcRatioType CloseTodayRatioByMoney; + ///平今手续费 + TThostFtdcRatioType CloseTodayRatioByVolume; +}; + +///正在同步中的合约交易权限 +struct CThostFtdcSyncingInstrumentTradingRightField +{ + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投资者范围 + TThostFtdcInvestorRangeType InvestorRange; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///交易权限 + TThostFtdcTradingRightType TradingRight; +}; + +///查询报单 +struct CThostFtdcQryOrderField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///报单编号 + TThostFtdcOrderSysIDType OrderSysID; + ///开始时间 + TThostFtdcTimeType InsertTimeStart; + ///结束时间 + TThostFtdcTimeType InsertTimeEnd; +}; + +///查询成交 +struct CThostFtdcQryTradeField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///成交编号 + TThostFtdcTradeIDType TradeID; + ///开始时间 + TThostFtdcTimeType TradeTimeStart; + ///结束时间 + TThostFtdcTimeType TradeTimeEnd; +}; + +///查询投资者持仓 +struct CThostFtdcQryInvestorPositionField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; +}; + +///查询资金账户 +struct CThostFtdcQryTradingAccountField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; +}; + +///查询投资者 +struct CThostFtdcQryInvestorField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; +}; + +///查询交易编码 +struct CThostFtdcQryTradingCodeField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///交易编码类型 + TThostFtdcClientIDTypeType ClientIDType; +}; + +///查询投资者组 +struct CThostFtdcQryInvestorGroupField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; +}; + +///查询合约保证金率 +struct CThostFtdcQryInstrumentMarginRateField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; +}; + +///查询手续费率 +struct CThostFtdcQryInstrumentCommissionRateField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; +}; + +///查询合约交易权限 +struct CThostFtdcQryInstrumentTradingRightField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; +}; + +///查询经纪公司 +struct CThostFtdcQryBrokerField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; +}; + +///查询交易员 +struct CThostFtdcQryTraderField +{ + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; +}; + +///查询管理用户功能权限 +struct CThostFtdcQrySuperUserFunctionField +{ + ///用户代码 + TThostFtdcUserIDType UserID; +}; + +///查询用户会话 +struct CThostFtdcQryUserSessionField +{ + ///前置编号 + TThostFtdcFrontIDType FrontID; + ///会话编号 + TThostFtdcSessionIDType SessionID; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; +}; + +///查询经纪公司会员代码 +struct CThostFtdcQryPartBrokerField +{ + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; +}; + +///查询前置状态 +struct CThostFtdcQryFrontStatusField +{ + ///前置编号 + TThostFtdcFrontIDType FrontID; +}; + +///查询交易所报单 +struct CThostFtdcQryExchangeOrderField +{ + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; +}; + +///查询报单操作 +struct CThostFtdcQryOrderActionField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; +}; + +///查询交易所报单操作 +struct CThostFtdcQryExchangeOrderActionField +{ + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; +}; + +///查询管理用户 +struct CThostFtdcQrySuperUserField +{ + ///用户代码 + TThostFtdcUserIDType UserID; +}; + +///查询交易所 +struct CThostFtdcQryExchangeField +{ + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; +}; + +///查询产品 +struct CThostFtdcQryProductField +{ + ///产品代码 + TThostFtdcInstrumentIDType ProductID; + ///产品类型 + TThostFtdcProductClassType ProductClass; +}; + +///查询合约 +struct CThostFtdcQryInstrumentField +{ + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///产品代码 + TThostFtdcInstrumentIDType ProductID; +}; + +///查询行情 +struct CThostFtdcQryDepthMarketDataField +{ + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; +}; + +///查询经纪公司用户 +struct CThostFtdcQryBrokerUserField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; +}; + +///查询经纪公司用户权限 +struct CThostFtdcQryBrokerUserFunctionField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; +}; + +///查询交易员报盘机 +struct CThostFtdcQryTraderOfferField +{ + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; +}; + +///查询出入金流水 +struct CThostFtdcQrySyncDepositField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///出入金流水号 + TThostFtdcDepositSeqNoType DepositSeqNo; +}; + +///查询投资者结算结果 +struct CThostFtdcQrySettlementInfoField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///交易日 + TThostFtdcDateType TradingDay; +}; + +///查询交易所保证金率 +struct CThostFtdcQryExchangeMarginRateField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; +}; + +///查询交易所调整保证金率 +struct CThostFtdcQryExchangeMarginRateAdjustField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; +}; + +///查询汇率 +struct CThostFtdcQryExchangeRateField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///源币种 + TThostFtdcCurrencyIDType FromCurrencyID; + ///目标币种 + TThostFtdcCurrencyIDType ToCurrencyID; +}; + +///查询货币质押流水 +struct CThostFtdcQrySyncFundMortgageField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///货币质押流水号 + TThostFtdcDepositSeqNoType MortgageSeqNo; +}; + +///查询报单 +struct CThostFtdcQryHisOrderField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///报单编号 + TThostFtdcOrderSysIDType OrderSysID; + ///开始时间 + TThostFtdcTimeType InsertTimeStart; + ///结束时间 + TThostFtdcTimeType InsertTimeEnd; + ///交易日 + TThostFtdcDateType TradingDay; + ///结算编号 + TThostFtdcSettlementIDType SettlementID; +}; + +///当前期权合约最小保证金 +struct CThostFtdcOptionInstrMiniMarginField +{ + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投资者范围 + TThostFtdcInvestorRangeType InvestorRange; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///单位(手)期权合约最小保证金 + TThostFtdcMoneyType MinMargin; + ///取值方式 + TThostFtdcValueMethodType ValueMethod; + ///是否跟随交易所收取 + TThostFtdcBoolType IsRelative; +}; + +///当前期权合约保证金调整系数 +struct CThostFtdcOptionInstrMarginAdjustField +{ + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投资者范围 + TThostFtdcInvestorRangeType InvestorRange; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///投机空头保证金调整系数 + TThostFtdcRatioType SShortMarginRatioByMoney; + ///投机空头保证金调整系数 + TThostFtdcMoneyType SShortMarginRatioByVolume; + ///保值空头保证金调整系数 + TThostFtdcRatioType HShortMarginRatioByMoney; + ///保值空头保证金调整系数 + TThostFtdcMoneyType HShortMarginRatioByVolume; + ///套利空头保证金调整系数 + TThostFtdcRatioType AShortMarginRatioByMoney; + ///套利空头保证金调整系数 + TThostFtdcMoneyType AShortMarginRatioByVolume; + ///是否跟随交易所收取 + TThostFtdcBoolType IsRelative; +}; + +///当前期权合约手续费的详细内容 +struct CThostFtdcOptionInstrCommRateField +{ + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投资者范围 + TThostFtdcInvestorRangeType InvestorRange; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///开仓手续费率 + TThostFtdcRatioType OpenRatioByMoney; + ///开仓手续费 + TThostFtdcRatioType OpenRatioByVolume; + ///平仓手续费率 + TThostFtdcRatioType CloseRatioByMoney; + ///平仓手续费 + TThostFtdcRatioType CloseRatioByVolume; + ///平今手续费率 + TThostFtdcRatioType CloseTodayRatioByMoney; + ///平今手续费 + TThostFtdcRatioType CloseTodayRatioByVolume; + ///执行手续费率 + TThostFtdcRatioType StrikeRatioByMoney; + ///执行手续费 + TThostFtdcRatioType StrikeRatioByVolume; +}; + +///期权交易成本 +struct CThostFtdcOptionInstrTradeCostField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///期权合约保证金不变部分 + TThostFtdcMoneyType FixedMargin; + ///期权合约最小保证金 + TThostFtdcMoneyType MiniMargin; + ///期权合约权利金 + TThostFtdcMoneyType Royalty; + ///交易所期权合约保证金不变部分 + TThostFtdcMoneyType ExchFixedMargin; + ///交易所期权合约最小保证金 + TThostFtdcMoneyType ExchMiniMargin; +}; + +///期权交易成本查询 +struct CThostFtdcQryOptionInstrTradeCostField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///期权合约报价 + TThostFtdcPriceType InputPrice; + ///标的价格,填0则用昨结算价 + TThostFtdcPriceType UnderlyingPrice; +}; + +///期权手续费率查询 +struct CThostFtdcQryOptionInstrCommRateField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; +}; + +///股指现货指数 +struct CThostFtdcIndexPriceField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///指数现货收盘价 + TThostFtdcPriceType ClosePrice; +}; + +///输入的执行宣告 +struct CThostFtdcInputExecOrderField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///执行宣告引用 + TThostFtdcOrderRefType ExecOrderRef; + ///用户代码 + TThostFtdcUserIDType UserID; + ///数量 + TThostFtdcVolumeType Volume; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///开平标志 + TThostFtdcOffsetFlagType OffsetFlag; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///执行类型 + TThostFtdcActionTypeType ActionType; + ///保留头寸申请的持仓方向 + TThostFtdcPosiDirectionType PosiDirection; + ///期权行权后是否保留期货头寸的标记 + TThostFtdcExecOrderPositionFlagType ReservePositionFlag; + ///期权行权后生成的头寸是否自动平仓 + TThostFtdcExecOrderCloseFlagType CloseFlag; +}; + +///输入执行宣告操作 +struct CThostFtdcInputExecOrderActionField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///执行宣告操作引用 + TThostFtdcOrderActionRefType ExecOrderActionRef; + ///执行宣告引用 + TThostFtdcOrderRefType ExecOrderRef; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///前置编号 + TThostFtdcFrontIDType FrontID; + ///会话编号 + TThostFtdcSessionIDType SessionID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///执行宣告操作编号 + TThostFtdcExecOrderSysIDType ExecOrderSysID; + ///操作标志 + TThostFtdcActionFlagType ActionFlag; + ///用户代码 + TThostFtdcUserIDType UserID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; +}; + +///执行宣告 +struct CThostFtdcExecOrderField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///执行宣告引用 + TThostFtdcOrderRefType ExecOrderRef; + ///用户代码 + TThostFtdcUserIDType UserID; + ///数量 + TThostFtdcVolumeType Volume; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///开平标志 + TThostFtdcOffsetFlagType OffsetFlag; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///执行类型 + TThostFtdcActionTypeType ActionType; + ///保留头寸申请的持仓方向 + TThostFtdcPosiDirectionType PosiDirection; + ///期权行权后是否保留期货头寸的标记 + TThostFtdcExecOrderPositionFlagType ReservePositionFlag; + ///期权行权后生成的头寸是否自动平仓 + TThostFtdcExecOrderCloseFlagType CloseFlag; + ///本地执行宣告编号 + TThostFtdcOrderLocalIDType ExecOrderLocalID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///执行宣告提交状态 + TThostFtdcOrderSubmitStatusType OrderSubmitStatus; + ///报单提示序号 + TThostFtdcSequenceNoType NotifySequence; + ///交易日 + TThostFtdcDateType TradingDay; + ///结算编号 + TThostFtdcSettlementIDType SettlementID; + ///执行宣告编号 + TThostFtdcExecOrderSysIDType ExecOrderSysID; + ///报单日期 + TThostFtdcDateType InsertDate; + ///插入时间 + TThostFtdcTimeType InsertTime; + ///撤销时间 + TThostFtdcTimeType CancelTime; + ///执行结果 + TThostFtdcExecResultType ExecResult; + ///结算会员编号 + TThostFtdcParticipantIDType ClearingPartID; + ///序号 + TThostFtdcSequenceNoType SequenceNo; + ///前置编号 + TThostFtdcFrontIDType FrontID; + ///会话编号 + TThostFtdcSessionIDType SessionID; + ///用户端产品信息 + TThostFtdcProductInfoType UserProductInfo; + ///状态信息 + TThostFtdcErrorMsgType StatusMsg; + ///操作用户代码 + TThostFtdcUserIDType ActiveUserID; + ///经纪公司报单编号 + TThostFtdcSequenceNoType BrokerExecOrderSeq; +}; + +///执行宣告操作 +struct CThostFtdcExecOrderActionField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///执行宣告操作引用 + TThostFtdcOrderActionRefType ExecOrderActionRef; + ///执行宣告引用 + TThostFtdcOrderRefType ExecOrderRef; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///前置编号 + TThostFtdcFrontIDType FrontID; + ///会话编号 + TThostFtdcSessionIDType SessionID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///执行宣告操作编号 + TThostFtdcExecOrderSysIDType ExecOrderSysID; + ///操作标志 + TThostFtdcActionFlagType ActionFlag; + ///操作日期 + TThostFtdcDateType ActionDate; + ///操作时间 + TThostFtdcTimeType ActionTime; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///本地执行宣告编号 + TThostFtdcOrderLocalIDType ExecOrderLocalID; + ///操作本地编号 + TThostFtdcOrderLocalIDType ActionLocalID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///报单操作状态 + TThostFtdcOrderActionStatusType OrderActionStatus; + ///用户代码 + TThostFtdcUserIDType UserID; + ///执行类型 + TThostFtdcActionTypeType ActionType; + ///状态信息 + TThostFtdcErrorMsgType StatusMsg; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; +}; + +///执行宣告查询 +struct CThostFtdcQryExecOrderField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///执行宣告编号 + TThostFtdcExecOrderSysIDType ExecOrderSysID; + ///开始时间 + TThostFtdcTimeType InsertTimeStart; + ///结束时间 + TThostFtdcTimeType InsertTimeEnd; +}; + +///交易所执行宣告信息 +struct CThostFtdcExchangeExecOrderField +{ + ///数量 + TThostFtdcVolumeType Volume; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///开平标志 + TThostFtdcOffsetFlagType OffsetFlag; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///执行类型 + TThostFtdcActionTypeType ActionType; + ///保留头寸申请的持仓方向 + TThostFtdcPosiDirectionType PosiDirection; + ///期权行权后是否保留期货头寸的标记 + TThostFtdcExecOrderPositionFlagType ReservePositionFlag; + ///期权行权后生成的头寸是否自动平仓 + TThostFtdcExecOrderCloseFlagType CloseFlag; + ///本地执行宣告编号 + TThostFtdcOrderLocalIDType ExecOrderLocalID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///执行宣告提交状态 + TThostFtdcOrderSubmitStatusType OrderSubmitStatus; + ///报单提示序号 + TThostFtdcSequenceNoType NotifySequence; + ///交易日 + TThostFtdcDateType TradingDay; + ///结算编号 + TThostFtdcSettlementIDType SettlementID; + ///执行宣告编号 + TThostFtdcExecOrderSysIDType ExecOrderSysID; + ///报单日期 + TThostFtdcDateType InsertDate; + ///插入时间 + TThostFtdcTimeType InsertTime; + ///撤销时间 + TThostFtdcTimeType CancelTime; + ///执行结果 + TThostFtdcExecResultType ExecResult; + ///结算会员编号 + TThostFtdcParticipantIDType ClearingPartID; + ///序号 + TThostFtdcSequenceNoType SequenceNo; +}; + +///交易所执行宣告查询 +struct CThostFtdcQryExchangeExecOrderField +{ + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; +}; + +///执行宣告操作查询 +struct CThostFtdcQryExecOrderActionField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; +}; + +///交易所执行宣告操作 +struct CThostFtdcExchangeExecOrderActionField +{ + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///执行宣告操作编号 + TThostFtdcExecOrderSysIDType ExecOrderSysID; + ///操作标志 + TThostFtdcActionFlagType ActionFlag; + ///操作日期 + TThostFtdcDateType ActionDate; + ///操作时间 + TThostFtdcTimeType ActionTime; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///本地执行宣告编号 + TThostFtdcOrderLocalIDType ExecOrderLocalID; + ///操作本地编号 + TThostFtdcOrderLocalIDType ActionLocalID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///报单操作状态 + TThostFtdcOrderActionStatusType OrderActionStatus; + ///用户代码 + TThostFtdcUserIDType UserID; + ///执行类型 + TThostFtdcActionTypeType ActionType; +}; + +///交易所执行宣告操作查询 +struct CThostFtdcQryExchangeExecOrderActionField +{ + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; +}; + +///错误执行宣告 +struct CThostFtdcErrExecOrderField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///执行宣告引用 + TThostFtdcOrderRefType ExecOrderRef; + ///用户代码 + TThostFtdcUserIDType UserID; + ///数量 + TThostFtdcVolumeType Volume; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///开平标志 + TThostFtdcOffsetFlagType OffsetFlag; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///执行类型 + TThostFtdcActionTypeType ActionType; + ///保留头寸申请的持仓方向 + TThostFtdcPosiDirectionType PosiDirection; + ///期权行权后是否保留期货头寸的标记 + TThostFtdcExecOrderPositionFlagType ReservePositionFlag; + ///期权行权后生成的头寸是否自动平仓 + TThostFtdcExecOrderCloseFlagType CloseFlag; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; +}; + +///查询错误执行宣告 +struct CThostFtdcQryErrExecOrderField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; +}; + +///错误执行宣告操作 +struct CThostFtdcErrExecOrderActionField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///执行宣告操作引用 + TThostFtdcOrderActionRefType ExecOrderActionRef; + ///执行宣告引用 + TThostFtdcOrderRefType ExecOrderRef; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///前置编号 + TThostFtdcFrontIDType FrontID; + ///会话编号 + TThostFtdcSessionIDType SessionID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///执行宣告操作编号 + TThostFtdcExecOrderSysIDType ExecOrderSysID; + ///操作标志 + TThostFtdcActionFlagType ActionFlag; + ///用户代码 + TThostFtdcUserIDType UserID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; +}; + +///查询错误执行宣告操作 +struct CThostFtdcQryErrExecOrderActionField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; +}; + +///投资者期权合约交易权限 +struct CThostFtdcOptionInstrTradingRightField +{ + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投资者范围 + TThostFtdcInvestorRangeType InvestorRange; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///买卖方向 + TThostFtdcDirectionType Direction; + ///交易权限 + TThostFtdcTradingRightType TradingRight; +}; + +///查询期权合约交易权限 +struct CThostFtdcQryOptionInstrTradingRightField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///买卖方向 + TThostFtdcDirectionType Direction; +}; + +///输入的询价 +struct CThostFtdcInputForQuoteField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///询价引用 + TThostFtdcOrderRefType ForQuoteRef; + ///用户代码 + TThostFtdcUserIDType UserID; +}; + +///询价 +struct CThostFtdcForQuoteField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///询价引用 + TThostFtdcOrderRefType ForQuoteRef; + ///用户代码 + TThostFtdcUserIDType UserID; + ///本地询价编号 + TThostFtdcOrderLocalIDType ForQuoteLocalID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///报单日期 + TThostFtdcDateType InsertDate; + ///插入时间 + TThostFtdcTimeType InsertTime; + ///询价状态 + TThostFtdcForQuoteStatusType ForQuoteStatus; + ///前置编号 + TThostFtdcFrontIDType FrontID; + ///会话编号 + TThostFtdcSessionIDType SessionID; + ///状态信息 + TThostFtdcErrorMsgType StatusMsg; + ///操作用户代码 + TThostFtdcUserIDType ActiveUserID; + ///经纪公司询价编号 + TThostFtdcSequenceNoType BrokerForQutoSeq; +}; + +///询价查询 +struct CThostFtdcQryForQuoteField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///开始时间 + TThostFtdcTimeType InsertTimeStart; + ///结束时间 + TThostFtdcTimeType InsertTimeEnd; +}; + +///交易所询价信息 +struct CThostFtdcExchangeForQuoteField +{ + ///本地询价编号 + TThostFtdcOrderLocalIDType ForQuoteLocalID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///报单日期 + TThostFtdcDateType InsertDate; + ///插入时间 + TThostFtdcTimeType InsertTime; + ///询价状态 + TThostFtdcForQuoteStatusType ForQuoteStatus; +}; + +///交易所询价查询 +struct CThostFtdcQryExchangeForQuoteField +{ + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; +}; + +///输入的报价 +struct CThostFtdcInputQuoteField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///报价引用 + TThostFtdcOrderRefType QuoteRef; + ///用户代码 + TThostFtdcUserIDType UserID; + ///卖价格 + TThostFtdcPriceType AskPrice; + ///买价格 + TThostFtdcPriceType BidPrice; + ///卖数量 + TThostFtdcVolumeType AskVolume; + ///买数量 + TThostFtdcVolumeType BidVolume; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///卖开平标志 + TThostFtdcOffsetFlagType AskOffsetFlag; + ///买开平标志 + TThostFtdcOffsetFlagType BidOffsetFlag; + ///卖投机套保标志 + TThostFtdcHedgeFlagType AskHedgeFlag; + ///买投机套保标志 + TThostFtdcHedgeFlagType BidHedgeFlag; +}; + +///输入报价操作 +struct CThostFtdcInputQuoteActionField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///报价操作引用 + TThostFtdcOrderActionRefType QuoteActionRef; + ///报价引用 + TThostFtdcOrderRefType QuoteRef; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///前置编号 + TThostFtdcFrontIDType FrontID; + ///会话编号 + TThostFtdcSessionIDType SessionID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///报价操作编号 + TThostFtdcOrderSysIDType QuoteSysID; + ///操作标志 + TThostFtdcActionFlagType ActionFlag; + ///用户代码 + TThostFtdcUserIDType UserID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; +}; + +///报价 +struct CThostFtdcQuoteField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///报价引用 + TThostFtdcOrderRefType QuoteRef; + ///用户代码 + TThostFtdcUserIDType UserID; + ///卖价格 + TThostFtdcPriceType AskPrice; + ///买价格 + TThostFtdcPriceType BidPrice; + ///卖数量 + TThostFtdcVolumeType AskVolume; + ///买数量 + TThostFtdcVolumeType BidVolume; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///卖开平标志 + TThostFtdcOffsetFlagType AskOffsetFlag; + ///买开平标志 + TThostFtdcOffsetFlagType BidOffsetFlag; + ///卖投机套保标志 + TThostFtdcHedgeFlagType AskHedgeFlag; + ///买投机套保标志 + TThostFtdcHedgeFlagType BidHedgeFlag; + ///本地报价编号 + TThostFtdcOrderLocalIDType QuoteLocalID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///报价提示序号 + TThostFtdcSequenceNoType NotifySequence; + ///报价提交状态 + TThostFtdcOrderSubmitStatusType OrderSubmitStatus; + ///交易日 + TThostFtdcDateType TradingDay; + ///结算编号 + TThostFtdcSettlementIDType SettlementID; + ///报价编号 + TThostFtdcOrderSysIDType QuoteSysID; + ///报单日期 + TThostFtdcDateType InsertDate; + ///插入时间 + TThostFtdcTimeType InsertTime; + ///撤销时间 + TThostFtdcTimeType CancelTime; + ///报价状态 + TThostFtdcOrderStatusType QuoteStatus; + ///结算会员编号 + TThostFtdcParticipantIDType ClearingPartID; + ///序号 + TThostFtdcSequenceNoType SequenceNo; + ///卖方报单编号 + TThostFtdcOrderSysIDType AskOrderSysID; + ///买方报单编号 + TThostFtdcOrderSysIDType BidOrderSysID; + ///前置编号 + TThostFtdcFrontIDType FrontID; + ///会话编号 + TThostFtdcSessionIDType SessionID; + ///用户端产品信息 + TThostFtdcProductInfoType UserProductInfo; + ///状态信息 + TThostFtdcErrorMsgType StatusMsg; + ///操作用户代码 + TThostFtdcUserIDType ActiveUserID; + ///经纪公司报价编号 + TThostFtdcSequenceNoType BrokerQuoteSeq; +}; + +///报价操作 +struct CThostFtdcQuoteActionField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///报价操作引用 + TThostFtdcOrderActionRefType QuoteActionRef; + ///报价引用 + TThostFtdcOrderRefType QuoteRef; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///前置编号 + TThostFtdcFrontIDType FrontID; + ///会话编号 + TThostFtdcSessionIDType SessionID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///报价操作编号 + TThostFtdcOrderSysIDType QuoteSysID; + ///操作标志 + TThostFtdcActionFlagType ActionFlag; + ///操作日期 + TThostFtdcDateType ActionDate; + ///操作时间 + TThostFtdcTimeType ActionTime; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///本地报价编号 + TThostFtdcOrderLocalIDType QuoteLocalID; + ///操作本地编号 + TThostFtdcOrderLocalIDType ActionLocalID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///报单操作状态 + TThostFtdcOrderActionStatusType OrderActionStatus; + ///用户代码 + TThostFtdcUserIDType UserID; + ///状态信息 + TThostFtdcErrorMsgType StatusMsg; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; +}; + +///报价查询 +struct CThostFtdcQryQuoteField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///报价编号 + TThostFtdcOrderSysIDType QuoteSysID; + ///开始时间 + TThostFtdcTimeType InsertTimeStart; + ///结束时间 + TThostFtdcTimeType InsertTimeEnd; +}; + +///交易所报价信息 +struct CThostFtdcExchangeQuoteField +{ + ///卖价格 + TThostFtdcPriceType AskPrice; + ///买价格 + TThostFtdcPriceType BidPrice; + ///卖数量 + TThostFtdcVolumeType AskVolume; + ///买数量 + TThostFtdcVolumeType BidVolume; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///卖开平标志 + TThostFtdcOffsetFlagType AskOffsetFlag; + ///买开平标志 + TThostFtdcOffsetFlagType BidOffsetFlag; + ///卖投机套保标志 + TThostFtdcHedgeFlagType AskHedgeFlag; + ///买投机套保标志 + TThostFtdcHedgeFlagType BidHedgeFlag; + ///本地报价编号 + TThostFtdcOrderLocalIDType QuoteLocalID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///报价提示序号 + TThostFtdcSequenceNoType NotifySequence; + ///报价提交状态 + TThostFtdcOrderSubmitStatusType OrderSubmitStatus; + ///交易日 + TThostFtdcDateType TradingDay; + ///结算编号 + TThostFtdcSettlementIDType SettlementID; + ///报价编号 + TThostFtdcOrderSysIDType QuoteSysID; + ///报单日期 + TThostFtdcDateType InsertDate; + ///插入时间 + TThostFtdcTimeType InsertTime; + ///撤销时间 + TThostFtdcTimeType CancelTime; + ///报价状态 + TThostFtdcOrderStatusType QuoteStatus; + ///结算会员编号 + TThostFtdcParticipantIDType ClearingPartID; + ///序号 + TThostFtdcSequenceNoType SequenceNo; + ///卖方报单编号 + TThostFtdcOrderSysIDType AskOrderSysID; + ///买方报单编号 + TThostFtdcOrderSysIDType BidOrderSysID; +}; + +///交易所报价查询 +struct CThostFtdcQryExchangeQuoteField +{ + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; +}; + +///报价操作查询 +struct CThostFtdcQryQuoteActionField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; +}; + +///交易所报价操作 +struct CThostFtdcExchangeQuoteActionField +{ + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///报价操作编号 + TThostFtdcOrderSysIDType QuoteSysID; + ///操作标志 + TThostFtdcActionFlagType ActionFlag; + ///操作日期 + TThostFtdcDateType ActionDate; + ///操作时间 + TThostFtdcTimeType ActionTime; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///本地报价编号 + TThostFtdcOrderLocalIDType QuoteLocalID; + ///操作本地编号 + TThostFtdcOrderLocalIDType ActionLocalID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///报单操作状态 + TThostFtdcOrderActionStatusType OrderActionStatus; + ///用户代码 + TThostFtdcUserIDType UserID; +}; + +///交易所报价操作查询 +struct CThostFtdcQryExchangeQuoteActionField +{ + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; +}; + +///期权合约delta值 +struct CThostFtdcOptionInstrDeltaField +{ + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投资者范围 + TThostFtdcInvestorRangeType InvestorRange; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///Delta值 + TThostFtdcRatioType Delta; +}; + +///发给做市商的询价请求 +struct CThostFtdcForQuoteRspField +{ + ///交易日 + TThostFtdcDateType TradingDay; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///询价编号 + TThostFtdcOrderSysIDType ForQuoteSysID; + ///询价时间 + TThostFtdcTimeType ForQuoteTime; + ///业务日期 + TThostFtdcDateType ActionDay; +}; + +///当前期权合约执行偏移值的详细内容 +struct CThostFtdcStrikeOffsetField +{ + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投资者范围 + TThostFtdcInvestorRangeType InvestorRange; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///执行偏移值 + TThostFtdcMoneyType Offset; +}; + +///期权执行偏移值查询 +struct CThostFtdcQryStrikeOffsetField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; +}; + +///市场行情 +struct CThostFtdcMarketDataField +{ + ///交易日 + TThostFtdcDateType TradingDay; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///最新价 + TThostFtdcPriceType LastPrice; + ///上次结算价 + TThostFtdcPriceType PreSettlementPrice; + ///昨收盘 + TThostFtdcPriceType PreClosePrice; + ///昨持仓量 + TThostFtdcLargeVolumeType PreOpenInterest; + ///今开盘 + TThostFtdcPriceType OpenPrice; + ///最高价 + TThostFtdcPriceType HighestPrice; + ///最低价 + TThostFtdcPriceType LowestPrice; + ///数量 + TThostFtdcVolumeType Volume; + ///成交金额 + TThostFtdcMoneyType Turnover; + ///持仓量 + TThostFtdcLargeVolumeType OpenInterest; + ///今收盘 + TThostFtdcPriceType ClosePrice; + ///本次结算价 + TThostFtdcPriceType SettlementPrice; + ///涨停板价 + TThostFtdcPriceType UpperLimitPrice; + ///跌停板价 + TThostFtdcPriceType LowerLimitPrice; + ///昨虚实度 + TThostFtdcRatioType PreDelta; + ///今虚实度 + TThostFtdcRatioType CurrDelta; + ///最后修改时间 + TThostFtdcTimeType UpdateTime; + ///最后修改毫秒 + TThostFtdcMillisecType UpdateMillisec; + ///业务日期 + TThostFtdcDateType ActionDay; +}; + +///行情基础属性 +struct CThostFtdcMarketDataBaseField +{ + ///交易日 + TThostFtdcDateType TradingDay; + ///上次结算价 + TThostFtdcPriceType PreSettlementPrice; + ///昨收盘 + TThostFtdcPriceType PreClosePrice; + ///昨持仓量 + TThostFtdcLargeVolumeType PreOpenInterest; + ///昨虚实度 + TThostFtdcRatioType PreDelta; +}; + +///行情静态属性 +struct CThostFtdcMarketDataStaticField +{ + ///今开盘 + TThostFtdcPriceType OpenPrice; + ///最高价 + TThostFtdcPriceType HighestPrice; + ///最低价 + TThostFtdcPriceType LowestPrice; + ///今收盘 + TThostFtdcPriceType ClosePrice; + ///涨停板价 + TThostFtdcPriceType UpperLimitPrice; + ///跌停板价 + TThostFtdcPriceType LowerLimitPrice; + ///本次结算价 + TThostFtdcPriceType SettlementPrice; + ///今虚实度 + TThostFtdcRatioType CurrDelta; +}; + +///行情最新成交属性 +struct CThostFtdcMarketDataLastMatchField +{ + ///最新价 + TThostFtdcPriceType LastPrice; + ///数量 + TThostFtdcVolumeType Volume; + ///成交金额 + TThostFtdcMoneyType Turnover; + ///持仓量 + TThostFtdcLargeVolumeType OpenInterest; +}; + +///行情最优价属性 +struct CThostFtdcMarketDataBestPriceField +{ + ///申买价一 + TThostFtdcPriceType BidPrice1; + ///申买量一 + TThostFtdcVolumeType BidVolume1; + ///申卖价一 + TThostFtdcPriceType AskPrice1; + ///申卖量一 + TThostFtdcVolumeType AskVolume1; +}; + +///行情申买二、三属性 +struct CThostFtdcMarketDataBid23Field +{ + ///申买价二 + TThostFtdcPriceType BidPrice2; + ///申买量二 + TThostFtdcVolumeType BidVolume2; + ///申买价三 + TThostFtdcPriceType BidPrice3; + ///申买量三 + TThostFtdcVolumeType BidVolume3; +}; + +///行情申卖二、三属性 +struct CThostFtdcMarketDataAsk23Field +{ + ///申卖价二 + TThostFtdcPriceType AskPrice2; + ///申卖量二 + TThostFtdcVolumeType AskVolume2; + ///申卖价三 + TThostFtdcPriceType AskPrice3; + ///申卖量三 + TThostFtdcVolumeType AskVolume3; +}; + +///行情申买四、五属性 +struct CThostFtdcMarketDataBid45Field +{ + ///申买价四 + TThostFtdcPriceType BidPrice4; + ///申买量四 + TThostFtdcVolumeType BidVolume4; + ///申买价五 + TThostFtdcPriceType BidPrice5; + ///申买量五 + TThostFtdcVolumeType BidVolume5; +}; + +///行情申卖四、五属性 +struct CThostFtdcMarketDataAsk45Field +{ + ///申卖价四 + TThostFtdcPriceType AskPrice4; + ///申卖量四 + TThostFtdcVolumeType AskVolume4; + ///申卖价五 + TThostFtdcPriceType AskPrice5; + ///申卖量五 + TThostFtdcVolumeType AskVolume5; +}; + +///行情更新时间属性 +struct CThostFtdcMarketDataUpdateTimeField +{ + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///最后修改时间 + TThostFtdcTimeType UpdateTime; + ///最后修改毫秒 + TThostFtdcMillisecType UpdateMillisec; + ///业务日期 + TThostFtdcDateType ActionDay; +}; + +///行情交易所代码属性 +struct CThostFtdcMarketDataExchangeField +{ + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; +}; + +///指定的合约 +struct CThostFtdcSpecificInstrumentField +{ + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; +}; + +///合约状态 +struct CThostFtdcInstrumentStatusField +{ + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///结算组代码 + TThostFtdcSettlementGroupIDType SettlementGroupID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///合约交易状态 + TThostFtdcInstrumentStatusType InstrumentStatus; + ///交易阶段编号 + TThostFtdcTradingSegmentSNType TradingSegmentSN; + ///进入本状态时间 + TThostFtdcTimeType EnterTime; + ///进入本状态原因 + TThostFtdcInstStatusEnterReasonType EnterReason; +}; + +///查询合约状态 +struct CThostFtdcQryInstrumentStatusField +{ + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; +}; + +///投资者账户 +struct CThostFtdcInvestorAccountField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; +}; + +///浮动盈亏算法 +struct CThostFtdcPositionProfitAlgorithmField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///盈亏算法 + TThostFtdcAlgorithmType Algorithm; + ///备注 + TThostFtdcMemoType Memo; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; +}; + +///会员资金折扣 +struct CThostFtdcDiscountField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者范围 + TThostFtdcInvestorRangeType InvestorRange; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///资金折扣比例 + TThostFtdcRatioType Discount; +}; + +///查询转帐银行 +struct CThostFtdcQryTransferBankField +{ + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分中心代码 + TThostFtdcBankBrchIDType BankBrchID; +}; + +///转帐银行 +struct CThostFtdcTransferBankField +{ + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分中心代码 + TThostFtdcBankBrchIDType BankBrchID; + ///银行名称 + TThostFtdcBankNameType BankName; + ///是否活跃 + TThostFtdcBoolType IsActive; +}; + +///查询投资者持仓明细 +struct CThostFtdcQryInvestorPositionDetailField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; +}; + +///投资者持仓明细 +struct CThostFtdcInvestorPositionDetailField +{ + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///买卖 + TThostFtdcDirectionType Direction; + ///开仓日期 + TThostFtdcDateType OpenDate; + ///成交编号 + TThostFtdcTradeIDType TradeID; + ///数量 + TThostFtdcVolumeType Volume; + ///开仓价 + TThostFtdcPriceType OpenPrice; + ///交易日 + TThostFtdcDateType TradingDay; + ///结算编号 + TThostFtdcSettlementIDType SettlementID; + ///成交类型 + TThostFtdcTradeTypeType TradeType; + ///组合合约代码 + TThostFtdcInstrumentIDType CombInstrumentID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///逐日盯市平仓盈亏 + TThostFtdcMoneyType CloseProfitByDate; + ///逐笔对冲平仓盈亏 + TThostFtdcMoneyType CloseProfitByTrade; + ///逐日盯市持仓盈亏 + TThostFtdcMoneyType PositionProfitByDate; + ///逐笔对冲持仓盈亏 + TThostFtdcMoneyType PositionProfitByTrade; + ///投资者保证金 + TThostFtdcMoneyType Margin; + ///交易所保证金 + TThostFtdcMoneyType ExchMargin; + ///保证金率 + TThostFtdcRatioType MarginRateByMoney; + ///保证金率(按手数) + TThostFtdcRatioType MarginRateByVolume; + ///昨结算价 + TThostFtdcPriceType LastSettlementPrice; + ///结算价 + TThostFtdcPriceType SettlementPrice; + ///平仓量 + TThostFtdcVolumeType CloseVolume; + ///平仓金额 + TThostFtdcMoneyType CloseAmount; +}; + +///资金账户口令域 +struct CThostFtdcTradingAccountPasswordField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///密码 + TThostFtdcPasswordType Password; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; +}; + +///交易所行情报盘机 +struct CThostFtdcMDTraderOfferField +{ + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///密码 + TThostFtdcPasswordType Password; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///本地报单编号 + TThostFtdcOrderLocalIDType OrderLocalID; + ///交易所交易员连接状态 + TThostFtdcTraderConnectStatusType TraderConnectStatus; + ///发出连接请求的日期 + TThostFtdcDateType ConnectRequestDate; + ///发出连接请求的时间 + TThostFtdcTimeType ConnectRequestTime; + ///上次报告日期 + TThostFtdcDateType LastReportDate; + ///上次报告时间 + TThostFtdcTimeType LastReportTime; + ///完成连接日期 + TThostFtdcDateType ConnectDate; + ///完成连接时间 + TThostFtdcTimeType ConnectTime; + ///启动日期 + TThostFtdcDateType StartDate; + ///启动时间 + TThostFtdcTimeType StartTime; + ///交易日 + TThostFtdcDateType TradingDay; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///本席位最大成交编号 + TThostFtdcTradeIDType MaxTradeID; + ///本席位最大报单备拷 + TThostFtdcReturnCodeType MaxOrderMessageReference; +}; + +///查询行情报盘机 +struct CThostFtdcQryMDTraderOfferField +{ + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; +}; + +///查询客户通知 +struct CThostFtdcQryNoticeField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; +}; + +///客户通知 +struct CThostFtdcNoticeField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///消息正文 + TThostFtdcContentType Content; + ///经纪公司通知内容序列号 + TThostFtdcSequenceLabelType SequenceLabel; +}; + +///用户权限 +struct CThostFtdcUserRightField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///客户权限类型 + TThostFtdcUserRightTypeType UserRightType; + ///是否禁止 + TThostFtdcBoolType IsForbidden; +}; + +///查询结算信息确认域 +struct CThostFtdcQrySettlementInfoConfirmField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; +}; + +///装载结算信息 +struct CThostFtdcLoadSettlementInfoField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; +}; + +///经纪公司可提资金算法表 +struct CThostFtdcBrokerWithdrawAlgorithmField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///可提资金算法 + TThostFtdcAlgorithmType WithdrawAlgorithm; + ///资金使用率 + TThostFtdcRatioType UsingRatio; + ///可提是否包含平仓盈利 + TThostFtdcIncludeCloseProfitType IncludeCloseProfit; + ///本日无仓且无成交客户是否受可提比例限制 + TThostFtdcAllWithoutTradeType AllWithoutTrade; + ///可用是否包含平仓盈利 + TThostFtdcIncludeCloseProfitType AvailIncludeCloseProfit; + ///是否启用用户事件 + TThostFtdcBoolType IsBrokerUserEvent; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///货币质押比率 + TThostFtdcRatioType FundMortgageRatio; + ///权益算法 + TThostFtdcBalanceAlgorithmType BalanceAlgorithm; +}; + +///资金账户口令变更域 +struct CThostFtdcTradingAccountPasswordUpdateV1Field +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///原来的口令 + TThostFtdcPasswordType OldPassword; + ///新的口令 + TThostFtdcPasswordType NewPassword; +}; + +///资金账户口令变更域 +struct CThostFtdcTradingAccountPasswordUpdateField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///原来的口令 + TThostFtdcPasswordType OldPassword; + ///新的口令 + TThostFtdcPasswordType NewPassword; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; +}; + +///查询组合合约分腿 +struct CThostFtdcQryCombinationLegField +{ + ///组合合约代码 + TThostFtdcInstrumentIDType CombInstrumentID; + ///单腿编号 + TThostFtdcLegIDType LegID; + ///单腿合约代码 + TThostFtdcInstrumentIDType LegInstrumentID; +}; + +///查询组合合约分腿 +struct CThostFtdcQrySyncStatusField +{ + ///交易日 + TThostFtdcDateType TradingDay; +}; + +///组合交易合约的单腿 +struct CThostFtdcCombinationLegField +{ + ///组合合约代码 + TThostFtdcInstrumentIDType CombInstrumentID; + ///单腿编号 + TThostFtdcLegIDType LegID; + ///单腿合约代码 + TThostFtdcInstrumentIDType LegInstrumentID; + ///买卖方向 + TThostFtdcDirectionType Direction; + ///单腿乘数 + TThostFtdcLegMultipleType LegMultiple; + ///派生层数 + TThostFtdcImplyLevelType ImplyLevel; +}; + +///数据同步状态 +struct CThostFtdcSyncStatusField +{ + ///交易日 + TThostFtdcDateType TradingDay; + ///数据同步状态 + TThostFtdcDataSyncStatusType DataSyncStatus; +}; + +///查询联系人 +struct CThostFtdcQryLinkManField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; +}; + +///联系人 +struct CThostFtdcLinkManField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///联系人类型 + TThostFtdcPersonTypeType PersonType; + ///证件类型 + TThostFtdcIdCardTypeType IdentifiedCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///名称 + TThostFtdcPartyNameType PersonName; + ///联系电话 + TThostFtdcTelephoneType Telephone; + ///通讯地址 + TThostFtdcAddressType Address; + ///邮政编码 + TThostFtdcZipCodeType ZipCode; + ///优先级 + TThostFtdcPriorityType Priority; + ///开户邮政编码 + TThostFtdcUOAZipCodeType UOAZipCode; + ///全称 + TThostFtdcInvestorFullNameType PersonFullName; +}; + +///查询经纪公司用户事件 +struct CThostFtdcQryBrokerUserEventField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///用户事件类型 + TThostFtdcUserEventTypeType UserEventType; +}; + +///查询经纪公司用户事件 +struct CThostFtdcBrokerUserEventField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///用户事件类型 + TThostFtdcUserEventTypeType UserEventType; + ///用户事件序号 + TThostFtdcSequenceNoType EventSequenceNo; + ///事件发生日期 + TThostFtdcDateType EventDate; + ///事件发生时间 + TThostFtdcTimeType EventTime; + ///用户事件信息 + TThostFtdcUserEventInfoType UserEventInfo; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; +}; + +///查询签约银行请求 +struct CThostFtdcQryContractBankField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分中心代码 + TThostFtdcBankBrchIDType BankBrchID; +}; + +///查询签约银行响应 +struct CThostFtdcContractBankField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分中心代码 + TThostFtdcBankBrchIDType BankBrchID; + ///银行名称 + TThostFtdcBankNameType BankName; +}; + +///投资者组合持仓明细 +struct CThostFtdcInvestorPositionCombineDetailField +{ + ///交易日 + TThostFtdcDateType TradingDay; + ///开仓日期 + TThostFtdcDateType OpenDate; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///结算编号 + TThostFtdcSettlementIDType SettlementID; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///组合编号 + TThostFtdcTradeIDType ComTradeID; + ///撮合编号 + TThostFtdcTradeIDType TradeID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///买卖 + TThostFtdcDirectionType Direction; + ///持仓量 + TThostFtdcVolumeType TotalAmt; + ///投资者保证金 + TThostFtdcMoneyType Margin; + ///交易所保证金 + TThostFtdcMoneyType ExchMargin; + ///保证金率 + TThostFtdcRatioType MarginRateByMoney; + ///保证金率(按手数) + TThostFtdcRatioType MarginRateByVolume; + ///单腿编号 + TThostFtdcLegIDType LegID; + ///单腿乘数 + TThostFtdcLegMultipleType LegMultiple; + ///组合持仓合约编码 + TThostFtdcInstrumentIDType CombInstrumentID; + ///成交组号 + TThostFtdcTradeGroupIDType TradeGroupID; +}; + +///预埋单 +struct CThostFtdcParkedOrderField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///报单引用 + TThostFtdcOrderRefType OrderRef; + ///用户代码 + TThostFtdcUserIDType UserID; + ///报单价格条件 + TThostFtdcOrderPriceTypeType OrderPriceType; + ///买卖方向 + TThostFtdcDirectionType Direction; + ///组合开平标志 + TThostFtdcCombOffsetFlagType CombOffsetFlag; + ///组合投机套保标志 + TThostFtdcCombHedgeFlagType CombHedgeFlag; + ///价格 + TThostFtdcPriceType LimitPrice; + ///数量 + TThostFtdcVolumeType VolumeTotalOriginal; + ///有效期类型 + TThostFtdcTimeConditionType TimeCondition; + ///GTD日期 + TThostFtdcDateType GTDDate; + ///成交量类型 + TThostFtdcVolumeConditionType VolumeCondition; + ///最小成交量 + TThostFtdcVolumeType MinVolume; + ///触发条件 + TThostFtdcContingentConditionType ContingentCondition; + ///止损价 + TThostFtdcPriceType StopPrice; + ///强平原因 + TThostFtdcForceCloseReasonType ForceCloseReason; + ///自动挂起标志 + TThostFtdcBoolType IsAutoSuspend; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///用户强评标志 + TThostFtdcBoolType UserForceClose; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///预埋报单编号 + TThostFtdcParkedOrderIDType ParkedOrderID; + ///用户类型 + TThostFtdcUserTypeType UserType; + ///预埋单状态 + TThostFtdcParkedOrderStatusType Status; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; + ///互换单标志 + TThostFtdcBoolType IsSwapOrder; +}; + +///输入预埋单操作 +struct CThostFtdcParkedOrderActionField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///报单操作引用 + TThostFtdcOrderActionRefType OrderActionRef; + ///报单引用 + TThostFtdcOrderRefType OrderRef; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///前置编号 + TThostFtdcFrontIDType FrontID; + ///会话编号 + TThostFtdcSessionIDType SessionID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///报单编号 + TThostFtdcOrderSysIDType OrderSysID; + ///操作标志 + TThostFtdcActionFlagType ActionFlag; + ///价格 + TThostFtdcPriceType LimitPrice; + ///数量变化 + TThostFtdcVolumeType VolumeChange; + ///用户代码 + TThostFtdcUserIDType UserID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///预埋撤单单编号 + TThostFtdcParkedOrderActionIDType ParkedOrderActionID; + ///用户类型 + TThostFtdcUserTypeType UserType; + ///预埋撤单状态 + TThostFtdcParkedOrderStatusType Status; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; +}; + +///查询预埋单 +struct CThostFtdcQryParkedOrderField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; +}; + +///查询预埋撤单 +struct CThostFtdcQryParkedOrderActionField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; +}; + +///删除预埋单 +struct CThostFtdcRemoveParkedOrderField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///预埋报单编号 + TThostFtdcParkedOrderIDType ParkedOrderID; +}; + +///删除预埋撤单 +struct CThostFtdcRemoveParkedOrderActionField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///预埋撤单编号 + TThostFtdcParkedOrderActionIDType ParkedOrderActionID; +}; + +///经纪公司可提资金算法表 +struct CThostFtdcInvestorWithdrawAlgorithmField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者范围 + TThostFtdcInvestorRangeType InvestorRange; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///可提资金比例 + TThostFtdcRatioType UsingRatio; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///货币质押比率 + TThostFtdcRatioType FundMortgageRatio; +}; + +///查询组合持仓明细 +struct CThostFtdcQryInvestorPositionCombineDetailField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///组合持仓合约编码 + TThostFtdcInstrumentIDType CombInstrumentID; +}; + +///成交均价 +struct CThostFtdcMarketDataAveragePriceField +{ + ///当日均价 + TThostFtdcPriceType AveragePrice; +}; + +///校验投资者密码 +struct CThostFtdcVerifyInvestorPasswordField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///密码 + TThostFtdcPasswordType Password; +}; + +///用户IP +struct CThostFtdcUserIPField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///IP地址 + TThostFtdcIPAddressType IPAddress; + ///IP地址掩码 + TThostFtdcIPAddressType IPMask; + ///Mac地址 + TThostFtdcMacAddressType MacAddress; +}; + +///用户事件通知信息 +struct CThostFtdcTradingNoticeInfoField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///发送时间 + TThostFtdcTimeType SendTime; + ///消息正文 + TThostFtdcContentType FieldContent; + ///序列系列号 + TThostFtdcSequenceSeriesType SequenceSeries; + ///序列号 + TThostFtdcSequenceNoType SequenceNo; +}; + +///用户事件通知 +struct CThostFtdcTradingNoticeField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者范围 + TThostFtdcInvestorRangeType InvestorRange; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///序列系列号 + TThostFtdcSequenceSeriesType SequenceSeries; + ///用户代码 + TThostFtdcUserIDType UserID; + ///发送时间 + TThostFtdcTimeType SendTime; + ///序列号 + TThostFtdcSequenceNoType SequenceNo; + ///消息正文 + TThostFtdcContentType FieldContent; +}; + +///查询交易事件通知 +struct CThostFtdcQryTradingNoticeField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; +}; + +///查询错误报单 +struct CThostFtdcQryErrOrderField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; +}; + +///错误报单 +struct CThostFtdcErrOrderField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///报单引用 + TThostFtdcOrderRefType OrderRef; + ///用户代码 + TThostFtdcUserIDType UserID; + ///报单价格条件 + TThostFtdcOrderPriceTypeType OrderPriceType; + ///买卖方向 + TThostFtdcDirectionType Direction; + ///组合开平标志 + TThostFtdcCombOffsetFlagType CombOffsetFlag; + ///组合投机套保标志 + TThostFtdcCombHedgeFlagType CombHedgeFlag; + ///价格 + TThostFtdcPriceType LimitPrice; + ///数量 + TThostFtdcVolumeType VolumeTotalOriginal; + ///有效期类型 + TThostFtdcTimeConditionType TimeCondition; + ///GTD日期 + TThostFtdcDateType GTDDate; + ///成交量类型 + TThostFtdcVolumeConditionType VolumeCondition; + ///最小成交量 + TThostFtdcVolumeType MinVolume; + ///触发条件 + TThostFtdcContingentConditionType ContingentCondition; + ///止损价 + TThostFtdcPriceType StopPrice; + ///强平原因 + TThostFtdcForceCloseReasonType ForceCloseReason; + ///自动挂起标志 + TThostFtdcBoolType IsAutoSuspend; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///用户强评标志 + TThostFtdcBoolType UserForceClose; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; + ///互换单标志 + TThostFtdcBoolType IsSwapOrder; +}; + +///查询错误报单操作 +struct CThostFtdcErrorConditionalOrderField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///报单引用 + TThostFtdcOrderRefType OrderRef; + ///用户代码 + TThostFtdcUserIDType UserID; + ///报单价格条件 + TThostFtdcOrderPriceTypeType OrderPriceType; + ///买卖方向 + TThostFtdcDirectionType Direction; + ///组合开平标志 + TThostFtdcCombOffsetFlagType CombOffsetFlag; + ///组合投机套保标志 + TThostFtdcCombHedgeFlagType CombHedgeFlag; + ///价格 + TThostFtdcPriceType LimitPrice; + ///数量 + TThostFtdcVolumeType VolumeTotalOriginal; + ///有效期类型 + TThostFtdcTimeConditionType TimeCondition; + ///GTD日期 + TThostFtdcDateType GTDDate; + ///成交量类型 + TThostFtdcVolumeConditionType VolumeCondition; + ///最小成交量 + TThostFtdcVolumeType MinVolume; + ///触发条件 + TThostFtdcContingentConditionType ContingentCondition; + ///止损价 + TThostFtdcPriceType StopPrice; + ///强平原因 + TThostFtdcForceCloseReasonType ForceCloseReason; + ///自动挂起标志 + TThostFtdcBoolType IsAutoSuspend; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///本地报单编号 + TThostFtdcOrderLocalIDType OrderLocalID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///合约在交易所的代码 + TThostFtdcExchangeInstIDType ExchangeInstID; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///报单提交状态 + TThostFtdcOrderSubmitStatusType OrderSubmitStatus; + ///报单提示序号 + TThostFtdcSequenceNoType NotifySequence; + ///交易日 + TThostFtdcDateType TradingDay; + ///结算编号 + TThostFtdcSettlementIDType SettlementID; + ///报单编号 + TThostFtdcOrderSysIDType OrderSysID; + ///报单来源 + TThostFtdcOrderSourceType OrderSource; + ///报单状态 + TThostFtdcOrderStatusType OrderStatus; + ///报单类型 + TThostFtdcOrderTypeType OrderType; + ///今成交数量 + TThostFtdcVolumeType VolumeTraded; + ///剩余数量 + TThostFtdcVolumeType VolumeTotal; + ///报单日期 + TThostFtdcDateType InsertDate; + ///委托时间 + TThostFtdcTimeType InsertTime; + ///激活时间 + TThostFtdcTimeType ActiveTime; + ///挂起时间 + TThostFtdcTimeType SuspendTime; + ///最后修改时间 + TThostFtdcTimeType UpdateTime; + ///撤销时间 + TThostFtdcTimeType CancelTime; + ///最后修改交易所交易员代码 + TThostFtdcTraderIDType ActiveTraderID; + ///结算会员编号 + TThostFtdcParticipantIDType ClearingPartID; + ///序号 + TThostFtdcSequenceNoType SequenceNo; + ///前置编号 + TThostFtdcFrontIDType FrontID; + ///会话编号 + TThostFtdcSessionIDType SessionID; + ///用户端产品信息 + TThostFtdcProductInfoType UserProductInfo; + ///状态信息 + TThostFtdcErrorMsgType StatusMsg; + ///用户强评标志 + TThostFtdcBoolType UserForceClose; + ///操作用户代码 + TThostFtdcUserIDType ActiveUserID; + ///经纪公司报单编号 + TThostFtdcSequenceNoType BrokerOrderSeq; + ///相关报单 + TThostFtdcOrderSysIDType RelativeOrderSysID; + ///郑商所成交数量 + TThostFtdcVolumeType ZCETotalTradedVolume; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; + ///互换单标志 + TThostFtdcBoolType IsSwapOrder; +}; + +///查询错误报单操作 +struct CThostFtdcQryErrOrderActionField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; +}; + +///错误报单操作 +struct CThostFtdcErrOrderActionField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///报单操作引用 + TThostFtdcOrderActionRefType OrderActionRef; + ///报单引用 + TThostFtdcOrderRefType OrderRef; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///前置编号 + TThostFtdcFrontIDType FrontID; + ///会话编号 + TThostFtdcSessionIDType SessionID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///报单编号 + TThostFtdcOrderSysIDType OrderSysID; + ///操作标志 + TThostFtdcActionFlagType ActionFlag; + ///价格 + TThostFtdcPriceType LimitPrice; + ///数量变化 + TThostFtdcVolumeType VolumeChange; + ///操作日期 + TThostFtdcDateType ActionDate; + ///操作时间 + TThostFtdcTimeType ActionTime; + ///交易所交易员代码 + TThostFtdcTraderIDType TraderID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///本地报单编号 + TThostFtdcOrderLocalIDType OrderLocalID; + ///操作本地编号 + TThostFtdcOrderLocalIDType ActionLocalID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///客户代码 + TThostFtdcClientIDType ClientID; + ///业务单元 + TThostFtdcBusinessUnitType BusinessUnit; + ///报单操作状态 + TThostFtdcOrderActionStatusType OrderActionStatus; + ///用户代码 + TThostFtdcUserIDType UserID; + ///状态信息 + TThostFtdcErrorMsgType StatusMsg; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; +}; + +///查询交易所状态 +struct CThostFtdcQryExchangeSequenceField +{ + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; +}; + +///交易所状态 +struct CThostFtdcExchangeSequenceField +{ + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///序号 + TThostFtdcSequenceNoType SequenceNo; + ///合约交易状态 + TThostFtdcInstrumentStatusType MarketStatus; +}; + +///根据价格查询最大报单数量 +struct CThostFtdcQueryMaxOrderVolumeWithPriceField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///买卖方向 + TThostFtdcDirectionType Direction; + ///开平标志 + TThostFtdcOffsetFlagType OffsetFlag; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///最大允许报单数量 + TThostFtdcVolumeType MaxVolume; + ///报单价格 + TThostFtdcPriceType Price; +}; + +///查询经纪公司交易参数 +struct CThostFtdcQryBrokerTradingParamsField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; +}; + +///经纪公司交易参数 +struct CThostFtdcBrokerTradingParamsField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///保证金价格类型 + TThostFtdcMarginPriceTypeType MarginPriceType; + ///盈亏算法 + TThostFtdcAlgorithmType Algorithm; + ///可用是否包含平仓盈利 + TThostFtdcIncludeCloseProfitType AvailIncludeCloseProfit; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///期权权利金价格类型 + TThostFtdcOptionRoyaltyPriceTypeType OptionRoyaltyPriceType; +}; + +///查询经纪公司交易算法 +struct CThostFtdcQryBrokerTradingAlgosField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; +}; + +///经纪公司交易算法 +struct CThostFtdcBrokerTradingAlgosField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///持仓处理算法编号 + TThostFtdcHandlePositionAlgoIDType HandlePositionAlgoID; + ///寻找保证金率算法编号 + TThostFtdcFindMarginRateAlgoIDType FindMarginRateAlgoID; + ///资金处理算法编号 + TThostFtdcHandleTradingAccountAlgoIDType HandleTradingAccountAlgoID; +}; + +///查询经纪公司资金 +struct CThostFtdcQueryBrokerDepositField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; +}; + +///经纪公司资金 +struct CThostFtdcBrokerDepositField +{ + ///交易日期 + TThostFtdcTradeDateType TradingDay; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///会员代码 + TThostFtdcParticipantIDType ParticipantID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///上次结算准备金 + TThostFtdcMoneyType PreBalance; + ///当前保证金总额 + TThostFtdcMoneyType CurrMargin; + ///平仓盈亏 + TThostFtdcMoneyType CloseProfit; + ///期货结算准备金 + TThostFtdcMoneyType Balance; + ///入金金额 + TThostFtdcMoneyType Deposit; + ///出金金额 + TThostFtdcMoneyType Withdraw; + ///可提资金 + TThostFtdcMoneyType Available; + ///基本准备金 + TThostFtdcMoneyType Reserve; + ///冻结的保证金 + TThostFtdcMoneyType FrozenMargin; +}; + +///查询保证金监管系统经纪公司密钥 +struct CThostFtdcQryCFMMCBrokerKeyField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; +}; + +///保证金监管系统经纪公司密钥 +struct CThostFtdcCFMMCBrokerKeyField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///经纪公司统一编码 + TThostFtdcParticipantIDType ParticipantID; + ///密钥生成日期 + TThostFtdcDateType CreateDate; + ///密钥生成时间 + TThostFtdcTimeType CreateTime; + ///密钥编号 + TThostFtdcSequenceNoType KeyID; + ///动态密钥 + TThostFtdcCFMMCKeyType CurrentKey; + ///动态密钥类型 + TThostFtdcCFMMCKeyKindType KeyKind; +}; + +///保证金监管系统经纪公司资金账户密钥 +struct CThostFtdcCFMMCTradingAccountKeyField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///经纪公司统一编码 + TThostFtdcParticipantIDType ParticipantID; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///密钥编号 + TThostFtdcSequenceNoType KeyID; + ///动态密钥 + TThostFtdcCFMMCKeyType CurrentKey; +}; + +///请求查询保证金监管系统经纪公司资金账户密钥 +struct CThostFtdcQryCFMMCTradingAccountKeyField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; +}; + +///用户动态令牌参数 +struct CThostFtdcBrokerUserOTPParamField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///动态令牌提供商 + TThostFtdcOTPVendorsIDType OTPVendorsID; + ///动态令牌序列号 + TThostFtdcSerialNumberType SerialNumber; + ///令牌密钥 + TThostFtdcAuthKeyType AuthKey; + ///漂移值 + TThostFtdcLastDriftType LastDrift; + ///成功值 + TThostFtdcLastSuccessType LastSuccess; + ///动态令牌类型 + TThostFtdcOTPTypeType OTPType; +}; + +///手工同步用户动态令牌 +struct CThostFtdcManualSyncBrokerUserOTPField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///动态令牌类型 + TThostFtdcOTPTypeType OTPType; + ///第一个动态密码 + TThostFtdcPasswordType FirstOTP; + ///第二个动态密码 + TThostFtdcPasswordType SecondOTP; +}; + +///投资者手续费率模板 +struct CThostFtdcCommRateModelField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///手续费率模板代码 + TThostFtdcInvestorIDType CommModelID; + ///模板名称 + TThostFtdcCommModelNameType CommModelName; +}; + +///请求查询投资者手续费率模板 +struct CThostFtdcQryCommRateModelField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///手续费率模板代码 + TThostFtdcInvestorIDType CommModelID; +}; + +///投资者保证金率模板 +struct CThostFtdcMarginModelField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///保证金率模板代码 + TThostFtdcInvestorIDType MarginModelID; + ///模板名称 + TThostFtdcCommModelNameType MarginModelName; +}; + +///请求查询投资者保证金率模板 +struct CThostFtdcQryMarginModelField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///保证金率模板代码 + TThostFtdcInvestorIDType MarginModelID; +}; + +///仓单折抵信息 +struct CThostFtdcEWarrantOffsetField +{ + ///交易日期 + TThostFtdcTradeDateType TradingDay; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; + ///买卖方向 + TThostFtdcDirectionType Direction; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; + ///数量 + TThostFtdcVolumeType Volume; +}; + +///查询仓单折抵信息 +struct CThostFtdcQryEWarrantOffsetField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///交易所代码 + TThostFtdcExchangeIDType ExchangeID; + ///合约代码 + TThostFtdcInstrumentIDType InstrumentID; +}; + +///查询投资者品种/跨品种保证金 +struct CThostFtdcQryInvestorProductGroupMarginField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///品种/跨品种标示 + TThostFtdcInstrumentIDType ProductGroupID; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; +}; + +///投资者品种/跨品种保证金 +struct CThostFtdcInvestorProductGroupMarginField +{ + ///品种/跨品种标示 + TThostFtdcInstrumentIDType ProductGroupID; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///交易日 + TThostFtdcDateType TradingDay; + ///结算编号 + TThostFtdcSettlementIDType SettlementID; + ///冻结的保证金 + TThostFtdcMoneyType FrozenMargin; + ///多头冻结的保证金 + TThostFtdcMoneyType LongFrozenMargin; + ///空头冻结的保证金 + TThostFtdcMoneyType ShortFrozenMargin; + ///占用的保证金 + TThostFtdcMoneyType UseMargin; + ///多头保证金 + TThostFtdcMoneyType LongUseMargin; + ///空头保证金 + TThostFtdcMoneyType ShortUseMargin; + ///交易所保证金 + TThostFtdcMoneyType ExchMargin; + ///交易所多头保证金 + TThostFtdcMoneyType LongExchMargin; + ///交易所空头保证金 + TThostFtdcMoneyType ShortExchMargin; + ///平仓盈亏 + TThostFtdcMoneyType CloseProfit; + ///冻结的手续费 + TThostFtdcMoneyType FrozenCommission; + ///手续费 + TThostFtdcMoneyType Commission; + ///冻结的资金 + TThostFtdcMoneyType FrozenCash; + ///资金差额 + TThostFtdcMoneyType CashIn; + ///持仓盈亏 + TThostFtdcMoneyType PositionProfit; + ///折抵总金额 + TThostFtdcMoneyType OffsetAmount; + ///多头折抵总金额 + TThostFtdcMoneyType LongOffsetAmount; + ///空头折抵总金额 + TThostFtdcMoneyType ShortOffsetAmount; + ///交易所折抵总金额 + TThostFtdcMoneyType ExchOffsetAmount; + ///交易所多头折抵总金额 + TThostFtdcMoneyType LongExchOffsetAmount; + ///交易所空头折抵总金额 + TThostFtdcMoneyType ShortExchOffsetAmount; + ///投机套保标志 + TThostFtdcHedgeFlagType HedgeFlag; +}; + +///转帐开户请求 +struct CThostFtdcReqOpenAccountField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///客户姓名 + TThostFtdcIndividualNameType CustomerName; + ///证件类型 + TThostFtdcIdCardTypeType IdCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///性别 + TThostFtdcGenderType Gender; + ///国家代码 + TThostFtdcCountryCodeType CountryCode; + ///客户类型 + TThostFtdcCustTypeType CustType; + ///地址 + TThostFtdcAddressType Address; + ///邮编 + TThostFtdcZipCodeType ZipCode; + ///电话号码 + TThostFtdcTelephoneType Telephone; + ///手机 + TThostFtdcMobilePhoneType MobilePhone; + ///传真 + TThostFtdcFaxType Fax; + ///电子邮件 + TThostFtdcEMailType EMail; + ///资金账户状态 + TThostFtdcMoneyAccountStatusType MoneyAccountStatus; + ///银行帐号 + TThostFtdcBankAccountType BankAccount; + ///银行密码 + TThostFtdcPasswordType BankPassWord; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///期货密码 + TThostFtdcPasswordType Password; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///验证客户证件号码标志 + TThostFtdcYesNoIndicatorType VerifyCertNoFlag; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///汇钞标志 + TThostFtdcCashExchangeCodeType CashExchangeCode; + ///摘要 + TThostFtdcDigestType Digest; + ///银行帐号类型 + TThostFtdcBankAccTypeType BankAccType; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货单位帐号类型 + TThostFtdcBankAccTypeType BankSecuAccType; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///期货单位帐号 + TThostFtdcBankAccountType BankSecuAcc; + ///银行密码标志 + TThostFtdcPwdFlagType BankPwdFlag; + ///期货资金密码核对标志 + TThostFtdcPwdFlagType SecuPwdFlag; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///交易ID + TThostFtdcTIDType TID; + ///用户标识 + TThostFtdcUserIDType UserID; +}; + +///转帐销户请求 +struct CThostFtdcReqCancelAccountField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///客户姓名 + TThostFtdcIndividualNameType CustomerName; + ///证件类型 + TThostFtdcIdCardTypeType IdCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///性别 + TThostFtdcGenderType Gender; + ///国家代码 + TThostFtdcCountryCodeType CountryCode; + ///客户类型 + TThostFtdcCustTypeType CustType; + ///地址 + TThostFtdcAddressType Address; + ///邮编 + TThostFtdcZipCodeType ZipCode; + ///电话号码 + TThostFtdcTelephoneType Telephone; + ///手机 + TThostFtdcMobilePhoneType MobilePhone; + ///传真 + TThostFtdcFaxType Fax; + ///电子邮件 + TThostFtdcEMailType EMail; + ///资金账户状态 + TThostFtdcMoneyAccountStatusType MoneyAccountStatus; + ///银行帐号 + TThostFtdcBankAccountType BankAccount; + ///银行密码 + TThostFtdcPasswordType BankPassWord; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///期货密码 + TThostFtdcPasswordType Password; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///验证客户证件号码标志 + TThostFtdcYesNoIndicatorType VerifyCertNoFlag; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///汇钞标志 + TThostFtdcCashExchangeCodeType CashExchangeCode; + ///摘要 + TThostFtdcDigestType Digest; + ///银行帐号类型 + TThostFtdcBankAccTypeType BankAccType; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货单位帐号类型 + TThostFtdcBankAccTypeType BankSecuAccType; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///期货单位帐号 + TThostFtdcBankAccountType BankSecuAcc; + ///银行密码标志 + TThostFtdcPwdFlagType BankPwdFlag; + ///期货资金密码核对标志 + TThostFtdcPwdFlagType SecuPwdFlag; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///交易ID + TThostFtdcTIDType TID; + ///用户标识 + TThostFtdcUserIDType UserID; +}; + +///变更银行账户请求 +struct CThostFtdcReqChangeAccountField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///客户姓名 + TThostFtdcIndividualNameType CustomerName; + ///证件类型 + TThostFtdcIdCardTypeType IdCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///性别 + TThostFtdcGenderType Gender; + ///国家代码 + TThostFtdcCountryCodeType CountryCode; + ///客户类型 + TThostFtdcCustTypeType CustType; + ///地址 + TThostFtdcAddressType Address; + ///邮编 + TThostFtdcZipCodeType ZipCode; + ///电话号码 + TThostFtdcTelephoneType Telephone; + ///手机 + TThostFtdcMobilePhoneType MobilePhone; + ///传真 + TThostFtdcFaxType Fax; + ///电子邮件 + TThostFtdcEMailType EMail; + ///资金账户状态 + TThostFtdcMoneyAccountStatusType MoneyAccountStatus; + ///银行帐号 + TThostFtdcBankAccountType BankAccount; + ///银行密码 + TThostFtdcPasswordType BankPassWord; + ///新银行帐号 + TThostFtdcBankAccountType NewBankAccount; + ///新银行密码 + TThostFtdcPasswordType NewBankPassWord; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///期货密码 + TThostFtdcPasswordType Password; + ///银行帐号类型 + TThostFtdcBankAccTypeType BankAccType; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///验证客户证件号码标志 + TThostFtdcYesNoIndicatorType VerifyCertNoFlag; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///银行密码标志 + TThostFtdcPwdFlagType BankPwdFlag; + ///期货资金密码核对标志 + TThostFtdcPwdFlagType SecuPwdFlag; + ///交易ID + TThostFtdcTIDType TID; + ///摘要 + TThostFtdcDigestType Digest; +}; + +///转账请求 +struct CThostFtdcReqTransferField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///客户姓名 + TThostFtdcIndividualNameType CustomerName; + ///证件类型 + TThostFtdcIdCardTypeType IdCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///客户类型 + TThostFtdcCustTypeType CustType; + ///银行帐号 + TThostFtdcBankAccountType BankAccount; + ///银行密码 + TThostFtdcPasswordType BankPassWord; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///期货密码 + TThostFtdcPasswordType Password; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///期货公司流水号 + TThostFtdcFutureSerialType FutureSerial; + ///用户标识 + TThostFtdcUserIDType UserID; + ///验证客户证件号码标志 + TThostFtdcYesNoIndicatorType VerifyCertNoFlag; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///转帐金额 + TThostFtdcTradeAmountType TradeAmount; + ///期货可取金额 + TThostFtdcTradeAmountType FutureFetchAmount; + ///费用支付标志 + TThostFtdcFeePayFlagType FeePayFlag; + ///应收客户费用 + TThostFtdcCustFeeType CustFee; + ///应收期货公司费用 + TThostFtdcFutureFeeType BrokerFee; + ///发送方给接收方的消息 + TThostFtdcAddInfoType Message; + ///摘要 + TThostFtdcDigestType Digest; + ///银行帐号类型 + TThostFtdcBankAccTypeType BankAccType; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货单位帐号类型 + TThostFtdcBankAccTypeType BankSecuAccType; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///期货单位帐号 + TThostFtdcBankAccountType BankSecuAcc; + ///银行密码标志 + TThostFtdcPwdFlagType BankPwdFlag; + ///期货资金密码核对标志 + TThostFtdcPwdFlagType SecuPwdFlag; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///交易ID + TThostFtdcTIDType TID; + ///转账交易状态 + TThostFtdcTransferStatusType TransferStatus; +}; + +///银行发起银行资金转期货响应 +struct CThostFtdcRspTransferField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///客户姓名 + TThostFtdcIndividualNameType CustomerName; + ///证件类型 + TThostFtdcIdCardTypeType IdCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///客户类型 + TThostFtdcCustTypeType CustType; + ///银行帐号 + TThostFtdcBankAccountType BankAccount; + ///银行密码 + TThostFtdcPasswordType BankPassWord; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///期货密码 + TThostFtdcPasswordType Password; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///期货公司流水号 + TThostFtdcFutureSerialType FutureSerial; + ///用户标识 + TThostFtdcUserIDType UserID; + ///验证客户证件号码标志 + TThostFtdcYesNoIndicatorType VerifyCertNoFlag; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///转帐金额 + TThostFtdcTradeAmountType TradeAmount; + ///期货可取金额 + TThostFtdcTradeAmountType FutureFetchAmount; + ///费用支付标志 + TThostFtdcFeePayFlagType FeePayFlag; + ///应收客户费用 + TThostFtdcCustFeeType CustFee; + ///应收期货公司费用 + TThostFtdcFutureFeeType BrokerFee; + ///发送方给接收方的消息 + TThostFtdcAddInfoType Message; + ///摘要 + TThostFtdcDigestType Digest; + ///银行帐号类型 + TThostFtdcBankAccTypeType BankAccType; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货单位帐号类型 + TThostFtdcBankAccTypeType BankSecuAccType; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///期货单位帐号 + TThostFtdcBankAccountType BankSecuAcc; + ///银行密码标志 + TThostFtdcPwdFlagType BankPwdFlag; + ///期货资金密码核对标志 + TThostFtdcPwdFlagType SecuPwdFlag; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///交易ID + TThostFtdcTIDType TID; + ///转账交易状态 + TThostFtdcTransferStatusType TransferStatus; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; +}; + +///冲正请求 +struct CThostFtdcReqRepealField +{ + ///冲正时间间隔 + TThostFtdcRepealTimeIntervalType RepealTimeInterval; + ///已经冲正次数 + TThostFtdcRepealedTimesType RepealedTimes; + ///银行冲正标志 + TThostFtdcBankRepealFlagType BankRepealFlag; + ///期商冲正标志 + TThostFtdcBrokerRepealFlagType BrokerRepealFlag; + ///被冲正平台流水号 + TThostFtdcPlateSerialType PlateRepealSerial; + ///被冲正银行流水号 + TThostFtdcBankSerialType BankRepealSerial; + ///被冲正期货流水号 + TThostFtdcFutureSerialType FutureRepealSerial; + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///客户姓名 + TThostFtdcIndividualNameType CustomerName; + ///证件类型 + TThostFtdcIdCardTypeType IdCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///客户类型 + TThostFtdcCustTypeType CustType; + ///银行帐号 + TThostFtdcBankAccountType BankAccount; + ///银行密码 + TThostFtdcPasswordType BankPassWord; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///期货密码 + TThostFtdcPasswordType Password; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///期货公司流水号 + TThostFtdcFutureSerialType FutureSerial; + ///用户标识 + TThostFtdcUserIDType UserID; + ///验证客户证件号码标志 + TThostFtdcYesNoIndicatorType VerifyCertNoFlag; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///转帐金额 + TThostFtdcTradeAmountType TradeAmount; + ///期货可取金额 + TThostFtdcTradeAmountType FutureFetchAmount; + ///费用支付标志 + TThostFtdcFeePayFlagType FeePayFlag; + ///应收客户费用 + TThostFtdcCustFeeType CustFee; + ///应收期货公司费用 + TThostFtdcFutureFeeType BrokerFee; + ///发送方给接收方的消息 + TThostFtdcAddInfoType Message; + ///摘要 + TThostFtdcDigestType Digest; + ///银行帐号类型 + TThostFtdcBankAccTypeType BankAccType; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货单位帐号类型 + TThostFtdcBankAccTypeType BankSecuAccType; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///期货单位帐号 + TThostFtdcBankAccountType BankSecuAcc; + ///银行密码标志 + TThostFtdcPwdFlagType BankPwdFlag; + ///期货资金密码核对标志 + TThostFtdcPwdFlagType SecuPwdFlag; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///交易ID + TThostFtdcTIDType TID; + ///转账交易状态 + TThostFtdcTransferStatusType TransferStatus; +}; + +///冲正响应 +struct CThostFtdcRspRepealField +{ + ///冲正时间间隔 + TThostFtdcRepealTimeIntervalType RepealTimeInterval; + ///已经冲正次数 + TThostFtdcRepealedTimesType RepealedTimes; + ///银行冲正标志 + TThostFtdcBankRepealFlagType BankRepealFlag; + ///期商冲正标志 + TThostFtdcBrokerRepealFlagType BrokerRepealFlag; + ///被冲正平台流水号 + TThostFtdcPlateSerialType PlateRepealSerial; + ///被冲正银行流水号 + TThostFtdcBankSerialType BankRepealSerial; + ///被冲正期货流水号 + TThostFtdcFutureSerialType FutureRepealSerial; + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///客户姓名 + TThostFtdcIndividualNameType CustomerName; + ///证件类型 + TThostFtdcIdCardTypeType IdCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///客户类型 + TThostFtdcCustTypeType CustType; + ///银行帐号 + TThostFtdcBankAccountType BankAccount; + ///银行密码 + TThostFtdcPasswordType BankPassWord; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///期货密码 + TThostFtdcPasswordType Password; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///期货公司流水号 + TThostFtdcFutureSerialType FutureSerial; + ///用户标识 + TThostFtdcUserIDType UserID; + ///验证客户证件号码标志 + TThostFtdcYesNoIndicatorType VerifyCertNoFlag; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///转帐金额 + TThostFtdcTradeAmountType TradeAmount; + ///期货可取金额 + TThostFtdcTradeAmountType FutureFetchAmount; + ///费用支付标志 + TThostFtdcFeePayFlagType FeePayFlag; + ///应收客户费用 + TThostFtdcCustFeeType CustFee; + ///应收期货公司费用 + TThostFtdcFutureFeeType BrokerFee; + ///发送方给接收方的消息 + TThostFtdcAddInfoType Message; + ///摘要 + TThostFtdcDigestType Digest; + ///银行帐号类型 + TThostFtdcBankAccTypeType BankAccType; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货单位帐号类型 + TThostFtdcBankAccTypeType BankSecuAccType; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///期货单位帐号 + TThostFtdcBankAccountType BankSecuAcc; + ///银行密码标志 + TThostFtdcPwdFlagType BankPwdFlag; + ///期货资金密码核对标志 + TThostFtdcPwdFlagType SecuPwdFlag; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///交易ID + TThostFtdcTIDType TID; + ///转账交易状态 + TThostFtdcTransferStatusType TransferStatus; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; +}; + +///查询账户信息请求 +struct CThostFtdcReqQueryAccountField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///客户姓名 + TThostFtdcIndividualNameType CustomerName; + ///证件类型 + TThostFtdcIdCardTypeType IdCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///客户类型 + TThostFtdcCustTypeType CustType; + ///银行帐号 + TThostFtdcBankAccountType BankAccount; + ///银行密码 + TThostFtdcPasswordType BankPassWord; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///期货密码 + TThostFtdcPasswordType Password; + ///期货公司流水号 + TThostFtdcFutureSerialType FutureSerial; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///用户标识 + TThostFtdcUserIDType UserID; + ///验证客户证件号码标志 + TThostFtdcYesNoIndicatorType VerifyCertNoFlag; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///摘要 + TThostFtdcDigestType Digest; + ///银行帐号类型 + TThostFtdcBankAccTypeType BankAccType; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货单位帐号类型 + TThostFtdcBankAccTypeType BankSecuAccType; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///期货单位帐号 + TThostFtdcBankAccountType BankSecuAcc; + ///银行密码标志 + TThostFtdcPwdFlagType BankPwdFlag; + ///期货资金密码核对标志 + TThostFtdcPwdFlagType SecuPwdFlag; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///交易ID + TThostFtdcTIDType TID; +}; + +///查询账户信息响应 +struct CThostFtdcRspQueryAccountField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///客户姓名 + TThostFtdcIndividualNameType CustomerName; + ///证件类型 + TThostFtdcIdCardTypeType IdCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///客户类型 + TThostFtdcCustTypeType CustType; + ///银行帐号 + TThostFtdcBankAccountType BankAccount; + ///银行密码 + TThostFtdcPasswordType BankPassWord; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///期货密码 + TThostFtdcPasswordType Password; + ///期货公司流水号 + TThostFtdcFutureSerialType FutureSerial; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///用户标识 + TThostFtdcUserIDType UserID; + ///验证客户证件号码标志 + TThostFtdcYesNoIndicatorType VerifyCertNoFlag; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///摘要 + TThostFtdcDigestType Digest; + ///银行帐号类型 + TThostFtdcBankAccTypeType BankAccType; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货单位帐号类型 + TThostFtdcBankAccTypeType BankSecuAccType; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///期货单位帐号 + TThostFtdcBankAccountType BankSecuAcc; + ///银行密码标志 + TThostFtdcPwdFlagType BankPwdFlag; + ///期货资金密码核对标志 + TThostFtdcPwdFlagType SecuPwdFlag; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///交易ID + TThostFtdcTIDType TID; + ///银行可用金额 + TThostFtdcTradeAmountType BankUseAmount; + ///银行可取金额 + TThostFtdcTradeAmountType BankFetchAmount; +}; + +///期商签到签退 +struct CThostFtdcFutureSignIOField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///用户标识 + TThostFtdcUserIDType UserID; + ///摘要 + TThostFtdcDigestType Digest; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///交易ID + TThostFtdcTIDType TID; +}; + +///期商签到响应 +struct CThostFtdcRspFutureSignInField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///用户标识 + TThostFtdcUserIDType UserID; + ///摘要 + TThostFtdcDigestType Digest; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///交易ID + TThostFtdcTIDType TID; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; + ///PIN密钥 + TThostFtdcPasswordKeyType PinKey; + ///MAC密钥 + TThostFtdcPasswordKeyType MacKey; +}; + +///期商签退请求 +struct CThostFtdcReqFutureSignOutField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///用户标识 + TThostFtdcUserIDType UserID; + ///摘要 + TThostFtdcDigestType Digest; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///交易ID + TThostFtdcTIDType TID; +}; + +///期商签退响应 +struct CThostFtdcRspFutureSignOutField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///用户标识 + TThostFtdcUserIDType UserID; + ///摘要 + TThostFtdcDigestType Digest; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///交易ID + TThostFtdcTIDType TID; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; +}; + +///查询指定流水号的交易结果请求 +struct CThostFtdcReqQueryTradeResultBySerialField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///流水号 + TThostFtdcSerialType Reference; + ///本流水号发布者的机构类型 + TThostFtdcInstitutionTypeType RefrenceIssureType; + ///本流水号发布者机构编码 + TThostFtdcOrganCodeType RefrenceIssure; + ///客户姓名 + TThostFtdcIndividualNameType CustomerName; + ///证件类型 + TThostFtdcIdCardTypeType IdCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///客户类型 + TThostFtdcCustTypeType CustType; + ///银行帐号 + TThostFtdcBankAccountType BankAccount; + ///银行密码 + TThostFtdcPasswordType BankPassWord; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///期货密码 + TThostFtdcPasswordType Password; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///转帐金额 + TThostFtdcTradeAmountType TradeAmount; + ///摘要 + TThostFtdcDigestType Digest; +}; + +///查询指定流水号的交易结果响应 +struct CThostFtdcRspQueryTradeResultBySerialField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; + ///流水号 + TThostFtdcSerialType Reference; + ///本流水号发布者的机构类型 + TThostFtdcInstitutionTypeType RefrenceIssureType; + ///本流水号发布者机构编码 + TThostFtdcOrganCodeType RefrenceIssure; + ///原始返回代码 + TThostFtdcReturnCodeType OriginReturnCode; + ///原始返回码描述 + TThostFtdcDescrInfoForReturnCodeType OriginDescrInfoForReturnCode; + ///银行帐号 + TThostFtdcBankAccountType BankAccount; + ///银行密码 + TThostFtdcPasswordType BankPassWord; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///期货密码 + TThostFtdcPasswordType Password; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///转帐金额 + TThostFtdcTradeAmountType TradeAmount; + ///摘要 + TThostFtdcDigestType Digest; +}; + +///日终文件就绪请求 +struct CThostFtdcReqDayEndFileReadyField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///文件业务功能 + TThostFtdcFileBusinessCodeType FileBusinessCode; + ///摘要 + TThostFtdcDigestType Digest; +}; + +///返回结果 +struct CThostFtdcReturnResultField +{ + ///返回代码 + TThostFtdcReturnCodeType ReturnCode; + ///返回码描述 + TThostFtdcDescrInfoForReturnCodeType DescrInfoForReturnCode; +}; + +///验证期货资金密码 +struct CThostFtdcVerifyFuturePasswordField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///期货密码 + TThostFtdcPasswordType Password; + ///银行帐号 + TThostFtdcBankAccountType BankAccount; + ///银行密码 + TThostFtdcPasswordType BankPassWord; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///交易ID + TThostFtdcTIDType TID; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; +}; + +///验证客户信息 +struct CThostFtdcVerifyCustInfoField +{ + ///客户姓名 + TThostFtdcIndividualNameType CustomerName; + ///证件类型 + TThostFtdcIdCardTypeType IdCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///客户类型 + TThostFtdcCustTypeType CustType; +}; + +///验证期货资金密码和客户信息 +struct CThostFtdcVerifyFuturePasswordAndCustInfoField +{ + ///客户姓名 + TThostFtdcIndividualNameType CustomerName; + ///证件类型 + TThostFtdcIdCardTypeType IdCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///客户类型 + TThostFtdcCustTypeType CustType; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///期货密码 + TThostFtdcPasswordType Password; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; +}; + +///验证期货资金密码和客户信息 +struct CThostFtdcDepositResultInformField +{ + ///出入金流水号,该流水号为银期报盘返回的流水号 + TThostFtdcDepositSeqNoType DepositSeqNo; + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///入金金额 + TThostFtdcMoneyType Deposit; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///返回代码 + TThostFtdcReturnCodeType ReturnCode; + ///返回码描述 + TThostFtdcDescrInfoForReturnCodeType DescrInfoForReturnCode; +}; + +///交易核心向银期报盘发出密钥同步请求 +struct CThostFtdcReqSyncKeyField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///用户标识 + TThostFtdcUserIDType UserID; + ///交易核心给银期报盘的消息 + TThostFtdcAddInfoType Message; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///交易ID + TThostFtdcTIDType TID; +}; + +///交易核心向银期报盘发出密钥同步响应 +struct CThostFtdcRspSyncKeyField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///用户标识 + TThostFtdcUserIDType UserID; + ///交易核心给银期报盘的消息 + TThostFtdcAddInfoType Message; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///交易ID + TThostFtdcTIDType TID; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; +}; + +///查询账户信息通知 +struct CThostFtdcNotifyQueryAccountField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///客户姓名 + TThostFtdcIndividualNameType CustomerName; + ///证件类型 + TThostFtdcIdCardTypeType IdCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///客户类型 + TThostFtdcCustTypeType CustType; + ///银行帐号 + TThostFtdcBankAccountType BankAccount; + ///银行密码 + TThostFtdcPasswordType BankPassWord; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///期货密码 + TThostFtdcPasswordType Password; + ///期货公司流水号 + TThostFtdcFutureSerialType FutureSerial; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///用户标识 + TThostFtdcUserIDType UserID; + ///验证客户证件号码标志 + TThostFtdcYesNoIndicatorType VerifyCertNoFlag; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///摘要 + TThostFtdcDigestType Digest; + ///银行帐号类型 + TThostFtdcBankAccTypeType BankAccType; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货单位帐号类型 + TThostFtdcBankAccTypeType BankSecuAccType; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///期货单位帐号 + TThostFtdcBankAccountType BankSecuAcc; + ///银行密码标志 + TThostFtdcPwdFlagType BankPwdFlag; + ///期货资金密码核对标志 + TThostFtdcPwdFlagType SecuPwdFlag; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///交易ID + TThostFtdcTIDType TID; + ///银行可用金额 + TThostFtdcTradeAmountType BankUseAmount; + ///银行可取金额 + TThostFtdcTradeAmountType BankFetchAmount; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; +}; + +///银期转账交易流水表 +struct CThostFtdcTransferSerialField +{ + ///平台流水号 + TThostFtdcPlateSerialType PlateSerial; + ///交易发起方日期 + TThostFtdcTradeDateType TradeDate; + ///交易日期 + TThostFtdcDateType TradingDay; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///交易代码 + TThostFtdcTradeCodeType TradeCode; + ///会话编号 + TThostFtdcSessionIDType SessionID; + ///银行编码 + TThostFtdcBankIDType BankID; + ///银行分支机构编码 + TThostFtdcBankBrchIDType BankBranchID; + ///银行帐号类型 + TThostFtdcBankAccTypeType BankAccType; + ///银行帐号 + TThostFtdcBankAccountType BankAccount; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///期货公司编码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///期货公司帐号类型 + TThostFtdcFutureAccTypeType FutureAccType; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///投资者代码 + TThostFtdcInvestorIDType InvestorID; + ///期货公司流水号 + TThostFtdcFutureSerialType FutureSerial; + ///证件类型 + TThostFtdcIdCardTypeType IdCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///交易金额 + TThostFtdcTradeAmountType TradeAmount; + ///应收客户费用 + TThostFtdcCustFeeType CustFee; + ///应收期货公司费用 + TThostFtdcFutureFeeType BrokerFee; + ///有效标志 + TThostFtdcAvailabilityFlagType AvailabilityFlag; + ///操作员 + TThostFtdcOperatorCodeType OperatorCode; + ///新银行帐号 + TThostFtdcBankAccountType BankNewAccount; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; +}; + +///请求查询转帐流水 +struct CThostFtdcQryTransferSerialField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///银行编码 + TThostFtdcBankIDType BankID; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; +}; + +///期商签到通知 +struct CThostFtdcNotifyFutureSignInField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///用户标识 + TThostFtdcUserIDType UserID; + ///摘要 + TThostFtdcDigestType Digest; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///交易ID + TThostFtdcTIDType TID; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; + ///PIN密钥 + TThostFtdcPasswordKeyType PinKey; + ///MAC密钥 + TThostFtdcPasswordKeyType MacKey; +}; + +///期商签退通知 +struct CThostFtdcNotifyFutureSignOutField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///用户标识 + TThostFtdcUserIDType UserID; + ///摘要 + TThostFtdcDigestType Digest; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///交易ID + TThostFtdcTIDType TID; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; +}; + +///交易核心向银期报盘发出密钥同步处理结果的通知 +struct CThostFtdcNotifySyncKeyField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///用户标识 + TThostFtdcUserIDType UserID; + ///交易核心给银期报盘的消息 + TThostFtdcAddInfoType Message; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///请求编号 + TThostFtdcRequestIDType RequestID; + ///交易ID + TThostFtdcTIDType TID; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; +}; + +///请求查询银期签约关系 +struct CThostFtdcQryAccountregisterField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///银行编码 + TThostFtdcBankIDType BankID; + ///银行分支机构编码 + TThostFtdcBankBrchIDType BankBranchID; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; +}; + +///客户开销户信息表 +struct CThostFtdcAccountregisterField +{ + ///交易日期 + TThostFtdcTradeDateType TradeDay; + ///银行编码 + TThostFtdcBankIDType BankID; + ///银行分支机构编码 + TThostFtdcBankBrchIDType BankBranchID; + ///银行帐号 + TThostFtdcBankAccountType BankAccount; + ///期货公司编码 + TThostFtdcBrokerIDType BrokerID; + ///期货公司分支机构编码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///证件类型 + TThostFtdcIdCardTypeType IdCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///客户姓名 + TThostFtdcIndividualNameType CustomerName; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///开销户类别 + TThostFtdcOpenOrDestroyType OpenOrDestroy; + ///签约日期 + TThostFtdcTradeDateType RegDate; + ///解约日期 + TThostFtdcTradeDateType OutDate; + ///交易ID + TThostFtdcTIDType TID; + ///客户类型 + TThostFtdcCustTypeType CustType; + ///银行帐号类型 + TThostFtdcBankAccTypeType BankAccType; +}; + +///银期开户信息 +struct CThostFtdcOpenAccountField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///客户姓名 + TThostFtdcIndividualNameType CustomerName; + ///证件类型 + TThostFtdcIdCardTypeType IdCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///性别 + TThostFtdcGenderType Gender; + ///国家代码 + TThostFtdcCountryCodeType CountryCode; + ///客户类型 + TThostFtdcCustTypeType CustType; + ///地址 + TThostFtdcAddressType Address; + ///邮编 + TThostFtdcZipCodeType ZipCode; + ///电话号码 + TThostFtdcTelephoneType Telephone; + ///手机 + TThostFtdcMobilePhoneType MobilePhone; + ///传真 + TThostFtdcFaxType Fax; + ///电子邮件 + TThostFtdcEMailType EMail; + ///资金账户状态 + TThostFtdcMoneyAccountStatusType MoneyAccountStatus; + ///银行帐号 + TThostFtdcBankAccountType BankAccount; + ///银行密码 + TThostFtdcPasswordType BankPassWord; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///期货密码 + TThostFtdcPasswordType Password; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///验证客户证件号码标志 + TThostFtdcYesNoIndicatorType VerifyCertNoFlag; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///汇钞标志 + TThostFtdcCashExchangeCodeType CashExchangeCode; + ///摘要 + TThostFtdcDigestType Digest; + ///银行帐号类型 + TThostFtdcBankAccTypeType BankAccType; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货单位帐号类型 + TThostFtdcBankAccTypeType BankSecuAccType; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///期货单位帐号 + TThostFtdcBankAccountType BankSecuAcc; + ///银行密码标志 + TThostFtdcPwdFlagType BankPwdFlag; + ///期货资金密码核对标志 + TThostFtdcPwdFlagType SecuPwdFlag; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///交易ID + TThostFtdcTIDType TID; + ///用户标识 + TThostFtdcUserIDType UserID; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; +}; + +///银期销户信息 +struct CThostFtdcCancelAccountField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///客户姓名 + TThostFtdcIndividualNameType CustomerName; + ///证件类型 + TThostFtdcIdCardTypeType IdCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///性别 + TThostFtdcGenderType Gender; + ///国家代码 + TThostFtdcCountryCodeType CountryCode; + ///客户类型 + TThostFtdcCustTypeType CustType; + ///地址 + TThostFtdcAddressType Address; + ///邮编 + TThostFtdcZipCodeType ZipCode; + ///电话号码 + TThostFtdcTelephoneType Telephone; + ///手机 + TThostFtdcMobilePhoneType MobilePhone; + ///传真 + TThostFtdcFaxType Fax; + ///电子邮件 + TThostFtdcEMailType EMail; + ///资金账户状态 + TThostFtdcMoneyAccountStatusType MoneyAccountStatus; + ///银行帐号 + TThostFtdcBankAccountType BankAccount; + ///银行密码 + TThostFtdcPasswordType BankPassWord; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///期货密码 + TThostFtdcPasswordType Password; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///验证客户证件号码标志 + TThostFtdcYesNoIndicatorType VerifyCertNoFlag; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///汇钞标志 + TThostFtdcCashExchangeCodeType CashExchangeCode; + ///摘要 + TThostFtdcDigestType Digest; + ///银行帐号类型 + TThostFtdcBankAccTypeType BankAccType; + ///渠道标志 + TThostFtdcDeviceIDType DeviceID; + ///期货单位帐号类型 + TThostFtdcBankAccTypeType BankSecuAccType; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///期货单位帐号 + TThostFtdcBankAccountType BankSecuAcc; + ///银行密码标志 + TThostFtdcPwdFlagType BankPwdFlag; + ///期货资金密码核对标志 + TThostFtdcPwdFlagType SecuPwdFlag; + ///交易柜员 + TThostFtdcOperNoType OperNo; + ///交易ID + TThostFtdcTIDType TID; + ///用户标识 + TThostFtdcUserIDType UserID; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; +}; + +///银期变更银行账号信息 +struct CThostFtdcChangeAccountField +{ + ///业务功能码 + TThostFtdcTradeCodeType TradeCode; + ///银行代码 + TThostFtdcBankIDType BankID; + ///银行分支机构代码 + TThostFtdcBankBrchIDType BankBranchID; + ///期商代码 + TThostFtdcBrokerIDType BrokerID; + ///期商分支机构代码 + TThostFtdcFutureBranchIDType BrokerBranchID; + ///交易日期 + TThostFtdcTradeDateType TradeDate; + ///交易时间 + TThostFtdcTradeTimeType TradeTime; + ///银行流水号 + TThostFtdcBankSerialType BankSerial; + ///交易系统日期 + TThostFtdcTradeDateType TradingDay; + ///银期平台消息流水号 + TThostFtdcSerialType PlateSerial; + ///最后分片标志 + TThostFtdcLastFragmentType LastFragment; + ///会话号 + TThostFtdcSessionIDType SessionID; + ///客户姓名 + TThostFtdcIndividualNameType CustomerName; + ///证件类型 + TThostFtdcIdCardTypeType IdCardType; + ///证件号码 + TThostFtdcIdentifiedCardNoType IdentifiedCardNo; + ///性别 + TThostFtdcGenderType Gender; + ///国家代码 + TThostFtdcCountryCodeType CountryCode; + ///客户类型 + TThostFtdcCustTypeType CustType; + ///地址 + TThostFtdcAddressType Address; + ///邮编 + TThostFtdcZipCodeType ZipCode; + ///电话号码 + TThostFtdcTelephoneType Telephone; + ///手机 + TThostFtdcMobilePhoneType MobilePhone; + ///传真 + TThostFtdcFaxType Fax; + ///电子邮件 + TThostFtdcEMailType EMail; + ///资金账户状态 + TThostFtdcMoneyAccountStatusType MoneyAccountStatus; + ///银行帐号 + TThostFtdcBankAccountType BankAccount; + ///银行密码 + TThostFtdcPasswordType BankPassWord; + ///新银行帐号 + TThostFtdcBankAccountType NewBankAccount; + ///新银行密码 + TThostFtdcPasswordType NewBankPassWord; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///期货密码 + TThostFtdcPasswordType Password; + ///银行帐号类型 + TThostFtdcBankAccTypeType BankAccType; + ///安装编号 + TThostFtdcInstallIDType InstallID; + ///验证客户证件号码标志 + TThostFtdcYesNoIndicatorType VerifyCertNoFlag; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; + ///期货公司银行编码 + TThostFtdcBankCodingForFutureType BrokerIDByBank; + ///银行密码标志 + TThostFtdcPwdFlagType BankPwdFlag; + ///期货资金密码核对标志 + TThostFtdcPwdFlagType SecuPwdFlag; + ///交易ID + TThostFtdcTIDType TID; + ///摘要 + TThostFtdcDigestType Digest; + ///错误代码 + TThostFtdcErrorIDType ErrorID; + ///错误信息 + TThostFtdcErrorMsgType ErrorMsg; +}; + +///二级代理操作员银期权限 +struct CThostFtdcSecAgentACIDMapField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///资金账户 + TThostFtdcAccountIDType AccountID; + ///币种 + TThostFtdcCurrencyIDType CurrencyID; + ///境外中介机构资金帐号 + TThostFtdcAccountIDType BrokerSecAgentID; +}; + +///二级代理操作员银期权限查询 +struct CThostFtdcQrySecAgentACIDMapField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///资金账户 + TThostFtdcAccountIDType AccountID; + ///币种 + TThostFtdcCurrencyIDType CurrencyID; +}; + +///灾备中心交易权限 +struct CThostFtdcUserRightsAssignField +{ + ///应用单元代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///交易中心代码 + TThostFtdcDRIdentityIDType DRIdentityID; +}; + +///经济公司是否有在本标示的交易权限 +struct CThostFtdcBrokerUserRightAssignField +{ + ///应用单元代码 + TThostFtdcBrokerIDType BrokerID; + ///交易中心代码 + TThostFtdcDRIdentityIDType DRIdentityID; + ///能否交易 + TThostFtdcBoolType Tradeable; +}; + +///灾备交易转换报文 +struct CThostFtdcDRTransferField +{ + ///原交易中心代码 + TThostFtdcDRIdentityIDType OrigDRIdentityID; + ///目标交易中心代码 + TThostFtdcDRIdentityIDType DestDRIdentityID; + ///原应用单元代码 + TThostFtdcBrokerIDType OrigBrokerID; + ///目标易用单元代码 + TThostFtdcBrokerIDType DestBrokerID; +}; + +///Fens用户信息 +struct CThostFtdcFensUserInfoField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; + ///登录模式 + TThostFtdcLoginModeType LoginMode; +}; + +///当前银期所属交易中心 +struct CThostFtdcCurrTransferIdentityField +{ + ///交易中心代码 + TThostFtdcDRIdentityIDType IdentityID; +}; + +///禁止登录用户 +struct CThostFtdcLoginForbiddenUserField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; +}; + +///查询禁止登录用户 +struct CThostFtdcQryLoginForbiddenUserField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///用户代码 + TThostFtdcUserIDType UserID; +}; + +///UDP组播组信息 +struct CThostFtdcMulticastGroupInfoField +{ + ///组播组IP地址 + TThostFtdcIPAddressType GroupIP; + ///组播组IP端口 + TThostFtdcIPPortType GroupPort; + ///源地址 + TThostFtdcIPAddressType SourceIP; +}; + +///资金账户基本准备金 +struct CThostFtdcTradingAccountReserveField +{ + ///经纪公司代码 + TThostFtdcBrokerIDType BrokerID; + ///投资者帐号 + TThostFtdcAccountIDType AccountID; + ///基本准备金 + TThostFtdcMoneyType Reserve; + ///币种代码 + TThostFtdcCurrencyIDType CurrencyID; +}; + + + +#endif diff --git a/vn.ctp/pyscript/ctp_data_type.py b/vn.ctp/pyscript/ctp_data_type.py new file mode 100644 index 00000000..9b7a4ecf --- /dev/null +++ b/vn.ctp/pyscript/ctp_data_type.py @@ -0,0 +1,6263 @@ +# encoding: UTF-8 + +defineDict = {} +typedefDict = {} + +#////////////////////////////////////////////////////////////////////// +#@system 鏂颁竴浠d氦鏄撴墍绯荤粺 +#@company 涓婃捣鏈熻揣淇℃伅鎶鏈湁闄愬叕鍙 +#@file ThostFtdcUserApiDataType.h +#@brief 瀹氫箟浜嗗鎴风鎺ュ彛浣跨敤鐨勪笟鍔℃暟鎹被鍨 +#@history +#20060106 璧甸缚鏄 鍒涘缓璇ユ枃浠 +#////////////////////////////////////////////////////////////////////// + + + +#////////////////////////////////////////////////////////////////////// +#TFtdcTraderIDType鏄竴涓氦鏄撴墍浜ゆ槗鍛樹唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcTraderIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInvestorIDType鏄竴涓姇璧勮呬唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcInvestorIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBrokerIDType鏄竴涓粡绾叕鍙镐唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcBrokerIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBrokerAbbrType鏄竴涓粡绾叕鍙哥畝绉扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcBrokerAbbrType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBrokerNameType鏄竴涓粡绾叕鍙稿悕绉扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcBrokerNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcExchangeInstIDType鏄竴涓悎绾﹀湪浜ゆ槗鎵鐨勪唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcExchangeInstIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOrderRefType鏄竴涓姤鍗曞紩鐢ㄧ被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcOrderRefType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcParticipantIDType鏄竴涓細鍛樹唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcParticipantIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUserIDType鏄竴涓敤鎴蜂唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcUserIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPasswordType鏄竴涓瘑鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcPasswordType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcClientIDType鏄竴涓氦鏄撶紪鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcClientIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInstrumentIDType鏄竴涓悎绾︿唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcInstrumentIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcMarketIDType鏄竴涓競鍦轰唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcMarketIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcProductNameType鏄竴涓骇鍝佸悕绉扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcProductNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcExchangeIDType鏄竴涓氦鏄撴墍浠g爜绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcExchangeIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcExchangeNameType鏄竴涓氦鏄撴墍鍚嶇О绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcExchangeNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcExchangeAbbrType鏄竴涓氦鏄撴墍绠绉扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcExchangeAbbrType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcExchangeFlagType鏄竴涓氦鏄撴墍鏍囧織绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcExchangeFlagType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcMacAddressType鏄竴涓狹ac鍦板潃绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcMacAddressType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSystemIDType鏄竴涓郴缁熺紪鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcSystemIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcExchangePropertyType鏄竴涓氦鏄撴墍灞炴х被鍨 +#////////////////////////////////////////////////////////////////////// +#姝e父 +defineDict["THOST_FTDC_EXP_Normal"] = '0' +#鏍规嵁鎴愪氦鐢熸垚鎶ュ崟 +defineDict["THOST_FTDC_EXP_GenOrderByTrade"] = '1' + +typedefDict["TThostFtdcExchangePropertyType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDateType鏄竴涓棩鏈熺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcDateType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTimeType鏄竴涓椂闂寸被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcTimeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcLongTimeType鏄竴涓暱鏃堕棿绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcLongTimeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInstrumentNameType鏄竴涓悎绾﹀悕绉扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcInstrumentNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSettlementGroupIDType鏄竴涓粨绠楃粍浠g爜绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcSettlementGroupIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOrderSysIDType鏄竴涓姤鍗曠紪鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcOrderSysIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTradeIDType鏄竴涓垚浜ょ紪鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcTradeIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCommandTypeType鏄竴涓狣B鍛戒护绫诲瀷绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCommandTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcIPAddressType鏄竴涓狪P鍦板潃绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcIPAddressType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcIPPortType鏄竴涓狪P绔彛绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcIPPortType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcProductInfoType鏄竴涓骇鍝佷俊鎭被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcProductInfoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcProtocolInfoType鏄竴涓崗璁俊鎭被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcProtocolInfoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBusinessUnitType鏄竴涓笟鍔″崟鍏冪被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcBusinessUnitType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDepositSeqNoType鏄竴涓嚭鍏ラ噾娴佹按鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcDepositSeqNoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcIdentifiedCardNoType鏄竴涓瘉浠跺彿鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcIdentifiedCardNoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcIdCardTypeType鏄竴涓瘉浠剁被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#缁勭粐鏈烘瀯浠g爜 +defineDict["THOST_FTDC_ICT_EID"] = '0' +#涓浗鍏皯韬唤璇 +defineDict["THOST_FTDC_ICT_IDCard"] = '1' +#鍐涘畼璇 +defineDict["THOST_FTDC_ICT_OfficerIDCard"] = '2' +#璀﹀畼璇 +defineDict["THOST_FTDC_ICT_PoliceIDCard"] = '3' +#澹叺璇 +defineDict["THOST_FTDC_ICT_SoldierIDCard"] = '4' +#鎴峰彛绨 +defineDict["THOST_FTDC_ICT_HouseholdRegister"] = '5' +#鎶ょ収 +defineDict["THOST_FTDC_ICT_Passport"] = '6' +#鍙拌優璇 +defineDict["THOST_FTDC_ICT_TaiwanCompatriotIDCard"] = '7' +#鍥炰埂璇 +defineDict["THOST_FTDC_ICT_HomeComingCard"] = '8' +#钀ヤ笟鎵х収鍙 +defineDict["THOST_FTDC_ICT_LicenseNo"] = '9' +#绋庡姟鐧昏鍙/褰撳湴绾崇◣ID +defineDict["THOST_FTDC_ICT_TaxNo"] = 'A' +#娓境灞呮皯鏉ュ線鍐呭湴閫氳璇 +defineDict["THOST_FTDC_ICT_HMMainlandTravelPermit"] = 'B' +#鍙版咕灞呮皯鏉ュ線澶ч檰閫氳璇 +defineDict["THOST_FTDC_ICT_TwMainlandTravelPermit"] = 'C' +#椹剧収 +defineDict["THOST_FTDC_ICT_DrivingLicense"] = 'D' +#褰撳湴绀句繚ID +defineDict["THOST_FTDC_ICT_SocialID"] = 'F' +#褰撳湴韬唤璇 +defineDict["THOST_FTDC_ICT_LocalID"] = 'G' +#鍟嗕笟鐧昏璇 +defineDict["THOST_FTDC_ICT_BusinessRegistration"] = 'H' +#娓境姘镐箙鎬у眳姘戣韩浠借瘉 +defineDict["THOST_FTDC_ICT_HKMCIDCard"] = 'I' +#鍏朵粬璇佷欢 +defineDict["THOST_FTDC_ICT_OtherCard"] = 'x' + +typedefDict["TThostFtdcIdCardTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOrderLocalIDType鏄竴涓湰鍦版姤鍗曠紪鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcOrderLocalIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUserNameType鏄竴涓敤鎴峰悕绉扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcUserNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPartyNameType鏄竴涓弬涓庝汉鍚嶇О绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcPartyNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcErrorMsgType鏄竴涓敊璇俊鎭被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcErrorMsgType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFieldNameType鏄竴涓瓧娈靛悕绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFieldNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFieldContentType鏄竴涓瓧娈靛唴瀹圭被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFieldContentType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSystemNameType鏄竴涓郴缁熷悕绉扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcSystemNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcContentType鏄竴涓秷鎭鏂囩被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcContentType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInvestorRangeType鏄竴涓姇璧勮呰寖鍥寸被鍨 +#////////////////////////////////////////////////////////////////////// +#鎵鏈 +defineDict["THOST_FTDC_IR_All"] = '1' +#鎶曡祫鑰呯粍 +defineDict["THOST_FTDC_IR_Group"] = '2' +#鍗曚竴鎶曡祫鑰 +defineDict["THOST_FTDC_IR_Single"] = '3' + +typedefDict["TThostFtdcInvestorRangeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDepartmentRangeType鏄竴涓姇璧勮呰寖鍥寸被鍨 +#////////////////////////////////////////////////////////////////////// +#鎵鏈 +defineDict["THOST_FTDC_DR_All"] = '1' +#缁勭粐鏋舵瀯 +defineDict["THOST_FTDC_DR_Group"] = '2' +#鍗曚竴鎶曡祫鑰 +defineDict["THOST_FTDC_DR_Single"] = '3' + +typedefDict["TThostFtdcDepartmentRangeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDataSyncStatusType鏄竴涓暟鎹悓姝ョ姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#鏈悓姝 +defineDict["THOST_FTDC_DS_Asynchronous"] = '1' +#鍚屾涓 +defineDict["THOST_FTDC_DS_Synchronizing"] = '2' +#宸插悓姝 +defineDict["THOST_FTDC_DS_Synchronized"] = '3' + +typedefDict["TThostFtdcDataSyncStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBrokerDataSyncStatusType鏄竴涓粡绾叕鍙告暟鎹悓姝ョ姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#宸插悓姝 +defineDict["THOST_FTDC_BDS_Synchronized"] = '1' +#鍚屾涓 +defineDict["THOST_FTDC_BDS_Synchronizing"] = '2' + +typedefDict["TThostFtdcBrokerDataSyncStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcExchangeConnectStatusType鏄竴涓氦鏄撴墍杩炴帴鐘舵佺被鍨 +#////////////////////////////////////////////////////////////////////// +#娌℃湁浠讳綍杩炴帴 +defineDict["THOST_FTDC_ECS_NoConnection"] = '1' +#宸茬粡鍙戝嚭鍚堢害鏌ヨ璇锋眰 +defineDict["THOST_FTDC_ECS_QryInstrumentSent"] = '2' +#宸茬粡鑾峰彇淇℃伅 +defineDict["THOST_FTDC_ECS_GotInformation"] = '9' + +typedefDict["TThostFtdcExchangeConnectStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTraderConnectStatusType鏄竴涓氦鏄撴墍浜ゆ槗鍛樿繛鎺ョ姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#娌℃湁浠讳綍杩炴帴 +defineDict["THOST_FTDC_TCS_NotConnected"] = '1' +#宸茬粡杩炴帴 +defineDict["THOST_FTDC_TCS_Connected"] = '2' +#宸茬粡鍙戝嚭鍚堢害鏌ヨ璇锋眰 +defineDict["THOST_FTDC_TCS_QryInstrumentSent"] = '3' +#璁㈤槄绉佹湁娴 +defineDict["THOST_FTDC_TCS_SubPrivateFlow"] = '4' + +typedefDict["TThostFtdcTraderConnectStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFunctionCodeType鏄竴涓姛鑳戒唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +#鏁版嵁寮傛鍖 +defineDict["THOST_FTDC_FC_DataAsync"] = '1' +#寮哄埗鐢ㄦ埛鐧诲嚭 +defineDict["THOST_FTDC_FC_ForceUserLogout"] = '2' +#鍙樻洿绠$悊鐢ㄦ埛鍙d护 +defineDict["THOST_FTDC_FC_UserPasswordUpdate"] = '3' +#鍙樻洿缁忕邯鍏徃鍙d护 +defineDict["THOST_FTDC_FC_BrokerPasswordUpdate"] = '4' +#鍙樻洿鎶曡祫鑰呭彛浠 +defineDict["THOST_FTDC_FC_InvestorPasswordUpdate"] = '5' +#鎶ュ崟鎻掑叆 +defineDict["THOST_FTDC_FC_OrderInsert"] = '6' +#鎶ュ崟鎿嶄綔 +defineDict["THOST_FTDC_FC_OrderAction"] = '7' +#鍚屾绯荤粺鏁版嵁 +defineDict["THOST_FTDC_FC_SyncSystemData"] = '8' +#鍚屾缁忕邯鍏徃鏁版嵁 +defineDict["THOST_FTDC_FC_SyncBrokerData"] = '9' +#鎵归噺鍚屾缁忕邯鍏徃鏁版嵁 +defineDict["THOST_FTDC_FC_BachSyncBrokerData"] = 'A' +#瓒呯骇鏌ヨ +defineDict["THOST_FTDC_FC_SuperQuery"] = 'B' +#棰勫煁鎶ュ崟鎻掑叆 +defineDict["THOST_FTDC_FC_ParkedOrderInsert"] = 'C' +#棰勫煁鎶ュ崟鎿嶄綔 +defineDict["THOST_FTDC_FC_ParkedOrderAction"] = 'D' +#鍚屾鍔ㄦ佷护鐗 +defineDict["THOST_FTDC_FC_SyncOTP"] = 'E' +#鍒犻櫎鏈煡鍗 +defineDict["THOST_FTDC_FC_DeleteOrder"] = 'F' + +typedefDict["TThostFtdcFunctionCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBrokerFunctionCodeType鏄竴涓粡绾叕鍙稿姛鑳戒唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +#寮哄埗鐢ㄦ埛鐧诲嚭 +defineDict["THOST_FTDC_BFC_ForceUserLogout"] = '1' +#鍙樻洿鐢ㄦ埛鍙d护 +defineDict["THOST_FTDC_BFC_UserPasswordUpdate"] = '2' +#鍚屾缁忕邯鍏徃鏁版嵁 +defineDict["THOST_FTDC_BFC_SyncBrokerData"] = '3' +#鎵归噺鍚屾缁忕邯鍏徃鏁版嵁 +defineDict["THOST_FTDC_BFC_BachSyncBrokerData"] = '4' +#鎶ュ崟鎻掑叆 +defineDict["THOST_FTDC_BFC_OrderInsert"] = '5' +#鎶ュ崟鎿嶄綔 +defineDict["THOST_FTDC_BFC_OrderAction"] = '6' +#鍏ㄩ儴鏌ヨ +defineDict["THOST_FTDC_BFC_AllQuery"] = '7' +#绯荤粺鍔熻兘锛氱櫥鍏/鐧诲嚭/淇敼瀵嗙爜绛 +defineDict["THOST_FTDC_BFC_log"] = 'a' +#鍩烘湰鏌ヨ锛氭煡璇㈠熀纭鏁版嵁锛屽鍚堢害锛屼氦鏄撴墍绛夊父閲 +defineDict["THOST_FTDC_BFC_BaseQry"] = 'b' +#浜ゆ槗鏌ヨ锛氬鏌ユ垚浜わ紝濮旀墭 +defineDict["THOST_FTDC_BFC_TradeQry"] = 'c' +#浜ゆ槗鍔熻兘锛氭姤鍗曪紝鎾ゅ崟 +defineDict["THOST_FTDC_BFC_Trade"] = 'd' +#閾舵湡杞处 +defineDict["THOST_FTDC_BFC_Virement"] = 'e' +#椋庨櫓鐩戞帶 +defineDict["THOST_FTDC_BFC_Risk"] = 'f' +#鏌ヨ/绠$悊锛氭煡璇細璇濓紝韪汉绛 +defineDict["THOST_FTDC_BFC_Session"] = 'g' +#椋庢帶閫氱煡鎺у埗 +defineDict["THOST_FTDC_BFC_RiskNoticeCtl"] = 'h' +#椋庢帶閫氱煡鍙戦 +defineDict["THOST_FTDC_BFC_RiskNotice"] = 'i' +#瀵熺湅缁忕邯鍏徃璧勯噾鏉冮檺 +defineDict["THOST_FTDC_BFC_BrokerDeposit"] = 'j' +#璧勯噾鏌ヨ +defineDict["THOST_FTDC_BFC_QueryFund"] = 'k' +#鎶ュ崟鏌ヨ +defineDict["THOST_FTDC_BFC_QueryOrder"] = 'l' +#鎴愪氦鏌ヨ +defineDict["THOST_FTDC_BFC_QueryTrade"] = 'm' +#鎸佷粨鏌ヨ +defineDict["THOST_FTDC_BFC_QueryPosition"] = 'n' +#琛屾儏鏌ヨ +defineDict["THOST_FTDC_BFC_QueryMarketData"] = 'o' +#鐢ㄦ埛浜嬩欢鏌ヨ +defineDict["THOST_FTDC_BFC_QueryUserEvent"] = 'p' +#椋庨櫓閫氱煡鏌ヨ +defineDict["THOST_FTDC_BFC_QueryRiskNotify"] = 'q' +#鍑哄叆閲戞煡璇 +defineDict["THOST_FTDC_BFC_QueryFundChange"] = 'r' +#鎶曡祫鑰呬俊鎭煡璇 +defineDict["THOST_FTDC_BFC_QueryInvestor"] = 's' +#浜ゆ槗缂栫爜鏌ヨ +defineDict["THOST_FTDC_BFC_QueryTradingCode"] = 't' +#寮哄钩 +defineDict["THOST_FTDC_BFC_ForceClose"] = 'u' +#鍘嬪姏娴嬭瘯 +defineDict["THOST_FTDC_BFC_PressTest"] = 'v' +#鏉冪泭鍙嶇畻 +defineDict["THOST_FTDC_BFC_RemainCalc"] = 'w' +#鍑鎸佷粨淇濊瘉閲戞寚鏍 +defineDict["THOST_FTDC_BFC_NetPositionInd"] = 'x' +#椋庨櫓棰勭畻 +defineDict["THOST_FTDC_BFC_RiskPredict"] = 'y' +#鏁版嵁瀵煎嚭 +defineDict["THOST_FTDC_BFC_DataExport"] = 'z' +#椋庢帶鎸囨爣璁剧疆 +defineDict["THOST_FTDC_BFC_RiskTargetSetup"] = 'A' +#琛屾儏棰勮 +defineDict["THOST_FTDC_BFC_MarketDataWarn"] = 'B' +#涓氬姟閫氱煡鏌ヨ +defineDict["THOST_FTDC_BFC_QryBizNotice"] = 'C' +#涓氬姟閫氱煡妯℃澘璁剧疆 +defineDict["THOST_FTDC_BFC_CfgBizNotice"] = 'D' +#鍚屾鍔ㄦ佷护鐗 +defineDict["THOST_FTDC_BFC_SyncOTP"] = 'E' +#鍙戦佷笟鍔¢氱煡 +defineDict["THOST_FTDC_BFC_SendBizNotice"] = 'F' +#椋庨櫓绾у埆鏍囧噯璁剧疆 +defineDict["THOST_FTDC_BFC_CfgRiskLevelStd"] = 'G' +#浜ゆ槗缁堢搴旀ュ姛鑳 +defineDict["THOST_FTDC_BFC_TbCommand"] = 'H' +#鍒犻櫎鏈煡鍗 +defineDict["THOST_FTDC_BFC_DeleteOrder"] = 'J' +#棰勫煁鎶ュ崟鎻掑叆 +defineDict["THOST_FTDC_BFC_ParkedOrderInsert"] = 'K' +#棰勫煁鎶ュ崟鎿嶄綔 +defineDict["THOST_FTDC_BFC_ParkedOrderAction"] = 'L' + +typedefDict["TThostFtdcBrokerFunctionCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOrderActionStatusType鏄竴涓姤鍗曟搷浣滅姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#宸茬粡鎻愪氦 +defineDict["THOST_FTDC_OAS_Submitted"] = 'a' +#宸茬粡鎺ュ彈 +defineDict["THOST_FTDC_OAS_Accepted"] = 'b' +#宸茬粡琚嫆缁 +defineDict["THOST_FTDC_OAS_Rejected"] = 'c' + +typedefDict["TThostFtdcOrderActionStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOrderStatusType鏄竴涓姤鍗曠姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#鍏ㄩ儴鎴愪氦 +defineDict["THOST_FTDC_OST_AllTraded"] = '0' +#閮ㄥ垎鎴愪氦杩樺湪闃熷垪涓 +defineDict["THOST_FTDC_OST_PartTradedQueueing"] = '1' +#閮ㄥ垎鎴愪氦涓嶅湪闃熷垪涓 +defineDict["THOST_FTDC_OST_PartTradedNotQueueing"] = '2' +#鏈垚浜よ繕鍦ㄩ槦鍒椾腑 +defineDict["THOST_FTDC_OST_NoTradeQueueing"] = '3' +#鏈垚浜や笉鍦ㄩ槦鍒椾腑 +defineDict["THOST_FTDC_OST_NoTradeNotQueueing"] = '4' +#鎾ゅ崟 +defineDict["THOST_FTDC_OST_Canceled"] = '5' +#鏈煡 +defineDict["THOST_FTDC_OST_Unknown"] = 'a' +#灏氭湭瑙﹀彂 +defineDict["THOST_FTDC_OST_NotTouched"] = 'b' +#宸茶Е鍙 +defineDict["THOST_FTDC_OST_Touched"] = 'c' + +typedefDict["TThostFtdcOrderStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOrderSubmitStatusType鏄竴涓姤鍗曟彁浜ょ姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#宸茬粡鎻愪氦 +defineDict["THOST_FTDC_OSS_InsertSubmitted"] = '0' +#鎾ゅ崟宸茬粡鎻愪氦 +defineDict["THOST_FTDC_OSS_CancelSubmitted"] = '1' +#淇敼宸茬粡鎻愪氦 +defineDict["THOST_FTDC_OSS_ModifySubmitted"] = '2' +#宸茬粡鎺ュ彈 +defineDict["THOST_FTDC_OSS_Accepted"] = '3' +#鎶ュ崟宸茬粡琚嫆缁 +defineDict["THOST_FTDC_OSS_InsertRejected"] = '4' +#鎾ゅ崟宸茬粡琚嫆缁 +defineDict["THOST_FTDC_OSS_CancelRejected"] = '5' +#鏀瑰崟宸茬粡琚嫆缁 +defineDict["THOST_FTDC_OSS_ModifyRejected"] = '6' + +typedefDict["TThostFtdcOrderSubmitStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPositionDateType鏄竴涓寔浠撴棩鏈熺被鍨 +#////////////////////////////////////////////////////////////////////// +#浠婃棩鎸佷粨 +defineDict["THOST_FTDC_PSD_Today"] = '1' +#鍘嗗彶鎸佷粨 +defineDict["THOST_FTDC_PSD_History"] = '2' + +typedefDict["TThostFtdcPositionDateType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPositionDateTypeType鏄竴涓寔浠撴棩鏈熺被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#浣跨敤鍘嗗彶鎸佷粨 +defineDict["THOST_FTDC_PDT_UseHistory"] = '1' +#涓嶄娇鐢ㄥ巻鍙叉寔浠 +defineDict["THOST_FTDC_PDT_NoUseHistory"] = '2' + +typedefDict["TThostFtdcPositionDateTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTradingRoleType鏄竴涓氦鏄撹鑹茬被鍨 +#////////////////////////////////////////////////////////////////////// +#浠g悊 +defineDict["THOST_FTDC_ER_Broker"] = '1' +#鑷惀 +defineDict["THOST_FTDC_ER_Host"] = '2' +#鍋氬競鍟 +defineDict["THOST_FTDC_ER_Maker"] = '3' + +typedefDict["TThostFtdcTradingRoleType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcProductClassType鏄竴涓骇鍝佺被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#鏈熻揣 +defineDict["THOST_FTDC_PC_Futures"] = '1' +#鏈熻揣鏈熸潈 +defineDict["THOST_FTDC_PC_Options"] = '2' +#缁勫悎 +defineDict["THOST_FTDC_PC_Combination"] = '3' +#鍗虫湡 +defineDict["THOST_FTDC_PC_Spot"] = '4' +#鏈熻浆鐜 +defineDict["THOST_FTDC_PC_EFP"] = '5' +#鐜拌揣鏈熸潈 +defineDict["THOST_FTDC_PC_SpotOption"] = '6' + +typedefDict["TThostFtdcProductClassType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInstLifePhaseType鏄竴涓悎绾︾敓鍛藉懆鏈熺姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#鏈笂甯 +defineDict["THOST_FTDC_IP_NotStart"] = '0' +#涓婂競 +defineDict["THOST_FTDC_IP_Started"] = '1' +#鍋滅墝 +defineDict["THOST_FTDC_IP_Pause"] = '2' +#鍒版湡 +defineDict["THOST_FTDC_IP_Expired"] = '3' + +typedefDict["TThostFtdcInstLifePhaseType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDirectionType鏄竴涓拱鍗栨柟鍚戠被鍨 +#////////////////////////////////////////////////////////////////////// +#涔 +defineDict["THOST_FTDC_D_Buy"] = '0' +#鍗 +defineDict["THOST_FTDC_D_Sell"] = '1' + +typedefDict["TThostFtdcDirectionType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPositionTypeType鏄竴涓寔浠撶被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#鍑鎸佷粨 +defineDict["THOST_FTDC_PT_Net"] = '1' +#缁煎悎鎸佷粨 +defineDict["THOST_FTDC_PT_Gross"] = '2' + +typedefDict["TThostFtdcPositionTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPosiDirectionType鏄竴涓寔浠撳绌烘柟鍚戠被鍨 +#////////////////////////////////////////////////////////////////////// +#鍑 +defineDict["THOST_FTDC_PD_Net"] = '1' +#澶氬ご +defineDict["THOST_FTDC_PD_Long"] = '2' +#绌哄ご +defineDict["THOST_FTDC_PD_Short"] = '3' + +typedefDict["TThostFtdcPosiDirectionType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSysSettlementStatusType鏄竴涓郴缁熺粨绠楃姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#涓嶆椿璺 +defineDict["THOST_FTDC_SS_NonActive"] = '1' +#鍚姩 +defineDict["THOST_FTDC_SS_Startup"] = '2' +#鎿嶄綔 +defineDict["THOST_FTDC_SS_Operating"] = '3' +#缁撶畻 +defineDict["THOST_FTDC_SS_Settlement"] = '4' +#缁撶畻瀹屾垚 +defineDict["THOST_FTDC_SS_SettlementFinished"] = '5' + +typedefDict["TThostFtdcSysSettlementStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRatioAttrType鏄竴涓垂鐜囧睘鎬х被鍨 +#////////////////////////////////////////////////////////////////////// +#浜ゆ槗璐圭巼 +defineDict["THOST_FTDC_RA_Trade"] = '0' +#缁撶畻璐圭巼 +defineDict["THOST_FTDC_RA_Settlement"] = '1' + +typedefDict["TThostFtdcRatioAttrType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcHedgeFlagType鏄竴涓姇鏈哄淇濇爣蹇楃被鍨 +#////////////////////////////////////////////////////////////////////// +#鎶曟満 +defineDict["THOST_FTDC_HF_Speculation"] = '1' +#濂楀埄 +defineDict["THOST_FTDC_HF_Arbitrage"] = '2' +#濂椾繚 +defineDict["THOST_FTDC_HF_Hedge"] = '3' + +typedefDict["TThostFtdcHedgeFlagType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBillHedgeFlagType鏄竴涓姇鏈哄淇濇爣蹇楃被鍨 +#////////////////////////////////////////////////////////////////////// +#鎶曟満 +defineDict["THOST_FTDC_BHF_Speculation"] = '1' +#濂楀埄 +defineDict["THOST_FTDC_BHF_Arbitrage"] = '2' +#濂椾繚 +defineDict["THOST_FTDC_BHF_Hedge"] = '3' + +typedefDict["TThostFtdcBillHedgeFlagType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcClientIDTypeType鏄竴涓氦鏄撶紪鐮佺被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#鎶曟満 +defineDict["THOST_FTDC_CIDT_Speculation"] = '1' +#濂楀埄 +defineDict["THOST_FTDC_CIDT_Arbitrage"] = '2' +#濂椾繚 +defineDict["THOST_FTDC_CIDT_Hedge"] = '3' + +typedefDict["TThostFtdcClientIDTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOrderPriceTypeType鏄竴涓姤鍗曚环鏍兼潯浠剁被鍨 +#////////////////////////////////////////////////////////////////////// +#浠绘剰浠 +defineDict["THOST_FTDC_OPT_AnyPrice"] = '1' +#闄愪环 +defineDict["THOST_FTDC_OPT_LimitPrice"] = '2' +#鏈浼樹环 +defineDict["THOST_FTDC_OPT_BestPrice"] = '3' +#鏈鏂颁环 +defineDict["THOST_FTDC_OPT_LastPrice"] = '4' +#鏈鏂颁环娴姩涓婃诞1涓猼icks +defineDict["THOST_FTDC_OPT_LastPricePlusOneTicks"] = '5' +#鏈鏂颁环娴姩涓婃诞2涓猼icks +defineDict["THOST_FTDC_OPT_LastPricePlusTwoTicks"] = '6' +#鏈鏂颁环娴姩涓婃诞3涓猼icks +defineDict["THOST_FTDC_OPT_LastPricePlusThreeTicks"] = '7' +#鍗栦竴浠 +defineDict["THOST_FTDC_OPT_AskPrice1"] = '8' +#鍗栦竴浠锋诞鍔ㄤ笂娴1涓猼icks +defineDict["THOST_FTDC_OPT_AskPrice1PlusOneTicks"] = '9' +#鍗栦竴浠锋诞鍔ㄤ笂娴2涓猼icks +defineDict["THOST_FTDC_OPT_AskPrice1PlusTwoTicks"] = 'A' +#鍗栦竴浠锋诞鍔ㄤ笂娴3涓猼icks +defineDict["THOST_FTDC_OPT_AskPrice1PlusThreeTicks"] = 'B' +#涔颁竴浠 +defineDict["THOST_FTDC_OPT_BidPrice1"] = 'C' +#涔颁竴浠锋诞鍔ㄤ笂娴1涓猼icks +defineDict["THOST_FTDC_OPT_BidPrice1PlusOneTicks"] = 'D' +#涔颁竴浠锋诞鍔ㄤ笂娴2涓猼icks +defineDict["THOST_FTDC_OPT_BidPrice1PlusTwoTicks"] = 'E' +#涔颁竴浠锋诞鍔ㄤ笂娴3涓猼icks +defineDict["THOST_FTDC_OPT_BidPrice1PlusThreeTicks"] = 'F' + +typedefDict["TThostFtdcOrderPriceTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOffsetFlagType鏄竴涓紑骞虫爣蹇楃被鍨 +#////////////////////////////////////////////////////////////////////// +#寮浠 +defineDict["THOST_FTDC_OF_Open"] = '0' +#骞充粨 +defineDict["THOST_FTDC_OF_Close"] = '1' +#寮哄钩 +defineDict["THOST_FTDC_OF_ForceClose"] = '2' +#骞充粖 +defineDict["THOST_FTDC_OF_CloseToday"] = '3' +#骞虫槰 +defineDict["THOST_FTDC_OF_CloseYesterday"] = '4' +#寮哄噺 +defineDict["THOST_FTDC_OF_ForceOff"] = '5' +#鏈湴寮哄钩 +defineDict["THOST_FTDC_OF_LocalForceClose"] = '6' + +typedefDict["TThostFtdcOffsetFlagType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcForceCloseReasonType鏄竴涓己骞冲師鍥犵被鍨 +#////////////////////////////////////////////////////////////////////// +#闈炲己骞 +defineDict["THOST_FTDC_FCC_NotForceClose"] = '0' +#璧勯噾涓嶈冻 +defineDict["THOST_FTDC_FCC_LackDeposit"] = '1' +#瀹㈡埛瓒呬粨 +defineDict["THOST_FTDC_FCC_ClientOverPositionLimit"] = '2' +#浼氬憳瓒呬粨 +defineDict["THOST_FTDC_FCC_MemberOverPositionLimit"] = '3' +#鎸佷粨闈炴暣鏁板 +defineDict["THOST_FTDC_FCC_NotMultiple"] = '4' +#杩濊 +defineDict["THOST_FTDC_FCC_Violation"] = '5' +#鍏跺畠 +defineDict["THOST_FTDC_FCC_Other"] = '6' +#鑷劧浜轰复杩戜氦鍓 +defineDict["THOST_FTDC_FCC_PersonDeliv"] = '7' + +typedefDict["TThostFtdcForceCloseReasonType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOrderTypeType鏄竴涓姤鍗曠被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#姝e父 +defineDict["THOST_FTDC_ORDT_Normal"] = '0' +#鎶ヤ环琛嶇敓 +defineDict["THOST_FTDC_ORDT_DeriveFromQuote"] = '1' +#缁勫悎琛嶇敓 +defineDict["THOST_FTDC_ORDT_DeriveFromCombination"] = '2' +#缁勫悎鎶ュ崟 +defineDict["THOST_FTDC_ORDT_Combination"] = '3' +#鏉′欢鍗 +defineDict["THOST_FTDC_ORDT_ConditionalOrder"] = '4' +#浜掓崲鍗 +defineDict["THOST_FTDC_ORDT_Swap"] = '5' + +typedefDict["TThostFtdcOrderTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTimeConditionType鏄竴涓湁鏁堟湡绫诲瀷绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#绔嬪嵆瀹屾垚锛屽惁鍒欐挙閿 +defineDict["THOST_FTDC_TC_IOC"] = '1' +#鏈妭鏈夋晥 +defineDict["THOST_FTDC_TC_GFS"] = '2' +#褰撴棩鏈夋晥 +defineDict["THOST_FTDC_TC_GFD"] = '3' +#鎸囧畾鏃ユ湡鍓嶆湁鏁 +defineDict["THOST_FTDC_TC_GTD"] = '4' +#鎾ら攢鍓嶆湁鏁 +defineDict["THOST_FTDC_TC_GTC"] = '5' +#闆嗗悎绔炰环鏈夋晥 +defineDict["THOST_FTDC_TC_GFA"] = '6' + +typedefDict["TThostFtdcTimeConditionType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcVolumeConditionType鏄竴涓垚浜ら噺绫诲瀷绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#浠讳綍鏁伴噺 +defineDict["THOST_FTDC_VC_AV"] = '1' +#鏈灏忔暟閲 +defineDict["THOST_FTDC_VC_MV"] = '2' +#鍏ㄩ儴鏁伴噺 +defineDict["THOST_FTDC_VC_CV"] = '3' + +typedefDict["TThostFtdcVolumeConditionType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcContingentConditionType鏄竴涓Е鍙戞潯浠剁被鍨 +#////////////////////////////////////////////////////////////////////// +#绔嬪嵆 +defineDict["THOST_FTDC_CC_Immediately"] = '1' +#姝㈡崯 +defineDict["THOST_FTDC_CC_Touch"] = '2' +#姝㈣耽 +defineDict["THOST_FTDC_CC_TouchProfit"] = '3' +#棰勫煁鍗 +defineDict["THOST_FTDC_CC_ParkedOrder"] = '4' +#鏈鏂颁环澶т簬鏉′欢浠 +defineDict["THOST_FTDC_CC_LastPriceGreaterThanStopPrice"] = '5' +#鏈鏂颁环澶т簬绛変簬鏉′欢浠 +defineDict["THOST_FTDC_CC_LastPriceGreaterEqualStopPrice"] = '6' +#鏈鏂颁环灏忎簬鏉′欢浠 +defineDict["THOST_FTDC_CC_LastPriceLesserThanStopPrice"] = '7' +#鏈鏂颁环灏忎簬绛変簬鏉′欢浠 +defineDict["THOST_FTDC_CC_LastPriceLesserEqualStopPrice"] = '8' +#鍗栦竴浠峰ぇ浜庢潯浠朵环 +defineDict["THOST_FTDC_CC_AskPriceGreaterThanStopPrice"] = '9' +#鍗栦竴浠峰ぇ浜庣瓑浜庢潯浠朵环 +defineDict["THOST_FTDC_CC_AskPriceGreaterEqualStopPrice"] = 'A' +#鍗栦竴浠峰皬浜庢潯浠朵环 +defineDict["THOST_FTDC_CC_AskPriceLesserThanStopPrice"] = 'B' +#鍗栦竴浠峰皬浜庣瓑浜庢潯浠朵环 +defineDict["THOST_FTDC_CC_AskPriceLesserEqualStopPrice"] = 'C' +#涔颁竴浠峰ぇ浜庢潯浠朵环 +defineDict["THOST_FTDC_CC_BidPriceGreaterThanStopPrice"] = 'D' +#涔颁竴浠峰ぇ浜庣瓑浜庢潯浠朵环 +defineDict["THOST_FTDC_CC_BidPriceGreaterEqualStopPrice"] = 'E' +#涔颁竴浠峰皬浜庢潯浠朵环 +defineDict["THOST_FTDC_CC_BidPriceLesserThanStopPrice"] = 'F' +#涔颁竴浠峰皬浜庣瓑浜庢潯浠朵环 +defineDict["THOST_FTDC_CC_BidPriceLesserEqualStopPrice"] = 'H' + +typedefDict["TThostFtdcContingentConditionType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcActionFlagType鏄竴涓搷浣滄爣蹇楃被鍨 +#////////////////////////////////////////////////////////////////////// +#鍒犻櫎 +defineDict["THOST_FTDC_AF_Delete"] = '0' +#淇敼 +defineDict["THOST_FTDC_AF_Modify"] = '3' + +typedefDict["TThostFtdcActionFlagType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTradingRightType鏄竴涓氦鏄撴潈闄愮被鍨 +#////////////////////////////////////////////////////////////////////// +#鍙互浜ゆ槗 +defineDict["THOST_FTDC_TR_Allow"] = '0' +#鍙兘骞充粨 +defineDict["THOST_FTDC_TR_CloseOnly"] = '1' +#涓嶈兘浜ゆ槗 +defineDict["THOST_FTDC_TR_Forbidden"] = '2' + +typedefDict["TThostFtdcTradingRightType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOrderSourceType鏄竴涓姤鍗曟潵婧愮被鍨 +#////////////////////////////////////////////////////////////////////// +#鏉ヨ嚜鍙備笌鑰 +defineDict["THOST_FTDC_OSRC_Participant"] = '0' +#鏉ヨ嚜绠$悊鍛 +defineDict["THOST_FTDC_OSRC_Administrator"] = '1' + +typedefDict["TThostFtdcOrderSourceType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTradeTypeType鏄竴涓垚浜ょ被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#缁勫悎鎸佷粨鎷嗗垎涓哄崟涓鎸佷粨,鍒濆鍖栦笉搴斿寘鍚绫诲瀷鐨勬寔浠 +defineDict["THOST_FTDC_TRDT_SplitCombination"] = '#' +#鏅氭垚浜 +defineDict["THOST_FTDC_TRDT_Common"] = '0' +#鏈熸潈鎵ц +defineDict["THOST_FTDC_TRDT_OptionsExecution"] = '1' +#OTC鎴愪氦 +defineDict["THOST_FTDC_TRDT_OTC"] = '2' +#鏈熻浆鐜拌鐢熸垚浜 +defineDict["THOST_FTDC_TRDT_EFPDerived"] = '3' +#缁勫悎琛嶇敓鎴愪氦 +defineDict["THOST_FTDC_TRDT_CombinationDerived"] = '4' + +typedefDict["TThostFtdcTradeTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPriceSourceType鏄竴涓垚浜や环鏉ユ簮绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#鍓嶆垚浜や环 +defineDict["THOST_FTDC_PSRC_LastPrice"] = '0' +#涔板鎵樹环 +defineDict["THOST_FTDC_PSRC_Buy"] = '1' +#鍗栧鎵樹环 +defineDict["THOST_FTDC_PSRC_Sell"] = '2' + +typedefDict["TThostFtdcPriceSourceType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInstrumentStatusType鏄竴涓悎绾︿氦鏄撶姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#寮鐩樺墠 +defineDict["THOST_FTDC_IS_BeforeTrading"] = '0' +#闈炰氦鏄 +defineDict["THOST_FTDC_IS_NoTrading"] = '1' +#杩炵画浜ゆ槗 +defineDict["THOST_FTDC_IS_Continous"] = '2' +#闆嗗悎绔炰环鎶ュ崟 +defineDict["THOST_FTDC_IS_AuctionOrdering"] = '3' +#闆嗗悎绔炰环浠锋牸骞宠  +defineDict["THOST_FTDC_IS_AuctionBalance"] = '4' +#闆嗗悎绔炰环鎾悎 +defineDict["THOST_FTDC_IS_AuctionMatch"] = '5' +#鏀剁洏 +defineDict["THOST_FTDC_IS_Closed"] = '6' + +typedefDict["TThostFtdcInstrumentStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInstStatusEnterReasonType鏄竴涓搧绉嶈繘鍏ヤ氦鏄撶姸鎬佸師鍥犵被鍨 +#////////////////////////////////////////////////////////////////////// +#鑷姩鍒囨崲 +defineDict["THOST_FTDC_IER_Automatic"] = '1' +#鎵嬪姩鍒囨崲 +defineDict["THOST_FTDC_IER_Manual"] = '2' +#鐔旀柇 +defineDict["THOST_FTDC_IER_Fuse"] = '3' + +typedefDict["TThostFtdcInstStatusEnterReasonType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOrderActionRefType鏄竴涓姤鍗曟搷浣滃紩鐢ㄧ被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcOrderActionRefType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInstallCountType鏄竴涓畨瑁呮暟閲忕被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcInstallCountType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInstallIDType鏄竴涓畨瑁呯紪鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcInstallIDType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcErrorIDType鏄竴涓敊璇唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcErrorIDType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSettlementIDType鏄竴涓粨绠楃紪鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcSettlementIDType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcVolumeType鏄竴涓暟閲忕被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcVolumeType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFrontIDType鏄竴涓墠缃紪鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFrontIDType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSessionIDType鏄竴涓細璇濈紪鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcSessionIDType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSequenceNoType鏄竴涓簭鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcSequenceNoType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCommandNoType鏄竴涓狣B鍛戒护搴忓彿绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCommandNoType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcMillisecType鏄竴涓椂闂达紙姣锛夌被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcMillisecType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcVolumeMultipleType鏄竴涓悎绾︽暟閲忎箻鏁扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcVolumeMultipleType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTradingSegmentSNType鏄竴涓氦鏄撻樁娈电紪鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcTradingSegmentSNType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRequestIDType鏄竴涓姹傜紪鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcRequestIDType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcYearType鏄竴涓勾浠界被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcYearType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcMonthType鏄竴涓湀浠界被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcMonthType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBoolType鏄竴涓竷灏斿瀷绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcBoolType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPriceType鏄竴涓环鏍肩被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcPriceType"] = "float" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCombOffsetFlagType鏄竴涓粍鍚堝紑骞虫爣蹇楃被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCombOffsetFlagType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCombHedgeFlagType鏄竴涓粍鍚堟姇鏈哄淇濇爣蹇楃被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCombHedgeFlagType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRatioType鏄竴涓瘮鐜囩被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcRatioType"] = "float" + +#////////////////////////////////////////////////////////////////////// +#TFtdcMoneyType鏄竴涓祫閲戠被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcMoneyType"] = "float" + +#////////////////////////////////////////////////////////////////////// +#TFtdcLargeVolumeType鏄竴涓ぇ棰濇暟閲忕被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcLargeVolumeType"] = "float" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSequenceSeriesType鏄竴涓簭鍒楃郴鍒楀彿绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcSequenceSeriesType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCommPhaseNoType鏄竴涓氳鏃舵缂栧彿绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCommPhaseNoType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSequenceLabelType鏄竴涓簭鍒楃紪鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcSequenceLabelType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUnderlyingMultipleType鏄竴涓熀纭鍟嗗搧涔樻暟绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcUnderlyingMultipleType"] = "float" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPriorityType鏄竴涓紭鍏堢骇绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcPriorityType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcContractCodeType鏄竴涓悎鍚岀紪鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcContractCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCityType鏄竴涓競绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCityType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcIsStockType鏄竴涓槸鍚﹁偂姘戠被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcIsStockType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcChannelType鏄竴涓笭閬撶被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcChannelType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAddressType鏄竴涓氳鍦板潃绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAddressType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcZipCodeType鏄竴涓偖鏀跨紪鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcZipCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTelephoneType鏄竴涓仈绯荤數璇濈被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcTelephoneType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFaxType鏄竴涓紶鐪熺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFaxType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcMobileType鏄竴涓墜鏈虹被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcMobileType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcEMailType鏄竴涓數瀛愰偖浠剁被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcEMailType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcMemoType鏄竴涓娉ㄧ被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcMemoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCompanyCodeType鏄竴涓紒涓氫唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCompanyCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcWebsiteType鏄竴涓綉绔欏湴鍧绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcWebsiteType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTaxNoType鏄竴涓◣鍔$櫥璁板彿绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcTaxNoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBatchStatusType鏄竴涓鐞嗙姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#鏈笂浼 +defineDict["THOST_FTDC_BS_NoUpload"] = '1' +#宸蹭笂浼 +defineDict["THOST_FTDC_BS_Uploaded"] = '2' +#瀹℃牳澶辫触 +defineDict["THOST_FTDC_BS_Failed"] = '3' + +typedefDict["TThostFtdcBatchStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPropertyIDType鏄竴涓睘鎬т唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcPropertyIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPropertyNameType鏄竴涓睘鎬у悕绉扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcPropertyNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcLicenseNoType鏄竴涓惀涓氭墽鐓у彿绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcLicenseNoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAgentIDType鏄竴涓粡绾汉浠g爜绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAgentIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAgentNameType鏄竴涓粡绾汉鍚嶇О绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAgentNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAgentGroupIDType鏄竴涓粡绾汉缁勪唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAgentGroupIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAgentGroupNameType鏄竴涓粡绾汉缁勫悕绉扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAgentGroupNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcReturnStyleType鏄竴涓寜鍝佺杩旇繕鏂瑰紡绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#鎸夋墍鏈夊搧绉 +defineDict["THOST_FTDC_RS_All"] = '1' +#鎸夊搧绉 +defineDict["THOST_FTDC_RS_ByProduct"] = '2' + +typedefDict["TThostFtdcReturnStyleType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcReturnPatternType鏄竴涓繑杩樻ā寮忕被鍨 +#////////////////////////////////////////////////////////////////////// +#鎸夋垚浜ゆ墜鏁 +defineDict["THOST_FTDC_RP_ByVolume"] = '1' +#鎸夌暀瀛樻墜缁垂 +defineDict["THOST_FTDC_RP_ByFeeOnHand"] = '2' + +typedefDict["TThostFtdcReturnPatternType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcReturnLevelType鏄竴涓繑杩樼骇鍒被鍨 +#////////////////////////////////////////////////////////////////////// +#绾у埆1 +defineDict["THOST_FTDC_RL_Level1"] = '1' +#绾у埆2 +defineDict["THOST_FTDC_RL_Level2"] = '2' +#绾у埆3 +defineDict["THOST_FTDC_RL_Level3"] = '3' +#绾у埆4 +defineDict["THOST_FTDC_RL_Level4"] = '4' +#绾у埆5 +defineDict["THOST_FTDC_RL_Level5"] = '5' +#绾у埆6 +defineDict["THOST_FTDC_RL_Level6"] = '6' +#绾у埆7 +defineDict["THOST_FTDC_RL_Level7"] = '7' +#绾у埆8 +defineDict["THOST_FTDC_RL_Level8"] = '8' +#绾у埆9 +defineDict["THOST_FTDC_RL_Level9"] = '9' + +typedefDict["TThostFtdcReturnLevelType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcReturnStandardType鏄竴涓繑杩樻爣鍑嗙被鍨 +#////////////////////////////////////////////////////////////////////// +#鍒嗛樁娈佃繑杩 +defineDict["THOST_FTDC_RSD_ByPeriod"] = '1' +#鎸夋煇涓鏍囧噯 +defineDict["THOST_FTDC_RSD_ByStandard"] = '2' + +typedefDict["TThostFtdcReturnStandardType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcMortgageTypeType鏄竴涓川鎶肩被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#璐ㄥ嚭 +defineDict["THOST_FTDC_MT_Out"] = '0' +#璐ㄥ叆 +defineDict["THOST_FTDC_MT_In"] = '1' + +typedefDict["TThostFtdcMortgageTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInvestorSettlementParamIDType鏄竴涓姇璧勮呯粨绠楀弬鏁颁唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +#璐ㄦ娂姣斾緥 +defineDict["THOST_FTDC_ISPI_MortgageRatio"] = '4' +#淇濊瘉閲戠畻娉 +defineDict["THOST_FTDC_ISPI_MarginWay"] = '5' +#缁撶畻鍗曠粨瀛樻槸鍚﹀寘鍚川鎶 +defineDict["THOST_FTDC_ISPI_BillDeposit"] = '9' + +typedefDict["TThostFtdcInvestorSettlementParamIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcExchangeSettlementParamIDType鏄竴涓氦鏄撴墍缁撶畻鍙傛暟浠g爜绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#璐ㄦ娂姣斾緥 +defineDict["THOST_FTDC_ESPI_MortgageRatio"] = '1' +#鍒嗛」璧勯噾瀵煎叆椤 +defineDict["THOST_FTDC_ESPI_OtherFundItem"] = '2' +#鍒嗛」璧勯噾鍏ヤ氦鏄撴墍鍑哄叆閲 +defineDict["THOST_FTDC_ESPI_OtherFundImport"] = '3' +#涓噾鎵寮鎴锋渶浣庡彲鐢ㄩ噾棰 +defineDict["THOST_FTDC_ESPI_CFFEXMinPrepa"] = '6' +#閮戝晢鎵缁撶畻鏂瑰紡 +defineDict["THOST_FTDC_ESPI_CZCESettlementType"] = '7' +#浜ゆ槗鎵浜ゅ壊鎵嬬画璐规敹鍙栨柟寮 +defineDict["THOST_FTDC_ESPI_ExchDelivFeeMode"] = '9' +#鎶曡祫鑰呬氦鍓叉墜缁垂鏀跺彇鏂瑰紡 +defineDict["THOST_FTDC_ESPI_DelivFeeMode"] = '0' +#閮戝晢鎵缁勫悎鎸佷粨淇濊瘉閲戞敹鍙栨柟寮 +defineDict["THOST_FTDC_ESPI_CZCEComMarginType"] = 'A' +#澶у晢鎵濂楀埄淇濊瘉閲戞槸鍚︿紭鎯 +defineDict["THOST_FTDC_ESPI_DceComMarginType"] = 'B' +#铏氬兼湡鏉冧繚璇侀噾浼樻儬姣旂巼 +defineDict["THOST_FTDC_ESPI_OptOutDisCountRate"] = 'a' +#鏈浣庝繚闅滅郴鏁 +defineDict["THOST_FTDC_ESPI_OptMiniGuarantee"] = 'b' + +typedefDict["TThostFtdcExchangeSettlementParamIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSystemParamIDType鏄竴涓郴缁熷弬鏁颁唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +#鎶曡祫鑰呬唬鐮佹渶灏忛暱搴 +defineDict["THOST_FTDC_SPI_InvestorIDMinLength"] = '1' +#鎶曡祫鑰呭笎鍙蜂唬鐮佹渶灏忛暱搴 +defineDict["THOST_FTDC_SPI_AccountIDMinLength"] = '2' +#鎶曡祫鑰呭紑鎴烽粯璁ょ櫥褰曟潈闄 +defineDict["THOST_FTDC_SPI_UserRightLogon"] = '3' +#鎶曡祫鑰呬氦鏄撶粨绠楀崟鎴愪氦姹囨绘柟寮 +defineDict["THOST_FTDC_SPI_SettlementBillTrade"] = '4' +#缁熶竴寮鎴锋洿鏂颁氦鏄撶紪鐮佹柟寮 +defineDict["THOST_FTDC_SPI_TradingCode"] = '5' +#缁撶畻鏄惁鍒ゆ柇瀛樺湪鏈鏍哥殑鍑哄叆閲戝拰鍒嗛」璧勯噾 +defineDict["THOST_FTDC_SPI_CheckFund"] = '6' +#鏄惁鍚敤鎵嬬画璐规ā鏉挎暟鎹潈闄 +defineDict["THOST_FTDC_SPI_CommModelRight"] = '7' +#鏄惁鍚敤淇濊瘉閲戠巼妯℃澘鏁版嵁鏉冮檺 +defineDict["THOST_FTDC_SPI_MarginModelRight"] = '9' +#鏄惁瑙勮寖鐢ㄦ埛鎵嶈兘婵娲 +defineDict["THOST_FTDC_SPI_IsStandardActive"] = '8' +#涓婁紶鐨勪氦鏄撴墍缁撶畻鏂囦欢璺緞 +defineDict["THOST_FTDC_SPI_UploadSettlementFile"] = 'U' +#涓婃姤淇濊瘉閲戠洃鎺т腑蹇冩枃浠惰矾寰 +defineDict["THOST_FTDC_SPI_DownloadCSRCFile"] = 'D' +#鐢熸垚鐨勭粨绠楀崟鏂囦欢璺緞 +defineDict["THOST_FTDC_SPI_SettlementBillFile"] = 'S' +#璇佺洃浼氭枃浠舵爣璇 +defineDict["THOST_FTDC_SPI_CSRCOthersFile"] = 'C' +#鎶曡祫鑰呯収鐗囪矾寰 +defineDict["THOST_FTDC_SPI_InvestorPhoto"] = 'P' +#鍏ㄧ粨缁忕邯鍏徃涓婁紶鏂囦欢璺緞 +defineDict["THOST_FTDC_SPI_CSRCData"] = 'R' +#寮鎴峰瘑鐮佸綍鍏ユ柟寮 +defineDict["THOST_FTDC_SPI_InvestorPwdModel"] = 'I' +#鎶曡祫鑰呬腑閲戞墍缁撶畻鏂囦欢涓嬭浇璺緞 +defineDict["THOST_FTDC_SPI_CFFEXInvestorSettleFile"] = 'F' +#鎶曡祫鑰呬唬鐮佺紪鐮佹柟寮 +defineDict["THOST_FTDC_SPI_InvestorIDType"] = 'a' +#浼戠湢鎴锋渶楂樻潈鐩 +defineDict["THOST_FTDC_SPI_FreezeMaxReMain"] = 'r' +#鎵嬬画璐圭浉鍏虫搷浣滃疄鏃朵笂鍦哄紑鍏 +defineDict["THOST_FTDC_SPI_IsSync"] = 'A' +#瑙i櫎寮浠撴潈闄愰檺鍒 +defineDict["THOST_FTDC_SPI_RelieveOpenLimit"] = 'O' +#鏄惁瑙勮寖鐢ㄦ埛鎵嶈兘浼戠湢 +defineDict["THOST_FTDC_SPI_IsStandardFreeze"] = 'X' +#閮戝晢鎵鏄惁寮鏀炬墍鏈夊搧绉嶅淇濅氦鏄 +defineDict["THOST_FTDC_SPI_CZCENormalProductHedge"] = 'B' + +typedefDict["TThostFtdcSystemParamIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTradeParamIDType鏄竴涓氦鏄撶郴缁熷弬鏁颁唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +#绯荤粺鍔犲瘑绠楁硶 +defineDict["THOST_FTDC_TPID_EncryptionStandard"] = 'E' +#绯荤粺椋庨櫓绠楁硶 +defineDict["THOST_FTDC_TPID_RiskMode"] = 'R' +#绯荤粺椋庨櫓绠楁硶鏄惁鍏ㄥ眬 0-鍚 1-鏄 +defineDict["THOST_FTDC_TPID_RiskModeGlobal"] = 'G' +#瀵嗙爜鍔犲瘑绠楁硶 +defineDict["THOST_FTDC_TPID_modeEncode"] = 'P' +#浠锋牸灏忔暟浣嶆暟鍙傛暟 +defineDict["THOST_FTDC_TPID_tickMode"] = 'T' +#鐢ㄦ埛鏈澶т細璇濇暟 +defineDict["THOST_FTDC_TPID_SingleUserSessionMaxNum"] = 'S' +#鏈澶ц繛缁櫥褰曞け璐ユ暟 +defineDict["THOST_FTDC_TPID_LoginFailMaxNum"] = 'L' +#鏄惁寮哄埗璁よ瘉 +defineDict["THOST_FTDC_TPID_IsAuthForce"] = 'A' + +typedefDict["TThostFtdcTradeParamIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSettlementParamValueType鏄竴涓弬鏁颁唬鐮佸肩被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcSettlementParamValueType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCounterIDType鏄竴涓鏁板櫒浠g爜绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCounterIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInvestorGroupNameType鏄竴涓姇璧勮呭垎缁勫悕绉扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcInvestorGroupNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBrandCodeType鏄竴涓墝鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcBrandCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcWarehouseType鏄竴涓粨搴撶被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcWarehouseType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcProductDateType鏄竴涓骇鏈熺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcProductDateType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcGradeType鏄竴涓瓑绾х被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcGradeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcClassifyType鏄竴涓被鍒被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcClassifyType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPositionType鏄竴涓揣浣嶇被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcPositionType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcYieldlyType鏄竴涓骇鍦扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcYieldlyType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcWeightType鏄竴涓叕瀹氶噸閲忕被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcWeightType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSubEntryFundNoType鏄竴涓垎椤硅祫閲戞祦姘村彿绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcSubEntryFundNoType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFileIDType鏄竴涓枃浠舵爣璇嗙被鍨 +#////////////////////////////////////////////////////////////////////// +#璧勯噾鏁版嵁 +defineDict["THOST_FTDC_FI_SettlementFund"] = 'F' +#鎴愪氦鏁版嵁 +defineDict["THOST_FTDC_FI_Trade"] = 'T' +#鎶曡祫鑰呮寔浠撴暟鎹 +defineDict["THOST_FTDC_FI_InvestorPosition"] = 'P' +#鎶曡祫鑰呭垎椤硅祫閲戞暟鎹 +defineDict["THOST_FTDC_FI_SubEntryFund"] = 'O' +#缁勫悎鎸佷粨鏁版嵁 +defineDict["THOST_FTDC_FI_CZCECombinationPos"] = 'C' +#涓婃姤淇濊瘉閲戠洃鎺т腑蹇冩暟鎹 +defineDict["THOST_FTDC_FI_CSRCData"] = 'R' +#閮戝晢鎵骞充粨浜嗙粨鏁版嵁 +defineDict["THOST_FTDC_FI_CZCEClose"] = 'L' +#閮戝晢鎵闈炲钩浠撲簡缁撴暟鎹 +defineDict["THOST_FTDC_FI_CZCENoClose"] = 'N' +#鎸佷粨鏄庣粏鏁版嵁 +defineDict["THOST_FTDC_FI_PositionDtl"] = 'D' +#鏈熸潈鎵ц鏂囦欢 +defineDict["THOST_FTDC_FI_OptionStrike"] = 'S' +#缁撶畻浠锋瘮瀵规枃浠 +defineDict["THOST_FTDC_FI_SettlementPriceComparison"] = 'M' +#涓婃湡鎵闈炴寔浠撳彉鍔ㄦ槑缁 +defineDict["THOST_FTDC_FI_NonTradePosChange"] = 'B' + +typedefDict["TThostFtdcFileIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFileNameType鏄竴涓枃浠跺悕绉扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFileNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFileTypeType鏄竴涓枃浠朵笂浼犵被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#缁撶畻 +defineDict["THOST_FTDC_FUT_Settlement"] = '0' +#鏍稿 +defineDict["THOST_FTDC_FUT_Check"] = '1' + +typedefDict["TThostFtdcFileTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFileFormatType鏄竴涓枃浠舵牸寮忕被鍨 +#////////////////////////////////////////////////////////////////////// +#鏂囨湰鏂囦欢(.txt) +defineDict["THOST_FTDC_FFT_Txt"] = '0' +#鍘嬬缉鏂囦欢(.zip) +defineDict["THOST_FTDC_FFT_Zip"] = '1' +#DBF鏂囦欢(.dbf) +defineDict["THOST_FTDC_FFT_DBF"] = '2' + +typedefDict["TThostFtdcFileFormatType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFileUploadStatusType鏄竴涓枃浠剁姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#涓婁紶鎴愬姛 +defineDict["THOST_FTDC_FUS_SucceedUpload"] = '1' +#涓婁紶澶辫触 +defineDict["THOST_FTDC_FUS_FailedUpload"] = '2' +#瀵煎叆鎴愬姛 +defineDict["THOST_FTDC_FUS_SucceedLoad"] = '3' +#瀵煎叆閮ㄥ垎鎴愬姛 +defineDict["THOST_FTDC_FUS_PartSucceedLoad"] = '4' +#瀵煎叆澶辫触 +defineDict["THOST_FTDC_FUS_FailedLoad"] = '5' + +typedefDict["TThostFtdcFileUploadStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTransferDirectionType鏄竴涓Щ浠撴柟鍚戠被鍨 +#////////////////////////////////////////////////////////////////////// +#绉诲嚭 +defineDict["THOST_FTDC_TD_Out"] = '0' +#绉诲叆 +defineDict["THOST_FTDC_TD_In"] = '1' + +typedefDict["TThostFtdcTransferDirectionType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUploadModeType鏄竴涓笂浼犳枃浠剁被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcUploadModeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAccountIDType鏄竴涓姇璧勮呭笎鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAccountIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankFlagType鏄竴涓摱琛岀粺涓鏍囪瘑绫诲瀷绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcBankFlagType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankAccountType鏄竴涓摱琛岃处鎴风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcBankAccountType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOpenNameType鏄竴涓摱琛岃处鎴风殑寮鎴蜂汉鍚嶇О绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcOpenNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOpenBankType鏄竴涓摱琛岃处鎴风殑寮鎴疯绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcOpenBankType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankNameType鏄竴涓摱琛屽悕绉扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcBankNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPublishPathType鏄竴涓彂甯冭矾寰勭被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcPublishPathType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOperatorIDType鏄竴涓搷浣滃憳浠g爜绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcOperatorIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcMonthCountType鏄竴涓湀浠芥暟閲忕被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcMonthCountType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAdvanceMonthArrayType鏄竴涓湀浠芥彁鍓嶆暟缁勭被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAdvanceMonthArrayType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDateExprType鏄竴涓棩鏈熻〃杈惧紡绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcDateExprType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInstrumentIDExprType鏄竴涓悎绾︿唬鐮佽〃杈惧紡绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcInstrumentIDExprType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInstrumentNameExprType鏄竴涓悎绾﹀悕绉拌〃杈惧紡绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcInstrumentNameExprType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSpecialCreateRuleType鏄竴涓壒娈婄殑鍒涘缓瑙勫垯绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#娌℃湁鐗规畩鍒涘缓瑙勫垯 +defineDict["THOST_FTDC_SC_NoSpecialRule"] = '0' +#涓嶅寘鍚槬鑺 +defineDict["THOST_FTDC_SC_NoSpringFestival"] = '1' + +typedefDict["TThostFtdcSpecialCreateRuleType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBasisPriceTypeType鏄竴涓寕鐗屽熀鍑嗕环绫诲瀷绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#涓婁竴鍚堢害缁撶畻浠 +defineDict["THOST_FTDC_IPT_LastSettlement"] = '1' +#涓婁竴鍚堢害鏀剁洏浠 +defineDict["THOST_FTDC_IPT_LaseClose"] = '2' + +typedefDict["TThostFtdcBasisPriceTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcProductLifePhaseType鏄竴涓骇鍝佺敓鍛藉懆鏈熺姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#娲昏穬 +defineDict["THOST_FTDC_PLP_Active"] = '1' +#涓嶆椿璺 +defineDict["THOST_FTDC_PLP_NonActive"] = '2' +#娉ㄩ攢 +defineDict["THOST_FTDC_PLP_Canceled"] = '3' + +typedefDict["TThostFtdcProductLifePhaseType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDeliveryModeType鏄竴涓氦鍓叉柟寮忕被鍨 +#////////////////////////////////////////////////////////////////////// +#鐜伴噾浜ゅ壊 +defineDict["THOST_FTDC_DM_CashDeliv"] = '1' +#瀹炵墿浜ゅ壊 +defineDict["THOST_FTDC_DM_CommodityDeliv"] = '2' + +typedefDict["TThostFtdcDeliveryModeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcLogLevelType鏄竴涓棩蹇楃骇鍒被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcLogLevelType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcProcessNameType鏄竴涓瓨鍌ㄨ繃绋嬪悕绉扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcProcessNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOperationMemoType鏄竴涓搷浣滄憳瑕佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcOperationMemoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFundIOTypeType鏄竴涓嚭鍏ラ噾绫诲瀷绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#鍑哄叆閲 +defineDict["THOST_FTDC_FIOT_FundIO"] = '1' +#閾舵湡杞笎 +defineDict["THOST_FTDC_FIOT_Transfer"] = '2' +#閾舵湡鎹㈡眹 +defineDict["THOST_FTDC_FIOT_SwapCurrency"] = '3' + +typedefDict["TThostFtdcFundIOTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFundTypeType鏄竴涓祫閲戠被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#閾惰瀛樻 +defineDict["THOST_FTDC_FT_Deposite"] = '1' +#鍒嗛」璧勯噾 +defineDict["THOST_FTDC_FT_ItemFund"] = '2' +#鍏徃璋冩暣 +defineDict["THOST_FTDC_FT_Company"] = '3' +#璧勯噾鍐呰浆 +defineDict["THOST_FTDC_FT_InnerTransfer"] = '4' + +typedefDict["TThostFtdcFundTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFundDirectionType鏄竴涓嚭鍏ラ噾鏂瑰悜绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#鍏ラ噾 +defineDict["THOST_FTDC_FD_In"] = '1' +#鍑洪噾 +defineDict["THOST_FTDC_FD_Out"] = '2' + +typedefDict["TThostFtdcFundDirectionType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFundStatusType鏄竴涓祫閲戠姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#宸插綍鍏 +defineDict["THOST_FTDC_FS_Record"] = '1' +#宸插鏍 +defineDict["THOST_FTDC_FS_Check"] = '2' +#宸插啿閿 +defineDict["THOST_FTDC_FS_Charge"] = '3' + +typedefDict["TThostFtdcFundStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBillNoType鏄竴涓エ鎹彿绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcBillNoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBillNameType鏄竴涓エ鎹悕绉扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcBillNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPublishStatusType鏄竴涓彂甯冪姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#鏈彂甯 +defineDict["THOST_FTDC_PS_None"] = '1' +#姝e湪鍙戝竷 +defineDict["THOST_FTDC_PS_Publishing"] = '2' +#宸插彂甯 +defineDict["THOST_FTDC_PS_Published"] = '3' + +typedefDict["TThostFtdcPublishStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcEnumValueIDType鏄竴涓灇涓惧间唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcEnumValueIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcEnumValueTypeType鏄竴涓灇涓惧肩被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcEnumValueTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcEnumValueLabelType鏄竴涓灇涓惧煎悕绉扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcEnumValueLabelType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcEnumValueResultType鏄竴涓灇涓惧肩粨鏋滅被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcEnumValueResultType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSystemStatusType鏄竴涓郴缁熺姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#涓嶆椿璺 +defineDict["THOST_FTDC_ES_NonActive"] = '1' +#鍚姩 +defineDict["THOST_FTDC_ES_Startup"] = '2' +#浜ゆ槗寮濮嬪垵濮嬪寲 +defineDict["THOST_FTDC_ES_Initialize"] = '3' +#浜ゆ槗瀹屾垚鍒濆鍖 +defineDict["THOST_FTDC_ES_Initialized"] = '4' +#鏀跺競寮濮 +defineDict["THOST_FTDC_ES_Close"] = '5' +#鏀跺競瀹屾垚 +defineDict["THOST_FTDC_ES_Closed"] = '6' +#缁撶畻 +defineDict["THOST_FTDC_ES_Settlement"] = '7' + +typedefDict["TThostFtdcSystemStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSettlementStatusType鏄竴涓粨绠楃姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#鍒濆 +defineDict["THOST_FTDC_STS_Initialize"] = '0' +#缁撶畻涓 +defineDict["THOST_FTDC_STS_Settlementing"] = '1' +#宸茬粨绠 +defineDict["THOST_FTDC_STS_Settlemented"] = '2' +#缁撶畻瀹屾垚 +defineDict["THOST_FTDC_STS_Finished"] = '3' + +typedefDict["TThostFtdcSettlementStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRangeIntTypeType鏄竴涓檺瀹氬肩被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcRangeIntTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRangeIntFromType鏄竴涓檺瀹氬间笅闄愮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcRangeIntFromType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRangeIntToType鏄竴涓檺瀹氬间笂闄愮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcRangeIntToType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFunctionIDType鏄竴涓姛鑳戒唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFunctionIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFunctionValueCodeType鏄竴涓姛鑳界紪鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFunctionValueCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFunctionNameType鏄竴涓姛鑳藉悕绉扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFunctionNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRoleIDType鏄竴涓鑹茬紪鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcRoleIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRoleNameType鏄竴涓鑹插悕绉扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcRoleNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDescriptionType鏄竴涓弿杩扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcDescriptionType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCombineIDType鏄竴涓粍鍚堢紪鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCombineIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCombineTypeType鏄竴涓粍鍚堢被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCombineTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInvestorTypeType鏄竴涓姇璧勮呯被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#鑷劧浜 +defineDict["THOST_FTDC_CT_Person"] = '0' +#娉曚汉 +defineDict["THOST_FTDC_CT_Company"] = '1' +#鎶曡祫鍩洪噾 +defineDict["THOST_FTDC_CT_Fund"] = '2' +#鐗规畩娉曚汉 +defineDict["THOST_FTDC_CT_SpecialOrgan"] = '3' +#璧勭鎴 +defineDict["THOST_FTDC_CT_Asset"] = '4' + +typedefDict["TThostFtdcInvestorTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBrokerTypeType鏄竴涓粡绾叕鍙哥被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#浜ゆ槗浼氬憳 +defineDict["THOST_FTDC_BT_Trade"] = '0' +#浜ゆ槗缁撶畻浼氬憳 +defineDict["THOST_FTDC_BT_TradeSettle"] = '1' + +typedefDict["TThostFtdcBrokerTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRiskLevelType鏄竴涓闄╃瓑绾х被鍨 +#////////////////////////////////////////////////////////////////////// +#浣庨闄╁鎴 +defineDict["THOST_FTDC_FAS_Low"] = '1' +#鏅氬鎴 +defineDict["THOST_FTDC_FAS_Normal"] = '2' +#鍏虫敞瀹㈡埛 +defineDict["THOST_FTDC_FAS_Focus"] = '3' +#椋庨櫓瀹㈡埛 +defineDict["THOST_FTDC_FAS_Risk"] = '4' + +typedefDict["TThostFtdcRiskLevelType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFeeAcceptStyleType鏄竴涓墜缁垂鏀跺彇鏂瑰紡绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#鎸変氦鏄撴敹鍙 +defineDict["THOST_FTDC_FAS_ByTrade"] = '1' +#鎸変氦鍓叉敹鍙 +defineDict["THOST_FTDC_FAS_ByDeliv"] = '2' +#涓嶆敹 +defineDict["THOST_FTDC_FAS_None"] = '3' +#鎸夋寚瀹氭墜缁垂鏀跺彇 +defineDict["THOST_FTDC_FAS_FixFee"] = '4' + +typedefDict["TThostFtdcFeeAcceptStyleType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPasswordTypeType鏄竴涓瘑鐮佺被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#浜ゆ槗瀵嗙爜 +defineDict["THOST_FTDC_PWDT_Trade"] = '1' +#璧勯噾瀵嗙爜 +defineDict["THOST_FTDC_PWDT_Account"] = '2' + +typedefDict["TThostFtdcPasswordTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAlgorithmType鏄竴涓泩浜忕畻娉曠被鍨 +#////////////////////////////////////////////////////////////////////// +#娴泩娴簭閮借绠 +defineDict["THOST_FTDC_AG_All"] = '1' +#娴泩涓嶈锛屾诞浜忚 +defineDict["THOST_FTDC_AG_OnlyLost"] = '2' +#娴泩璁★紝娴簭涓嶈 +defineDict["THOST_FTDC_AG_OnlyGain"] = '3' +#娴泩娴簭閮戒笉璁$畻 +defineDict["THOST_FTDC_AG_None"] = '4' + +typedefDict["TThostFtdcAlgorithmType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcIncludeCloseProfitType鏄竴涓槸鍚﹀寘鍚钩浠撶泩鍒╃被鍨 +#////////////////////////////////////////////////////////////////////// +#鍖呭惈骞充粨鐩堝埄 +defineDict["THOST_FTDC_ICP_Include"] = '0' +#涓嶅寘鍚钩浠撶泩鍒 +defineDict["THOST_FTDC_ICP_NotInclude"] = '2' + +typedefDict["TThostFtdcIncludeCloseProfitType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAllWithoutTradeType鏄竴涓槸鍚﹀彈鍙彁姣斾緥闄愬埗绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#鏃犱粨鏃犳垚浜や笉鍙楀彲鎻愭瘮渚嬮檺鍒 +defineDict["THOST_FTDC_AWT_Enable"] = '0' +#鍙楀彲鎻愭瘮渚嬮檺鍒 +defineDict["THOST_FTDC_AWT_Disable"] = '2' +#鏃犱粨涓嶅彈鍙彁姣斾緥闄愬埗 +defineDict["THOST_FTDC_AWT_NoHoldEnable"] = '3' + +typedefDict["TThostFtdcAllWithoutTradeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCommentType鏄竴涓泩浜忕畻娉曡鏄庣被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCommentType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcVersionType鏄竴涓増鏈彿绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcVersionType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTradeCodeType鏄竴涓氦鏄撲唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcTradeCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTradeDateType鏄竴涓氦鏄撴棩鏈熺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcTradeDateType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTradeTimeType鏄竴涓氦鏄撴椂闂寸被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcTradeTimeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTradeSerialType鏄竴涓彂璧锋柟娴佹按鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcTradeSerialType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTradeSerialNoType鏄竴涓彂璧锋柟娴佹按鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcTradeSerialNoType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFutureIDType鏄竴涓湡璐у叕鍙镐唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFutureIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankIDType鏄竴涓摱琛屼唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcBankIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankBrchIDType鏄竴涓摱琛屽垎涓績浠g爜绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcBankBrchIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankBranchIDType鏄竴涓垎涓績浠g爜绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcBankBranchIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOperNoType鏄竴涓氦鏄撴煖鍛樼被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcOperNoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDeviceIDType鏄竴涓笭閬撴爣蹇楃被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcDeviceIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRecordNumType鏄竴涓褰曟暟绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcRecordNumType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFutureAccountType鏄竴涓湡璐ц祫閲戣处鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFutureAccountType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFuturePwdFlagType鏄竴涓祫閲戝瘑鐮佹牳瀵规爣蹇楃被鍨 +#////////////////////////////////////////////////////////////////////// +#涓嶆牳瀵 +defineDict["THOST_FTDC_FPWD_UnCheck"] = '0' +#鏍稿 +defineDict["THOST_FTDC_FPWD_Check"] = '1' + +typedefDict["TThostFtdcFuturePwdFlagType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTransferTypeType鏄竴涓摱鏈熻浆璐︾被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#閾惰杞湡璐 +defineDict["THOST_FTDC_TT_BankToFuture"] = '0' +#鏈熻揣杞摱琛 +defineDict["THOST_FTDC_TT_FutureToBank"] = '1' + +typedefDict["TThostFtdcTransferTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFutureAccPwdType鏄竴涓湡璐ц祫閲戝瘑鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFutureAccPwdType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCurrencyCodeType鏄竴涓竵绉嶇被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCurrencyCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRetCodeType鏄竴涓搷搴斾唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcRetCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRetInfoType鏄竴涓搷搴斾俊鎭被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcRetInfoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTradeAmtType鏄竴涓摱琛屾讳綑棰濈被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcTradeAmtType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUseAmtType鏄竴涓摱琛屽彲鐢ㄤ綑棰濈被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcUseAmtType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFetchAmtType鏄竴涓摱琛屽彲鍙栦綑棰濈被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFetchAmtType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTransferValidFlagType鏄竴涓浆璐︽湁鏁堟爣蹇楃被鍨 +#////////////////////////////////////////////////////////////////////// +#鏃犳晥鎴栧け璐 +defineDict["THOST_FTDC_TVF_Invalid"] = '0' +#鏈夋晥 +defineDict["THOST_FTDC_TVF_Valid"] = '1' +#鍐叉 +defineDict["THOST_FTDC_TVF_Reverse"] = '2' + +typedefDict["TThostFtdcTransferValidFlagType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCertCodeType鏄竴涓瘉浠跺彿鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCertCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcReasonType鏄竴涓簨鐢辩被鍨 +#////////////////////////////////////////////////////////////////////// +#閿欏崟 +defineDict["THOST_FTDC_RN_CD"] = '0' +#璧勯噾鍦ㄩ +defineDict["THOST_FTDC_RN_ZT"] = '1' +#鍏跺畠 +defineDict["THOST_FTDC_RN_QT"] = '2' + +typedefDict["TThostFtdcReasonType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFundProjectIDType鏄竴涓祫閲戦」鐩紪鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFundProjectIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSexType鏄竴涓у埆绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#鏈煡 +defineDict["THOST_FTDC_SEX_None"] = '0' +#鐢 +defineDict["THOST_FTDC_SEX_Man"] = '1' +#濂 +defineDict["THOST_FTDC_SEX_Woman"] = '2' + +typedefDict["TThostFtdcSexType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcProfessionType鏄竴涓亴涓氱被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcProfessionType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcNationalType鏄竴涓浗绫嶇被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcNationalType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcProvinceType鏄竴涓渷绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcProvinceType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRegionType鏄竴涓尯绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcRegionType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCountryType鏄竴涓浗瀹剁被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCountryType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcLicenseNOType鏄竴涓惀涓氭墽鐓х被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcLicenseNOType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCompanyTypeType鏄竴涓紒涓氭ц川绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCompanyTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBusinessScopeType鏄竴涓粡钀ヨ寖鍥寸被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcBusinessScopeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCapitalCurrencyType鏄竴涓敞鍐岃祫鏈竵绉嶇被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCapitalCurrencyType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUserTypeType鏄竴涓敤鎴风被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#鎶曡祫鑰 +defineDict["THOST_FTDC_UT_Investor"] = '0' +#鎿嶄綔鍛 +defineDict["THOST_FTDC_UT_Operator"] = '1' +#绠$悊鍛 +defineDict["THOST_FTDC_UT_SuperUser"] = '2' + +typedefDict["TThostFtdcUserTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRateTypeType鏄竴涓垂鐜囩被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#淇濊瘉閲戠巼 +defineDict["THOST_FTDC_RATETYPE_MarginRate"] = '2' + +typedefDict["TThostFtdcRateTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcNoteTypeType鏄竴涓氱煡绫诲瀷绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#浜ゆ槗缁撶畻鍗 +defineDict["THOST_FTDC_NOTETYPE_TradeSettleBill"] = '1' +#浜ゆ槗缁撶畻鏈堟姤 +defineDict["THOST_FTDC_NOTETYPE_TradeSettleMonth"] = '2' +#杩藉姞淇濊瘉閲戦氱煡涔 +defineDict["THOST_FTDC_NOTETYPE_CallMarginNotes"] = '3' +#寮鸿骞充粨閫氱煡涔 +defineDict["THOST_FTDC_NOTETYPE_ForceCloseNotes"] = '4' +#鎴愪氦閫氱煡涔 +defineDict["THOST_FTDC_NOTETYPE_TradeNotes"] = '5' +#浜ゅ壊閫氱煡涔 +defineDict["THOST_FTDC_NOTETYPE_DelivNotes"] = '6' + +typedefDict["TThostFtdcNoteTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSettlementStyleType鏄竴涓粨绠楀崟鏂瑰紡绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#閫愭棩鐩競 +defineDict["THOST_FTDC_SBS_Day"] = '1' +#閫愮瑪瀵瑰啿 +defineDict["THOST_FTDC_SBS_Volume"] = '2' + +typedefDict["TThostFtdcSettlementStyleType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBrokerDNSType鏄竴涓煙鍚嶇被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcBrokerDNSType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSentenceType鏄竴涓鍙ョ被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcSentenceType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSettlementBillTypeType鏄竴涓粨绠楀崟绫诲瀷绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#鏃ユ姤 +defineDict["THOST_FTDC_ST_Day"] = '0' +#鏈堟姤 +defineDict["THOST_FTDC_ST_Month"] = '1' + +typedefDict["TThostFtdcSettlementBillTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUserRightTypeType鏄竴涓鎴锋潈闄愮被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#鐧诲綍 +defineDict["THOST_FTDC_URT_Logon"] = '1' +#閾舵湡杞笎 +defineDict["THOST_FTDC_URT_Transfer"] = '2' +#閭瘎缁撶畻鍗 +defineDict["THOST_FTDC_URT_EMail"] = '3' +#浼犵湡缁撶畻鍗 +defineDict["THOST_FTDC_URT_Fax"] = '4' +#鏉′欢鍗 +defineDict["THOST_FTDC_URT_ConditionOrder"] = '5' + +typedefDict["TThostFtdcUserRightTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcMarginPriceTypeType鏄竴涓繚璇侀噾浠锋牸绫诲瀷绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#鏄ㄧ粨绠椾环 +defineDict["THOST_FTDC_MPT_PreSettlementPrice"] = '1' +#鏈鏂颁环 +defineDict["THOST_FTDC_MPT_SettlementPrice"] = '2' +#鎴愪氦鍧囦环 +defineDict["THOST_FTDC_MPT_AveragePrice"] = '3' +#寮浠撲环 +defineDict["THOST_FTDC_MPT_OpenPrice"] = '4' + +typedefDict["TThostFtdcMarginPriceTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBillGenStatusType鏄竴涓粨绠楀崟鐢熸垚鐘舵佺被鍨 +#////////////////////////////////////////////////////////////////////// +#鏈敓鎴 +defineDict["THOST_FTDC_BGS_None"] = '0' +#鐢熸垚涓 +defineDict["THOST_FTDC_BGS_NoGenerated"] = '1' +#宸茬敓鎴 +defineDict["THOST_FTDC_BGS_Generated"] = '2' + +typedefDict["TThostFtdcBillGenStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAlgoTypeType鏄竴涓畻娉曠被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#鎸佷粨澶勭悊绠楁硶 +defineDict["THOST_FTDC_AT_HandlePositionAlgo"] = '1' +#瀵绘壘淇濊瘉閲戠巼绠楁硶 +defineDict["THOST_FTDC_AT_FindMarginRateAlgo"] = '2' + +typedefDict["TThostFtdcAlgoTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcHandlePositionAlgoIDType鏄竴涓寔浠撳鐞嗙畻娉曠紪鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +#鍩烘湰 +defineDict["THOST_FTDC_HPA_Base"] = '1' +#澶ц繛鍟嗗搧浜ゆ槗鎵 +defineDict["THOST_FTDC_HPA_DCE"] = '2' +#閮戝窞鍟嗗搧浜ゆ槗鎵 +defineDict["THOST_FTDC_HPA_CZCE"] = '3' + +typedefDict["TThostFtdcHandlePositionAlgoIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFindMarginRateAlgoIDType鏄竴涓鎵句繚璇侀噾鐜囩畻娉曠紪鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +#鍩烘湰 +defineDict["THOST_FTDC_FMRA_Base"] = '1' +#澶ц繛鍟嗗搧浜ゆ槗鎵 +defineDict["THOST_FTDC_FMRA_DCE"] = '2' +#閮戝窞鍟嗗搧浜ゆ槗鎵 +defineDict["THOST_FTDC_FMRA_CZCE"] = '3' + +typedefDict["TThostFtdcFindMarginRateAlgoIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcHandleTradingAccountAlgoIDType鏄竴涓祫閲戝鐞嗙畻娉曠紪鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +#鍩烘湰 +defineDict["THOST_FTDC_HTAA_Base"] = '1' +#澶ц繛鍟嗗搧浜ゆ槗鎵 +defineDict["THOST_FTDC_HTAA_DCE"] = '2' +#閮戝窞鍟嗗搧浜ゆ槗鎵 +defineDict["THOST_FTDC_HTAA_CZCE"] = '3' + +typedefDict["TThostFtdcHandleTradingAccountAlgoIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPersonTypeType鏄竴涓仈绯讳汉绫诲瀷绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#鎸囧畾涓嬪崟浜 +defineDict["THOST_FTDC_PST_Order"] = '1' +#寮鎴锋巿鏉冧汉 +defineDict["THOST_FTDC_PST_Open"] = '2' +#璧勯噾璋冩嫧浜 +defineDict["THOST_FTDC_PST_Fund"] = '3' +#缁撶畻鍗曠‘璁や汉 +defineDict["THOST_FTDC_PST_Settlement"] = '4' +#娉曚汉 +defineDict["THOST_FTDC_PST_Company"] = '5' +#娉曚汉浠h〃 +defineDict["THOST_FTDC_PST_Corporation"] = '6' +#鎶曡祫鑰呰仈绯讳汉 +defineDict["THOST_FTDC_PST_LinkMan"] = '7' +#鍒嗘埛绠$悊璧勪骇璐熻矗浜 +defineDict["THOST_FTDC_PST_Ledger"] = '8' +#鎵橈紙淇濓級绠′汉 +defineDict["THOST_FTDC_PST_Trustee"] = '9' +#鎵橈紙淇濓級绠℃満鏋勬硶浜轰唬琛 +defineDict["THOST_FTDC_PST_TrusteeCorporation"] = 'A' +#鎵橈紙淇濓級绠℃満鏋勫紑鎴锋巿鏉冧汉 +defineDict["THOST_FTDC_PST_TrusteeOpen"] = 'B' +#鎵橈紙淇濓級绠℃満鏋勮仈绯讳汉 +defineDict["THOST_FTDC_PST_TrusteeContact"] = 'C' +#澧冨鑷劧浜哄弬鑰冭瘉浠 +defineDict["THOST_FTDC_PST_ForeignerRefer"] = 'D' +#娉曚汉浠h〃鍙傝冭瘉浠 +defineDict["THOST_FTDC_PST_CorporationRefer"] = 'E' + +typedefDict["TThostFtdcPersonTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcQueryInvestorRangeType鏄竴涓煡璇㈣寖鍥寸被鍨 +#////////////////////////////////////////////////////////////////////// +#鎵鏈 +defineDict["THOST_FTDC_QIR_All"] = '1' +#鏌ヨ鍒嗙被 +defineDict["THOST_FTDC_QIR_Group"] = '2' +#鍗曚竴鎶曡祫鑰 +defineDict["THOST_FTDC_QIR_Single"] = '3' + +typedefDict["TThostFtdcQueryInvestorRangeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInvestorRiskStatusType鏄竴涓姇璧勮呴闄╃姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#姝e父 +defineDict["THOST_FTDC_IRS_Normal"] = '1' +#璀﹀憡 +defineDict["THOST_FTDC_IRS_Warn"] = '2' +#杩戒繚 +defineDict["THOST_FTDC_IRS_Call"] = '3' +#寮哄钩 +defineDict["THOST_FTDC_IRS_Force"] = '4' +#寮傚父 +defineDict["THOST_FTDC_IRS_Exception"] = '5' + +typedefDict["TThostFtdcInvestorRiskStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcLegIDType鏄竴涓崟鑵跨紪鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcLegIDType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcLegMultipleType鏄竴涓崟鑵夸箻鏁扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcLegMultipleType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcImplyLevelType鏄竴涓淳鐢熷眰鏁扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcImplyLevelType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcClearAccountType鏄竴涓粨绠楄处鎴风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcClearAccountType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOrganNOType鏄竴涓粨绠楄处鎴风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcOrganNOType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcClearbarchIDType鏄竴涓粨绠楄处鎴疯仈琛屽彿绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcClearbarchIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUserEventTypeType鏄竴涓敤鎴蜂簨浠剁被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#鐧诲綍 +defineDict["THOST_FTDC_UET_Login"] = '1' +#鐧诲嚭 +defineDict["THOST_FTDC_UET_Logout"] = '2' +#浜ゆ槗鎴愬姛 +defineDict["THOST_FTDC_UET_Trading"] = '3' +#浜ゆ槗澶辫触 +defineDict["THOST_FTDC_UET_TradingError"] = '4' +#淇敼瀵嗙爜 +defineDict["THOST_FTDC_UET_UpdatePassword"] = '5' +#瀹㈡埛绔璇 +defineDict["THOST_FTDC_UET_Authenticate"] = '6' +#鍏朵粬 +defineDict["THOST_FTDC_UET_Other"] = '9' + +typedefDict["TThostFtdcUserEventTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUserEventInfoType鏄竴涓敤鎴蜂簨浠朵俊鎭被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcUserEventInfoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCloseStyleType鏄竴涓钩浠撴柟寮忕被鍨 +#////////////////////////////////////////////////////////////////////// +#鍏堝紑鍏堝钩 +defineDict["THOST_FTDC_ICS_Close"] = '0' +#鍏堝钩浠婂啀骞虫槰 +defineDict["THOST_FTDC_ICS_CloseToday"] = '1' + +typedefDict["TThostFtdcCloseStyleType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcStatModeType鏄竴涓粺璁℃柟寮忕被鍨 +#////////////////////////////////////////////////////////////////////// +#---- +defineDict["THOST_FTDC_SM_Non"] = '0' +#鎸夊悎绾︾粺璁 +defineDict["THOST_FTDC_SM_Instrument"] = '1' +#鎸変骇鍝佺粺璁 +defineDict["THOST_FTDC_SM_Product"] = '2' +#鎸夋姇璧勮呯粺璁 +defineDict["THOST_FTDC_SM_Investor"] = '3' + +typedefDict["TThostFtdcStatModeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcParkedOrderStatusType鏄竴涓鍩嬪崟鐘舵佺被鍨 +#////////////////////////////////////////////////////////////////////// +#鏈彂閫 +defineDict["THOST_FTDC_PAOS_NotSend"] = '1' +#宸插彂閫 +defineDict["THOST_FTDC_PAOS_Send"] = '2' +#宸插垹闄 +defineDict["THOST_FTDC_PAOS_Deleted"] = '3' + +typedefDict["TThostFtdcParkedOrderStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcParkedOrderIDType鏄竴涓鍩嬫姤鍗曠紪鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcParkedOrderIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcParkedOrderActionIDType鏄竴涓鍩嬫挙鍗曠紪鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcParkedOrderActionIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcVirDealStatusType鏄竴涓鐞嗙姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#姝e湪澶勭悊 +defineDict["THOST_FTDC_VDS_Dealing"] = '1' +#澶勭悊鎴愬姛 +defineDict["THOST_FTDC_VDS_DeaclSucceed"] = '2' + +typedefDict["TThostFtdcVirDealStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOrgSystemIDType鏄竴涓師鏈夌郴缁熶唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +#缁煎悎浜ゆ槗骞冲彴 +defineDict["THOST_FTDC_ORGS_Standard"] = '0' +#鏄撶洓绯荤粺 +defineDict["THOST_FTDC_ORGS_ESunny"] = '1' +#閲戜粫杈綱6绯荤粺 +defineDict["THOST_FTDC_ORGS_KingStarV6"] = '2' + +typedefDict["TThostFtdcOrgSystemIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcVirTradeStatusType鏄竴涓氦鏄撶姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#姝e父澶勭悊涓 +defineDict["THOST_FTDC_VTS_NaturalDeal"] = '0' +#鎴愬姛缁撴潫 +defineDict["THOST_FTDC_VTS_SucceedEnd"] = '1' +#澶辫触缁撴潫 +defineDict["THOST_FTDC_VTS_FailedEND"] = '2' +#寮傚父涓 +defineDict["THOST_FTDC_VTS_Exception"] = '3' +#宸蹭汉宸ュ紓甯稿鐞 +defineDict["THOST_FTDC_VTS_ManualDeal"] = '4' +#閫氳寮傚父 锛岃浜哄伐澶勭悊 +defineDict["THOST_FTDC_VTS_MesException"] = '5' +#绯荤粺鍑洪敊锛岃浜哄伐澶勭悊 +defineDict["THOST_FTDC_VTS_SysException"] = '6' + +typedefDict["TThostFtdcVirTradeStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcVirBankAccTypeType鏄竴涓摱琛屽笎鎴风被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#瀛樻姌 +defineDict["THOST_FTDC_VBAT_BankBook"] = '1' +#鍌ㄨ搫鍗 +defineDict["THOST_FTDC_VBAT_BankCard"] = '2' +#淇$敤鍗 +defineDict["THOST_FTDC_VBAT_CreditCard"] = '3' + +typedefDict["TThostFtdcVirBankAccTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcVirementStatusType鏄竴涓摱琛屽笎鎴风被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#姝e父 +defineDict["THOST_FTDC_VMS_Natural"] = '0' +#閿鎴 +defineDict["THOST_FTDC_VMS_Canceled"] = '9' + +typedefDict["TThostFtdcVirementStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcVirementAvailAbilityType鏄竴涓湁鏁堟爣蹇楃被鍨 +#////////////////////////////////////////////////////////////////////// +#鏈‘璁 +defineDict["THOST_FTDC_VAA_NoAvailAbility"] = '0' +#鏈夋晥 +defineDict["THOST_FTDC_VAA_AvailAbility"] = '1' +#鍐叉 +defineDict["THOST_FTDC_VAA_Repeal"] = '2' + +typedefDict["TThostFtdcVirementAvailAbilityType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcVirementTradeCodeType鏄竴涓氦鏄撲唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +#閾惰鍙戣捣閾惰璧勯噾杞湡璐 +defineDict["THOST_FTDC_VTC_BankBankToFuture"] = '102001' +#閾惰鍙戣捣鏈熻揣璧勯噾杞摱琛 +defineDict["THOST_FTDC_VTC_BankFutureToBank"] = '102002' +#鏈熻揣鍙戣捣閾惰璧勯噾杞湡璐 +defineDict["THOST_FTDC_VTC_FutureBankToFuture"] = '202001' +#鏈熻揣鍙戣捣鏈熻揣璧勯噾杞摱琛 +defineDict["THOST_FTDC_VTC_FutureFutureToBank"] = '202002' + +typedefDict["TThostFtdcVirementTradeCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPhotoTypeNameType鏄竴涓奖鍍忕被鍨嬪悕绉扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcPhotoTypeNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPhotoTypeIDType鏄竴涓奖鍍忕被鍨嬩唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcPhotoTypeIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPhotoNameType鏄竴涓奖鍍忓悕绉扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcPhotoNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTopicIDType鏄竴涓富棰樹唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcTopicIDType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcReportTypeIDType鏄竴涓氦鏄撴姤鍛婄被鍨嬫爣璇嗙被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcReportTypeIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCharacterIDType鏄竴涓氦鏄撶壒寰佷唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCharacterIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLParamIDType鏄竴涓弬鏁颁唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAMLParamIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLInvestorTypeType鏄竴涓姇璧勮呯被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAMLInvestorTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLIdCardTypeType鏄竴涓瘉浠剁被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAMLIdCardTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLTradeDirectType鏄竴涓祫閲戣繘鍑烘柟鍚戠被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAMLTradeDirectType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLTradeModelType鏄竴涓祫閲戣繘鍑烘柟寮忕被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAMLTradeModelType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLParamIDType鏄竴涓弬鏁颁唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAMLParamIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLOpParamValueType鏄竴涓笟鍔″弬鏁颁唬鐮佸肩被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAMLOpParamValueType"] = "float" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLCustomerCardTypeType鏄竴涓鎴疯韩浠借瘉浠/璇佹槑鏂囦欢绫诲瀷绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAMLCustomerCardTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLInstitutionNameType鏄竴涓噾铻嶆満鏋勭綉鐐瑰悕绉扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAMLInstitutionNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLDistrictIDType鏄竴涓噾铻嶆満鏋勭綉鐐规墍鍦ㄥ湴鍖鸿鏀垮尯鍒掍唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAMLDistrictIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLRelationShipType鏄竴涓噾铻嶆満鏋勭綉鐐逛笌澶ч浜ゆ槗鐨勫叧绯荤被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAMLRelationShipType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLInstitutionTypeType鏄竴涓噾铻嶆満鏋勭綉鐐逛唬鐮佺被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAMLInstitutionTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLInstitutionIDType鏄竴涓噾铻嶆満鏋勭綉鐐逛唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAMLInstitutionIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLAccountTypeType鏄竴涓处鎴风被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAMLAccountTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLTradingTypeType鏄竴涓氦鏄撴柟寮忕被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAMLTradingTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLTransactClassType鏄竴涓秹澶栨敹鏀氦鏄撳垎绫讳笌浠g爜绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAMLTransactClassType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLCapitalIOType鏄竴涓祫閲戞敹浠樻爣璇嗙被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAMLCapitalIOType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLSiteType鏄竴涓氦鏄撳湴鐐圭被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAMLSiteType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLCapitalPurposeType鏄竴涓祫閲戠敤閫旂被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAMLCapitalPurposeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLReportTypeType鏄竴涓姤鏂囩被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAMLReportTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLSerialNoType鏄竴涓紪鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAMLSerialNoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLStatusType鏄竴涓姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAMLStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLGenStatusType鏄竴涓狝ml鐢熸垚鏂瑰紡绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#绋嬪簭鐢熸垚 +defineDict["THOST_FTDC_GEN_Program"] = '0' +#浜哄伐鐢熸垚 +defineDict["THOST_FTDC_GEN_HandWork"] = '1' + +typedefDict["TThostFtdcAMLGenStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLSeqCodeType鏄竴涓笟鍔℃爣璇嗗彿绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAMLSeqCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLFileNameType鏄竴涓狝ML鏂囦欢鍚嶇被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAMLFileNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLMoneyType鏄竴涓弽娲楅挶璧勯噾绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAMLMoneyType"] = "float" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLFileAmountType鏄竴涓弽娲楅挶璧勯噾绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAMLFileAmountType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCFMMCKeyType鏄竴涓瘑閽ョ被鍨(淇濊瘉閲戠洃绠)绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCFMMCKeyType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCFMMCKeyKindType鏄竴涓姩鎬佸瘑閽ョ被鍒(淇濊瘉閲戠洃绠)绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#涓诲姩璇锋眰鏇存柊 +defineDict["THOST_FTDC_CFMMCKK_REQUEST"] = 'R' +#CFMMC鑷姩鏇存柊 +defineDict["THOST_FTDC_CFMMCKK_AUTO"] = 'A' +#CFMMC鎵嬪姩鏇存柊 +defineDict["THOST_FTDC_CFMMCKK_MANUAL"] = 'M' + +typedefDict["TThostFtdcCFMMCKeyKindType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLReportNameType鏄竴涓姤鏂囧悕绉扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAMLReportNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcIndividualNameType鏄竴涓釜浜哄鍚嶇被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcIndividualNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCurrencyIDType鏄竴涓竵绉嶄唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCurrencyIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCustNumberType鏄竴涓鎴风紪鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCustNumberType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOrganCodeType鏄竴涓満鏋勭紪鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcOrganCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOrganNameType鏄竴涓満鏋勫悕绉扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcOrganNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSuperOrganCodeType鏄竴涓笂绾ф満鏋勭紪鐮,鍗虫湡璐у叕鍙告婚儴銆侀摱琛屾昏绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcSuperOrganCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSubBranchIDType鏄竴涓垎鏀満鏋勭被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcSubBranchIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSubBranchNameType鏄竴涓垎鏀満鏋勫悕绉扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcSubBranchNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBranchNetCodeType鏄竴涓満鏋勭綉鐐瑰彿绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcBranchNetCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBranchNetNameType鏄竴涓満鏋勭綉鐐瑰悕绉扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcBranchNetNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOrganFlagType鏄竴涓満鏋勬爣璇嗙被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcOrganFlagType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankCodingForFutureType鏄竴涓摱琛屽鏈熻揣鍏徃鐨勭紪鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcBankCodingForFutureType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankReturnCodeType鏄竴涓摱琛屽杩斿洖鐮佺殑瀹氫箟绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcBankReturnCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPlateReturnCodeType鏄竴涓摱鏈熻浆甯愬钩鍙板杩斿洖鐮佺殑瀹氫箟绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcPlateReturnCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankSubBranchIDType鏄竴涓摱琛屽垎鏀満鏋勭紪鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcBankSubBranchIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFutureBranchIDType鏄竴涓湡璐у垎鏀満鏋勭紪鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFutureBranchIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcReturnCodeType鏄竴涓繑鍥炰唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcReturnCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOperatorCodeType鏄竴涓搷浣滃憳绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcOperatorCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcClearDepIDType鏄竴涓満鏋勭粨绠楀笎鎴锋満鏋勫彿绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcClearDepIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcClearBrchIDType鏄竴涓満鏋勭粨绠楀笎鎴疯仈琛屽彿绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcClearBrchIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcClearNameType鏄竴涓満鏋勭粨绠楀笎鎴峰悕绉扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcClearNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankAccountNameType鏄竴涓摱琛屽笎鎴峰悕绉扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcBankAccountNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInvDepIDType鏄竴涓満鏋勬姇璧勪汉璐﹀彿鏈烘瀯鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcInvDepIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInvBrchIDType鏄竴涓満鏋勬姇璧勪汉鑱旇鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcInvBrchIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcMessageFormatVersionType鏄竴涓俊鎭牸寮忕増鏈被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcMessageFormatVersionType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDigestType鏄竴涓憳瑕佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcDigestType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAuthenticDataType鏄竴涓璇佹暟鎹被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAuthenticDataType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPasswordKeyType鏄竴涓瘑閽ョ被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcPasswordKeyType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFutureAccountNameType鏄竴涓湡璐у笎鎴峰悕绉扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFutureAccountNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcMobilePhoneType鏄竴涓墜鏈虹被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcMobilePhoneType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFutureMainKeyType鏄竴涓湡璐у叕鍙镐富瀵嗛挜绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFutureMainKeyType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFutureWorkKeyType鏄竴涓湡璐у叕鍙稿伐浣滃瘑閽ョ被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFutureWorkKeyType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFutureTransKeyType鏄竴涓湡璐у叕鍙镐紶杈撳瘑閽ョ被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFutureTransKeyType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankMainKeyType鏄竴涓摱琛屼富瀵嗛挜绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcBankMainKeyType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankWorkKeyType鏄竴涓摱琛屽伐浣滃瘑閽ョ被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcBankWorkKeyType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankTransKeyType鏄竴涓摱琛屼紶杈撳瘑閽ョ被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcBankTransKeyType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankServerDescriptionType鏄竴涓摱琛屾湇鍔″櫒鎻忚堪淇℃伅绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcBankServerDescriptionType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAddInfoType鏄竴涓檮鍔犱俊鎭被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAddInfoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDescrInfoForReturnCodeType鏄竴涓繑鍥炵爜鎻忚堪绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcDescrInfoForReturnCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCountryCodeType鏄竴涓浗瀹朵唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCountryCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSerialType鏄竴涓祦姘村彿绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcSerialType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPlateSerialType鏄竴涓钩鍙版祦姘村彿绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcPlateSerialType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankSerialType鏄竴涓摱琛屾祦姘村彿绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcBankSerialType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCorrectSerialType鏄竴涓鍐叉浜ゆ槗娴佹按鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCorrectSerialType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFutureSerialType鏄竴涓湡璐у叕鍙告祦姘村彿绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFutureSerialType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcApplicationIDType鏄竴涓簲鐢ㄦ爣璇嗙被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcApplicationIDType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankProxyIDType鏄竴涓摱琛屼唬鐞嗘爣璇嗙被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcBankProxyIDType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBTCoreIDType鏄竴涓摱鏈熻浆甯愭牳蹇冪郴缁熸爣璇嗙被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFBTCoreIDType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcServerPortType鏄竴涓湇鍔$鍙e彿绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcServerPortType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRepealedTimesType鏄竴涓凡缁忓啿姝f鏁扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcRepealedTimesType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRepealTimeIntervalType鏄竴涓啿姝f椂闂撮棿闅旂被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcRepealTimeIntervalType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTotalTimesType鏄竴涓瘡鏃ョ疮璁¤浆甯愭鏁扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcTotalTimesType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBTRequestIDType鏄竴涓姹侷D绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFBTRequestIDType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTIDType鏄竴涓氦鏄揑D绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcTIDType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTradeAmountType鏄竴涓氦鏄撻噾棰濓紙鍏冿級绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcTradeAmountType"] = "float" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCustFeeType鏄竴涓簲鏀跺鎴疯垂鐢紙鍏冿級绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCustFeeType"] = "float" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFutureFeeType鏄竴涓簲鏀舵湡璐у叕鍙歌垂鐢紙鍏冿級绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFutureFeeType"] = "float" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSingleMaxAmtType鏄竴涓崟绗旀渶楂橀檺棰濈被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcSingleMaxAmtType"] = "float" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSingleMinAmtType鏄竴涓崟绗旀渶浣庨檺棰濈被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcSingleMinAmtType"] = "float" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTotalAmtType鏄竴涓瘡鏃ョ疮璁¤浆甯愰搴︾被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcTotalAmtType"] = "float" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCertificationTypeType鏄竴涓瘉浠剁被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#韬唤璇 +defineDict["THOST_FTDC_CFT_IDCard"] = '0' +#鎶ょ収 +defineDict["THOST_FTDC_CFT_Passport"] = '1' +#鍐涘畼璇 +defineDict["THOST_FTDC_CFT_OfficerIDCard"] = '2' +#澹叺璇 +defineDict["THOST_FTDC_CFT_SoldierIDCard"] = '3' +#鍥炰埂璇 +defineDict["THOST_FTDC_CFT_HomeComingCard"] = '4' +#鎴峰彛绨 +defineDict["THOST_FTDC_CFT_HouseholdRegister"] = '5' +#钀ヤ笟鎵х収鍙 +defineDict["THOST_FTDC_CFT_LicenseNo"] = '6' +#缁勭粐鏈烘瀯浠g爜璇 +defineDict["THOST_FTDC_CFT_InstitutionCodeCard"] = '7' +#涓存椂钀ヤ笟鎵х収鍙 +defineDict["THOST_FTDC_CFT_TempLicenseNo"] = '8' +#姘戝姙闈炰紒涓氱櫥璁拌瘉涔 +defineDict["THOST_FTDC_CFT_NoEnterpriseLicenseNo"] = '9' +#鍏朵粬璇佷欢 +defineDict["THOST_FTDC_CFT_OtherCard"] = 'x' +#涓荤閮ㄩ棬鎵规枃 +defineDict["THOST_FTDC_CFT_SuperDepAgree"] = 'a' + +typedefDict["TThostFtdcCertificationTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFileBusinessCodeType鏄竴涓枃浠朵笟鍔″姛鑳界被鍨 +#////////////////////////////////////////////////////////////////////// +#鍏朵粬 +defineDict["THOST_FTDC_FBC_Others"] = '0' +#杞处浜ゆ槗鏄庣粏瀵硅处 +defineDict["THOST_FTDC_FBC_TransferDetails"] = '1' +#瀹㈡埛璐︽埛鐘舵佸璐 +defineDict["THOST_FTDC_FBC_CustAccStatus"] = '2' +#璐︽埛绫讳氦鏄撴槑缁嗗璐 +defineDict["THOST_FTDC_FBC_AccountTradeDetails"] = '3' +#鏈熻揣璐︽埛淇℃伅鍙樻洿鏄庣粏瀵硅处 +defineDict["THOST_FTDC_FBC_FutureAccountChangeInfoDetails"] = '4' +#瀹㈡埛璧勯噾鍙拌处浣欓鏄庣粏瀵硅处 +defineDict["THOST_FTDC_FBC_CustMoneyDetail"] = '5' +#瀹㈡埛閿鎴风粨鎭槑缁嗗璐 +defineDict["THOST_FTDC_FBC_CustCancelAccountInfo"] = '6' +#瀹㈡埛璧勯噾浣欓瀵硅处缁撴灉 +defineDict["THOST_FTDC_FBC_CustMoneyResult"] = '7' +#鍏跺畠瀵硅处寮傚父缁撴灉鏂囦欢 +defineDict["THOST_FTDC_FBC_OthersExceptionResult"] = '8' +#瀹㈡埛缁撴伅鍑棰濇槑缁 +defineDict["THOST_FTDC_FBC_CustInterestNetMoneyDetails"] = '9' +#瀹㈡埛璧勯噾浜ゆ敹鏄庣粏 +defineDict["THOST_FTDC_FBC_CustMoneySendAndReceiveDetails"] = 'a' +#娉曚汉瀛樼閾惰璧勯噾浜ゆ敹姹囨 +defineDict["THOST_FTDC_FBC_CorporationMoneyTotal"] = 'b' +#涓讳綋闂磋祫閲戜氦鏀舵眹鎬 +defineDict["THOST_FTDC_FBC_MainbodyMoneyTotal"] = 'c' +#鎬诲垎骞宠 鐩戠鏁版嵁 +defineDict["THOST_FTDC_FBC_MainPartMonitorData"] = 'd' +#瀛樼閾惰澶囦粯閲戜綑棰 +defineDict["THOST_FTDC_FBC_PreparationMoney"] = 'e' +#鍗忓姙瀛樼閾惰璧勯噾鐩戠鏁版嵁 +defineDict["THOST_FTDC_FBC_BankMoneyMonitorData"] = 'f' + +typedefDict["TThostFtdcFileBusinessCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCashExchangeCodeType鏄竴涓眹閽炴爣蹇楃被鍨 +#////////////////////////////////////////////////////////////////////// +#姹 +defineDict["THOST_FTDC_CEC_Exchange"] = '1' +#閽 +defineDict["THOST_FTDC_CEC_Cash"] = '2' + +typedefDict["TThostFtdcCashExchangeCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcYesNoIndicatorType鏄竴涓槸鎴栧惁鏍囪瘑绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#鏄 +defineDict["THOST_FTDC_YNI_Yes"] = '0' +#鍚 +defineDict["THOST_FTDC_YNI_No"] = '1' + +typedefDict["TThostFtdcYesNoIndicatorType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBanlanceTypeType鏄竴涓綑棰濈被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#褰撳墠浣欓 +defineDict["THOST_FTDC_BLT_CurrentMoney"] = '0' +#鍙敤浣欓 +defineDict["THOST_FTDC_BLT_UsableMoney"] = '1' +#鍙彇浣欓 +defineDict["THOST_FTDC_BLT_FetchableMoney"] = '2' +#鍐荤粨浣欓 +defineDict["THOST_FTDC_BLT_FreezeMoney"] = '3' + +typedefDict["TThostFtdcBanlanceTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcGenderType鏄竴涓у埆绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#鏈煡鐘舵 +defineDict["THOST_FTDC_GD_Unknown"] = '0' +#鐢 +defineDict["THOST_FTDC_GD_Male"] = '1' +#濂 +defineDict["THOST_FTDC_GD_Female"] = '2' + +typedefDict["TThostFtdcGenderType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFeePayFlagType鏄竴涓垂鐢ㄦ敮浠樻爣蹇楃被鍨 +#////////////////////////////////////////////////////////////////////// +#鐢卞彈鐩婃柟鏀粯璐圭敤 +defineDict["THOST_FTDC_FPF_BEN"] = '0' +#鐢卞彂閫佹柟鏀粯璐圭敤 +defineDict["THOST_FTDC_FPF_OUR"] = '1' +#鐢卞彂閫佹柟鏀粯鍙戣捣鐨勮垂鐢紝鍙楃泭鏂规敮浠樻帴鍙楃殑璐圭敤 +defineDict["THOST_FTDC_FPF_SHA"] = '2' + +typedefDict["TThostFtdcFeePayFlagType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPassWordKeyTypeType鏄竴涓瘑閽ョ被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#浜ゆ崲瀵嗛挜 +defineDict["THOST_FTDC_PWKT_ExchangeKey"] = '0' +#瀵嗙爜瀵嗛挜 +defineDict["THOST_FTDC_PWKT_PassWordKey"] = '1' +#MAC瀵嗛挜 +defineDict["THOST_FTDC_PWKT_MACKey"] = '2' +#鎶ユ枃瀵嗛挜 +defineDict["THOST_FTDC_PWKT_MessageKey"] = '3' + +typedefDict["TThostFtdcPassWordKeyTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBTPassWordTypeType鏄竴涓瘑鐮佺被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#鏌ヨ +defineDict["THOST_FTDC_PWT_Query"] = '0' +#鍙栨 +defineDict["THOST_FTDC_PWT_Fetch"] = '1' +#杞笎 +defineDict["THOST_FTDC_PWT_Transfer"] = '2' +#浜ゆ槗 +defineDict["THOST_FTDC_PWT_Trade"] = '3' + +typedefDict["TThostFtdcFBTPassWordTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBTEncryModeType鏄竴涓姞瀵嗘柟寮忕被鍨 +#////////////////////////////////////////////////////////////////////// +#涓嶅姞瀵 +defineDict["THOST_FTDC_EM_NoEncry"] = '0' +#DES +defineDict["THOST_FTDC_EM_DES"] = '1' +#3DES +defineDict["THOST_FTDC_EM_3DES"] = '2' + +typedefDict["TThostFtdcFBTEncryModeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankRepealFlagType鏄竴涓摱琛屽啿姝f爣蹇楃被鍨 +#////////////////////////////////////////////////////////////////////// +#閾惰鏃犻渶鑷姩鍐叉 +defineDict["THOST_FTDC_BRF_BankNotNeedRepeal"] = '0' +#閾惰寰呰嚜鍔ㄥ啿姝 +defineDict["THOST_FTDC_BRF_BankWaitingRepeal"] = '1' +#閾惰宸茶嚜鍔ㄥ啿姝 +defineDict["THOST_FTDC_BRF_BankBeenRepealed"] = '2' + +typedefDict["TThostFtdcBankRepealFlagType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBrokerRepealFlagType鏄竴涓湡鍟嗗啿姝f爣蹇楃被鍨 +#////////////////////////////////////////////////////////////////////// +#鏈熷晢鏃犻渶鑷姩鍐叉 +defineDict["THOST_FTDC_BRORF_BrokerNotNeedRepeal"] = '0' +#鏈熷晢寰呰嚜鍔ㄥ啿姝 +defineDict["THOST_FTDC_BRORF_BrokerWaitingRepeal"] = '1' +#鏈熷晢宸茶嚜鍔ㄥ啿姝 +defineDict["THOST_FTDC_BRORF_BrokerBeenRepealed"] = '2' + +typedefDict["TThostFtdcBrokerRepealFlagType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInstitutionTypeType鏄竴涓満鏋勭被鍒被鍨 +#////////////////////////////////////////////////////////////////////// +#閾惰 +defineDict["THOST_FTDC_TS_Bank"] = '0' +#鏈熷晢 +defineDict["THOST_FTDC_TS_Future"] = '1' +#鍒稿晢 +defineDict["THOST_FTDC_TS_Store"] = '2' + +typedefDict["TThostFtdcInstitutionTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcLastFragmentType鏄竴涓渶鍚庡垎鐗囨爣蹇楃被鍨 +#////////////////////////////////////////////////////////////////////// +#鏄渶鍚庡垎鐗 +defineDict["THOST_FTDC_LF_Yes"] = '0' +#涓嶆槸鏈鍚庡垎鐗 +defineDict["THOST_FTDC_LF_No"] = '1' + +typedefDict["TThostFtdcLastFragmentType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankAccStatusType鏄竴涓摱琛岃处鎴风姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#姝e父 +defineDict["THOST_FTDC_BAS_Normal"] = '0' +#鍐荤粨 +defineDict["THOST_FTDC_BAS_Freeze"] = '1' +#鎸傚け +defineDict["THOST_FTDC_BAS_ReportLoss"] = '2' + +typedefDict["TThostFtdcBankAccStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcMoneyAccountStatusType鏄竴涓祫閲戣处鎴风姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#姝e父 +defineDict["THOST_FTDC_MAS_Normal"] = '0' +#閿鎴 +defineDict["THOST_FTDC_MAS_Cancel"] = '1' + +typedefDict["TThostFtdcMoneyAccountStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcManageStatusType鏄竴涓瓨绠$姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#鎸囧畾瀛樼 +defineDict["THOST_FTDC_MSS_Point"] = '0' +#棰勬寚瀹 +defineDict["THOST_FTDC_MSS_PrePoint"] = '1' +#鎾ら攢鎸囧畾 +defineDict["THOST_FTDC_MSS_CancelPoint"] = '2' + +typedefDict["TThostFtdcManageStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSystemTypeType鏄竴涓簲鐢ㄧ郴缁熺被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#閾舵湡杞笎 +defineDict["THOST_FTDC_SYT_FutureBankTransfer"] = '0' +#閾惰瘉杞笎 +defineDict["THOST_FTDC_SYT_StockBankTransfer"] = '1' +#绗笁鏂瑰瓨绠 +defineDict["THOST_FTDC_SYT_TheThirdPartStore"] = '2' + +typedefDict["TThostFtdcSystemTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTxnEndFlagType鏄竴涓摱鏈熻浆甯愬垝杞粨鏋滄爣蹇楃被鍨 +#////////////////////////////////////////////////////////////////////// +#姝e父澶勭悊涓 +defineDict["THOST_FTDC_TEF_NormalProcessing"] = '0' +#鎴愬姛缁撴潫 +defineDict["THOST_FTDC_TEF_Success"] = '1' +#澶辫触缁撴潫 +defineDict["THOST_FTDC_TEF_Failed"] = '2' +#寮傚父涓 +defineDict["THOST_FTDC_TEF_Abnormal"] = '3' +#宸蹭汉宸ュ紓甯稿鐞 +defineDict["THOST_FTDC_TEF_ManualProcessedForException"] = '4' +#閫氳寮傚父 锛岃浜哄伐澶勭悊 +defineDict["THOST_FTDC_TEF_CommuFailedNeedManualProcess"] = '5' +#绯荤粺鍑洪敊锛岃浜哄伐澶勭悊 +defineDict["THOST_FTDC_TEF_SysErrorNeedManualProcess"] = '6' + +typedefDict["TThostFtdcTxnEndFlagType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcProcessStatusType鏄竴涓摱鏈熻浆甯愭湇鍔″鐞嗙姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#鏈鐞 +defineDict["THOST_FTDC_PSS_NotProcess"] = '0' +#寮濮嬪鐞 +defineDict["THOST_FTDC_PSS_StartProcess"] = '1' +#澶勭悊瀹屾垚 +defineDict["THOST_FTDC_PSS_Finished"] = '2' + +typedefDict["TThostFtdcProcessStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCustTypeType鏄竴涓鎴风被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#鑷劧浜 +defineDict["THOST_FTDC_CUSTT_Person"] = '0' +#鏈烘瀯鎴 +defineDict["THOST_FTDC_CUSTT_Institution"] = '1' + +typedefDict["TThostFtdcCustTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBTTransferDirectionType鏄竴涓摱鏈熻浆甯愭柟鍚戠被鍨 +#////////////////////////////////////////////////////////////////////// +#鍏ラ噾锛岄摱琛岃浆鏈熻揣 +defineDict["THOST_FTDC_FBTTD_FromBankToFuture"] = '1' +#鍑洪噾锛屾湡璐ц浆閾惰 +defineDict["THOST_FTDC_FBTTD_FromFutureToBank"] = '2' + +typedefDict["TThostFtdcFBTTransferDirectionType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOpenOrDestroyType鏄竴涓紑閿鎴风被鍒被鍨 +#////////////////////////////////////////////////////////////////////// +#寮鎴 +defineDict["THOST_FTDC_OOD_Open"] = '1' +#閿鎴 +defineDict["THOST_FTDC_OOD_Destroy"] = '0' + +typedefDict["TThostFtdcOpenOrDestroyType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAvailabilityFlagType鏄竴涓湁鏁堟爣蹇楃被鍨 +#////////////////////////////////////////////////////////////////////// +#鏈‘璁 +defineDict["THOST_FTDC_AVAF_Invalid"] = '0' +#鏈夋晥 +defineDict["THOST_FTDC_AVAF_Valid"] = '1' +#鍐叉 +defineDict["THOST_FTDC_AVAF_Repeal"] = '2' + +typedefDict["TThostFtdcAvailabilityFlagType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOrganTypeType鏄竴涓満鏋勭被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#閾惰浠g悊 +defineDict["THOST_FTDC_OT_Bank"] = '1' +#浜ゆ槗鍓嶇疆 +defineDict["THOST_FTDC_OT_Future"] = '2' +#閾舵湡杞笎骞冲彴绠$悊 +defineDict["THOST_FTDC_OT_PlateForm"] = '9' + +typedefDict["TThostFtdcOrganTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOrganLevelType鏄竴涓満鏋勭骇鍒被鍨 +#////////////////////////////////////////////////////////////////////// +#閾惰鎬昏鎴栨湡鍟嗘婚儴 +defineDict["THOST_FTDC_OL_HeadQuarters"] = '1' +#閾惰鍒嗕腑蹇冩垨鏈熻揣鍏徃钀ヤ笟閮 +defineDict["THOST_FTDC_OL_Branch"] = '2' + +typedefDict["TThostFtdcOrganLevelType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcProtocalIDType鏄竴涓崗璁被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#鏈熷晢鍗忚 +defineDict["THOST_FTDC_PID_FutureProtocal"] = '0' +#宸ヨ鍗忚 +defineDict["THOST_FTDC_PID_ICBCProtocal"] = '1' +#鍐滆鍗忚 +defineDict["THOST_FTDC_PID_ABCProtocal"] = '2' +#涓浗閾惰鍗忚 +defineDict["THOST_FTDC_PID_CBCProtocal"] = '3' +#寤鸿鍗忚 +defineDict["THOST_FTDC_PID_CCBProtocal"] = '4' +#浜よ鍗忚 +defineDict["THOST_FTDC_PID_BOCOMProtocal"] = '5' +#閾舵湡杞笎骞冲彴鍗忚 +defineDict["THOST_FTDC_PID_FBTPlateFormProtocal"] = 'X' + +typedefDict["TThostFtdcProtocalIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcConnectModeType鏄竴涓鎺ュ瓧杩炴帴鏂瑰紡绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#鐭繛鎺 +defineDict["THOST_FTDC_CM_ShortConnect"] = '0' +#闀胯繛鎺 +defineDict["THOST_FTDC_CM_LongConnect"] = '1' + +typedefDict["TThostFtdcConnectModeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSyncModeType鏄竴涓鎺ュ瓧閫氫俊鏂瑰紡绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#寮傛 +defineDict["THOST_FTDC_SRM_ASync"] = '0' +#鍚屾 +defineDict["THOST_FTDC_SRM_Sync"] = '1' + +typedefDict["TThostFtdcSyncModeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankAccTypeType鏄竴涓摱琛屽笎鍙风被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#閾惰瀛樻姌 +defineDict["THOST_FTDC_BAT_BankBook"] = '1' +#鍌ㄨ搫鍗 +defineDict["THOST_FTDC_BAT_SavingCard"] = '2' +#淇$敤鍗 +defineDict["THOST_FTDC_BAT_CreditCard"] = '3' + +typedefDict["TThostFtdcBankAccTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFutureAccTypeType鏄竴涓湡璐у叕鍙稿笎鍙风被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#閾惰瀛樻姌 +defineDict["THOST_FTDC_FAT_BankBook"] = '1' +#鍌ㄨ搫鍗 +defineDict["THOST_FTDC_FAT_SavingCard"] = '2' +#淇$敤鍗 +defineDict["THOST_FTDC_FAT_CreditCard"] = '3' + +typedefDict["TThostFtdcFutureAccTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOrganStatusType鏄竴涓帴鍏ユ満鏋勭姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#鍚敤 +defineDict["THOST_FTDC_OS_Ready"] = '0' +#绛惧埌 +defineDict["THOST_FTDC_OS_CheckIn"] = '1' +#绛鹃 +defineDict["THOST_FTDC_OS_CheckOut"] = '2' +#瀵瑰笎鏂囦欢鍒拌揪 +defineDict["THOST_FTDC_OS_CheckFileArrived"] = '3' +#瀵瑰笎 +defineDict["THOST_FTDC_OS_CheckDetail"] = '4' +#鏃ョ粓娓呯悊 +defineDict["THOST_FTDC_OS_DayEndClean"] = '5' +#娉ㄩ攢 +defineDict["THOST_FTDC_OS_Invalid"] = '9' + +typedefDict["TThostFtdcOrganStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCCBFeeModeType鏄竴涓缓琛屾敹璐规ā寮忕被鍨 +#////////////////////////////////////////////////////////////////////// +#鎸夐噾棰濇墸鏀 +defineDict["THOST_FTDC_CCBFM_ByAmount"] = '1' +#鎸夋湀鎵f敹 +defineDict["THOST_FTDC_CCBFM_ByMonth"] = '2' + +typedefDict["TThostFtdcCCBFeeModeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCommApiTypeType鏄竴涓氳API绫诲瀷绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#瀹㈡埛绔 +defineDict["THOST_FTDC_CAPIT_Client"] = '1' +#鏈嶅姟绔 +defineDict["THOST_FTDC_CAPIT_Server"] = '2' +#浜ゆ槗绯荤粺鐨刄serApi +defineDict["THOST_FTDC_CAPIT_UserApi"] = '3' + +typedefDict["TThostFtdcCommApiTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcServiceIDType鏄竴涓湇鍔$紪鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcServiceIDType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcServiceLineNoType鏄竴涓湇鍔$嚎璺紪鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcServiceLineNoType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcServiceNameType鏄竴涓湇鍔″悕绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcServiceNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcLinkStatusType鏄竴涓繛鎺ョ姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#宸茬粡杩炴帴 +defineDict["THOST_FTDC_LS_Connected"] = '1' +#娌℃湁杩炴帴 +defineDict["THOST_FTDC_LS_Disconnected"] = '2' + +typedefDict["TThostFtdcLinkStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCommApiPointerType鏄竴涓氳API鎸囬拡绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCommApiPointerType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPwdFlagType鏄竴涓瘑鐮佹牳瀵规爣蹇楃被鍨 +#////////////////////////////////////////////////////////////////////// +#涓嶆牳瀵 +defineDict["THOST_FTDC_BPWDF_NoCheck"] = '0' +#鏄庢枃鏍稿 +defineDict["THOST_FTDC_BPWDF_BlankCheck"] = '1' +#瀵嗘枃鏍稿 +defineDict["THOST_FTDC_BPWDF_EncryptCheck"] = '2' + +typedefDict["TThostFtdcPwdFlagType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSecuAccTypeType鏄竴涓湡璐у笎鍙风被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#璧勯噾甯愬彿 +defineDict["THOST_FTDC_SAT_AccountID"] = '1' +#璧勯噾鍗″彿 +defineDict["THOST_FTDC_SAT_CardID"] = '2' +#涓婃捣鑲′笢甯愬彿 +defineDict["THOST_FTDC_SAT_SHStockholderID"] = '3' +#娣卞湷鑲′笢甯愬彿 +defineDict["THOST_FTDC_SAT_SZStockholderID"] = '4' + +typedefDict["TThostFtdcSecuAccTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTransferStatusType鏄竴涓浆璐︿氦鏄撶姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#姝e父 +defineDict["THOST_FTDC_TRFS_Normal"] = '0' +#琚啿姝 +defineDict["THOST_FTDC_TRFS_Repealed"] = '1' + +typedefDict["TThostFtdcTransferStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSponsorTypeType鏄竴涓彂璧锋柟绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#鏈熷晢 +defineDict["THOST_FTDC_SPTYPE_Broker"] = '0' +#閾惰 +defineDict["THOST_FTDC_SPTYPE_Bank"] = '1' + +typedefDict["TThostFtdcSponsorTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcReqRspTypeType鏄竴涓姹傚搷搴旂被鍒被鍨 +#////////////////////////////////////////////////////////////////////// +#璇锋眰 +defineDict["THOST_FTDC_REQRSP_Request"] = '0' +#鍝嶅簲 +defineDict["THOST_FTDC_REQRSP_Response"] = '1' + +typedefDict["TThostFtdcReqRspTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBTUserEventTypeType鏄竴涓摱鏈熻浆甯愮敤鎴蜂簨浠剁被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#绛惧埌 +defineDict["THOST_FTDC_FBTUET_SignIn"] = '0' +#閾惰杞湡璐 +defineDict["THOST_FTDC_FBTUET_FromBankToFuture"] = '1' +#鏈熻揣杞摱琛 +defineDict["THOST_FTDC_FBTUET_FromFutureToBank"] = '2' +#寮鎴 +defineDict["THOST_FTDC_FBTUET_OpenAccount"] = '3' +#閿鎴 +defineDict["THOST_FTDC_FBTUET_CancelAccount"] = '4' +#鍙樻洿閾惰璐︽埛 +defineDict["THOST_FTDC_FBTUET_ChangeAccount"] = '5' +#鍐叉閾惰杞湡璐 +defineDict["THOST_FTDC_FBTUET_RepealFromBankToFuture"] = '6' +#鍐叉鏈熻揣杞摱琛 +defineDict["THOST_FTDC_FBTUET_RepealFromFutureToBank"] = '7' +#鏌ヨ閾惰璐︽埛 +defineDict["THOST_FTDC_FBTUET_QueryBankAccount"] = '8' +#鏌ヨ鏈熻揣璐︽埛 +defineDict["THOST_FTDC_FBTUET_QueryFutureAccount"] = '9' +#绛鹃 +defineDict["THOST_FTDC_FBTUET_SignOut"] = 'A' +#瀵嗛挜鍚屾 +defineDict["THOST_FTDC_FBTUET_SyncKey"] = 'B' +#鍏朵粬 +defineDict["THOST_FTDC_FBTUET_Other"] = 'Z' + +typedefDict["TThostFtdcFBTUserEventTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankIDByBankType鏄竴涓摱琛岃嚜宸辩殑缂栫爜绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcBankIDByBankType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankOperNoType鏄竴涓摱琛屾搷浣滃憳鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcBankOperNoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankCustNoType鏄竴涓摱琛屽鎴峰彿绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcBankCustNoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDBOPSeqNoType鏄竴涓掑鐨勫簭鍒楀彿绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcDBOPSeqNoType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTableNameType鏄竴涓狥BT琛ㄥ悕绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcTableNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPKNameType鏄竴涓狥BT琛ㄦ搷浣滀富閿悕绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcPKNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPKValueType鏄竴涓狥BT琛ㄦ搷浣滀富閿肩被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcPKValueType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDBOperationType鏄竴涓褰曟搷浣滅被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#鎻掑叆 +defineDict["THOST_FTDC_DBOP_Insert"] = '0' +#鏇存柊 +defineDict["THOST_FTDC_DBOP_Update"] = '1' +#鍒犻櫎 +defineDict["THOST_FTDC_DBOP_Delete"] = '2' + +typedefDict["TThostFtdcDBOperationType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSyncFlagType鏄竴涓悓姝ユ爣璁扮被鍨 +#////////////////////////////////////////////////////////////////////// +#宸插悓姝 +defineDict["THOST_FTDC_SYNF_Yes"] = '0' +#鏈悓姝 +defineDict["THOST_FTDC_SYNF_No"] = '1' + +typedefDict["TThostFtdcSyncFlagType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTargetIDType鏄竴涓悓姝ョ洰鏍囩紪鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcTargetIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSyncTypeType鏄竴涓悓姝ョ被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#涓娆″悓姝 +defineDict["THOST_FTDC_SYNT_OneOffSync"] = '0' +#瀹氭椂鍚屾 +defineDict["THOST_FTDC_SYNT_TimerSync"] = '1' +#瀹氭椂瀹屽叏鍚屾 +defineDict["THOST_FTDC_SYNT_TimerFullSync"] = '2' + +typedefDict["TThostFtdcSyncTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBETimeType鏄竴涓悇绉嶆崲姹囨椂闂寸被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFBETimeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBEBankNoType鏄竴涓崲姹囬摱琛岃鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFBEBankNoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBECertNoType鏄竴涓崲姹囧嚟璇佸彿绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFBECertNoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcExDirectionType鏄竴涓崲姹囨柟鍚戠被鍨 +#////////////////////////////////////////////////////////////////////// +#缁撴眹 +defineDict["THOST_FTDC_FBEDIR_Settlement"] = '0' +#鍞眹 +defineDict["THOST_FTDC_FBEDIR_Sale"] = '1' + +typedefDict["TThostFtdcExDirectionType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBEBankAccountType鏄竴涓崲姹囬摱琛岃处鎴风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFBEBankAccountType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBEBankAccountNameType鏄竴涓崲姹囬摱琛岃处鎴峰悕绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFBEBankAccountNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBEAmtType鏄竴涓悇绉嶆崲姹囬噾棰濈被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFBEAmtType"] = "float" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBEBusinessTypeType鏄竴涓崲姹囦笟鍔$被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFBEBusinessTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBEPostScriptType鏄竴涓崲姹囬檮瑷绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFBEPostScriptType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBERemarkType鏄竴涓崲姹囧娉ㄧ被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFBERemarkType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcExRateType鏄竴涓崲姹囨眹鐜囩被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcExRateType"] = "float" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBEResultFlagType鏄竴涓崲姹囨垚鍔熸爣蹇楃被鍨 +#////////////////////////////////////////////////////////////////////// +#鎴愬姛 +defineDict["THOST_FTDC_FBERES_Success"] = '0' +#璐︽埛浣欓涓嶈冻 +defineDict["THOST_FTDC_FBERES_InsufficientBalance"] = '1' +#浜ゆ槗缁撴灉鏈煡 +defineDict["THOST_FTDC_FBERES_UnknownTrading"] = '8' +#澶辫触 +defineDict["THOST_FTDC_FBERES_Fail"] = 'x' + +typedefDict["TThostFtdcFBEResultFlagType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBERtnMsgType鏄竴涓崲姹囪繑鍥炰俊鎭被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFBERtnMsgType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBEExtendMsgType鏄竴涓崲姹囨墿灞曚俊鎭被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFBEExtendMsgType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBEBusinessSerialType鏄竴涓崲姹囪璐︽祦姘村彿绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFBEBusinessSerialType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBESystemSerialType鏄竴涓崲姹囨祦姘村彿绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFBESystemSerialType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBETotalExCntType鏄竴涓崲姹囦氦鏄撴荤瑪鏁扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFBETotalExCntType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBEExchStatusType鏄竴涓崲姹囦氦鏄撶姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#姝e父 +defineDict["THOST_FTDC_FBEES_Normal"] = '0' +#浜ゆ槗閲嶅彂 +defineDict["THOST_FTDC_FBEES_ReExchange"] = '1' + +typedefDict["TThostFtdcFBEExchStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBEFileFlagType鏄竴涓崲姹囨枃浠舵爣蹇楃被鍨 +#////////////////////////////////////////////////////////////////////// +#鏁版嵁鍖 +defineDict["THOST_FTDC_FBEFG_DataPackage"] = '0' +#鏂囦欢 +defineDict["THOST_FTDC_FBEFG_File"] = '1' + +typedefDict["TThostFtdcFBEFileFlagType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBEAlreadyTradeType鏄竴涓崲姹囧凡浜ゆ槗鏍囧織绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#鏈氦鏄 +defineDict["THOST_FTDC_FBEAT_NotTrade"] = '0' +#宸蹭氦鏄 +defineDict["THOST_FTDC_FBEAT_Trade"] = '1' + +typedefDict["TThostFtdcFBEAlreadyTradeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBEOpenBankType鏄竴涓崲姹囪处鎴峰紑鎴疯绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFBEOpenBankType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBEUserEventTypeType鏄竴涓摱鏈熸崲姹囩敤鎴蜂簨浠剁被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#绛惧埌 +defineDict["THOST_FTDC_FBEUET_SignIn"] = '0' +#鎹㈡眹 +defineDict["THOST_FTDC_FBEUET_Exchange"] = '1' +#鎹㈡眹閲嶅彂 +defineDict["THOST_FTDC_FBEUET_ReExchange"] = '2' +#閾惰璐︽埛鏌ヨ +defineDict["THOST_FTDC_FBEUET_QueryBankAccount"] = '3' +#鎹㈡眹鏄庣粏鏌ヨ +defineDict["THOST_FTDC_FBEUET_QueryExchDetial"] = '4' +#鎹㈡眹姹囨绘煡璇 +defineDict["THOST_FTDC_FBEUET_QueryExchSummary"] = '5' +#鎹㈡眹姹囩巼鏌ヨ +defineDict["THOST_FTDC_FBEUET_QueryExchRate"] = '6' +#瀵硅处鏂囦欢閫氱煡 +defineDict["THOST_FTDC_FBEUET_CheckBankAccount"] = '7' +#绛鹃 +defineDict["THOST_FTDC_FBEUET_SignOut"] = '8' +#鍏朵粬 +defineDict["THOST_FTDC_FBEUET_Other"] = 'Z' + +typedefDict["TThostFtdcFBEUserEventTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBEFileNameType鏄竴涓崲姹囩浉鍏虫枃浠跺悕绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFBEFileNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBEBatchSerialType鏄竴涓崲姹囨壒娆″彿绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFBEBatchSerialType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBEReqFlagType鏄竴涓崲姹囧彂閫佹爣蹇楃被鍨 +#////////////////////////////////////////////////////////////////////// +#鏈鐞 +defineDict["THOST_FTDC_FBERF_UnProcessed"] = '0' +#绛夊緟鍙戦 +defineDict["THOST_FTDC_FBERF_WaitSend"] = '1' +#鍙戦佹垚鍔 +defineDict["THOST_FTDC_FBERF_SendSuccess"] = '2' +#鍙戦佸け璐 +defineDict["THOST_FTDC_FBERF_SendFailed"] = '3' +#绛夊緟閲嶅彂 +defineDict["THOST_FTDC_FBERF_WaitReSend"] = '4' + +typedefDict["TThostFtdcFBEReqFlagType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcNotifyClassType鏄竴涓闄╅氱煡绫诲瀷绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#姝e父 +defineDict["THOST_FTDC_NC_NOERROR"] = '0' +#璀︾ず +defineDict["THOST_FTDC_NC_Warn"] = '1' +#杩戒繚 +defineDict["THOST_FTDC_NC_Call"] = '2' +#寮哄钩 +defineDict["THOST_FTDC_NC_Force"] = '3' +#绌夸粨 +defineDict["THOST_FTDC_NC_CHUANCANG"] = '4' +#寮傚父 +defineDict["THOST_FTDC_NC_Exception"] = '5' + +typedefDict["TThostFtdcNotifyClassType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRiskNofityInfoType鏄竴涓鎴烽闄╅氱煡娑堟伅绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcRiskNofityInfoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcForceCloseSceneIdType鏄竴涓己骞冲満鏅紪鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcForceCloseSceneIdType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcForceCloseTypeType鏄竴涓己骞冲崟绫诲瀷绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#鎵嬪伐寮哄钩 +defineDict["THOST_FTDC_FCT_Manual"] = '0' +#鍗曚竴鎶曡祫鑰呰緟鍔╁己骞 +defineDict["THOST_FTDC_FCT_Single"] = '1' +#鎵归噺鎶曡祫鑰呰緟鍔╁己骞 +defineDict["THOST_FTDC_FCT_Group"] = '2' + +typedefDict["TThostFtdcForceCloseTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInstrumentIDsType鏄竴涓涓骇鍝佷唬鐮,鐢+鍒嗛殧,濡俢u+zn绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcInstrumentIDsType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRiskNotifyMethodType鏄竴涓闄╅氱煡閫斿緞绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#绯荤粺閫氱煡 +defineDict["THOST_FTDC_RNM_System"] = '0' +#鐭俊閫氱煡 +defineDict["THOST_FTDC_RNM_SMS"] = '1' +#閭欢閫氱煡 +defineDict["THOST_FTDC_RNM_EMail"] = '2' +#浜哄伐閫氱煡 +defineDict["THOST_FTDC_RNM_Manual"] = '3' + +typedefDict["TThostFtdcRiskNotifyMethodType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRiskNotifyStatusType鏄竴涓闄╅氱煡鐘舵佺被鍨 +#////////////////////////////////////////////////////////////////////// +#鏈敓鎴 +defineDict["THOST_FTDC_RNS_NotGen"] = '0' +#宸茬敓鎴愭湭鍙戦 +defineDict["THOST_FTDC_RNS_Generated"] = '1' +#鍙戦佸け璐 +defineDict["THOST_FTDC_RNS_SendError"] = '2' +#宸插彂閫佹湭鎺ユ敹 +defineDict["THOST_FTDC_RNS_SendOk"] = '3' +#宸叉帴鏀舵湭纭 +defineDict["THOST_FTDC_RNS_Received"] = '4' +#宸茬‘璁 +defineDict["THOST_FTDC_RNS_Confirmed"] = '5' + +typedefDict["TThostFtdcRiskNotifyStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRiskUserEventType鏄竴涓鎺х敤鎴锋搷浣滀簨浠剁被鍨 +#////////////////////////////////////////////////////////////////////// +#瀵煎嚭鏁版嵁 +defineDict["THOST_FTDC_RUE_ExportData"] = '0' + +typedefDict["TThostFtdcRiskUserEventType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcParamIDType鏄竴涓弬鏁颁唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcParamIDType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcParamNameType鏄竴涓弬鏁板悕绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcParamNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcParamValueType鏄竴涓弬鏁板肩被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcParamValueType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcConditionalOrderSortTypeType鏄竴涓潯浠跺崟绱㈠紩鏉′欢绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#浣跨敤鏈鏂颁环鍗囧簭 +defineDict["THOST_FTDC_COST_LastPriceAsc"] = '0' +#浣跨敤鏈鏂颁环闄嶅簭 +defineDict["THOST_FTDC_COST_LastPriceDesc"] = '1' +#浣跨敤鍗栦环鍗囧簭 +defineDict["THOST_FTDC_COST_AskPriceAsc"] = '2' +#浣跨敤鍗栦环闄嶅簭 +defineDict["THOST_FTDC_COST_AskPriceDesc"] = '3' +#浣跨敤涔颁环鍗囧簭 +defineDict["THOST_FTDC_COST_BidPriceAsc"] = '4' +#浣跨敤涔颁环闄嶅簭 +defineDict["THOST_FTDC_COST_BidPriceDesc"] = '5' + +typedefDict["TThostFtdcConditionalOrderSortTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSendTypeType鏄竴涓姤閫佺姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#鏈彂閫 +defineDict["THOST_FTDC_UOAST_NoSend"] = '0' +#宸插彂閫 +defineDict["THOST_FTDC_UOAST_Sended"] = '1' +#宸茬敓鎴 +defineDict["THOST_FTDC_UOAST_Generated"] = '2' +#鎶ラ佸け璐 +defineDict["THOST_FTDC_UOAST_SendFail"] = '3' +#鎺ユ敹鎴愬姛 +defineDict["THOST_FTDC_UOAST_Success"] = '4' +#鎺ユ敹澶辫触 +defineDict["THOST_FTDC_UOAST_Fail"] = '5' +#鍙栨秷鎶ラ +defineDict["THOST_FTDC_UOAST_Cancel"] = '6' + +typedefDict["TThostFtdcSendTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcClientIDStatusType鏄竴涓氦鏄撶紪鐮佺姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#鏈敵璇 +defineDict["THOST_FTDC_UOACS_NoApply"] = '1' +#宸叉彁浜ょ敵璇 +defineDict["THOST_FTDC_UOACS_Submited"] = '2' +#宸插彂閫佺敵璇 +defineDict["THOST_FTDC_UOACS_Sended"] = '3' +#瀹屾垚 +defineDict["THOST_FTDC_UOACS_Success"] = '4' +#鎷掔粷 +defineDict["THOST_FTDC_UOACS_Refuse"] = '5' +#宸叉挙閿缂栫爜 +defineDict["THOST_FTDC_UOACS_Cancel"] = '6' + +typedefDict["TThostFtdcClientIDStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcIndustryIDType鏄竴涓涓氱紪鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcIndustryIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcQuestionIDType鏄竴涓壒鏈変俊鎭紪鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcQuestionIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcQuestionContentType鏄竴涓壒鏈変俊鎭鏄庣被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcQuestionContentType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOptionIDType鏄竴涓夐」缂栧彿绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcOptionIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOptionContentType鏄竴涓夐」璇存槑绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcOptionContentType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcQuestionTypeType鏄竴涓壒鏈変俊鎭被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#鍗曢 +defineDict["THOST_FTDC_QT_Radio"] = '1' +#澶氶 +defineDict["THOST_FTDC_QT_Option"] = '2' +#濉┖ +defineDict["THOST_FTDC_QT_Blank"] = '3' + +typedefDict["TThostFtdcQuestionTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcProcessIDType鏄竴涓笟鍔℃祦姘村彿绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcProcessIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSeqNoType鏄竴涓祦姘村彿绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcSeqNoType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUOAProcessStatusType鏄竴涓祦绋嬬姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcUOAProcessStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcProcessTypeType鏄竴涓祦绋嬪姛鑳界被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcProcessTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBusinessTypeType鏄竴涓笟鍔$被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#璇锋眰 +defineDict["THOST_FTDC_BT_Request"] = '1' +#搴旂瓟 +defineDict["THOST_FTDC_BT_Response"] = '2' +#閫氱煡 +defineDict["THOST_FTDC_BT_Notice"] = '3' + +typedefDict["TThostFtdcBusinessTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCfmmcReturnCodeType鏄竴涓洃鎺т腑蹇冭繑鍥炵爜绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#鎴愬姛 +defineDict["THOST_FTDC_CRC_Success"] = '0' +#璇ュ鎴峰凡缁忔湁娴佺▼鍦ㄥ鐞嗕腑 +defineDict["THOST_FTDC_CRC_Working"] = '1' +#鐩戞帶涓鎴疯祫鏂欐鏌ュけ璐 +defineDict["THOST_FTDC_CRC_InfoFail"] = '2' +#鐩戞帶涓疄鍚嶅埗妫鏌ュけ璐 +defineDict["THOST_FTDC_CRC_IDCardFail"] = '3' +#鍏朵粬閿欒 +defineDict["THOST_FTDC_CRC_OtherFail"] = '4' + +typedefDict["TThostFtdcCfmmcReturnCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcExReturnCodeType鏄竴涓氦鏄撴墍杩斿洖鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcExReturnCodeType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcClientTypeType鏄竴涓鎴风被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#鎵鏈 +defineDict["THOST_FTDC_CfMMCCT_All"] = '0' +#涓汉 +defineDict["THOST_FTDC_CfMMCCT_Person"] = '1' +#鍗曚綅 +defineDict["THOST_FTDC_CfMMCCT_Company"] = '2' +#鍏朵粬 +defineDict["THOST_FTDC_CfMMCCT_Other"] = '3' +#鐗规畩娉曚汉 +defineDict["THOST_FTDC_CfMMCCT_SpecialOrgan"] = '4' +#璧勭鎴 +defineDict["THOST_FTDC_CfMMCCT_Asset"] = '5' + +typedefDict["TThostFtdcClientTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcExchangeIDTypeType鏄竴涓氦鏄撴墍缂栧彿绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#涓婃捣鏈熻揣浜ゆ槗鎵 +defineDict["THOST_FTDC_EIDT_SHFE"] = 'S' +#閮戝窞鍟嗗搧浜ゆ槗鎵 +defineDict["THOST_FTDC_EIDT_CZCE"] = 'Z' +#澶ц繛鍟嗗搧浜ゆ槗鎵 +defineDict["THOST_FTDC_EIDT_DCE"] = 'D' +#涓浗閲戣瀺鏈熻揣浜ゆ槗鎵 +defineDict["THOST_FTDC_EIDT_CFFEX"] = 'J' +#涓婃捣鍥介檯鑳芥簮浜ゆ槗涓績鑲′唤鏈夐檺鍏徃 +defineDict["THOST_FTDC_EIDT_INE"] = 'N' + +typedefDict["TThostFtdcExchangeIDTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcExClientIDTypeType鏄竴涓氦鏄撶紪鐮佺被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#濂椾繚 +defineDict["THOST_FTDC_ECIDT_Hedge"] = '1' +#濂楀埄 +defineDict["THOST_FTDC_ECIDT_Arbitrage"] = '2' +#鎶曟満 +defineDict["THOST_FTDC_ECIDT_Speculation"] = '3' + +typedefDict["TThostFtdcExClientIDTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcClientClassifyType鏄竴涓鎴峰垎绫荤爜绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcClientClassifyType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUOAOrganTypeType鏄竴涓崟浣嶆ц川绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcUOAOrganTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUOACountryCodeType鏄竴涓浗瀹朵唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcUOACountryCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAreaCodeType鏄竴涓尯鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAreaCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFuturesIDType鏄竴涓洃鎺т腑蹇冧负瀹㈡埛鍒嗛厤鐨勪唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFuturesIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCffmcDateType鏄竴涓棩鏈熺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCffmcDateType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCffmcTimeType鏄竴涓椂闂寸被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCffmcTimeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcNocIDType鏄竴涓粍缁囨満鏋勪唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcNocIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUpdateFlagType鏄竴涓洿鏂扮姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#鏈洿鏂 +defineDict["THOST_FTDC_UF_NoUpdate"] = '0' +#鏇存柊鍏ㄩ儴淇℃伅鎴愬姛 +defineDict["THOST_FTDC_UF_Success"] = '1' +#鏇存柊鍏ㄩ儴淇℃伅澶辫触 +defineDict["THOST_FTDC_UF_Fail"] = '2' +#鏇存柊浜ゆ槗缂栫爜鎴愬姛 +defineDict["THOST_FTDC_UF_TCSuccess"] = '3' +#鏇存柊浜ゆ槗缂栫爜澶辫触 +defineDict["THOST_FTDC_UF_TCFail"] = '4' +#宸蹭涪寮 +defineDict["THOST_FTDC_UF_Cancel"] = '5' + +typedefDict["TThostFtdcUpdateFlagType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcApplyOperateIDType鏄竴涓敵璇峰姩浣滅被鍨 +#////////////////////////////////////////////////////////////////////// +#寮鎴 +defineDict["THOST_FTDC_AOID_OpenInvestor"] = '1' +#淇敼韬唤淇℃伅 +defineDict["THOST_FTDC_AOID_ModifyIDCard"] = '2' +#淇敼涓鑸俊鎭 +defineDict["THOST_FTDC_AOID_ModifyNoIDCard"] = '3' +#鐢宠浜ゆ槗缂栫爜 +defineDict["THOST_FTDC_AOID_ApplyTradingCode"] = '4' +#鎾ら攢浜ゆ槗缂栫爜 +defineDict["THOST_FTDC_AOID_CancelTradingCode"] = '5' +#閿鎴 +defineDict["THOST_FTDC_AOID_CancelInvestor"] = '6' +#璐︽埛浼戠湢 +defineDict["THOST_FTDC_AOID_FreezeAccount"] = '8' +#婵娲讳紤鐪犺处鎴 +defineDict["THOST_FTDC_AOID_ActiveFreezeAccount"] = '9' + +typedefDict["TThostFtdcApplyOperateIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcApplyStatusIDType鏄竴涓敵璇风姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#鏈ˉ鍏 +defineDict["THOST_FTDC_ASID_NoComplete"] = '1' +#宸叉彁浜 +defineDict["THOST_FTDC_ASID_Submited"] = '2' +#宸插鏍 +defineDict["THOST_FTDC_ASID_Checked"] = '3' +#宸叉嫆缁 +defineDict["THOST_FTDC_ASID_Refused"] = '4' +#宸插垹闄 +defineDict["THOST_FTDC_ASID_Deleted"] = '5' + +typedefDict["TThostFtdcApplyStatusIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSendMethodType鏄竴涓彂閫佹柟寮忕被鍨 +#////////////////////////////////////////////////////////////////////// +#鏂囦欢鍙戦 +defineDict["THOST_FTDC_UOASM_ByAPI"] = '1' +#鐢靛瓙鍙戦 +defineDict["THOST_FTDC_UOASM_ByFile"] = '2' + +typedefDict["TThostFtdcSendMethodType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcEventTypeType鏄竴涓笟鍔℃搷浣滅被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcEventTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcEventModeType鏄竴涓搷浣滄柟娉曠被鍨 +#////////////////////////////////////////////////////////////////////// +#澧炲姞 +defineDict["THOST_FTDC_EvM_ADD"] = '1' +#淇敼 +defineDict["THOST_FTDC_EvM_UPDATE"] = '2' +#鍒犻櫎 +defineDict["THOST_FTDC_EvM_DELETE"] = '3' +#澶嶆牳 +defineDict["THOST_FTDC_EvM_CHECK"] = '4' +#澶嶅埗 +defineDict["THOST_FTDC_EvM_COPY"] = '5' +#娉ㄩ攢 +defineDict["THOST_FTDC_EvM_CANCEL"] = '6' +#鍐查攢 +defineDict["THOST_FTDC_EvM_Reverse"] = '7' + +typedefDict["TThostFtdcEventModeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUOAAutoSendType鏄竴涓粺涓寮鎴风敵璇疯嚜鍔ㄥ彂閫佺被鍨 +#////////////////////////////////////////////////////////////////////// +#鑷姩鍙戦佸苟鎺ユ敹 +defineDict["THOST_FTDC_UOAA_ASR"] = '1' +#鑷姩鍙戦侊紝涓嶈嚜鍔ㄦ帴鏀 +defineDict["THOST_FTDC_UOAA_ASNR"] = '2' +#涓嶈嚜鍔ㄥ彂閫侊紝鑷姩鎺ユ敹 +defineDict["THOST_FTDC_UOAA_NSAR"] = '3' +#涓嶈嚜鍔ㄥ彂閫侊紝涔熶笉鑷姩鎺ユ敹 +defineDict["THOST_FTDC_UOAA_NSR"] = '4' + +typedefDict["TThostFtdcUOAAutoSendType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcQueryDepthType鏄竴涓煡璇㈡繁搴︾被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcQueryDepthType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDataCenterIDType鏄竴涓暟鎹腑蹇冧唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcDataCenterIDType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFlowIDType鏄竴涓祦绋婭D绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#鎶曡祫鑰呭搴旀姇璧勮呯粍璁剧疆 +defineDict["THOST_FTDC_EvM_InvestorGroupFlow"] = '1' +#鎶曡祫鑰呮墜缁垂鐜囪缃 +defineDict["THOST_FTDC_EvM_InvestorRate"] = '2' +#鎶曡祫鑰呮墜缁垂鐜囨ā鏉垮叧绯昏缃 +defineDict["THOST_FTDC_EvM_InvestorCommRateModel"] = '3' + +typedefDict["TThostFtdcFlowIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCheckLevelType鏄竴涓鏍哥骇鍒被鍨 +#////////////////////////////////////////////////////////////////////// +#闆剁骇澶嶆牳 +defineDict["THOST_FTDC_CL_Zero"] = '0' +#涓绾у鏍 +defineDict["THOST_FTDC_CL_One"] = '1' +#浜岀骇澶嶆牳 +defineDict["THOST_FTDC_CL_Two"] = '2' + +typedefDict["TThostFtdcCheckLevelType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCheckNoType鏄竴涓搷浣滄鏁扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCheckNoType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCheckStatusType鏄竴涓鏍哥骇鍒被鍨 +#////////////////////////////////////////////////////////////////////// +#鏈鏍 +defineDict["THOST_FTDC_CHS_Init"] = '0' +#澶嶆牳涓 +defineDict["THOST_FTDC_CHS_Checking"] = '1' +#宸插鏍 +defineDict["THOST_FTDC_CHS_Checked"] = '2' +#鎷掔粷 +defineDict["THOST_FTDC_CHS_Refuse"] = '3' +#浣滃簾 +defineDict["THOST_FTDC_CHS_Cancel"] = '4' + +typedefDict["TThostFtdcCheckStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUsedStatusType鏄竴涓敓鏁堢姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#鏈敓鏁 +defineDict["THOST_FTDC_CHU_Unused"] = '0' +#宸茬敓鏁 +defineDict["THOST_FTDC_CHU_Used"] = '1' +#鐢熸晥澶辫触 +defineDict["THOST_FTDC_CHU_Fail"] = '2' + +typedefDict["TThostFtdcUsedStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRateTemplateNameType鏄竴涓ā鍨嬪悕绉扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcRateTemplateNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPropertyStringType鏄竴涓敤浜庢煡璇㈢殑鎶曡祫灞炴у瓧娈电被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcPropertyStringType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankAcountOriginType鏄竴涓处鎴锋潵婧愮被鍨 +#////////////////////////////////////////////////////////////////////// +#鎵嬪伐褰曞叆 +defineDict["THOST_FTDC_BAO_ByAccProperty"] = '0' +#閾舵湡杞处 +defineDict["THOST_FTDC_BAO_ByFBTransfer"] = '1' + +typedefDict["TThostFtdcBankAcountOriginType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcMonthBillTradeSumType鏄竴涓粨绠楀崟鏈堟姤鎴愪氦姹囨绘柟寮忕被鍨 +#////////////////////////////////////////////////////////////////////// +#鍚屾棩鍚屽悎绾 +defineDict["THOST_FTDC_MBTS_ByInstrument"] = '0' +#鍚屾棩鍚屽悎绾﹀悓浠锋牸 +defineDict["THOST_FTDC_MBTS_ByDayInsPrc"] = '1' +#鍚屽悎绾 +defineDict["THOST_FTDC_MBTS_ByDayIns"] = '2' + +typedefDict["TThostFtdcMonthBillTradeSumType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFBTTradeCodeEnumType鏄竴涓摱鏈熶氦鏄撲唬鐮佹灇涓剧被鍨 +#////////////////////////////////////////////////////////////////////// +#閾惰鍙戣捣閾惰杞湡璐 +defineDict["THOST_FTDC_FTC_BankLaunchBankToBroker"] = '102001' +#鏈熻揣鍙戣捣閾惰杞湡璐 +defineDict["THOST_FTDC_FTC_BrokerLaunchBankToBroker"] = '202001' +#閾惰鍙戣捣鏈熻揣杞摱琛 +defineDict["THOST_FTDC_FTC_BankLaunchBrokerToBank"] = '102002' +#鏈熻揣鍙戣捣鏈熻揣杞摱琛 +defineDict["THOST_FTDC_FTC_BrokerLaunchBrokerToBank"] = '202002' + +typedefDict["TThostFtdcFBTTradeCodeEnumType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRateTemplateIDType鏄竴涓ā鍨嬩唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcRateTemplateIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRiskRateType鏄竴涓闄╁害绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcRiskRateType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTimestampType鏄竴涓椂闂存埑绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcTimestampType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInvestorIDRuleNameType鏄竴涓彿娈佃鍒欏悕绉扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcInvestorIDRuleNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInvestorIDRuleExprType鏄竴涓彿娈佃鍒欒〃杈惧紡绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcInvestorIDRuleExprType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcLastDriftType鏄竴涓笂娆TP婕傜Щ鍊肩被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcLastDriftType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcLastSuccessType鏄竴涓笂娆TP鎴愬姛鍊肩被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcLastSuccessType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAuthKeyType鏄竴涓护鐗屽瘑閽ョ被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAuthKeyType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSerialNumberType鏄竴涓簭鍒楀彿绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcSerialNumberType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOTPTypeType鏄竴涓姩鎬佷护鐗岀被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#鏃犲姩鎬佷护鐗 +defineDict["THOST_FTDC_OTP_NONE"] = '0' +#鏃堕棿浠ょ墝 +defineDict["THOST_FTDC_OTP_TOTP"] = '1' + +typedefDict["TThostFtdcOTPTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOTPVendorsIDType鏄竴涓姩鎬佷护鐗屾彁渚涘晢绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcOTPVendorsIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOTPVendorsNameType鏄竴涓姩鎬佷护鐗屾彁渚涘晢鍚嶇О绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcOTPVendorsNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOTPStatusType鏄竴涓姩鎬佷护鐗岀姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#鏈娇鐢 +defineDict["THOST_FTDC_OTPS_Unused"] = '0' +#宸蹭娇鐢 +defineDict["THOST_FTDC_OTPS_Used"] = '1' +#娉ㄩ攢 +defineDict["THOST_FTDC_OTPS_Disuse"] = '2' + +typedefDict["TThostFtdcOTPStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBrokerUserTypeType鏄竴涓粡娴庡叕鍙哥敤鎴风被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#鎶曡祫鑰 +defineDict["THOST_FTDC_BUT_Investor"] = '1' +#鎿嶄綔鍛 +defineDict["THOST_FTDC_BUT_BrokerUser"] = '2' + +typedefDict["TThostFtdcBrokerUserTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFutureTypeType鏄竴涓湡璐х被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#鍟嗗搧鏈熻揣 +defineDict["THOST_FTDC_FUTT_Commodity"] = '1' +#閲戣瀺鏈熻揣 +defineDict["THOST_FTDC_FUTT_Financial"] = '2' + +typedefDict["TThostFtdcFutureTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFundEventTypeType鏄竴涓祫閲戠鐞嗘搷浣滅被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#杞处闄愰 +defineDict["THOST_FTDC_FET_Restriction"] = '0' +#褰撴棩杞处闄愰 +defineDict["THOST_FTDC_FET_TodayRestriction"] = '1' +#鏈熷晢娴佹按 +defineDict["THOST_FTDC_FET_Transfer"] = '2' +#璧勯噾鍐荤粨 +defineDict["THOST_FTDC_FET_Credit"] = '3' +#鎶曡祫鑰呭彲鎻愯祫閲戞瘮渚 +defineDict["THOST_FTDC_FET_InvestorWithdrawAlm"] = '4' +#鍗曚釜閾惰甯愭埛杞处闄愰 +defineDict["THOST_FTDC_FET_BankRestriction"] = '5' +#閾舵湡绛剧害璐︽埛 +defineDict["THOST_FTDC_FET_Accountregister"] = '6' +#浜ゆ槗鎵鍑哄叆閲 +defineDict["THOST_FTDC_FET_ExchangeFundIO"] = '7' +#鎶曡祫鑰呭嚭鍏ラ噾 +defineDict["THOST_FTDC_FET_InvestorFundIO"] = '8' + +typedefDict["TThostFtdcFundEventTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAccountSourceTypeType鏄竴涓祫閲戣处鎴锋潵婧愮被鍨 +#////////////////////////////////////////////////////////////////////// +#閾舵湡鍚屾 +defineDict["THOST_FTDC_AST_FBTransfer"] = '0' +#鎵嬪伐褰曞叆 +defineDict["THOST_FTDC_AST_ManualEntry"] = '1' + +typedefDict["TThostFtdcAccountSourceTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCodeSourceTypeType鏄竴涓氦鏄撶紪鐮佹潵婧愮被鍨 +#////////////////////////////////////////////////////////////////////// +#缁熶竴寮鎴(宸茶鑼) +defineDict["THOST_FTDC_CST_UnifyAccount"] = '0' +#鎵嬪伐褰曞叆(鏈鑼) +defineDict["THOST_FTDC_CST_ManualEntry"] = '1' + +typedefDict["TThostFtdcCodeSourceTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUserRangeType鏄竴涓搷浣滃憳鑼冨洿绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#鎵鏈 +defineDict["THOST_FTDC_UR_All"] = '0' +#鍗曚竴鎿嶄綔鍛 +defineDict["THOST_FTDC_UR_Single"] = '1' + +typedefDict["TThostFtdcUserRangeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTimeSpanType鏄竴涓椂闂磋法搴︾被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcTimeSpanType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcImportSequenceIDType鏄竴涓姩鎬佷护鐗屽鍏ユ壒娆$紪鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcImportSequenceIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcByGroupType鏄竴涓氦鏄撶粺璁¤〃鎸夊鎴风粺璁℃柟寮忕被鍨 +#////////////////////////////////////////////////////////////////////// +#鎸夋姇璧勮呯粺璁 +defineDict["THOST_FTDC_BG_Investor"] = '2' +#鎸夌被缁熻 +defineDict["THOST_FTDC_BG_Group"] = '1' + +typedefDict["TThostFtdcByGroupType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTradeSumStatModeType鏄竴涓氦鏄撶粺璁¤〃鎸夎寖鍥寸粺璁℃柟寮忕被鍨 +#////////////////////////////////////////////////////////////////////// +#鎸夊悎绾︾粺璁 +defineDict["THOST_FTDC_TSSM_Instrument"] = '1' +#鎸変骇鍝佺粺璁 +defineDict["THOST_FTDC_TSSM_Product"] = '2' +#鎸変氦鏄撴墍缁熻 +defineDict["THOST_FTDC_TSSM_Exchange"] = '3' + +typedefDict["TThostFtdcTradeSumStatModeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcComTypeType鏄竴涓粍鍚堟垚浜ょ被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcComTypeType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUserProductIDType鏄竴涓骇鍝佹爣璇嗙被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcUserProductIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUserProductNameType鏄竴涓骇鍝佸悕绉扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcUserProductNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUserProductMemoType鏄竴涓骇鍝佽鏄庣被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcUserProductMemoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCCancelFlagType鏄竴涓柊澧炴垨鍙樻洿鏍囧織绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCSRCCancelFlagType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCDateType鏄竴涓棩鏈熺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCSRCDateType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCInvestorNameType鏄竴涓鎴峰悕绉扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCSRCInvestorNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCOpenInvestorNameType鏄竴涓鎴峰悕绉扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCSRCOpenInvestorNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCInvestorIDType鏄竴涓鎴蜂唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCSRCInvestorIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCIdentifiedCardNoType鏄竴涓瘉浠跺彿鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCSRCIdentifiedCardNoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCClientIDType鏄竴涓氦鏄撶紪鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCSRCClientIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCBankFlagType鏄竴涓摱琛屾爣璇嗙被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCSRCBankFlagType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCBankAccountType鏄竴涓摱琛岃处鎴风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCSRCBankAccountType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCOpenNameType鏄竴涓紑鎴蜂汉绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCSRCOpenNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCMemoType鏄竴涓鏄庣被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCSRCMemoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCTimeType鏄竴涓椂闂寸被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCSRCTimeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCTradeIDType鏄竴涓垚浜ゆ祦姘村彿绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCSRCTradeIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCExchangeInstIDType鏄竴涓悎绾︿唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCSRCExchangeInstIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCMortgageNameType鏄竴涓川鎶煎搧鍚嶇О绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCSRCMortgageNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCReasonType鏄竴涓簨鐢辩被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCSRCReasonType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcIsSettlementType鏄竴涓槸鍚︿负闈炵粨绠椾細鍛樼被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcIsSettlementType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCMoneyType鏄竴涓祫閲戠被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCSRCMoneyType"] = "float" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCPriceType鏄竴涓环鏍肩被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCSRCPriceType"] = "float" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCOptionsTypeType鏄竴涓湡鏉冪被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCSRCOptionsTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCStrikePriceType鏄竴涓墽琛屼环绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCSRCStrikePriceType"] = "float" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCTargetProductIDType鏄竴涓爣鐨勫搧绉嶇被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCSRCTargetProductIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCTargetInstrIDType鏄竴涓爣鐨勫悎绾︾被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCSRCTargetInstrIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCommModelNameType鏄竴涓墜缁垂鐜囨ā鏉垮悕绉扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCommModelNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCommModelMemoType鏄竴涓墜缁垂鐜囨ā鏉垮娉ㄧ被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCommModelMemoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcExprSetModeType鏄竴涓棩鏈熻〃杈惧紡璁剧疆绫诲瀷绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#鐩稿宸叉湁瑙勫垯璁剧疆 +defineDict["THOST_FTDC_ESM_Relative"] = '1' +#鍏稿瀷璁剧疆 +defineDict["THOST_FTDC_ESM_Typical"] = '2' + +typedefDict["TThostFtdcExprSetModeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRateInvestorRangeType鏄竴涓姇璧勮呰寖鍥寸被鍨 +#////////////////////////////////////////////////////////////////////// +#鍏徃鏍囧噯 +defineDict["THOST_FTDC_RIR_All"] = '1' +#妯℃澘 +defineDict["THOST_FTDC_RIR_Model"] = '2' +#鍗曚竴鎶曡祫鑰 +defineDict["THOST_FTDC_RIR_Single"] = '3' + +typedefDict["TThostFtdcRateInvestorRangeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAgentBrokerIDType鏄竴涓唬鐞嗙粡绾叕鍙镐唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAgentBrokerIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDRIdentityIDType鏄竴涓氦鏄撲腑蹇冧唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcDRIdentityIDType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDRIdentityNameType鏄竴涓氦鏄撲腑蹇冨悕绉扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcDRIdentityNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDBLinkIDType鏄竴涓狣BLink鏍囪瘑鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcDBLinkIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSyncDataStatusType鏄竴涓富娆$敤绯荤粺鏁版嵁鍚屾鐘舵佺被鍨 +#////////////////////////////////////////////////////////////////////// +#鏈悓姝 +defineDict["THOST_FTDC_SDS_Initialize"] = '0' +#鍚屾涓 +defineDict["THOST_FTDC_SDS_Settlementing"] = '1' +#宸插悓姝 +defineDict["THOST_FTDC_SDS_Settlemented"] = '2' + +typedefDict["TThostFtdcSyncDataStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTradeSourceType鏄竴涓垚浜ゆ潵婧愮被鍨 +#////////////////////////////////////////////////////////////////////// +#鏉ヨ嚜浜ゆ槗鎵鏅氬洖鎶 +defineDict["THOST_FTDC_TSRC_NORMAL"] = '0' +#鏉ヨ嚜鏌ヨ +defineDict["THOST_FTDC_TSRC_QUERY"] = '1' + +typedefDict["TThostFtdcTradeSourceType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFlexStatModeType鏄竴涓骇鍝佸悎绾︾粺璁℃柟寮忕被鍨 +#////////////////////////////////////////////////////////////////////// +#浜у搧缁熻 +defineDict["THOST_FTDC_FSM_Product"] = '1' +#浜ゆ槗鎵缁熻 +defineDict["THOST_FTDC_FSM_Exchange"] = '2' +#缁熻鎵鏈 +defineDict["THOST_FTDC_FSM_All"] = '3' + +typedefDict["TThostFtdcFlexStatModeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcByInvestorRangeType鏄竴涓姇璧勮呰寖鍥寸粺璁℃柟寮忕被鍨 +#////////////////////////////////////////////////////////////////////// +#灞炴х粺璁 +defineDict["THOST_FTDC_BIR_Property"] = '1' +#缁熻鎵鏈 +defineDict["THOST_FTDC_BIR_All"] = '2' + +typedefDict["TThostFtdcByInvestorRangeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSRiskRateType鏄竴涓闄╁害绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcSRiskRateType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSequenceNo12Type鏄竴涓簭鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcSequenceNo12Type"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPropertyInvestorRangeType鏄竴涓姇璧勮呰寖鍥寸被鍨 +#////////////////////////////////////////////////////////////////////// +#鎵鏈 +defineDict["THOST_FTDC_PIR_All"] = '1' +#鎶曡祫鑰呭睘鎬 +defineDict["THOST_FTDC_PIR_Property"] = '2' +#鍗曚竴鎶曡祫鑰 +defineDict["THOST_FTDC_PIR_Single"] = '3' + +typedefDict["TThostFtdcPropertyInvestorRangeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFileStatusType鏄竴涓枃浠剁姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#鏈敓鎴 +defineDict["THOST_FTDC_FIS_NoCreate"] = '0' +#宸茬敓鎴 +defineDict["THOST_FTDC_FIS_Created"] = '1' +#鐢熸垚澶辫触 +defineDict["THOST_FTDC_FIS_Failed"] = '2' + +typedefDict["TThostFtdcFileStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFileGenStyleType鏄竴涓枃浠剁敓鎴愭柟寮忕被鍨 +#////////////////////////////////////////////////////////////////////// +#涓嬪彂 +defineDict["THOST_FTDC_FGS_FileTransmit"] = '0' +#鐢熸垚 +defineDict["THOST_FTDC_FGS_FileGen"] = '1' + +typedefDict["TThostFtdcFileGenStyleType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSysOperModeType鏄竴涓郴缁熸棩蹇楁搷浣滄柟娉曠被鍨 +#////////////////////////////////////////////////////////////////////// +#澧炲姞 +defineDict["THOST_FTDC_SoM_Add"] = '1' +#淇敼 +defineDict["THOST_FTDC_SoM_Update"] = '2' +#鍒犻櫎 +defineDict["THOST_FTDC_SoM_Delete"] = '3' +#澶嶅埗 +defineDict["THOST_FTDC_SoM_Copy"] = '4' +#婵娲 +defineDict["THOST_FTDC_SoM_AcTive"] = '5' +#娉ㄩ攢 +defineDict["THOST_FTDC_SoM_CanCel"] = '6' +#閲嶇疆 +defineDict["THOST_FTDC_SoM_ReSet"] = '7' + +typedefDict["TThostFtdcSysOperModeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSysOperTypeType鏄竴涓郴缁熸棩蹇楁搷浣滅被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#淇敼鎿嶄綔鍛樺瘑鐮 +defineDict["THOST_FTDC_SoT_UpdatePassword"] = '0' +#鎿嶄綔鍛樼粍缁囨灦鏋勫叧绯 +defineDict["THOST_FTDC_SoT_UserDepartment"] = '1' +#瑙掕壊绠$悊 +defineDict["THOST_FTDC_SoT_RoleManager"] = '2' +#瑙掕壊鍔熻兘璁剧疆 +defineDict["THOST_FTDC_SoT_RoleFunction"] = '3' +#鍩虹鍙傛暟璁剧疆 +defineDict["THOST_FTDC_SoT_BaseParam"] = '4' +#璁剧疆鎿嶄綔鍛 +defineDict["THOST_FTDC_SoT_SetUserID"] = '5' +#鐢ㄦ埛瑙掕壊璁剧疆 +defineDict["THOST_FTDC_SoT_SetUserRole"] = '6' +#鐢ㄦ埛IP闄愬埗 +defineDict["THOST_FTDC_SoT_UserIpRestriction"] = '7' +#缁勭粐鏋舵瀯绠$悊 +defineDict["THOST_FTDC_SoT_DepartmentManager"] = '8' +#缁勭粐鏋舵瀯鍚戞煡璇㈠垎绫诲鍒 +defineDict["THOST_FTDC_SoT_DepartmentCopy"] = '9' +#浜ゆ槗缂栫爜绠$悊 +defineDict["THOST_FTDC_SoT_Tradingcode"] = 'A' +#鎶曡祫鑰呯姸鎬佺淮鎶 +defineDict["THOST_FTDC_SoT_InvestorStatus"] = 'B' +#鎶曡祫鑰呮潈闄愮鐞 +defineDict["THOST_FTDC_SoT_InvestorAuthority"] = 'C' +#灞炴ц缃 +defineDict["THOST_FTDC_SoT_PropertySet"] = 'D' +#閲嶇疆鎶曡祫鑰呭瘑鐮 +defineDict["THOST_FTDC_SoT_ReSetInvestorPasswd"] = 'E' +#鎶曡祫鑰呬釜鎬т俊鎭淮鎶 +defineDict["THOST_FTDC_SoT_InvestorPersonalityInfo"] = 'F' + +typedefDict["TThostFtdcSysOperTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCDataQueyTypeType鏄竴涓笂鎶ユ暟鎹煡璇㈢被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#鏌ヨ褰撳墠浜ゆ槗鏃ユ姤閫佺殑鏁版嵁 +defineDict["THOST_FTDC_CSRCQ_Current"] = '0' +#鏌ヨ鍘嗗彶鎶ラ佺殑浠g悊缁忕邯鍏徃鐨勬暟鎹 +defineDict["THOST_FTDC_CSRCQ_History"] = '1' + +typedefDict["TThostFtdcCSRCDataQueyTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFreezeStatusType鏄竴涓紤鐪犵姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#娲昏穬 +defineDict["THOST_FTDC_FRS_Normal"] = '1' +#浼戠湢 +defineDict["THOST_FTDC_FRS_Freeze"] = '0' + +typedefDict["TThostFtdcFreezeStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcStandardStatusType鏄竴涓鑼冪姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#宸茶鑼 +defineDict["THOST_FTDC_STST_Standard"] = '0' +#鏈鑼 +defineDict["THOST_FTDC_STST_NonStandard"] = '1' + +typedefDict["TThostFtdcStandardStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCFreezeStatusType鏄竴涓紤鐪犵姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCSRCFreezeStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRightParamTypeType鏄竴涓厤缃被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#浼戠湢鎴 +defineDict["THOST_FTDC_RPT_Freeze"] = '1' +#婵娲讳紤鐪犳埛 +defineDict["THOST_FTDC_RPT_FreezeActive"] = '2' +#寮浠撴潈闄愰檺鍒 +defineDict["THOST_FTDC_RPT_OpenLimit"] = '3' +#瑙i櫎寮浠撴潈闄愰檺鍒 +defineDict["THOST_FTDC_RPT_RelieveOpenLimit"] = '4' + +typedefDict["TThostFtdcRightParamTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRightTemplateIDType鏄竴涓ā鏉夸唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcRightTemplateIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRightTemplateNameType鏄竴涓ā鏉垮悕绉扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcRightTemplateNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDataStatusType鏄竴涓弽娲楅挶瀹℃牳琛ㄦ暟鎹姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#姝e父 +defineDict["THOST_FTDC_AMLDS_Normal"] = '0' +#宸插垹闄 +defineDict["THOST_FTDC_AMLDS_Deleted"] = '1' + +typedefDict["TThostFtdcDataStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAMLCheckStatusType鏄竴涓鏍哥姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#鏈鏍 +defineDict["THOST_FTDC_AMLCHS_Init"] = '0' +#澶嶆牳涓 +defineDict["THOST_FTDC_AMLCHS_Checking"] = '1' +#宸插鏍 +defineDict["THOST_FTDC_AMLCHS_Checked"] = '2' +#鎷掔粷涓婃姤 +defineDict["THOST_FTDC_AMLCHS_RefuseReport"] = '3' + +typedefDict["TThostFtdcAMLCheckStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAmlDateTypeType鏄竴涓棩鏈熺被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#妫鏌ユ棩鏈 +defineDict["THOST_FTDC_AMLDT_DrawDay"] = '0' +#鍙戠敓鏃ユ湡 +defineDict["THOST_FTDC_AMLDT_TouchDay"] = '1' + +typedefDict["TThostFtdcAmlDateTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAmlCheckLevelType鏄竴涓鏍哥骇鍒被鍨 +#////////////////////////////////////////////////////////////////////// +#闆剁骇瀹℃牳 +defineDict["THOST_FTDC_AMLCL_CheckLevel0"] = '0' +#涓绾у鏍 +defineDict["THOST_FTDC_AMLCL_CheckLevel1"] = '1' +#浜岀骇瀹℃牳 +defineDict["THOST_FTDC_AMLCL_CheckLevel2"] = '2' +#涓夌骇瀹℃牳 +defineDict["THOST_FTDC_AMLCL_CheckLevel3"] = '3' + +typedefDict["TThostFtdcAmlCheckLevelType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAmlCheckFlowType鏄竴涓弽娲楅挶鏁版嵁鎶藉彇瀹℃牳娴佺▼绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAmlCheckFlowType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDataTypeType鏄竴涓暟鎹被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcDataTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcExportFileTypeType鏄竴涓鍑烘枃浠剁被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#CSV +defineDict["THOST_FTDC_EFT_CSV"] = '0' +#Excel +defineDict["THOST_FTDC_EFT_EXCEL"] = '1' +#DBF +defineDict["THOST_FTDC_EFT_DBF"] = '2' + +typedefDict["TThostFtdcExportFileTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSettleManagerTypeType鏄竴涓粨绠楅厤缃被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#缁撶畻鍓嶅噯澶 +defineDict["THOST_FTDC_SMT_Before"] = '1' +#缁撶畻 +defineDict["THOST_FTDC_SMT_Settlement"] = '2' +#缁撶畻鍚庢牳瀵 +defineDict["THOST_FTDC_SMT_After"] = '3' +#缁撶畻鍚庡鐞 +defineDict["THOST_FTDC_SMT_Settlemented"] = '4' + +typedefDict["TThostFtdcSettleManagerTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSettleManagerIDType鏄竴涓粨绠楅厤缃唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcSettleManagerIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSettleManagerNameType鏄竴涓粨绠楅厤缃悕绉扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcSettleManagerNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSettleManagerLevelType鏄竴涓粨绠楅厤缃瓑绾х被鍨 +#////////////////////////////////////////////////////////////////////// +#蹇呰 +defineDict["THOST_FTDC_SML_Must"] = '1' +#璀﹀憡 +defineDict["THOST_FTDC_SML_Alarm"] = '2' +#鎻愮ず +defineDict["THOST_FTDC_SML_Prompt"] = '3' +#涓嶆鏌 +defineDict["THOST_FTDC_SML_Ignore"] = '4' + +typedefDict["TThostFtdcSettleManagerLevelType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSettleManagerGroupType鏄竴涓ā鍧楀垎缁勭被鍨 +#////////////////////////////////////////////////////////////////////// +#浜ゆ槗鎵鏍稿 +defineDict["THOST_FTDC_SMG_Exhcange"] = '1' +#鍐呴儴鏍稿 +defineDict["THOST_FTDC_SMG_ASP"] = '2' +#涓婃姤鏁版嵁鏍稿 +defineDict["THOST_FTDC_SMG_CSRC"] = '3' + +typedefDict["TThostFtdcSettleManagerGroupType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCheckResultMemoType鏄竴涓牳瀵圭粨鏋滆鏄庣被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCheckResultMemoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFunctionUrlType鏄竴涓姛鑳介摼鎺ョ被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcFunctionUrlType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAuthInfoType鏄竴涓鎴风璁よ瘉淇℃伅绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAuthInfoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAuthCodeType鏄竴涓鎴风璁よ瘉鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAuthCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcLimitUseTypeType鏄竴涓繚鍊奸搴︿娇鐢ㄧ被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#鍙噸澶嶄娇鐢 +defineDict["THOST_FTDC_LUT_Repeatable"] = '1' +#涓嶅彲閲嶅浣跨敤 +defineDict["THOST_FTDC_LUT_Unrepeatable"] = '2' + +typedefDict["TThostFtdcLimitUseTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDataResourceType鏄竴涓暟鎹潵婧愮被鍨 +#////////////////////////////////////////////////////////////////////// +#鏈郴缁 +defineDict["THOST_FTDC_DAR_Settle"] = '1' +#浜ゆ槗鎵 +defineDict["THOST_FTDC_DAR_Exchange"] = '2' +#鎶ラ佹暟鎹 +defineDict["THOST_FTDC_DAR_CSRC"] = '3' + +typedefDict["TThostFtdcDataResourceType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcMarginTypeType鏄竴涓繚璇侀噾绫诲瀷绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#浜ゆ槗鎵淇濊瘉閲戠巼 +defineDict["THOST_FTDC_MGT_ExchMarginRate"] = '0' +#鎶曡祫鑰呬繚璇侀噾鐜 +defineDict["THOST_FTDC_MGT_InstrMarginRate"] = '1' +#鎶曡祫鑰呬氦鏄撲繚璇侀噾鐜 +defineDict["THOST_FTDC_MGT_InstrMarginRateTrade"] = '2' + +typedefDict["TThostFtdcMarginTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcActiveTypeType鏄竴涓敓鏁堢被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#浠呭綋鏃ョ敓鏁 +defineDict["THOST_FTDC_ACT_Intraday"] = '1' +#闀挎湡鐢熸晥 +defineDict["THOST_FTDC_ACT_Long"] = '2' + +typedefDict["TThostFtdcActiveTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcMarginRateTypeType鏄竴涓啿绐佷繚璇侀噾鐜囩被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#浜ゆ槗鎵淇濊瘉閲戠巼 +defineDict["THOST_FTDC_MRT_Exchange"] = '1' +#鎶曡祫鑰呬繚璇侀噾鐜 +defineDict["THOST_FTDC_MRT_Investor"] = '2' +#鎶曡祫鑰呬氦鏄撲繚璇侀噾鐜 +defineDict["THOST_FTDC_MRT_InvestorTrade"] = '3' + +typedefDict["TThostFtdcMarginRateTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBackUpStatusType鏄竴涓浠芥暟鎹姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#鏈敓鎴愬浠芥暟鎹 +defineDict["THOST_FTDC_BUS_UnBak"] = '0' +#澶囦唤鏁版嵁鐢熸垚涓 +defineDict["THOST_FTDC_BUS_BakUp"] = '1' +#宸茬敓鎴愬浠芥暟鎹 +defineDict["THOST_FTDC_BUS_BakUped"] = '2' +#澶囦唤鏁版嵁澶辫触 +defineDict["THOST_FTDC_BUS_BakFail"] = '3' + +typedefDict["TThostFtdcBackUpStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInitSettlementType鏄竴涓粨绠楀垵濮嬪寲鐘舵佺被鍨 +#////////////////////////////////////////////////////////////////////// +#缁撶畻鍒濆鍖栨湭寮濮 +defineDict["THOST_FTDC_SIS_UnInitialize"] = '0' +#缁撶畻鍒濆鍖栦腑 +defineDict["THOST_FTDC_SIS_Initialize"] = '1' +#缁撶畻鍒濆鍖栧畬鎴 +defineDict["THOST_FTDC_SIS_Initialized"] = '2' + +typedefDict["TThostFtdcInitSettlementType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcReportStatusType鏄竴涓姤琛ㄦ暟鎹敓鎴愮姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#鏈敓鎴愭姤琛ㄦ暟鎹 +defineDict["THOST_FTDC_SRS_NoCreate"] = '0' +#鎶ヨ〃鏁版嵁鐢熸垚涓 +defineDict["THOST_FTDC_SRS_Create"] = '1' +#宸茬敓鎴愭姤琛ㄦ暟鎹 +defineDict["THOST_FTDC_SRS_Created"] = '2' +#鐢熸垚鎶ヨ〃鏁版嵁澶辫触 +defineDict["THOST_FTDC_SRS_CreateFail"] = '3' + +typedefDict["TThostFtdcReportStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSaveStatusType鏄竴涓暟鎹綊妗g姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#褰掓。鏈畬鎴 +defineDict["THOST_FTDC_SSS_UnSaveData"] = '0' +#褰掓。瀹屾垚 +defineDict["THOST_FTDC_SSS_SaveDatad"] = '1' + +typedefDict["TThostFtdcSaveStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSettArchiveStatusType鏄竴涓粨绠楃‘璁ゆ暟鎹綊妗g姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#鏈綊妗f暟鎹 +defineDict["THOST_FTDC_SAS_UnArchived"] = '0' +#鏁版嵁褰掓。涓 +defineDict["THOST_FTDC_SAS_Archiving"] = '1' +#宸插綊妗f暟鎹 +defineDict["THOST_FTDC_SAS_Archived"] = '2' +#褰掓。鏁版嵁澶辫触 +defineDict["THOST_FTDC_SAS_ArchiveFail"] = '3' + +typedefDict["TThostFtdcSettArchiveStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCTPTypeType鏄竴涓狢TP浜ゆ槗绯荤粺绫诲瀷绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#鏈煡绫诲瀷 +defineDict["THOST_FTDC_CTPT_Unkown"] = '0' +#涓讳腑蹇 +defineDict["THOST_FTDC_CTPT_MainCenter"] = '1' +#澶囦腑蹇 +defineDict["THOST_FTDC_CTPT_BackUp"] = '2' + +typedefDict["TThostFtdcCTPTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcToolIDType鏄竴涓伐鍏蜂唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcToolIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcToolNameType鏄竴涓伐鍏峰悕绉扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcToolNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCloseDealTypeType鏄竴涓钩浠撳鐞嗙被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#姝e父 +defineDict["THOST_FTDC_CDT_Normal"] = '0' +#鎶曟満骞充粨浼樺厛 +defineDict["THOST_FTDC_CDT_SpecFirst"] = '1' + +typedefDict["TThostFtdcCloseDealTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcMortgageFundUseRangeType鏄竴涓揣甯佽川鎶艰祫閲戝彲鐢ㄨ寖鍥寸被鍨 +#////////////////////////////////////////////////////////////////////// +#涓嶈兘浣跨敤 +defineDict["THOST_FTDC_MFUR_None"] = '0' +#鐢ㄤ簬淇濊瘉閲 +defineDict["THOST_FTDC_MFUR_Margin"] = '1' +#鐢ㄤ簬鎵嬬画璐广佺泩浜忋佷繚璇侀噾 +defineDict["THOST_FTDC_MFUR_All"] = '2' + +typedefDict["TThostFtdcMortgageFundUseRangeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCurrencyUnitType鏄竴涓竵绉嶅崟浣嶆暟閲忕被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCurrencyUnitType"] = "float" + +#////////////////////////////////////////////////////////////////////// +#TFtdcExchangeRateType鏄竴涓眹鐜囩被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcExchangeRateType"] = "float" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSpecProductTypeType鏄竴涓壒娈婁骇鍝佺被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#閮戝晢鎵濂椾繚浜у搧 +defineDict["THOST_FTDC_SPT_CzceHedge"] = '1' +#璐у竵璐ㄦ娂浜у搧 +defineDict["THOST_FTDC_SPT_IneForeignCurrency"] = '2' +#澶ц繛鐭嚎寮骞充粨浜у搧 +defineDict["THOST_FTDC_SPT_DceOpenClose"] = '3' + +typedefDict["TThostFtdcSpecProductTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFundMortgageTypeType鏄竴涓揣甯佽川鎶肩被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#璐ㄦ娂 +defineDict["THOST_FTDC_FMT_Mortgage"] = '1' +#瑙h川 +defineDict["THOST_FTDC_FMT_Redemption"] = '2' + +typedefDict["TThostFtdcFundMortgageTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAccountSettlementParamIDType鏄竴涓姇璧勮呰处鎴风粨绠楀弬鏁颁唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +#鍩虹淇濊瘉閲 +defineDict["THOST_FTDC_ASPI_BaseMargin"] = '1' +#鏈浣庢潈鐩婃爣鍑 +defineDict["THOST_FTDC_ASPI_LowestInterest"] = '2' + +typedefDict["TThostFtdcAccountSettlementParamIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCurrencyNameType鏄竴涓竵绉嶅悕绉扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCurrencyNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCurrencySignType鏄竴涓竵绉嶇鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCurrencySignType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFundMortDirectionType鏄竴涓揣甯佽川鎶兼柟鍚戠被鍨 +#////////////////////////////////////////////////////////////////////// +#璐у竵璐ㄥ叆 +defineDict["THOST_FTDC_FMD_In"] = '1' +#璐у竵璐ㄥ嚭 +defineDict["THOST_FTDC_FMD_Out"] = '2' + +typedefDict["TThostFtdcFundMortDirectionType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBusinessClassType鏄竴涓崲姹囩被鍒被鍨 +#////////////////////////////////////////////////////////////////////// +#鐩堝埄 +defineDict["THOST_FTDC_BT_Profit"] = '0' +#浜忔崯 +defineDict["THOST_FTDC_BT_Loss"] = '1' +#鍏朵粬 +defineDict["THOST_FTDC_BT_Other"] = 'Z' + +typedefDict["TThostFtdcBusinessClassType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSwapSourceTypeType鏄竴涓崲姹囨暟鎹潵婧愮被鍨 +#////////////////////////////////////////////////////////////////////// +#鎵嬪伐 +defineDict["THOST_FTDC_SST_Manual"] = '0' +#鑷姩鐢熸垚 +defineDict["THOST_FTDC_SST_Automatic"] = '1' + +typedefDict["TThostFtdcSwapSourceTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCurrExDirectionType鏄竴涓崲姹囩被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#缁撴眹 +defineDict["THOST_FTDC_CED_Settlement"] = '0' +#鍞眹 +defineDict["THOST_FTDC_CED_Sale"] = '1' + +typedefDict["TThostFtdcCurrExDirectionType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCurrencySwapStatusType鏄竴涓敵璇风姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#宸插綍鍏 +defineDict["THOST_FTDC_CSS_Entry"] = '1' +#宸插鏍 +defineDict["THOST_FTDC_CSS_Approve"] = '2' +#宸叉嫆缁 +defineDict["THOST_FTDC_CSS_Refuse"] = '3' +#宸叉挙閿 +defineDict["THOST_FTDC_CSS_Revoke"] = '4' +#宸插彂閫 +defineDict["THOST_FTDC_CSS_Send"] = '5' +#鎹㈡眹鎴愬姛 +defineDict["THOST_FTDC_CSS_Success"] = '6' +#鎹㈡眹澶辫触 +defineDict["THOST_FTDC_CSS_Failure"] = '7' + +typedefDict["TThostFtdcCurrencySwapStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCurrExchCertNoType鏄竴涓嚟璇佸彿绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCurrExchCertNoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBatchSerialNoType鏄竴涓壒娆″彿绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcBatchSerialNoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcReqFlagType鏄竴涓崲姹囧彂閫佹爣蹇楃被鍨 +#////////////////////////////////////////////////////////////////////// +#鏈彂閫 +defineDict["THOST_FTDC_REQF_NoSend"] = '0' +#鍙戦佹垚鍔 +defineDict["THOST_FTDC_REQF_SendSuccess"] = '1' +#鍙戦佸け璐 +defineDict["THOST_FTDC_REQF_SendFailed"] = '2' +#绛夊緟閲嶅彂 +defineDict["THOST_FTDC_REQF_WaitReSend"] = '3' + +typedefDict["TThostFtdcReqFlagType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcResFlagType鏄竴涓崲姹囪繑鍥炴垚鍔熸爣蹇楃被鍨 +#////////////////////////////////////////////////////////////////////// +#鎴愬姛 +defineDict["THOST_FTDC_RESF_Success"] = '0' +#璐︽埛浣欓涓嶈冻 +defineDict["THOST_FTDC_RESF_InsuffiCient"] = '1' +#浜ゆ槗缁撴灉鏈煡 +defineDict["THOST_FTDC_RESF_UnKnown"] = '8' + +typedefDict["TThostFtdcResFlagType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPageControlType鏄竴涓崲姹囬〉闈㈡帶鍒剁被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcPageControlType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcRecordCountType鏄竴涓褰曟暟绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcRecordCountType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCurrencySwapMemoType鏄竴涓崲姹囬渶纭淇℃伅绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCurrencySwapMemoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcExStatusType鏄竴涓慨鏀圭姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#淇敼鍓 +defineDict["THOST_FTDC_EXS_Before"] = '0' +#淇敼鍚 +defineDict["THOST_FTDC_EXS_After"] = '1' + +typedefDict["TThostFtdcExStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcClientRegionType鏄竴涓紑鎴峰鎴峰湴鍩熺被鍨 +#////////////////////////////////////////////////////////////////////// +#鍥藉唴瀹㈡埛 +defineDict["THOST_FTDC_CR_Domestic"] = '1' +#娓境鍙板鎴 +defineDict["THOST_FTDC_CR_GMT"] = '2' +#鍥藉瀹㈡埛 +defineDict["THOST_FTDC_CR_Foreign"] = '3' + +typedefDict["TThostFtdcClientRegionType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcWorkPlaceType鏄竴涓伐浣滃崟浣嶇被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcWorkPlaceType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBusinessPeriodType鏄竴涓粡钀ユ湡闄愮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcBusinessPeriodType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcWebSiteType鏄竴涓綉鍧绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcWebSiteType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUOAIdCardTypeType鏄竴涓粺涓寮鎴疯瘉浠剁被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcUOAIdCardTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcClientModeType鏄竴涓紑鎴锋ā寮忕被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcClientModeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInvestorFullNameType鏄竴涓姇璧勮呭叏绉扮被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcInvestorFullNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUOABrokerIDType鏄竴涓澶栦腑浠嬫満鏋処D绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcUOABrokerIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUOAZipCodeType鏄竴涓偖鏀跨紪鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcUOAZipCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUOAEMailType鏄竴涓數瀛愰偖绠辩被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcUOAEMailType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOldCityType鏄竴涓煄甯傜被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcOldCityType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCorporateIdentifiedCardNoType鏄竴涓硶浜轰唬琛ㄨ瘉浠跺彿鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCorporateIdentifiedCardNoType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcHasBoardType鏄竴涓槸鍚︽湁钁d簨浼氱被鍨 +#////////////////////////////////////////////////////////////////////// +#娌℃湁 +defineDict["THOST_FTDC_HB_No"] = '0' +#鏈 +defineDict["THOST_FTDC_HB_Yes"] = '1' + +typedefDict["TThostFtdcHasBoardType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcStartModeType鏄竴涓惎鍔ㄦā寮忕被鍨 +#////////////////////////////////////////////////////////////////////// +#姝e父 +defineDict["THOST_FTDC_SM_Normal"] = '1' +#搴旀 +defineDict["THOST_FTDC_SM_Emerge"] = '2' +#鎭㈠ +defineDict["THOST_FTDC_SM_Restore"] = '3' + +typedefDict["TThostFtdcStartModeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTemplateTypeType鏄竴涓ā鍨嬬被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#鍏ㄩ噺 +defineDict["THOST_FTDC_TPT_Full"] = '1' +#澧為噺 +defineDict["THOST_FTDC_TPT_Increment"] = '2' +#澶囦唤 +defineDict["THOST_FTDC_TPT_BackUp"] = '3' + +typedefDict["TThostFtdcTemplateTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcLoginModeType鏄竴涓櫥褰曟ā寮忕被鍨 +#////////////////////////////////////////////////////////////////////// +#浜ゆ槗 +defineDict["THOST_FTDC_LM_Trade"] = '0' +#杞处 +defineDict["THOST_FTDC_LM_Transfer"] = '1' + +typedefDict["TThostFtdcLoginModeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPromptTypeType鏄竴涓棩鍘嗘彁绀虹被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#鍚堢害涓婁笅甯 +defineDict["THOST_FTDC_CPT_Instrument"] = '1' +#淇濊瘉閲戝垎娈电敓鏁 +defineDict["THOST_FTDC_CPT_Margin"] = '2' + +typedefDict["TThostFtdcPromptTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcLedgerManageIDType鏄竴涓垎鎴风鐞嗚祫浜х紪鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcLedgerManageIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInvestVarietyType鏄竴涓姇璧勫搧绉嶇被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcInvestVarietyType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBankAccountTypeType鏄竴涓处鎴风被鍒被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcBankAccountTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcLedgerManageBankType鏄竴涓紑鎴烽摱琛岀被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcLedgerManageBankType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCffexDepartmentNameType鏄竴涓紑鎴疯惀涓氶儴绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCffexDepartmentNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCffexDepartmentCodeType鏄竴涓惀涓氶儴浠g爜绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCffexDepartmentCodeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcHasTrusteeType鏄竴涓槸鍚︽湁鎵樼浜虹被鍨 +#////////////////////////////////////////////////////////////////////// +#鏈 +defineDict["THOST_FTDC_HT_Yes"] = '1' +#娌℃湁 +defineDict["THOST_FTDC_HT_No"] = '0' + +typedefDict["TThostFtdcHasTrusteeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCMemo1Type鏄竴涓鏄庣被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCSRCMemo1Type"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAssetmgrCFullNameType鏄竴涓唬鐞嗚祫浜х鐞嗕笟鍔$殑鏈熻揣鍏徃鍏ㄧО绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAssetmgrCFullNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAssetmgrApprovalNOType鏄竴涓祫浜х鐞嗕笟鍔℃壒鏂囧彿绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAssetmgrApprovalNOType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAssetmgrMgrNameType鏄竴涓祫浜х鐞嗕笟鍔¤礋璐d汉濮撳悕绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAssetmgrMgrNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAmTypeType鏄竴涓満鏋勭被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#閾惰 +defineDict["THOST_FTDC_AMT_Bank"] = '1' +#璇佸埜鍏徃 +defineDict["THOST_FTDC_AMT_Securities"] = '2' +#鍩洪噾鍏徃 +defineDict["THOST_FTDC_AMT_Fund"] = '3' +#淇濋櫓鍏徃 +defineDict["THOST_FTDC_AMT_Insurance"] = '4' +#淇℃墭鍏徃 +defineDict["THOST_FTDC_AMT_Trust"] = '5' +#鍏朵粬 +defineDict["THOST_FTDC_AMT_Other"] = '9' + +typedefDict["TThostFtdcAmTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCAmTypeType鏄竴涓満鏋勭被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCSRCAmTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCFundIOTypeType鏄竴涓嚭鍏ラ噾绫诲瀷绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#鍑哄叆閲 +defineDict["THOST_FTDC_CFIOT_FundIO"] = '0' +#閾舵湡鎹㈡眹 +defineDict["THOST_FTDC_CFIOT_SwapCurrency"] = '1' + +typedefDict["TThostFtdcCSRCFundIOTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCusAccountTypeType鏄竴涓粨绠楄处鎴风被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#鏈熻揣缁撶畻璐︽埛 +defineDict["THOST_FTDC_CAT_Futures"] = '1' +#绾湡璐ц祫绠′笟鍔′笅鐨勮祫绠$粨绠楄处鎴 +defineDict["THOST_FTDC_CAT_AssetmgrFuture"] = '2' +#缁煎悎绫昏祫绠′笟鍔′笅鐨勬湡璐ц祫绠℃墭绠¤处鎴 +defineDict["THOST_FTDC_CAT_AssetmgrTrustee"] = '3' +#缁煎悎绫昏祫绠′笟鍔′笅鐨勮祫閲戜腑杞处鎴 +defineDict["THOST_FTDC_CAT_AssetmgrTransfer"] = '4' + +typedefDict["TThostFtdcCusAccountTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCNationalType鏄竴涓浗绫嶇被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCSRCNationalType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCSRCSecAgentIDType鏄竴涓簩绾т唬鐞咺D绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCSRCSecAgentIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcLanguageTypeType鏄竴涓氱煡璇█绫诲瀷绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#涓枃 +defineDict["THOST_FTDC_LT_Chinese"] = '1' +#鑻辨枃 +defineDict["THOST_FTDC_LT_English"] = '2' + +typedefDict["TThostFtdcLanguageTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAmAccountType鏄竴涓姇璧勮处鎴风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcAmAccountType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAssetmgrClientTypeType鏄竴涓祫浜х鐞嗗鎴风被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#涓汉璧勭瀹㈡埛 +defineDict["THOST_FTDC_AMCT_Person"] = '1' +#鍗曚綅璧勭瀹㈡埛 +defineDict["THOST_FTDC_AMCT_Organ"] = '2' +#鐗规畩鍗曚綅璧勭瀹㈡埛 +defineDict["THOST_FTDC_AMCT_SpecialOrgan"] = '4' + +typedefDict["TThostFtdcAssetmgrClientTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcAssetmgrTypeType鏄竴涓姇璧勭被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#鏈熻揣绫 +defineDict["THOST_FTDC_ASST_Futures"] = '3' +#缁煎悎绫 +defineDict["THOST_FTDC_ASST_SpecialOrgan"] = '4' + +typedefDict["TThostFtdcAssetmgrTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUOMType鏄竴涓閲忓崟浣嶇被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcUOMType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSHFEInstLifePhaseType鏄竴涓笂鏈熸墍鍚堢害鐢熷懡鍛ㄦ湡鐘舵佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcSHFEInstLifePhaseType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSHFEProductClassType鏄竴涓骇鍝佺被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcSHFEProductClassType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcPriceDecimalType鏄竴涓环鏍煎皬鏁颁綅绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcPriceDecimalType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcInTheMoneyFlagType鏄竴涓钩鍊兼湡鏉冩爣蹇楃被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcInTheMoneyFlagType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCheckInstrTypeType鏄竴涓悎绾︽瘮杈冪被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#鍚堢害浜ゆ槗鎵涓嶅瓨鍦 +defineDict["THOST_FTDC_CIT_HasExch"] = '0' +#鍚堢害鏈郴缁熶笉瀛樺湪 +defineDict["THOST_FTDC_CIT_HasATP"] = '1' +#鍚堢害姣旇緝涓嶄竴鑷 +defineDict["THOST_FTDC_CIT_HasDiff"] = '2' + +typedefDict["TThostFtdcCheckInstrTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDeliveryTypeType鏄竴涓氦鍓茬被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#鎵嬪伐浜ゅ壊 +defineDict["THOST_FTDC_DT_HandDeliv"] = '1' +#鍒版湡浜ゅ壊 +defineDict["THOST_FTDC_DT_PersonDeliv"] = '2' + +typedefDict["TThostFtdcDeliveryTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBigMoneyType鏄竴涓祫閲戠被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcBigMoneyType"] = "float" + +#////////////////////////////////////////////////////////////////////// +#TFtdcMaxMarginSideAlgorithmType鏄竴涓ぇ棰濆崟杈逛繚璇侀噾绠楁硶绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#涓嶄娇鐢ㄥぇ棰濆崟杈逛繚璇侀噾绠楁硶 +defineDict["THOST_FTDC_MMSA_NO"] = '0' +#浣跨敤澶ч鍗曡竟淇濊瘉閲戠畻娉 +defineDict["THOST_FTDC_MMSA_YES"] = '1' + +typedefDict["TThostFtdcMaxMarginSideAlgorithmType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDAClientTypeType鏄竴涓祫浜х鐞嗗鎴风被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#鑷劧浜 +defineDict["THOST_FTDC_CACT_Person"] = '0' +#娉曚汉 +defineDict["THOST_FTDC_CACT_Company"] = '1' +#鍏朵粬 +defineDict["THOST_FTDC_CACT_Other"] = '2' + +typedefDict["TThostFtdcDAClientTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCombinInstrIDType鏄竴涓鍒╁悎绾︿唬鐮佺被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCombinInstrIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCombinSettlePriceType鏄竴涓悇鑵跨粨绠椾环绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcCombinSettlePriceType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDCEPriorityType鏄竴涓紭鍏堢骇绫诲瀷 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcDCEPriorityType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcTradeGroupIDType鏄竴涓垚浜ょ粍鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcTradeGroupIDType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcIsCheckPrepaType鏄竴涓槸鍚︽牎楠屽紑鎴峰彲鐢ㄨ祫閲戠被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcIsCheckPrepaType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcUOAAssetmgrTypeType鏄竴涓姇璧勭被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#鏈熻揣绫 +defineDict["THOST_FTDC_UOAAT_Futures"] = '1' +#缁煎悎绫 +defineDict["THOST_FTDC_UOAAT_SpecialOrgan"] = '2' + +typedefDict["TThostFtdcUOAAssetmgrTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDirectionEnType鏄竴涓拱鍗栨柟鍚戠被鍨 +#////////////////////////////////////////////////////////////////////// +#Buy +defineDict["THOST_FTDC_DEN_Buy"] = '0' +#Sell +defineDict["THOST_FTDC_DEN_Sell"] = '1' + +typedefDict["TThostFtdcDirectionEnType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOffsetFlagEnType鏄竴涓紑骞虫爣蹇楃被鍨 +#////////////////////////////////////////////////////////////////////// +#Position Opening +defineDict["THOST_FTDC_OFEN_Open"] = '0' +#Position Close +defineDict["THOST_FTDC_OFEN_Close"] = '1' +#Forced Liquidation +defineDict["THOST_FTDC_OFEN_ForceClose"] = '2' +#Close Today +defineDict["THOST_FTDC_OFEN_CloseToday"] = '3' +#Close Prev. +defineDict["THOST_FTDC_OFEN_CloseYesterday"] = '4' +#Forced Reduction +defineDict["THOST_FTDC_OFEN_ForceOff"] = '5' +#Local Forced Liquidation +defineDict["THOST_FTDC_OFEN_LocalForceClose"] = '6' + +typedefDict["TThostFtdcOffsetFlagEnType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcHedgeFlagEnType鏄竴涓姇鏈哄淇濇爣蹇楃被鍨 +#////////////////////////////////////////////////////////////////////// +#Speculation +defineDict["THOST_FTDC_HFEN_Speculation"] = '1' +#Arbitrage +defineDict["THOST_FTDC_HFEN_Arbitrage"] = '2' +#Hedge +defineDict["THOST_FTDC_HFEN_Hedge"] = '3' + +typedefDict["TThostFtdcHedgeFlagEnType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFundIOTypeEnType鏄竴涓嚭鍏ラ噾绫诲瀷绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#Deposit/Withdrawal +defineDict["THOST_FTDC_FIOTEN_FundIO"] = '1' +#Bank-Futures Transfer +defineDict["THOST_FTDC_FIOTEN_Transfer"] = '2' +#Bank-Futures FX Exchange +defineDict["THOST_FTDC_FIOTEN_SwapCurrency"] = '3' + +typedefDict["TThostFtdcFundIOTypeEnType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFundTypeEnType鏄竴涓祫閲戠被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#Bank Deposit +defineDict["THOST_FTDC_FTEN_Deposite"] = '1' +#Payment/Fee +defineDict["THOST_FTDC_FTEN_ItemFund"] = '2' +#Brokerage Adj +defineDict["THOST_FTDC_FTEN_Company"] = '3' +#Internal Transfer +defineDict["THOST_FTDC_FTEN_InnerTransfer"] = '4' + +typedefDict["TThostFtdcFundTypeEnType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFundDirectionEnType鏄竴涓嚭鍏ラ噾鏂瑰悜绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#Deposit +defineDict["THOST_FTDC_FDEN_In"] = '1' +#Withdrawal +defineDict["THOST_FTDC_FDEN_Out"] = '2' + +typedefDict["TThostFtdcFundDirectionEnType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcFundMortDirectionEnType鏄竴涓揣甯佽川鎶兼柟鍚戠被鍨 +#////////////////////////////////////////////////////////////////////// +#Pledge +defineDict["THOST_FTDC_FMDEN_In"] = '1' +#Redemption +defineDict["THOST_FTDC_FMDEN_Out"] = '2' + +typedefDict["TThostFtdcFundMortDirectionEnType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSwapBusinessTypeType鏄竴涓崲姹囦笟鍔$绫荤被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcSwapBusinessTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOptionsTypeType鏄竴涓湡鏉冪被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#鐪嬫定 +defineDict["THOST_FTDC_CP_CallOptions"] = '1' +#鐪嬭穼 +defineDict["THOST_FTDC_CP_PutOptions"] = '2' + +typedefDict["TThostFtdcOptionsTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcStrikeModeType鏄竴涓墽琛屾柟寮忕被鍨 +#////////////////////////////////////////////////////////////////////// +#娆у紡 +defineDict["THOST_FTDC_STM_Continental"] = '0' +#缇庡紡 +defineDict["THOST_FTDC_STM_American"] = '1' +#鐧炬厱澶 +defineDict["THOST_FTDC_STM_Bermuda"] = '2' + +typedefDict["TThostFtdcStrikeModeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcStrikeTypeType鏄竴涓墽琛岀被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#鑷韩瀵瑰啿 +defineDict["THOST_FTDC_STT_Hedge"] = '0' +#鍖归厤鎵ц +defineDict["THOST_FTDC_STT_Match"] = '1' + +typedefDict["TThostFtdcStrikeTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcApplyTypeType鏄竴涓腑閲戞墍鏈熸潈鏀惧純鎵ц鐢宠绫诲瀷绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#涓嶆墽琛屾暟閲 +defineDict["THOST_FTDC_APPT_NotStrikeNum"] = '4' + +typedefDict["TThostFtdcApplyTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcGiveUpDataSourceType鏄竴涓斁寮冩墽琛岀敵璇锋暟鎹潵婧愮被鍨 +#////////////////////////////////////////////////////////////////////// +#绯荤粺鐢熸垚 +defineDict["THOST_FTDC_GUDS_Gen"] = '0' +#鎵嬪伐娣诲姞 +defineDict["THOST_FTDC_GUDS_Hand"] = '1' + +typedefDict["TThostFtdcGiveUpDataSourceType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcExecOrderSysIDType鏄竴涓墽琛屽鍛婄郴缁熺紪鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcExecOrderSysIDType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcExecResultType鏄竴涓墽琛岀粨鏋滅被鍨 +#////////////////////////////////////////////////////////////////////// +#娌℃湁鎵ц +defineDict["THOST_FTDC_OER_NoExec"] = 'n' +#宸茬粡鍙栨秷 +defineDict["THOST_FTDC_OER_Canceled"] = 'c' +#鎵ц鎴愬姛 +defineDict["THOST_FTDC_OER_OK"] = '0' +#鏈熸潈鎸佷粨涓嶅 +defineDict["THOST_FTDC_OER_NoPosition"] = '1' +#璧勯噾涓嶅 +defineDict["THOST_FTDC_OER_NoDeposit"] = '2' +#浼氬憳涓嶅瓨鍦 +defineDict["THOST_FTDC_OER_NoParticipant"] = '3' +#瀹㈡埛涓嶅瓨鍦 +defineDict["THOST_FTDC_OER_NoClient"] = '4' +#鍚堢害涓嶅瓨鍦 +defineDict["THOST_FTDC_OER_NoInstrument"] = '6' +#娌℃湁鎵ц鏉冮檺 +defineDict["THOST_FTDC_OER_NoRight"] = '7' +#涓嶅悎鐞嗙殑鏁伴噺 +defineDict["THOST_FTDC_OER_InvalidVolume"] = '8' +#娌℃湁瓒冲鐨勫巻鍙叉垚浜 +defineDict["THOST_FTDC_OER_NoEnoughHistoryTrade"] = '9' +#鏈煡 +defineDict["THOST_FTDC_OER_Unknown"] = 'a' + +typedefDict["TThostFtdcExecResultType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcStrikeSequenceType鏄竴涓墽琛屽簭鍙风被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcStrikeSequenceType"] = "int" + +#////////////////////////////////////////////////////////////////////// +#TFtdcStrikeTimeType鏄竴涓墽琛屾椂闂寸被鍨 +#////////////////////////////////////////////////////////////////////// +typedefDict["TThostFtdcStrikeTimeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCombinationTypeType鏄竴涓粍鍚堢被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#鏈熻揣缁勫悎 +defineDict["THOST_FTDC_COMBT_Future"] = '0' +#鍨傜洿浠峰樊BUL +defineDict["THOST_FTDC_COMBT_BUL"] = '1' +#鍨傜洿浠峰樊BER +defineDict["THOST_FTDC_COMBT_BER"] = '2' +#璺ㄥ紡缁勫悎 +defineDict["THOST_FTDC_COMBT_STD"] = '3' +#瀹借法寮忕粍鍚 +defineDict["THOST_FTDC_COMBT_STG"] = '4' +#澶囧厬缁勫悎 +defineDict["THOST_FTDC_COMBT_PRT"] = '5' + +typedefDict["TThostFtdcCombinationTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcOptionRoyaltyPriceTypeType鏄竴涓湡鏉冩潈鍒╅噾浠锋牸绫诲瀷绫诲瀷 +#////////////////////////////////////////////////////////////////////// +#鏄ㄧ粨绠椾环 +defineDict["THOST_FTDC_ORPT_PreSettlementPrice"] = '1' +#寮浠撲环 +defineDict["THOST_FTDC_ORPT_OpenPrice"] = '4' + +typedefDict["TThostFtdcOptionRoyaltyPriceTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcBalanceAlgorithmType鏄竴涓潈鐩婄畻娉曠被鍨 +#////////////////////////////////////////////////////////////////////// +#涓嶈绠楁湡鏉冨競鍊肩泩浜 +defineDict["THOST_FTDC_BLAG_Default"] = '1' +#璁$畻鏈熸潈甯傚间簭鎹 +defineDict["THOST_FTDC_BLAG_IncludeOptValLost"] = '2' + +typedefDict["TThostFtdcBalanceAlgorithmType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcActionTypeType鏄竴涓墽琛岀被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#鎵ц +defineDict["THOST_FTDC_ACTP_Exec"] = '1' +#鏀惧純 +defineDict["THOST_FTDC_ACTP_Abandon"] = '2' + +typedefDict["TThostFtdcActionTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcForQuoteStatusType鏄竴涓浠风姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#宸茬粡鎻愪氦 +defineDict["THOST_FTDC_FQST_Submitted"] = 'a' +#宸茬粡鎺ュ彈 +defineDict["THOST_FTDC_FQST_Accepted"] = 'b' +#宸茬粡琚嫆缁 +defineDict["THOST_FTDC_FQST_Rejected"] = 'c' + +typedefDict["TThostFtdcForQuoteStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcQuotStatusType鏄竴涓姤浠风姸鎬佺被鍨 +#////////////////////////////////////////////////////////////////////// +#鏈煡 +defineDict["THOST_FTDC_QTST_Unknown"] = 'a' +#宸茬粡鎺ュ彈 +defineDict["THOST_FTDC_QTST_Accepted"] = 'b' +#宸茬粡鎾ら攢 +defineDict["THOST_FTDC_QTST_Canceled"] = 'c' + +typedefDict["TThostFtdcQuotStatusType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcValueMethodType鏄竴涓彇鍊兼柟寮忕被鍨 +#////////////////////////////////////////////////////////////////////// +#鎸夌粷瀵瑰 +defineDict["THOST_FTDC_VM_Absolute"] = '0' +#鎸夋瘮鐜 +defineDict["THOST_FTDC_VM_Ratio"] = '1' + +typedefDict["TThostFtdcValueMethodType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcExecOrderPositionFlagType鏄竴涓湡鏉冭鏉冨悗鏄惁淇濈暀鏈熻揣澶村鐨勬爣璁扮被鍨 +#////////////////////////////////////////////////////////////////////// +#淇濈暀 +defineDict["THOST_FTDC_EOPF_Reserve"] = '0' +#涓嶄繚鐣 +defineDict["THOST_FTDC_EOPF_UnReserve"] = '1' + +typedefDict["TThostFtdcExecOrderPositionFlagType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcExecOrderCloseFlagType鏄竴涓湡鏉冭鏉冨悗鐢熸垚鐨勫ご瀵告槸鍚﹁嚜鍔ㄥ钩浠撶被鍨 +#////////////////////////////////////////////////////////////////////// +#鑷姩骞充粨 +defineDict["THOST_FTDC_EOCF_AutoClose"] = '0' +#鍏嶄簬鑷姩骞充粨 +defineDict["THOST_FTDC_EOCF_NotToClose"] = '1' + +typedefDict["TThostFtdcExecOrderCloseFlagType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcProductTypeType鏄竴涓骇鍝佺被鍨嬬被鍨 +#////////////////////////////////////////////////////////////////////// +#鏈熻揣 +defineDict["THOST_FTDC_PTE_Futures"] = '1' +#鏈熸潈 +defineDict["THOST_FTDC_PTE_Options"] = '2' + +typedefDict["TThostFtdcProductTypeType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCZCEUploadFileNameType鏄竴涓儜鍟嗘墍缁撶畻鏂囦欢鍚嶇被鍨 +#////////////////////////////////////////////////////////////////////// +#^\d{8}_zz_\d{4} +defineDict["THOST_FTDC_CUFN_CUFN_O"] = 'O' +#^\d{8}鎴愪氦琛 +defineDict["THOST_FTDC_CUFN_CUFN_T"] = 'T' +#^\d{8}鍗曡吙鎸佷粨琛╪ew +defineDict["THOST_FTDC_CUFN_CUFN_P"] = 'P' +#^\d{8}闈炲钩浠撲簡缁撹〃 +defineDict["THOST_FTDC_CUFN_CUFN_N"] = 'N' +#^\d{8}骞充粨琛 +defineDict["THOST_FTDC_CUFN_CUFN_L"] = 'L' +#^\d{8}璧勯噾琛 +defineDict["THOST_FTDC_CUFN_CUFN_F"] = 'F' +#^\d{8}缁勫悎鎸佷粨琛 +defineDict["THOST_FTDC_CUFN_CUFN_C"] = 'C' +#^\d{8}淇濊瘉閲戝弬鏁拌〃 +defineDict["THOST_FTDC_CUFN_CUFN_M"] = 'M' + +typedefDict["TThostFtdcCZCEUploadFileNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcDCEUploadFileNameType鏄竴涓ぇ鍟嗘墍缁撶畻鏂囦欢鍚嶇被鍨 +#////////////////////////////////////////////////////////////////////// +#^\d{8}_dl_\d{3} +defineDict["THOST_FTDC_DUFN_DUFN_O"] = 'O' +#^\d{8}_鎴愪氦琛 +defineDict["THOST_FTDC_DUFN_DUFN_T"] = 'T' +#^\d{8}_鎸佷粨琛 +defineDict["THOST_FTDC_DUFN_DUFN_P"] = 'P' +#^\d{8}_璧勯噾缁撶畻琛 +defineDict["THOST_FTDC_DUFN_DUFN_F"] = 'F' +#^\d{8}_浼樻儬缁勫悎鎸佷粨鏄庣粏琛 +defineDict["THOST_FTDC_DUFN_DUFN_C"] = 'C' +#^\d{8}_鎸佷粨鏄庣粏琛 +defineDict["THOST_FTDC_DUFN_DUFN_D"] = 'D' +#^\d{8}_淇濊瘉閲戝弬鏁拌〃 +defineDict["THOST_FTDC_DUFN_DUFN_M"] = 'M' +#^\d{8}_鏈熸潈鎵ц琛 +defineDict["THOST_FTDC_DUFN_DUFN_S"] = 'S' + +typedefDict["TThostFtdcDCEUploadFileNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcSHFEUploadFileNameType鏄竴涓笂鏈熸墍缁撶畻鏂囦欢鍚嶇被鍨 +#////////////////////////////////////////////////////////////////////// +#^\d{4}_\d{8}_\d{8}_DailyFundChg +defineDict["THOST_FTDC_SUFN_SUFN_O"] = 'O' +#^\d{4}_\d{8}_\d{8}_Trade +defineDict["THOST_FTDC_SUFN_SUFN_T"] = 'T' +#^\d{4}_\d{8}_\d{8}_SettlementDetail +defineDict["THOST_FTDC_SUFN_SUFN_P"] = 'P' +#^\d{4}_\d{8}_\d{8}_Capital +defineDict["THOST_FTDC_SUFN_SUFN_F"] = 'F' + +typedefDict["TThostFtdcSHFEUploadFileNameType"] = "string" + +#////////////////////////////////////////////////////////////////////// +#TFtdcCFFEXUploadFileNameType鏄竴涓腑閲戞墍缁撶畻鏂囦欢鍚嶇被鍨 +#////////////////////////////////////////////////////////////////////// +#^\d{4}_SG\d{1}_\d{8}_\d{1}_Trade +defineDict["THOST_FTDC_CFUFN_SUFN_T"] = 'T' +#^\d{4}_SG\d{1}_\d{8}_\d{1}_SettlementDetail +defineDict["THOST_FTDC_CFUFN_SUFN_P"] = 'P' +#^\d{4}_SG\d{1}_\d{8}_\d{1}_Capital +defineDict["THOST_FTDC_CFUFN_SUFN_F"] = 'F' +#^\d{4}_SG\d{1}_\d{8}_\d{1}_OptionExec +defineDict["THOST_FTDC_CFUFN_SUFN_S"] = 'S' + +typedefDict["TThostFtdcCFFEXUploadFileNameType"] = "string" + diff --git a/vn.ctp/pyscript/ctp_md_define.cpp b/vn.ctp/pyscript/ctp_md_define.cpp new file mode 100644 index 00000000..e199d563 --- /dev/null +++ b/vn.ctp/pyscript/ctp_md_define.cpp @@ -0,0 +1,12 @@ +#define ONFRONTCONNECTED 1 +#define ONFRONTDISCONNECTED 2 +#define ONHEARTBEATWARNING 3 +#define ONRSPUSERLOGIN 4 +#define ONRSPUSERLOGOUT 5 +#define ONRSPERROR 6 +#define ONRSPSUBMARKETDATA 7 +#define ONRSPUNSUBMARKETDATA 8 +#define ONRSPSUBFORQUOTERSP 9 +#define ONRSPUNSUBFORQUOTERSP 10 +#define ONRTNDEPTHMARKETDATA 11 +#define ONRTNFORQUOTERSP 12 diff --git a/vn.ctp/pyscript/ctp_md_function.cpp b/vn.ctp/pyscript/ctp_md_function.cpp new file mode 100644 index 00000000..b1e029d5 --- /dev/null +++ b/vn.ctp/pyscript/ctp_md_function.cpp @@ -0,0 +1,28 @@ +ReqUserLogin +{ + CThostFtdcReqUserLoginField myreq = CThostFtdcReqUserLoginField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "MacAddress", myreq.MacAddress); + getChar(req, "UserProductInfo", myreq.UserProductInfo); + getChar(req, "UserID", myreq.UserID); + getChar(req, "TradingDay", myreq.TradingDay); + getChar(req, "InterfaceProductInfo", myreq.InterfaceProductInfo); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "ClientIPAddress", myreq.ClientIPAddress); + getChar(req, "OneTimePassword", myreq.OneTimePassword); + getChar(req, "ProtocolInfo", myreq.ProtocolInfo); + getChar(req, "Password", myreq.Password); + int i = this->api->ReqUserLogin(&myreq, nRequestID); + return i; +}; + +ReqUserLogout +{ + CThostFtdcUserLogoutField myreq = CThostFtdcUserLogoutField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "UserID", myreq.UserID); + getChar(req, "BrokerID", myreq.BrokerID); + int i = this->api->ReqUserLogout(&myreq, nRequestID); + return i; +}; + diff --git a/vn.ctp/pyscript/ctp_md_process.cpp b/vn.ctp/pyscript/ctp_md_process.cpp new file mode 100644 index 00000000..c60d7639 --- /dev/null +++ b/vn.ctp/pyscript/ctp_md_process.cpp @@ -0,0 +1,187 @@ +void MdApi::processFrontConnected(Task task) +{ + this->onFrontConnected(); +}; + +void MdApi::processFrontDisconnected(Task task) +{ + this->onFrontDisconnected(task.task_id); +}; + +void MdApi::processHeartBeatWarning(Task task) +{ + this->onHeartBeatWarning(task.task_id); +}; + +void MdApi::processRspUserLogin(Task task) +{ + CThostFtdcRspUserLoginField task_data = any_cast(task.task_data); + dict data; + data["CZCETime"] = task_data.CZCETime; + data["SHFETime"] = task_data.SHFETime; + data["MaxOrderRef"] = task_data.MaxOrderRef; + data["INETime"] = task_data.INETime; + data["UserID"] = task_data.UserID; + data["TradingDay"] = task_data.TradingDay; + data["SessionID"] = task_data.SessionID; + data["SystemName"] = task_data.SystemName; + data["FrontID"] = task_data.FrontID; + data["FFEXTime"] = task_data.FFEXTime; + data["BrokerID"] = task_data.BrokerID; + data["DCETime"] = task_data.DCETime; + data["LoginTime"] = task_data.LoginTime; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspUserLogin(data, error, task.task_id, task.task_last); +}; + +void MdApi::processRspUserLogout(Task task) +{ + CThostFtdcUserLogoutField task_data = any_cast(task.task_data); + dict data; + data["UserID"] = task_data.UserID; + data["BrokerID"] = task_data.BrokerID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspUserLogout(data, error, task.task_id, task.task_last); +}; + +void MdApi::processRspError(Task task) +{ + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspError(error, task.task_id, task.task_last); +}; + +void MdApi::processRspSubMarketData(Task task) +{ + CThostFtdcSpecificInstrumentField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspSubMarketData(data, error, task.task_id, task.task_last); +}; + +void MdApi::processRspUnSubMarketData(Task task) +{ + CThostFtdcSpecificInstrumentField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspUnSubMarketData(data, error, task.task_id, task.task_last); +}; + +void MdApi::processRspSubForQuoteRsp(Task task) +{ + CThostFtdcSpecificInstrumentField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspSubForQuoteRsp(data, error, task.task_id, task.task_last); +}; + +void MdApi::processRspUnSubForQuoteRsp(Task task) +{ + CThostFtdcSpecificInstrumentField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspUnSubForQuoteRsp(data, error, task.task_id, task.task_last); +}; + +void MdApi::processRtnDepthMarketData(Task task) +{ + CThostFtdcDepthMarketDataField task_data = any_cast(task.task_data); + dict data; + data["HighestPrice"] = task_data.HighestPrice; + data["BidPrice5"] = task_data.BidPrice5; + data["BidPrice4"] = task_data.BidPrice4; + data["BidPrice1"] = task_data.BidPrice1; + data["BidPrice3"] = task_data.BidPrice3; + data["BidPrice2"] = task_data.BidPrice2; + data["LowerLimitPrice"] = task_data.LowerLimitPrice; + data["OpenPrice"] = task_data.OpenPrice; + data["AskPrice5"] = task_data.AskPrice5; + data["AskPrice4"] = task_data.AskPrice4; + data["AskPrice3"] = task_data.AskPrice3; + data["PreClosePrice"] = task_data.PreClosePrice; + data["AskPrice1"] = task_data.AskPrice1; + data["PreSettlementPrice"] = task_data.PreSettlementPrice; + data["AskVolume1"] = task_data.AskVolume1; + data["UpdateTime"] = task_data.UpdateTime; + data["UpdateMillisec"] = task_data.UpdateMillisec; + data["AveragePrice"] = task_data.AveragePrice; + data["BidVolume5"] = task_data.BidVolume5; + data["BidVolume4"] = task_data.BidVolume4; + data["BidVolume3"] = task_data.BidVolume3; + data["BidVolume2"] = task_data.BidVolume2; + data["PreOpenInterest"] = task_data.PreOpenInterest; + data["AskPrice2"] = task_data.AskPrice2; + data["Volume"] = task_data.Volume; + data["AskVolume3"] = task_data.AskVolume3; + data["AskVolume2"] = task_data.AskVolume2; + data["AskVolume5"] = task_data.AskVolume5; + data["AskVolume4"] = task_data.AskVolume4; + data["UpperLimitPrice"] = task_data.UpperLimitPrice; + data["BidVolume1"] = task_data.BidVolume1; + data["InstrumentID"] = task_data.InstrumentID; + data["ClosePrice"] = task_data.ClosePrice; + data["ExchangeID"] = task_data.ExchangeID; + data["TradingDay"] = task_data.TradingDay; + data["PreDelta"] = task_data.PreDelta; + data["OpenInterest"] = task_data.OpenInterest; + data["CurrDelta"] = task_data.CurrDelta; + data["Turnover"] = task_data.Turnover; + data["LastPrice"] = task_data.LastPrice; + data["SettlementPrice"] = task_data.SettlementPrice; + data["ExchangeInstID"] = task_data.ExchangeInstID; + data["LowestPrice"] = task_data.LowestPrice; + data["ActionDay"] = task_data.ActionDay; + + this->onRtnDepthMarketData(data); +}; + +void MdApi::processRtnForQuoteRsp(Task task) +{ + CThostFtdcForQuoteRspField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["TradingDay"] = task_data.TradingDay; + data["ForQuoteTime"] = task_data.ForQuoteTime; + data["ForQuoteSysID"] = task_data.ForQuoteSysID; + data["ActionDay"] = task_data.ActionDay; + + this->onRtnForQuoteRsp(data); +}; + diff --git a/vn.ctp/pyscript/ctp_md_switch.cpp b/vn.ctp/pyscript/ctp_md_switch.cpp new file mode 100644 index 00000000..2078a67f --- /dev/null +++ b/vn.ctp/pyscript/ctp_md_switch.cpp @@ -0,0 +1,72 @@ +case ONFRONTCONNECTED: +{ + this->processFrontConnected(task); + break; +} + +case ONFRONTDISCONNECTED: +{ + this->processFrontDisconnected(task); + break; +} + +case ONHEARTBEATWARNING: +{ + this->processHeartBeatWarning(task); + break; +} + +case ONRSPUSERLOGIN: +{ + this->processRspUserLogin(task); + break; +} + +case ONRSPUSERLOGOUT: +{ + this->processRspUserLogout(task); + break; +} + +case ONRSPERROR: +{ + this->processRspError(task); + break; +} + +case ONRSPSUBMARKETDATA: +{ + this->processRspSubMarketData(task); + break; +} + +case ONRSPUNSUBMARKETDATA: +{ + this->processRspUnSubMarketData(task); + break; +} + +case ONRSPSUBFORQUOTERSP: +{ + this->processRspSubForQuoteRsp(task); + break; +} + +case ONRSPUNSUBFORQUOTERSP: +{ + this->processRspUnSubForQuoteRsp(task); + break; +} + +case ONRTNDEPTHMARKETDATA: +{ + this->processRtnDepthMarketData(task); + break; +} + +case ONRTNFORQUOTERSP: +{ + this->processRtnForQuoteRsp(task); + break; +} + diff --git a/vn.ctp/pyscript/ctp_md_task.cpp b/vn.ctp/pyscript/ctp_md_task.cpp new file mode 100644 index 00000000..8a9c86e9 --- /dev/null +++ b/vn.ctp/pyscript/ctp_md_task.cpp @@ -0,0 +1,178 @@ +void MdApi::OnFrontConnected() +{ + Task task = Task(); + task.task_name = ONFRONTCONNECTED; + this->task_queue.push(task); +}; + +void MdApi::OnFrontDisconnected(int nReason) +{ + Task task = Task(); + task.task_name = ONFRONTDISCONNECTED; + task.task_id = nReason; + this->task_queue.push(task); +}; + +void MdApi::OnHeartBeatWarning(int nTimeLapse) +{ + Task task = Task(); + task.task_name = ONHEARTBEATWARNING; + task.task_id = nTimeLapse; + this->task_queue.push(task); +}; + +void MdApi::OnRspUserLogin(CThostFtdcRspUserLoginField *pRspUserLogin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPUSERLOGIN; + task.task_data = *pRspUserLogin; + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CSecurityFtdcRspInfoField empty_error = CSecurityFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void MdApi::OnRspUserLogout(CThostFtdcUserLogoutField *pUserLogout, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPUSERLOGOUT; + task.task_data = *pUserLogout; + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CSecurityFtdcRspInfoField empty_error = CSecurityFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void MdApi::OnRspError(CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPERROR; + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CSecurityFtdcRspInfoField empty_error = CSecurityFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void MdApi::OnRspSubMarketData(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPSUBMARKETDATA; + task.task_data = *pSpecificInstrument; + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CSecurityFtdcRspInfoField empty_error = CSecurityFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void MdApi::OnRspUnSubMarketData(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPUNSUBMARKETDATA; + task.task_data = *pSpecificInstrument; + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CSecurityFtdcRspInfoField empty_error = CSecurityFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void MdApi::OnRspSubForQuoteRsp(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPSUBFORQUOTERSP; + task.task_data = *pSpecificInstrument; + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CSecurityFtdcRspInfoField empty_error = CSecurityFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void MdApi::OnRspUnSubForQuoteRsp(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPUNSUBFORQUOTERSP; + task.task_data = *pSpecificInstrument; + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CSecurityFtdcRspInfoField empty_error = CSecurityFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void MdApi::OnRtnDepthMarketData(CThostFtdcDepthMarketDataField *pDepthMarketData) +{ + Task task = Task(); + task.task_name = ONRTNDEPTHMARKETDATA; + task.task_data = *pDepthMarketData; + this->task_queue.push(task); +}; + +void MdApi::OnRtnForQuoteRsp(CThostFtdcForQuoteRspField *pForQuoteRsp) +{ + Task task = Task(); + task.task_name = ONRTNFORQUOTERSP; + task.task_data = *pForQuoteRsp; + this->task_queue.push(task); +}; + diff --git a/vn.ctp/pyscript/ctp_struct.py b/vn.ctp/pyscript/ctp_struct.py new file mode 100644 index 00000000..48d0b990 --- /dev/null +++ b/vn.ctp/pyscript/ctp_struct.py @@ -0,0 +1,7434 @@ +# encoding: UTF-8 + +structDict = {} + +#////////////////////////////////////////////////////////////////////// +#@system 鏂颁竴浠d氦鏄撴墍绯荤粺 +#@company 涓婃捣鏈熻揣淇℃伅鎶鏈湁闄愬叕鍙 +#@file ThostFtdcUserApiStruct.h +#@brief 瀹氫箟浜嗗鎴风鎺ュ彛浣跨敤鐨勪笟鍔℃暟鎹粨鏋 +#@history + +#////////////////////////////////////////////////////////////////////// + + + + + + + + + + +#淇℃伅鍒嗗彂 +CThostFtdcDisseminationField = {} +#搴忓垪绯诲垪鍙 +CThostFtdcDisseminationField["SequenceSeries"] = "int" +#搴忓垪鍙 +CThostFtdcDisseminationField["SequenceNo"] = "int" +structDict['CThostFtdcDisseminationField'] = CThostFtdcDisseminationField + + +#鐢ㄦ埛鐧诲綍璇锋眰 +CThostFtdcReqUserLoginField = {} +#浜ゆ槗鏃 +CThostFtdcReqUserLoginField["TradingDay"] = "string" +#缁忕邯鍏徃浠g爜 +CThostFtdcReqUserLoginField["BrokerID"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcReqUserLoginField["UserID"] = "string" +#瀵嗙爜 +CThostFtdcReqUserLoginField["Password"] = "string" +#鐢ㄦ埛绔骇鍝佷俊鎭 +CThostFtdcReqUserLoginField["UserProductInfo"] = "string" +#鎺ュ彛绔骇鍝佷俊鎭 +CThostFtdcReqUserLoginField["InterfaceProductInfo"] = "string" +#鍗忚淇℃伅 +CThostFtdcReqUserLoginField["ProtocolInfo"] = "string" +#Mac鍦板潃 +CThostFtdcReqUserLoginField["MacAddress"] = "string" +#鍔ㄦ佸瘑鐮 +CThostFtdcReqUserLoginField["OneTimePassword"] = "string" +#缁堢IP鍦板潃 +CThostFtdcReqUserLoginField["ClientIPAddress"] = "string" +structDict['CThostFtdcReqUserLoginField'] = CThostFtdcReqUserLoginField + + +#鐢ㄦ埛鐧诲綍搴旂瓟 +CThostFtdcRspUserLoginField = {} +#浜ゆ槗鏃 +CThostFtdcRspUserLoginField["TradingDay"] = "string" +#鐧诲綍鎴愬姛鏃堕棿 +CThostFtdcRspUserLoginField["LoginTime"] = "string" +#缁忕邯鍏徃浠g爜 +CThostFtdcRspUserLoginField["BrokerID"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcRspUserLoginField["UserID"] = "string" +#浜ゆ槗绯荤粺鍚嶇О +CThostFtdcRspUserLoginField["SystemName"] = "string" +#鍓嶇疆缂栧彿 +CThostFtdcRspUserLoginField["FrontID"] = "int" +#浼氳瘽缂栧彿 +CThostFtdcRspUserLoginField["SessionID"] = "int" +#鏈澶ф姤鍗曞紩鐢 +CThostFtdcRspUserLoginField["MaxOrderRef"] = "string" +#涓婃湡鎵鏃堕棿 +CThostFtdcRspUserLoginField["SHFETime"] = "string" +#澶у晢鎵鏃堕棿 +CThostFtdcRspUserLoginField["DCETime"] = "string" +#閮戝晢鎵鏃堕棿 +CThostFtdcRspUserLoginField["CZCETime"] = "string" +#涓噾鎵鏃堕棿 +CThostFtdcRspUserLoginField["FFEXTime"] = "string" +#鑳芥簮涓績鏃堕棿 +CThostFtdcRspUserLoginField["INETime"] = "string" +structDict['CThostFtdcRspUserLoginField'] = CThostFtdcRspUserLoginField + + +#鐢ㄦ埛鐧诲嚭璇锋眰 +CThostFtdcUserLogoutField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcUserLogoutField["BrokerID"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcUserLogoutField["UserID"] = "string" +structDict['CThostFtdcUserLogoutField'] = CThostFtdcUserLogoutField + + +#寮哄埗浜ゆ槗鍛橀鍑 +CThostFtdcForceUserLogoutField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcForceUserLogoutField["BrokerID"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcForceUserLogoutField["UserID"] = "string" +structDict['CThostFtdcForceUserLogoutField'] = CThostFtdcForceUserLogoutField + + +#瀹㈡埛绔璇佽姹 +CThostFtdcReqAuthenticateField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcReqAuthenticateField["BrokerID"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcReqAuthenticateField["UserID"] = "string" +#鐢ㄦ埛绔骇鍝佷俊鎭 +CThostFtdcReqAuthenticateField["UserProductInfo"] = "string" +#璁よ瘉鐮 +CThostFtdcReqAuthenticateField["AuthCode"] = "string" +structDict['CThostFtdcReqAuthenticateField'] = CThostFtdcReqAuthenticateField + + +#瀹㈡埛绔璇佸搷搴 +CThostFtdcRspAuthenticateField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcRspAuthenticateField["BrokerID"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcRspAuthenticateField["UserID"] = "string" +#鐢ㄦ埛绔骇鍝佷俊鎭 +CThostFtdcRspAuthenticateField["UserProductInfo"] = "string" +structDict['CThostFtdcRspAuthenticateField'] = CThostFtdcRspAuthenticateField + + +#瀹㈡埛绔璇佷俊鎭 +CThostFtdcAuthenticationInfoField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcAuthenticationInfoField["BrokerID"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcAuthenticationInfoField["UserID"] = "string" +#鐢ㄦ埛绔骇鍝佷俊鎭 +CThostFtdcAuthenticationInfoField["UserProductInfo"] = "string" +#璁よ瘉淇℃伅 +CThostFtdcAuthenticationInfoField["AuthInfo"] = "string" +#鏄惁涓鸿璇佺粨鏋 +CThostFtdcAuthenticationInfoField["IsResult"] = "int" +structDict['CThostFtdcAuthenticationInfoField'] = CThostFtdcAuthenticationInfoField + + +#閾舵湡杞笎鎶ユ枃澶 +CThostFtdcTransferHeaderField = {} +#鐗堟湰鍙凤紝甯搁噺锛1.0 +CThostFtdcTransferHeaderField["Version"] = "string" +#浜ゆ槗浠g爜锛屽繀濉 +CThostFtdcTransferHeaderField["TradeCode"] = "string" +#浜ゆ槗鏃ユ湡锛屽繀濉紝鏍煎紡锛歽yyymmdd +CThostFtdcTransferHeaderField["TradeDate"] = "string" +#浜ゆ槗鏃堕棿锛屽繀濉紝鏍煎紡锛歨hmmss +CThostFtdcTransferHeaderField["TradeTime"] = "string" +#鍙戣捣鏂规祦姘村彿锛孨/A +CThostFtdcTransferHeaderField["TradeSerial"] = "string" +#鏈熻揣鍏徃浠g爜锛屽繀濉 +CThostFtdcTransferHeaderField["FutureID"] = "string" +#閾惰浠g爜锛屾牴鎹煡璇㈤摱琛屽緱鍒帮紝蹇呭~ +CThostFtdcTransferHeaderField["BankID"] = "string" +#閾惰鍒嗕腑蹇冧唬鐮侊紝鏍规嵁鏌ヨ閾惰寰楀埌锛屽繀濉 +CThostFtdcTransferHeaderField["BankBrchID"] = "string" +#鎿嶄綔鍛橈紝N/A +CThostFtdcTransferHeaderField["OperNo"] = "string" +#浜ゆ槗璁惧绫诲瀷锛孨/A +CThostFtdcTransferHeaderField["DeviceID"] = "string" +#璁板綍鏁帮紝N/A +CThostFtdcTransferHeaderField["RecordNum"] = "string" +#浼氳瘽缂栧彿锛孨/A +CThostFtdcTransferHeaderField["SessionID"] = "int" +#璇锋眰缂栧彿锛孨/A +CThostFtdcTransferHeaderField["RequestID"] = "int" +structDict['CThostFtdcTransferHeaderField'] = CThostFtdcTransferHeaderField + + +#閾惰璧勯噾杞湡璐ц姹傦紝TradeCode=202001 +CThostFtdcTransferBankToFutureReqField = {} +#鏈熻揣璧勯噾璐︽埛 +CThostFtdcTransferBankToFutureReqField["FutureAccount"] = "string" +#瀵嗙爜鏍囧織 +CThostFtdcTransferBankToFutureReqField["FuturePwdFlag"] = "string" +#瀵嗙爜 +CThostFtdcTransferBankToFutureReqField["FutureAccPwd"] = "string" +#杞处閲戦 +CThostFtdcTransferBankToFutureReqField["TradeAmt"] = "float" +#瀹㈡埛鎵嬬画璐 +CThostFtdcTransferBankToFutureReqField["CustFee"] = "float" +#甯佺锛歊MB-浜烘皯甯 USD-缇庡渾 HKD-娓厓 +CThostFtdcTransferBankToFutureReqField["CurrencyCode"] = "string" +structDict['CThostFtdcTransferBankToFutureReqField'] = CThostFtdcTransferBankToFutureReqField + + +#閾惰璧勯噾杞湡璐ц姹傚搷搴 +CThostFtdcTransferBankToFutureRspField = {} +#鍝嶅簲浠g爜 +CThostFtdcTransferBankToFutureRspField["RetCode"] = "string" +#鍝嶅簲淇℃伅 +CThostFtdcTransferBankToFutureRspField["RetInfo"] = "string" +#璧勯噾璐︽埛 +CThostFtdcTransferBankToFutureRspField["FutureAccount"] = "string" +#杞笎閲戦 +CThostFtdcTransferBankToFutureRspField["TradeAmt"] = "float" +#搴旀敹瀹㈡埛鎵嬬画璐 +CThostFtdcTransferBankToFutureRspField["CustFee"] = "float" +#甯佺 +CThostFtdcTransferBankToFutureRspField["CurrencyCode"] = "string" +structDict['CThostFtdcTransferBankToFutureRspField'] = CThostFtdcTransferBankToFutureRspField + + +#鏈熻揣璧勯噾杞摱琛岃姹傦紝TradeCode=202002 +CThostFtdcTransferFutureToBankReqField = {} +#鏈熻揣璧勯噾璐︽埛 +CThostFtdcTransferFutureToBankReqField["FutureAccount"] = "string" +#瀵嗙爜鏍囧織 +CThostFtdcTransferFutureToBankReqField["FuturePwdFlag"] = "string" +#瀵嗙爜 +CThostFtdcTransferFutureToBankReqField["FutureAccPwd"] = "string" +#杞处閲戦 +CThostFtdcTransferFutureToBankReqField["TradeAmt"] = "float" +#瀹㈡埛鎵嬬画璐 +CThostFtdcTransferFutureToBankReqField["CustFee"] = "float" +#甯佺锛歊MB-浜烘皯甯 USD-缇庡渾 HKD-娓厓 +CThostFtdcTransferFutureToBankReqField["CurrencyCode"] = "string" +structDict['CThostFtdcTransferFutureToBankReqField'] = CThostFtdcTransferFutureToBankReqField + + +#鏈熻揣璧勯噾杞摱琛岃姹傚搷搴 +CThostFtdcTransferFutureToBankRspField = {} +#鍝嶅簲浠g爜 +CThostFtdcTransferFutureToBankRspField["RetCode"] = "string" +#鍝嶅簲淇℃伅 +CThostFtdcTransferFutureToBankRspField["RetInfo"] = "string" +#璧勯噾璐︽埛 +CThostFtdcTransferFutureToBankRspField["FutureAccount"] = "string" +#杞笎閲戦 +CThostFtdcTransferFutureToBankRspField["TradeAmt"] = "float" +#搴旀敹瀹㈡埛鎵嬬画璐 +CThostFtdcTransferFutureToBankRspField["CustFee"] = "float" +#甯佺 +CThostFtdcTransferFutureToBankRspField["CurrencyCode"] = "string" +structDict['CThostFtdcTransferFutureToBankRspField'] = CThostFtdcTransferFutureToBankRspField + + +#鏌ヨ閾惰璧勯噾璇锋眰锛孴radeCode=204002 +CThostFtdcTransferQryBankReqField = {} +#鏈熻揣璧勯噾璐︽埛 +CThostFtdcTransferQryBankReqField["FutureAccount"] = "string" +#瀵嗙爜鏍囧織 +CThostFtdcTransferQryBankReqField["FuturePwdFlag"] = "string" +#瀵嗙爜 +CThostFtdcTransferQryBankReqField["FutureAccPwd"] = "string" +#甯佺锛歊MB-浜烘皯甯 USD-缇庡渾 HKD-娓厓 +CThostFtdcTransferQryBankReqField["CurrencyCode"] = "string" +structDict['CThostFtdcTransferQryBankReqField'] = CThostFtdcTransferQryBankReqField + + +#鏌ヨ閾惰璧勯噾璇锋眰鍝嶅簲 +CThostFtdcTransferQryBankRspField = {} +#鍝嶅簲浠g爜 +CThostFtdcTransferQryBankRspField["RetCode"] = "string" +#鍝嶅簲淇℃伅 +CThostFtdcTransferQryBankRspField["RetInfo"] = "string" +#璧勯噾璐︽埛 +CThostFtdcTransferQryBankRspField["FutureAccount"] = "string" +#閾惰浣欓 +CThostFtdcTransferQryBankRspField["TradeAmt"] = "float" +#閾惰鍙敤浣欓 +CThostFtdcTransferQryBankRspField["UseAmt"] = "float" +#閾惰鍙彇浣欓 +CThostFtdcTransferQryBankRspField["FetchAmt"] = "float" +#甯佺 +CThostFtdcTransferQryBankRspField["CurrencyCode"] = "string" +structDict['CThostFtdcTransferQryBankRspField'] = CThostFtdcTransferQryBankRspField + + +#鏌ヨ閾惰浜ゆ槗鏄庣粏璇锋眰锛孴radeCode=204999 +CThostFtdcTransferQryDetailReqField = {} +#鏈熻揣璧勯噾璐︽埛 +CThostFtdcTransferQryDetailReqField["FutureAccount"] = "string" +structDict['CThostFtdcTransferQryDetailReqField'] = CThostFtdcTransferQryDetailReqField + + +#鏌ヨ閾惰浜ゆ槗鏄庣粏璇锋眰鍝嶅簲 +CThostFtdcTransferQryDetailRspField = {} +#浜ゆ槗鏃ユ湡 +CThostFtdcTransferQryDetailRspField["TradeDate"] = "string" +#浜ゆ槗鏃堕棿 +CThostFtdcTransferQryDetailRspField["TradeTime"] = "string" +#浜ゆ槗浠g爜 +CThostFtdcTransferQryDetailRspField["TradeCode"] = "string" +#鏈熻揣娴佹按鍙 +CThostFtdcTransferQryDetailRspField["FutureSerial"] = "int" +#鏈熻揣鍏徃浠g爜 +CThostFtdcTransferQryDetailRspField["FutureID"] = "string" +#璧勯噾甯愬彿 +CThostFtdcTransferQryDetailRspField["FutureAccount"] = "string" +#閾惰娴佹按鍙 +CThostFtdcTransferQryDetailRspField["BankSerial"] = "int" +#閾惰浠g爜 +CThostFtdcTransferQryDetailRspField["BankID"] = "string" +#閾惰鍒嗕腑蹇冧唬鐮 +CThostFtdcTransferQryDetailRspField["BankBrchID"] = "string" +#閾惰璐﹀彿 +CThostFtdcTransferQryDetailRspField["BankAccount"] = "string" +#璇佷欢鍙风爜 +CThostFtdcTransferQryDetailRspField["CertCode"] = "string" +#璐у竵浠g爜 +CThostFtdcTransferQryDetailRspField["CurrencyCode"] = "string" +#鍙戠敓閲戦 +CThostFtdcTransferQryDetailRspField["TxAmount"] = "float" +#鏈夋晥鏍囧織 +CThostFtdcTransferQryDetailRspField["Flag"] = "string" +structDict['CThostFtdcTransferQryDetailRspField'] = CThostFtdcTransferQryDetailRspField + + +#鍝嶅簲淇℃伅 +CThostFtdcRspInfoField = {} +#閿欒浠g爜 +CThostFtdcRspInfoField["ErrorID"] = "int" +#閿欒淇℃伅 +CThostFtdcRspInfoField["ErrorMsg"] = "string" +structDict['CThostFtdcRspInfoField'] = CThostFtdcRspInfoField + + +#浜ゆ槗鎵 +CThostFtdcExchangeField = {} +#浜ゆ槗鎵浠g爜 +CThostFtdcExchangeField["ExchangeID"] = "string" +#浜ゆ槗鎵鍚嶇О +CThostFtdcExchangeField["ExchangeName"] = "string" +#浜ゆ槗鎵灞炴 +CThostFtdcExchangeField["ExchangeProperty"] = "string" +structDict['CThostFtdcExchangeField'] = CThostFtdcExchangeField + + +#浜у搧 +CThostFtdcProductField = {} +#浜у搧浠g爜 +CThostFtdcProductField["ProductID"] = "string" +#浜у搧鍚嶇О +CThostFtdcProductField["ProductName"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcProductField["ExchangeID"] = "string" +#浜у搧绫诲瀷 +CThostFtdcProductField["ProductClass"] = "string" +#鍚堢害鏁伴噺涔樻暟 +CThostFtdcProductField["VolumeMultiple"] = "int" +#鏈灏忓彉鍔ㄤ环浣 +CThostFtdcProductField["PriceTick"] = "float" +#甯備环鍗曟渶澶т笅鍗曢噺 +CThostFtdcProductField["MaxMarketOrderVolume"] = "int" +#甯備环鍗曟渶灏忎笅鍗曢噺 +CThostFtdcProductField["MinMarketOrderVolume"] = "int" +#闄愪环鍗曟渶澶т笅鍗曢噺 +CThostFtdcProductField["MaxLimitOrderVolume"] = "int" +#闄愪环鍗曟渶灏忎笅鍗曢噺 +CThostFtdcProductField["MinLimitOrderVolume"] = "int" +#鎸佷粨绫诲瀷 +CThostFtdcProductField["PositionType"] = "string" +#鎸佷粨鏃ユ湡绫诲瀷 +CThostFtdcProductField["PositionDateType"] = "string" +#骞充粨澶勭悊绫诲瀷 +CThostFtdcProductField["CloseDealType"] = "string" +#浜ゆ槗甯佺绫诲瀷 +CThostFtdcProductField["TradeCurrencyID"] = "string" +#璐ㄦ娂璧勯噾鍙敤鑼冨洿 +CThostFtdcProductField["MortgageFundUseRange"] = "string" +#浜ゆ槗鎵浜у搧浠g爜 +CThostFtdcProductField["ExchangeProductID"] = "string" +#鍚堢害鍩虹鍟嗗搧涔樻暟 +CThostFtdcProductField["UnderlyingMultiple"] = "float" +structDict['CThostFtdcProductField'] = CThostFtdcProductField + + +#鍚堢害 +CThostFtdcInstrumentField = {} +#鍚堢害浠g爜 +CThostFtdcInstrumentField["InstrumentID"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcInstrumentField["ExchangeID"] = "string" +#鍚堢害鍚嶇О +CThostFtdcInstrumentField["InstrumentName"] = "string" +#鍚堢害鍦ㄤ氦鏄撴墍鐨勪唬鐮 +CThostFtdcInstrumentField["ExchangeInstID"] = "string" +#浜у搧浠g爜 +CThostFtdcInstrumentField["ProductID"] = "string" +#浜у搧绫诲瀷 +CThostFtdcInstrumentField["ProductClass"] = "string" +#浜ゅ壊骞翠唤 +CThostFtdcInstrumentField["DeliveryYear"] = "int" +#浜ゅ壊鏈 +CThostFtdcInstrumentField["DeliveryMonth"] = "int" +#甯備环鍗曟渶澶т笅鍗曢噺 +CThostFtdcInstrumentField["MaxMarketOrderVolume"] = "int" +#甯備环鍗曟渶灏忎笅鍗曢噺 +CThostFtdcInstrumentField["MinMarketOrderVolume"] = "int" +#闄愪环鍗曟渶澶т笅鍗曢噺 +CThostFtdcInstrumentField["MaxLimitOrderVolume"] = "int" +#闄愪环鍗曟渶灏忎笅鍗曢噺 +CThostFtdcInstrumentField["MinLimitOrderVolume"] = "int" +#鍚堢害鏁伴噺涔樻暟 +CThostFtdcInstrumentField["VolumeMultiple"] = "int" +#鏈灏忓彉鍔ㄤ环浣 +CThostFtdcInstrumentField["PriceTick"] = "float" +#鍒涘缓鏃 +CThostFtdcInstrumentField["CreateDate"] = "string" +#涓婂競鏃 +CThostFtdcInstrumentField["OpenDate"] = "string" +#鍒版湡鏃 +CThostFtdcInstrumentField["ExpireDate"] = "string" +#寮濮嬩氦鍓叉棩 +CThostFtdcInstrumentField["StartDelivDate"] = "string" +#缁撴潫浜ゅ壊鏃 +CThostFtdcInstrumentField["EndDelivDate"] = "string" +#鍚堢害鐢熷懡鍛ㄦ湡鐘舵 +CThostFtdcInstrumentField["InstLifePhase"] = "string" +#褰撳墠鏄惁浜ゆ槗 +CThostFtdcInstrumentField["IsTrading"] = "int" +#鎸佷粨绫诲瀷 +CThostFtdcInstrumentField["PositionType"] = "string" +#鎸佷粨鏃ユ湡绫诲瀷 +CThostFtdcInstrumentField["PositionDateType"] = "string" +#澶氬ご淇濊瘉閲戠巼 +CThostFtdcInstrumentField["LongMarginRatio"] = "float" +#绌哄ご淇濊瘉閲戠巼 +CThostFtdcInstrumentField["ShortMarginRatio"] = "float" +#鏄惁浣跨敤澶ч鍗曡竟淇濊瘉閲戠畻娉 +CThostFtdcInstrumentField["MaxMarginSideAlgorithm"] = "string" +#鍩虹鍟嗗搧浠g爜 +CThostFtdcInstrumentField["UnderlyingInstrID"] = "string" +#鎵ц浠 +CThostFtdcInstrumentField["StrikePrice"] = "float" +#鏈熸潈绫诲瀷 +CThostFtdcInstrumentField["OptionsType"] = "string" +#鍚堢害鍩虹鍟嗗搧涔樻暟 +CThostFtdcInstrumentField["UnderlyingMultiple"] = "float" +#缁勫悎绫诲瀷 +CThostFtdcInstrumentField["CombinationType"] = "string" +structDict['CThostFtdcInstrumentField'] = CThostFtdcInstrumentField + + +#缁忕邯鍏徃 +CThostFtdcBrokerField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcBrokerField["BrokerID"] = "string" +#缁忕邯鍏徃绠绉 +CThostFtdcBrokerField["BrokerAbbr"] = "string" +#缁忕邯鍏徃鍚嶇О +CThostFtdcBrokerField["BrokerName"] = "string" +#鏄惁娲昏穬 +CThostFtdcBrokerField["IsActive"] = "int" +structDict['CThostFtdcBrokerField'] = CThostFtdcBrokerField + + +#浜ゆ槗鎵浜ゆ槗鍛 +CThostFtdcTraderField = {} +#浜ゆ槗鎵浠g爜 +CThostFtdcTraderField["ExchangeID"] = "string" +#浜ゆ槗鎵浜ゆ槗鍛樹唬鐮 +CThostFtdcTraderField["TraderID"] = "string" +#浼氬憳浠g爜 +CThostFtdcTraderField["ParticipantID"] = "string" +#瀵嗙爜 +CThostFtdcTraderField["Password"] = "string" +#瀹夎鏁伴噺 +CThostFtdcTraderField["InstallCount"] = "int" +#缁忕邯鍏徃浠g爜 +CThostFtdcTraderField["BrokerID"] = "string" +structDict['CThostFtdcTraderField'] = CThostFtdcTraderField + + +#鎶曡祫鑰 +CThostFtdcInvestorField = {} +#鎶曡祫鑰呬唬鐮 +CThostFtdcInvestorField["InvestorID"] = "string" +#缁忕邯鍏徃浠g爜 +CThostFtdcInvestorField["BrokerID"] = "string" +#鎶曡祫鑰呭垎缁勪唬鐮 +CThostFtdcInvestorField["InvestorGroupID"] = "string" +#鎶曡祫鑰呭悕绉 +CThostFtdcInvestorField["InvestorName"] = "string" +#璇佷欢绫诲瀷 +CThostFtdcInvestorField["IdentifiedCardType"] = "string" +#璇佷欢鍙风爜 +CThostFtdcInvestorField["IdentifiedCardNo"] = "string" +#鏄惁娲昏穬 +CThostFtdcInvestorField["IsActive"] = "int" +#鑱旂郴鐢佃瘽 +CThostFtdcInvestorField["Telephone"] = "string" +#閫氳鍦板潃 +CThostFtdcInvestorField["Address"] = "string" +#寮鎴锋棩鏈 +CThostFtdcInvestorField["OpenDate"] = "string" +#鎵嬫満 +CThostFtdcInvestorField["Mobile"] = "string" +#鎵嬬画璐圭巼妯℃澘浠g爜 +CThostFtdcInvestorField["CommModelID"] = "string" +#淇濊瘉閲戠巼妯℃澘浠g爜 +CThostFtdcInvestorField["MarginModelID"] = "string" +structDict['CThostFtdcInvestorField'] = CThostFtdcInvestorField + + +#浜ゆ槗缂栫爜 +CThostFtdcTradingCodeField = {} +#鎶曡祫鑰呬唬鐮 +CThostFtdcTradingCodeField["InvestorID"] = "string" +#缁忕邯鍏徃浠g爜 +CThostFtdcTradingCodeField["BrokerID"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcTradingCodeField["ExchangeID"] = "string" +#瀹㈡埛浠g爜 +CThostFtdcTradingCodeField["ClientID"] = "string" +#鏄惁娲昏穬 +CThostFtdcTradingCodeField["IsActive"] = "int" +#浜ゆ槗缂栫爜绫诲瀷 +CThostFtdcTradingCodeField["ClientIDType"] = "string" +structDict['CThostFtdcTradingCodeField'] = CThostFtdcTradingCodeField + + +#浼氬憳缂栫爜鍜岀粡绾叕鍙哥紪鐮佸鐓ц〃 +CThostFtdcPartBrokerField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcPartBrokerField["BrokerID"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcPartBrokerField["ExchangeID"] = "string" +#浼氬憳浠g爜 +CThostFtdcPartBrokerField["ParticipantID"] = "string" +#鏄惁娲昏穬 +CThostFtdcPartBrokerField["IsActive"] = "int" +structDict['CThostFtdcPartBrokerField'] = CThostFtdcPartBrokerField + + +#绠$悊鐢ㄦ埛 +CThostFtdcSuperUserField = {} +#鐢ㄦ埛浠g爜 +CThostFtdcSuperUserField["UserID"] = "string" +#鐢ㄦ埛鍚嶇О +CThostFtdcSuperUserField["UserName"] = "string" +#瀵嗙爜 +CThostFtdcSuperUserField["Password"] = "string" +#鏄惁娲昏穬 +CThostFtdcSuperUserField["IsActive"] = "int" +structDict['CThostFtdcSuperUserField'] = CThostFtdcSuperUserField + + +#绠$悊鐢ㄦ埛鍔熻兘鏉冮檺 +CThostFtdcSuperUserFunctionField = {} +#鐢ㄦ埛浠g爜 +CThostFtdcSuperUserFunctionField["UserID"] = "string" +#鍔熻兘浠g爜 +CThostFtdcSuperUserFunctionField["FunctionCode"] = "string" +structDict['CThostFtdcSuperUserFunctionField'] = CThostFtdcSuperUserFunctionField + + +#鎶曡祫鑰呯粍 +CThostFtdcInvestorGroupField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcInvestorGroupField["BrokerID"] = "string" +#鎶曡祫鑰呭垎缁勪唬鐮 +CThostFtdcInvestorGroupField["InvestorGroupID"] = "string" +#鎶曡祫鑰呭垎缁勫悕绉 +CThostFtdcInvestorGroupField["InvestorGroupName"] = "string" +structDict['CThostFtdcInvestorGroupField'] = CThostFtdcInvestorGroupField + + +#璧勯噾璐︽埛 +CThostFtdcTradingAccountField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcTradingAccountField["BrokerID"] = "string" +#鎶曡祫鑰呭笎鍙 +CThostFtdcTradingAccountField["AccountID"] = "string" +#涓婃璐ㄦ娂閲戦 +CThostFtdcTradingAccountField["PreMortgage"] = "float" +#涓婃淇$敤棰濆害 +CThostFtdcTradingAccountField["PreCredit"] = "float" +#涓婃瀛樻棰 +CThostFtdcTradingAccountField["PreDeposit"] = "float" +#涓婃缁撶畻鍑嗗閲 +CThostFtdcTradingAccountField["PreBalance"] = "float" +#涓婃鍗犵敤鐨勪繚璇侀噾 +CThostFtdcTradingAccountField["PreMargin"] = "float" +#鍒╂伅鍩烘暟 +CThostFtdcTradingAccountField["InterestBase"] = "float" +#鍒╂伅鏀跺叆 +CThostFtdcTradingAccountField["Interest"] = "float" +#鍏ラ噾閲戦 +CThostFtdcTradingAccountField["Deposit"] = "float" +#鍑洪噾閲戦 +CThostFtdcTradingAccountField["Withdraw"] = "float" +#鍐荤粨鐨勪繚璇侀噾 +CThostFtdcTradingAccountField["FrozenMargin"] = "float" +#鍐荤粨鐨勮祫閲 +CThostFtdcTradingAccountField["FrozenCash"] = "float" +#鍐荤粨鐨勬墜缁垂 +CThostFtdcTradingAccountField["FrozenCommission"] = "float" +#褰撳墠淇濊瘉閲戞婚 +CThostFtdcTradingAccountField["CurrMargin"] = "float" +#璧勯噾宸 +CThostFtdcTradingAccountField["CashIn"] = "float" +#鎵嬬画璐 +CThostFtdcTradingAccountField["Commission"] = "float" +#骞充粨鐩堜簭 +CThostFtdcTradingAccountField["CloseProfit"] = "float" +#鎸佷粨鐩堜簭 +CThostFtdcTradingAccountField["PositionProfit"] = "float" +#鏈熻揣缁撶畻鍑嗗閲 +CThostFtdcTradingAccountField["Balance"] = "float" +#鍙敤璧勯噾 +CThostFtdcTradingAccountField["Available"] = "float" +#鍙彇璧勯噾 +CThostFtdcTradingAccountField["WithdrawQuota"] = "float" +#鍩烘湰鍑嗗閲 +CThostFtdcTradingAccountField["Reserve"] = "float" +#浜ゆ槗鏃 +CThostFtdcTradingAccountField["TradingDay"] = "string" +#缁撶畻缂栧彿 +CThostFtdcTradingAccountField["SettlementID"] = "int" +#淇$敤棰濆害 +CThostFtdcTradingAccountField["Credit"] = "float" +#璐ㄦ娂閲戦 +CThostFtdcTradingAccountField["Mortgage"] = "float" +#浜ゆ槗鎵淇濊瘉閲 +CThostFtdcTradingAccountField["ExchangeMargin"] = "float" +#鎶曡祫鑰呬氦鍓蹭繚璇侀噾 +CThostFtdcTradingAccountField["DeliveryMargin"] = "float" +#浜ゆ槗鎵浜ゅ壊淇濊瘉閲 +CThostFtdcTradingAccountField["ExchangeDeliveryMargin"] = "float" +#淇濆簳鏈熻揣缁撶畻鍑嗗閲 +CThostFtdcTradingAccountField["ReserveBalance"] = "float" +#甯佺浠g爜 +CThostFtdcTradingAccountField["CurrencyID"] = "string" +#涓婃璐у竵璐ㄥ叆閲戦 +CThostFtdcTradingAccountField["PreFundMortgageIn"] = "float" +#涓婃璐у竵璐ㄥ嚭閲戦 +CThostFtdcTradingAccountField["PreFundMortgageOut"] = "float" +#璐у竵璐ㄥ叆閲戦 +CThostFtdcTradingAccountField["FundMortgageIn"] = "float" +#璐у竵璐ㄥ嚭閲戦 +CThostFtdcTradingAccountField["FundMortgageOut"] = "float" +#璐у竵璐ㄦ娂浣欓 +CThostFtdcTradingAccountField["FundMortgageAvailable"] = "float" +#鍙川鎶艰揣甯侀噾棰 +CThostFtdcTradingAccountField["MortgageableFund"] = "float" +#鐗规畩浜у搧鍗犵敤淇濊瘉閲 +CThostFtdcTradingAccountField["SpecProductMargin"] = "float" +#鐗规畩浜у搧鍐荤粨淇濊瘉閲 +CThostFtdcTradingAccountField["SpecProductFrozenMargin"] = "float" +#鐗规畩浜у搧鎵嬬画璐 +CThostFtdcTradingAccountField["SpecProductCommission"] = "float" +#鐗规畩浜у搧鍐荤粨鎵嬬画璐 +CThostFtdcTradingAccountField["SpecProductFrozenCommission"] = "float" +#鐗规畩浜у搧鎸佷粨鐩堜簭 +CThostFtdcTradingAccountField["SpecProductPositionProfit"] = "float" +#鐗规畩浜у搧骞充粨鐩堜簭 +CThostFtdcTradingAccountField["SpecProductCloseProfit"] = "float" +#鏍规嵁鎸佷粨鐩堜簭绠楁硶璁$畻鐨勭壒娈婁骇鍝佹寔浠撶泩浜 +CThostFtdcTradingAccountField["SpecProductPositionProfitByAlg"] = "float" +#鐗规畩浜у搧浜ゆ槗鎵淇濊瘉閲 +CThostFtdcTradingAccountField["SpecProductExchangeMargin"] = "float" +#鏈熸潈骞充粨鐩堜簭 +CThostFtdcTradingAccountField["OptionCloseProfit"] = "float" +#鏈熸潈甯傚 +CThostFtdcTradingAccountField["OptionValue"] = "float" +structDict['CThostFtdcTradingAccountField'] = CThostFtdcTradingAccountField + + +#鎶曡祫鑰呮寔浠 +CThostFtdcInvestorPositionField = {} +#鍚堢害浠g爜 +CThostFtdcInvestorPositionField["InstrumentID"] = "string" +#缁忕邯鍏徃浠g爜 +CThostFtdcInvestorPositionField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcInvestorPositionField["InvestorID"] = "string" +#鎸佷粨澶氱┖鏂瑰悜 +CThostFtdcInvestorPositionField["PosiDirection"] = "string" +#鎶曟満濂椾繚鏍囧織 +CThostFtdcInvestorPositionField["HedgeFlag"] = "string" +#鎸佷粨鏃ユ湡 +CThostFtdcInvestorPositionField["PositionDate"] = "string" +#涓婃棩鎸佷粨 +CThostFtdcInvestorPositionField["YdPosition"] = "int" +#浠婃棩鎸佷粨 +CThostFtdcInvestorPositionField["Position"] = "int" +#澶氬ご鍐荤粨 +CThostFtdcInvestorPositionField["LongFrozen"] = "int" +#绌哄ご鍐荤粨 +CThostFtdcInvestorPositionField["ShortFrozen"] = "int" +#寮浠撳喕缁撻噾棰 +CThostFtdcInvestorPositionField["LongFrozenAmount"] = "float" +#寮浠撳喕缁撻噾棰 +CThostFtdcInvestorPositionField["ShortFrozenAmount"] = "float" +#寮浠撻噺 +CThostFtdcInvestorPositionField["OpenVolume"] = "int" +#骞充粨閲 +CThostFtdcInvestorPositionField["CloseVolume"] = "int" +#寮浠撻噾棰 +CThostFtdcInvestorPositionField["OpenAmount"] = "float" +#骞充粨閲戦 +CThostFtdcInvestorPositionField["CloseAmount"] = "float" +#鎸佷粨鎴愭湰 +CThostFtdcInvestorPositionField["PositionCost"] = "float" +#涓婃鍗犵敤鐨勪繚璇侀噾 +CThostFtdcInvestorPositionField["PreMargin"] = "float" +#鍗犵敤鐨勪繚璇侀噾 +CThostFtdcInvestorPositionField["UseMargin"] = "float" +#鍐荤粨鐨勪繚璇侀噾 +CThostFtdcInvestorPositionField["FrozenMargin"] = "float" +#鍐荤粨鐨勮祫閲 +CThostFtdcInvestorPositionField["FrozenCash"] = "float" +#鍐荤粨鐨勬墜缁垂 +CThostFtdcInvestorPositionField["FrozenCommission"] = "float" +#璧勯噾宸 +CThostFtdcInvestorPositionField["CashIn"] = "float" +#鎵嬬画璐 +CThostFtdcInvestorPositionField["Commission"] = "float" +#骞充粨鐩堜簭 +CThostFtdcInvestorPositionField["CloseProfit"] = "float" +#鎸佷粨鐩堜簭 +CThostFtdcInvestorPositionField["PositionProfit"] = "float" +#涓婃缁撶畻浠 +CThostFtdcInvestorPositionField["PreSettlementPrice"] = "float" +#鏈缁撶畻浠 +CThostFtdcInvestorPositionField["SettlementPrice"] = "float" +#浜ゆ槗鏃 +CThostFtdcInvestorPositionField["TradingDay"] = "string" +#缁撶畻缂栧彿 +CThostFtdcInvestorPositionField["SettlementID"] = "int" +#寮浠撴垚鏈 +CThostFtdcInvestorPositionField["OpenCost"] = "float" +#浜ゆ槗鎵淇濊瘉閲 +CThostFtdcInvestorPositionField["ExchangeMargin"] = "float" +#缁勫悎鎴愪氦褰㈡垚鐨勬寔浠 +CThostFtdcInvestorPositionField["CombPosition"] = "int" +#缁勫悎澶氬ご鍐荤粨 +CThostFtdcInvestorPositionField["CombLongFrozen"] = "int" +#缁勫悎绌哄ご鍐荤粨 +CThostFtdcInvestorPositionField["CombShortFrozen"] = "int" +#閫愭棩鐩競骞充粨鐩堜簭 +CThostFtdcInvestorPositionField["CloseProfitByDate"] = "float" +#閫愮瑪瀵瑰啿骞充粨鐩堜簭 +CThostFtdcInvestorPositionField["CloseProfitByTrade"] = "float" +#浠婃棩鎸佷粨 +CThostFtdcInvestorPositionField["TodayPosition"] = "int" +#淇濊瘉閲戠巼 +CThostFtdcInvestorPositionField["MarginRateByMoney"] = "float" +#淇濊瘉閲戠巼(鎸夋墜鏁) +CThostFtdcInvestorPositionField["MarginRateByVolume"] = "float" +#鎵ц鍐荤粨 +CThostFtdcInvestorPositionField["StrikeFrozen"] = "int" +#鎵ц鍐荤粨閲戦 +CThostFtdcInvestorPositionField["StrikeFrozenAmount"] = "float" +#鏀惧純鎵ц鍐荤粨 +CThostFtdcInvestorPositionField["AbandonFrozen"] = "int" +#鏈熸潈甯傚 +CThostFtdcInvestorPositionField["OptionValue"] = "float" +structDict['CThostFtdcInvestorPositionField'] = CThostFtdcInvestorPositionField + + +#鍚堢害淇濊瘉閲戠巼 +CThostFtdcInstrumentMarginRateField = {} +#鍚堢害浠g爜 +CThostFtdcInstrumentMarginRateField["InstrumentID"] = "string" +#鎶曡祫鑰呰寖鍥 +CThostFtdcInstrumentMarginRateField["InvestorRange"] = "string" +#缁忕邯鍏徃浠g爜 +CThostFtdcInstrumentMarginRateField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcInstrumentMarginRateField["InvestorID"] = "string" +#鎶曟満濂椾繚鏍囧織 +CThostFtdcInstrumentMarginRateField["HedgeFlag"] = "string" +#澶氬ご淇濊瘉閲戠巼 +CThostFtdcInstrumentMarginRateField["LongMarginRatioByMoney"] = "float" +#澶氬ご淇濊瘉閲戣垂 +CThostFtdcInstrumentMarginRateField["LongMarginRatioByVolume"] = "float" +#绌哄ご淇濊瘉閲戠巼 +CThostFtdcInstrumentMarginRateField["ShortMarginRatioByMoney"] = "float" +#绌哄ご淇濊瘉閲戣垂 +CThostFtdcInstrumentMarginRateField["ShortMarginRatioByVolume"] = "float" +#鏄惁鐩稿浜ゆ槗鎵鏀跺彇 +CThostFtdcInstrumentMarginRateField["IsRelative"] = "int" +structDict['CThostFtdcInstrumentMarginRateField'] = CThostFtdcInstrumentMarginRateField + + +#鍚堢害鎵嬬画璐圭巼 +CThostFtdcInstrumentCommissionRateField = {} +#鍚堢害浠g爜 +CThostFtdcInstrumentCommissionRateField["InstrumentID"] = "string" +#鎶曡祫鑰呰寖鍥 +CThostFtdcInstrumentCommissionRateField["InvestorRange"] = "string" +#缁忕邯鍏徃浠g爜 +CThostFtdcInstrumentCommissionRateField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcInstrumentCommissionRateField["InvestorID"] = "string" +#寮浠撴墜缁垂鐜 +CThostFtdcInstrumentCommissionRateField["OpenRatioByMoney"] = "float" +#寮浠撴墜缁垂 +CThostFtdcInstrumentCommissionRateField["OpenRatioByVolume"] = "float" +#骞充粨鎵嬬画璐圭巼 +CThostFtdcInstrumentCommissionRateField["CloseRatioByMoney"] = "float" +#骞充粨鎵嬬画璐 +CThostFtdcInstrumentCommissionRateField["CloseRatioByVolume"] = "float" +#骞充粖鎵嬬画璐圭巼 +CThostFtdcInstrumentCommissionRateField["CloseTodayRatioByMoney"] = "float" +#骞充粖鎵嬬画璐 +CThostFtdcInstrumentCommissionRateField["CloseTodayRatioByVolume"] = "float" +structDict['CThostFtdcInstrumentCommissionRateField'] = CThostFtdcInstrumentCommissionRateField + + +#娣卞害琛屾儏 +CThostFtdcDepthMarketDataField = {} +#浜ゆ槗鏃 +CThostFtdcDepthMarketDataField["TradingDay"] = "string" +#鍚堢害浠g爜 +CThostFtdcDepthMarketDataField["InstrumentID"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcDepthMarketDataField["ExchangeID"] = "string" +#鍚堢害鍦ㄤ氦鏄撴墍鐨勪唬鐮 +CThostFtdcDepthMarketDataField["ExchangeInstID"] = "string" +#鏈鏂颁环 +CThostFtdcDepthMarketDataField["LastPrice"] = "float" +#涓婃缁撶畻浠 +CThostFtdcDepthMarketDataField["PreSettlementPrice"] = "float" +#鏄ㄦ敹鐩 +CThostFtdcDepthMarketDataField["PreClosePrice"] = "float" +#鏄ㄦ寔浠撻噺 +CThostFtdcDepthMarketDataField["PreOpenInterest"] = "float" +#浠婂紑鐩 +CThostFtdcDepthMarketDataField["OpenPrice"] = "float" +#鏈楂樹环 +CThostFtdcDepthMarketDataField["HighestPrice"] = "float" +#鏈浣庝环 +CThostFtdcDepthMarketDataField["LowestPrice"] = "float" +#鏁伴噺 +CThostFtdcDepthMarketDataField["Volume"] = "int" +#鎴愪氦閲戦 +CThostFtdcDepthMarketDataField["Turnover"] = "float" +#鎸佷粨閲 +CThostFtdcDepthMarketDataField["OpenInterest"] = "float" +#浠婃敹鐩 +CThostFtdcDepthMarketDataField["ClosePrice"] = "float" +#鏈缁撶畻浠 +CThostFtdcDepthMarketDataField["SettlementPrice"] = "float" +#娑ㄥ仠鏉夸环 +CThostFtdcDepthMarketDataField["UpperLimitPrice"] = "float" +#璺屽仠鏉夸环 +CThostFtdcDepthMarketDataField["LowerLimitPrice"] = "float" +#鏄ㄨ櫄瀹炲害 +CThostFtdcDepthMarketDataField["PreDelta"] = "float" +#浠婅櫄瀹炲害 +CThostFtdcDepthMarketDataField["CurrDelta"] = "float" +#鏈鍚庝慨鏀规椂闂 +CThostFtdcDepthMarketDataField["UpdateTime"] = "string" +#鏈鍚庝慨鏀规绉 +CThostFtdcDepthMarketDataField["UpdateMillisec"] = "int" +#鐢充拱浠蜂竴 +CThostFtdcDepthMarketDataField["BidPrice1"] = "float" +#鐢充拱閲忎竴 +CThostFtdcDepthMarketDataField["BidVolume1"] = "int" +#鐢冲崠浠蜂竴 +CThostFtdcDepthMarketDataField["AskPrice1"] = "float" +#鐢冲崠閲忎竴 +CThostFtdcDepthMarketDataField["AskVolume1"] = "int" +#鐢充拱浠蜂簩 +CThostFtdcDepthMarketDataField["BidPrice2"] = "float" +#鐢充拱閲忎簩 +CThostFtdcDepthMarketDataField["BidVolume2"] = "int" +#鐢冲崠浠蜂簩 +CThostFtdcDepthMarketDataField["AskPrice2"] = "float" +#鐢冲崠閲忎簩 +CThostFtdcDepthMarketDataField["AskVolume2"] = "int" +#鐢充拱浠蜂笁 +CThostFtdcDepthMarketDataField["BidPrice3"] = "float" +#鐢充拱閲忎笁 +CThostFtdcDepthMarketDataField["BidVolume3"] = "int" +#鐢冲崠浠蜂笁 +CThostFtdcDepthMarketDataField["AskPrice3"] = "float" +#鐢冲崠閲忎笁 +CThostFtdcDepthMarketDataField["AskVolume3"] = "int" +#鐢充拱浠峰洓 +CThostFtdcDepthMarketDataField["BidPrice4"] = "float" +#鐢充拱閲忓洓 +CThostFtdcDepthMarketDataField["BidVolume4"] = "int" +#鐢冲崠浠峰洓 +CThostFtdcDepthMarketDataField["AskPrice4"] = "float" +#鐢冲崠閲忓洓 +CThostFtdcDepthMarketDataField["AskVolume4"] = "int" +#鐢充拱浠蜂簲 +CThostFtdcDepthMarketDataField["BidPrice5"] = "float" +#鐢充拱閲忎簲 +CThostFtdcDepthMarketDataField["BidVolume5"] = "int" +#鐢冲崠浠蜂簲 +CThostFtdcDepthMarketDataField["AskPrice5"] = "float" +#鐢冲崠閲忎簲 +CThostFtdcDepthMarketDataField["AskVolume5"] = "int" +#褰撴棩鍧囦环 +CThostFtdcDepthMarketDataField["AveragePrice"] = "float" +#涓氬姟鏃ユ湡 +CThostFtdcDepthMarketDataField["ActionDay"] = "string" +structDict['CThostFtdcDepthMarketDataField'] = CThostFtdcDepthMarketDataField + + +#鎶曡祫鑰呭悎绾︿氦鏄撴潈闄 +CThostFtdcInstrumentTradingRightField = {} +#鍚堢害浠g爜 +CThostFtdcInstrumentTradingRightField["InstrumentID"] = "string" +#鎶曡祫鑰呰寖鍥 +CThostFtdcInstrumentTradingRightField["InvestorRange"] = "string" +#缁忕邯鍏徃浠g爜 +CThostFtdcInstrumentTradingRightField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcInstrumentTradingRightField["InvestorID"] = "string" +#浜ゆ槗鏉冮檺 +CThostFtdcInstrumentTradingRightField["TradingRight"] = "string" +structDict['CThostFtdcInstrumentTradingRightField'] = CThostFtdcInstrumentTradingRightField + + +#缁忕邯鍏徃鐢ㄦ埛 +CThostFtdcBrokerUserField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcBrokerUserField["BrokerID"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcBrokerUserField["UserID"] = "string" +#鐢ㄦ埛鍚嶇О +CThostFtdcBrokerUserField["UserName"] = "string" +#鐢ㄦ埛绫诲瀷 +CThostFtdcBrokerUserField["UserType"] = "string" +#鏄惁娲昏穬 +CThostFtdcBrokerUserField["IsActive"] = "int" +#鏄惁浣跨敤浠ょ墝 +CThostFtdcBrokerUserField["IsUsingOTP"] = "int" +structDict['CThostFtdcBrokerUserField'] = CThostFtdcBrokerUserField + + +#缁忕邯鍏徃鐢ㄦ埛鍙d护 +CThostFtdcBrokerUserPasswordField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcBrokerUserPasswordField["BrokerID"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcBrokerUserPasswordField["UserID"] = "string" +#瀵嗙爜 +CThostFtdcBrokerUserPasswordField["Password"] = "string" +structDict['CThostFtdcBrokerUserPasswordField'] = CThostFtdcBrokerUserPasswordField + + +#缁忕邯鍏徃鐢ㄦ埛鍔熻兘鏉冮檺 +CThostFtdcBrokerUserFunctionField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcBrokerUserFunctionField["BrokerID"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcBrokerUserFunctionField["UserID"] = "string" +#缁忕邯鍏徃鍔熻兘浠g爜 +CThostFtdcBrokerUserFunctionField["BrokerFunctionCode"] = "string" +structDict['CThostFtdcBrokerUserFunctionField'] = CThostFtdcBrokerUserFunctionField + + +#浜ゆ槗鎵浜ゆ槗鍛樻姤鐩樻満 +CThostFtdcTraderOfferField = {} +#浜ゆ槗鎵浠g爜 +CThostFtdcTraderOfferField["ExchangeID"] = "string" +#浜ゆ槗鎵浜ゆ槗鍛樹唬鐮 +CThostFtdcTraderOfferField["TraderID"] = "string" +#浼氬憳浠g爜 +CThostFtdcTraderOfferField["ParticipantID"] = "string" +#瀵嗙爜 +CThostFtdcTraderOfferField["Password"] = "string" +#瀹夎缂栧彿 +CThostFtdcTraderOfferField["InstallID"] = "int" +#鏈湴鎶ュ崟缂栧彿 +CThostFtdcTraderOfferField["OrderLocalID"] = "string" +#浜ゆ槗鎵浜ゆ槗鍛樿繛鎺ョ姸鎬 +CThostFtdcTraderOfferField["TraderConnectStatus"] = "string" +#鍙戝嚭杩炴帴璇锋眰鐨勬棩鏈 +CThostFtdcTraderOfferField["ConnectRequestDate"] = "string" +#鍙戝嚭杩炴帴璇锋眰鐨勬椂闂 +CThostFtdcTraderOfferField["ConnectRequestTime"] = "string" +#涓婃鎶ュ憡鏃ユ湡 +CThostFtdcTraderOfferField["LastReportDate"] = "string" +#涓婃鎶ュ憡鏃堕棿 +CThostFtdcTraderOfferField["LastReportTime"] = "string" +#瀹屾垚杩炴帴鏃ユ湡 +CThostFtdcTraderOfferField["ConnectDate"] = "string" +#瀹屾垚杩炴帴鏃堕棿 +CThostFtdcTraderOfferField["ConnectTime"] = "string" +#鍚姩鏃ユ湡 +CThostFtdcTraderOfferField["StartDate"] = "string" +#鍚姩鏃堕棿 +CThostFtdcTraderOfferField["StartTime"] = "string" +#浜ゆ槗鏃 +CThostFtdcTraderOfferField["TradingDay"] = "string" +#缁忕邯鍏徃浠g爜 +CThostFtdcTraderOfferField["BrokerID"] = "string" +#鏈腑浣嶆渶澶ф垚浜ょ紪鍙 +CThostFtdcTraderOfferField["MaxTradeID"] = "string" +#鏈腑浣嶆渶澶ф姤鍗曞鎷 +CThostFtdcTraderOfferField["MaxOrderMessageReference"] = "string" +structDict['CThostFtdcTraderOfferField'] = CThostFtdcTraderOfferField + + +#鎶曡祫鑰呯粨绠楃粨鏋 +CThostFtdcSettlementInfoField = {} +#浜ゆ槗鏃 +CThostFtdcSettlementInfoField["TradingDay"] = "string" +#缁撶畻缂栧彿 +CThostFtdcSettlementInfoField["SettlementID"] = "int" +#缁忕邯鍏徃浠g爜 +CThostFtdcSettlementInfoField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcSettlementInfoField["InvestorID"] = "string" +#搴忓彿 +CThostFtdcSettlementInfoField["SequenceNo"] = "int" +#娑堟伅姝f枃 +CThostFtdcSettlementInfoField["Content"] = "string" +structDict['CThostFtdcSettlementInfoField'] = CThostFtdcSettlementInfoField + + +#鍚堢害淇濊瘉閲戠巼璋冩暣 +CThostFtdcInstrumentMarginRateAdjustField = {} +#鍚堢害浠g爜 +CThostFtdcInstrumentMarginRateAdjustField["InstrumentID"] = "string" +#鎶曡祫鑰呰寖鍥 +CThostFtdcInstrumentMarginRateAdjustField["InvestorRange"] = "string" +#缁忕邯鍏徃浠g爜 +CThostFtdcInstrumentMarginRateAdjustField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcInstrumentMarginRateAdjustField["InvestorID"] = "string" +#鎶曟満濂椾繚鏍囧織 +CThostFtdcInstrumentMarginRateAdjustField["HedgeFlag"] = "string" +#澶氬ご淇濊瘉閲戠巼 +CThostFtdcInstrumentMarginRateAdjustField["LongMarginRatioByMoney"] = "float" +#澶氬ご淇濊瘉閲戣垂 +CThostFtdcInstrumentMarginRateAdjustField["LongMarginRatioByVolume"] = "float" +#绌哄ご淇濊瘉閲戠巼 +CThostFtdcInstrumentMarginRateAdjustField["ShortMarginRatioByMoney"] = "float" +#绌哄ご淇濊瘉閲戣垂 +CThostFtdcInstrumentMarginRateAdjustField["ShortMarginRatioByVolume"] = "float" +#鏄惁鐩稿浜ゆ槗鎵鏀跺彇 +CThostFtdcInstrumentMarginRateAdjustField["IsRelative"] = "int" +structDict['CThostFtdcInstrumentMarginRateAdjustField'] = CThostFtdcInstrumentMarginRateAdjustField + + +#浜ゆ槗鎵淇濊瘉閲戠巼 +CThostFtdcExchangeMarginRateField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcExchangeMarginRateField["BrokerID"] = "string" +#鍚堢害浠g爜 +CThostFtdcExchangeMarginRateField["InstrumentID"] = "string" +#鎶曟満濂椾繚鏍囧織 +CThostFtdcExchangeMarginRateField["HedgeFlag"] = "string" +#澶氬ご淇濊瘉閲戠巼 +CThostFtdcExchangeMarginRateField["LongMarginRatioByMoney"] = "float" +#澶氬ご淇濊瘉閲戣垂 +CThostFtdcExchangeMarginRateField["LongMarginRatioByVolume"] = "float" +#绌哄ご淇濊瘉閲戠巼 +CThostFtdcExchangeMarginRateField["ShortMarginRatioByMoney"] = "float" +#绌哄ご淇濊瘉閲戣垂 +CThostFtdcExchangeMarginRateField["ShortMarginRatioByVolume"] = "float" +structDict['CThostFtdcExchangeMarginRateField'] = CThostFtdcExchangeMarginRateField + + +#浜ゆ槗鎵淇濊瘉閲戠巼璋冩暣 +CThostFtdcExchangeMarginRateAdjustField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcExchangeMarginRateAdjustField["BrokerID"] = "string" +#鍚堢害浠g爜 +CThostFtdcExchangeMarginRateAdjustField["InstrumentID"] = "string" +#鎶曟満濂椾繚鏍囧織 +CThostFtdcExchangeMarginRateAdjustField["HedgeFlag"] = "string" +#璺熼殢浜ゆ槗鎵鎶曡祫鑰呭澶翠繚璇侀噾鐜 +CThostFtdcExchangeMarginRateAdjustField["LongMarginRatioByMoney"] = "float" +#璺熼殢浜ゆ槗鎵鎶曡祫鑰呭澶翠繚璇侀噾璐 +CThostFtdcExchangeMarginRateAdjustField["LongMarginRatioByVolume"] = "float" +#璺熼殢浜ゆ槗鎵鎶曡祫鑰呯┖澶翠繚璇侀噾鐜 +CThostFtdcExchangeMarginRateAdjustField["ShortMarginRatioByMoney"] = "float" +#璺熼殢浜ゆ槗鎵鎶曡祫鑰呯┖澶翠繚璇侀噾璐 +CThostFtdcExchangeMarginRateAdjustField["ShortMarginRatioByVolume"] = "float" +#浜ゆ槗鎵澶氬ご淇濊瘉閲戠巼 +CThostFtdcExchangeMarginRateAdjustField["ExchLongMarginRatioByMoney"] = "float" +#浜ゆ槗鎵澶氬ご淇濊瘉閲戣垂 +CThostFtdcExchangeMarginRateAdjustField["ExchLongMarginRatioByVolume"] = "float" +#浜ゆ槗鎵绌哄ご淇濊瘉閲戠巼 +CThostFtdcExchangeMarginRateAdjustField["ExchShortMarginRatioByMoney"] = "float" +#浜ゆ槗鎵绌哄ご淇濊瘉閲戣垂 +CThostFtdcExchangeMarginRateAdjustField["ExchShortMarginRatioByVolume"] = "float" +#涓嶈窡闅忎氦鏄撴墍鎶曡祫鑰呭澶翠繚璇侀噾鐜 +CThostFtdcExchangeMarginRateAdjustField["NoLongMarginRatioByMoney"] = "float" +#涓嶈窡闅忎氦鏄撴墍鎶曡祫鑰呭澶翠繚璇侀噾璐 +CThostFtdcExchangeMarginRateAdjustField["NoLongMarginRatioByVolume"] = "float" +#涓嶈窡闅忎氦鏄撴墍鎶曡祫鑰呯┖澶翠繚璇侀噾鐜 +CThostFtdcExchangeMarginRateAdjustField["NoShortMarginRatioByMoney"] = "float" +#涓嶈窡闅忎氦鏄撴墍鎶曡祫鑰呯┖澶翠繚璇侀噾璐 +CThostFtdcExchangeMarginRateAdjustField["NoShortMarginRatioByVolume"] = "float" +structDict['CThostFtdcExchangeMarginRateAdjustField'] = CThostFtdcExchangeMarginRateAdjustField + + +#姹囩巼 +CThostFtdcExchangeRateField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcExchangeRateField["BrokerID"] = "string" +#婧愬竵绉 +CThostFtdcExchangeRateField["FromCurrencyID"] = "string" +#婧愬竵绉嶅崟浣嶆暟閲 +CThostFtdcExchangeRateField["FromCurrencyUnit"] = "float" +#鐩爣甯佺 +CThostFtdcExchangeRateField["ToCurrencyID"] = "string" +#姹囩巼 +CThostFtdcExchangeRateField["ExchangeRate"] = "float" +structDict['CThostFtdcExchangeRateField'] = CThostFtdcExchangeRateField + + +#缁撶畻寮曠敤 +CThostFtdcSettlementRefField = {} +#浜ゆ槗鏃 +CThostFtdcSettlementRefField["TradingDay"] = "string" +#缁撶畻缂栧彿 +CThostFtdcSettlementRefField["SettlementID"] = "int" +structDict['CThostFtdcSettlementRefField'] = CThostFtdcSettlementRefField + + +#褰撳墠鏃堕棿 +CThostFtdcCurrentTimeField = {} +#褰撳墠鏃ユ湡 +CThostFtdcCurrentTimeField["CurrDate"] = "string" +#褰撳墠鏃堕棿 +CThostFtdcCurrentTimeField["CurrTime"] = "string" +#褰撳墠鏃堕棿锛堟绉掞級 +CThostFtdcCurrentTimeField["CurrMillisec"] = "int" +#涓氬姟鏃ユ湡 +CThostFtdcCurrentTimeField["ActionDay"] = "string" +structDict['CThostFtdcCurrentTimeField'] = CThostFtdcCurrentTimeField + + +#閫氳闃舵 +CThostFtdcCommPhaseField = {} +#浜ゆ槗鏃 +CThostFtdcCommPhaseField["TradingDay"] = "string" +#閫氳鏃舵缂栧彿 +CThostFtdcCommPhaseField["CommPhaseNo"] = "int" +#绯荤粺缂栧彿 +CThostFtdcCommPhaseField["SystemID"] = "string" +structDict['CThostFtdcCommPhaseField'] = CThostFtdcCommPhaseField + + +#鐧诲綍淇℃伅 +CThostFtdcLoginInfoField = {} +#鍓嶇疆缂栧彿 +CThostFtdcLoginInfoField["FrontID"] = "int" +#浼氳瘽缂栧彿 +CThostFtdcLoginInfoField["SessionID"] = "int" +#缁忕邯鍏徃浠g爜 +CThostFtdcLoginInfoField["BrokerID"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcLoginInfoField["UserID"] = "string" +#鐧诲綍鏃ユ湡 +CThostFtdcLoginInfoField["LoginDate"] = "string" +#鐧诲綍鏃堕棿 +CThostFtdcLoginInfoField["LoginTime"] = "string" +#IP鍦板潃 +CThostFtdcLoginInfoField["IPAddress"] = "string" +#鐢ㄦ埛绔骇鍝佷俊鎭 +CThostFtdcLoginInfoField["UserProductInfo"] = "string" +#鎺ュ彛绔骇鍝佷俊鎭 +CThostFtdcLoginInfoField["InterfaceProductInfo"] = "string" +#鍗忚淇℃伅 +CThostFtdcLoginInfoField["ProtocolInfo"] = "string" +#绯荤粺鍚嶇О +CThostFtdcLoginInfoField["SystemName"] = "string" +#瀵嗙爜 +CThostFtdcLoginInfoField["Password"] = "string" +#鏈澶ф姤鍗曞紩鐢 +CThostFtdcLoginInfoField["MaxOrderRef"] = "string" +#涓婃湡鎵鏃堕棿 +CThostFtdcLoginInfoField["SHFETime"] = "string" +#澶у晢鎵鏃堕棿 +CThostFtdcLoginInfoField["DCETime"] = "string" +#閮戝晢鎵鏃堕棿 +CThostFtdcLoginInfoField["CZCETime"] = "string" +#涓噾鎵鏃堕棿 +CThostFtdcLoginInfoField["FFEXTime"] = "string" +#Mac鍦板潃 +CThostFtdcLoginInfoField["MacAddress"] = "string" +#鍔ㄦ佸瘑鐮 +CThostFtdcLoginInfoField["OneTimePassword"] = "string" +#鑳芥簮涓績鏃堕棿 +CThostFtdcLoginInfoField["INETime"] = "string" +structDict['CThostFtdcLoginInfoField'] = CThostFtdcLoginInfoField + + +#鐧诲綍淇℃伅 +CThostFtdcLogoutAllField = {} +#鍓嶇疆缂栧彿 +CThostFtdcLogoutAllField["FrontID"] = "int" +#浼氳瘽缂栧彿 +CThostFtdcLogoutAllField["SessionID"] = "int" +#绯荤粺鍚嶇О +CThostFtdcLogoutAllField["SystemName"] = "string" +structDict['CThostFtdcLogoutAllField'] = CThostFtdcLogoutAllField + + +#鍓嶇疆鐘舵 +CThostFtdcFrontStatusField = {} +#鍓嶇疆缂栧彿 +CThostFtdcFrontStatusField["FrontID"] = "int" +#涓婃鎶ュ憡鏃ユ湡 +CThostFtdcFrontStatusField["LastReportDate"] = "string" +#涓婃鎶ュ憡鏃堕棿 +CThostFtdcFrontStatusField["LastReportTime"] = "string" +#鏄惁娲昏穬 +CThostFtdcFrontStatusField["IsActive"] = "int" +structDict['CThostFtdcFrontStatusField'] = CThostFtdcFrontStatusField + + +#鐢ㄦ埛鍙d护鍙樻洿 +CThostFtdcUserPasswordUpdateField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcUserPasswordUpdateField["BrokerID"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcUserPasswordUpdateField["UserID"] = "string" +#鍘熸潵鐨勫彛浠 +CThostFtdcUserPasswordUpdateField["OldPassword"] = "string" +#鏂扮殑鍙d护 +CThostFtdcUserPasswordUpdateField["NewPassword"] = "string" +structDict['CThostFtdcUserPasswordUpdateField'] = CThostFtdcUserPasswordUpdateField + + +#杈撳叆鎶ュ崟 +CThostFtdcInputOrderField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcInputOrderField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcInputOrderField["InvestorID"] = "string" +#鍚堢害浠g爜 +CThostFtdcInputOrderField["InstrumentID"] = "string" +#鎶ュ崟寮曠敤 +CThostFtdcInputOrderField["OrderRef"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcInputOrderField["UserID"] = "string" +#鎶ュ崟浠锋牸鏉′欢 +CThostFtdcInputOrderField["OrderPriceType"] = "string" +#涔板崠鏂瑰悜 +CThostFtdcInputOrderField["Direction"] = "string" +#缁勫悎寮骞虫爣蹇 +CThostFtdcInputOrderField["CombOffsetFlag"] = "string" +#缁勫悎鎶曟満濂椾繚鏍囧織 +CThostFtdcInputOrderField["CombHedgeFlag"] = "string" +#浠锋牸 +CThostFtdcInputOrderField["LimitPrice"] = "float" +#鏁伴噺 +CThostFtdcInputOrderField["VolumeTotalOriginal"] = "int" +#鏈夋晥鏈熺被鍨 +CThostFtdcInputOrderField["TimeCondition"] = "string" +#GTD鏃ユ湡 +CThostFtdcInputOrderField["GTDDate"] = "string" +#鎴愪氦閲忕被鍨 +CThostFtdcInputOrderField["VolumeCondition"] = "string" +#鏈灏忔垚浜ら噺 +CThostFtdcInputOrderField["MinVolume"] = "int" +#瑙﹀彂鏉′欢 +CThostFtdcInputOrderField["ContingentCondition"] = "string" +#姝㈡崯浠 +CThostFtdcInputOrderField["StopPrice"] = "float" +#寮哄钩鍘熷洜 +CThostFtdcInputOrderField["ForceCloseReason"] = "string" +#鑷姩鎸傝捣鏍囧織 +CThostFtdcInputOrderField["IsAutoSuspend"] = "int" +#涓氬姟鍗曞厓 +CThostFtdcInputOrderField["BusinessUnit"] = "string" +#璇锋眰缂栧彿 +CThostFtdcInputOrderField["RequestID"] = "int" +#鐢ㄦ埛寮鸿瘎鏍囧織 +CThostFtdcInputOrderField["UserForceClose"] = "int" +#浜掓崲鍗曟爣蹇 +CThostFtdcInputOrderField["IsSwapOrder"] = "int" +structDict['CThostFtdcInputOrderField'] = CThostFtdcInputOrderField + + +#鎶ュ崟 +CThostFtdcOrderField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcOrderField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcOrderField["InvestorID"] = "string" +#鍚堢害浠g爜 +CThostFtdcOrderField["InstrumentID"] = "string" +#鎶ュ崟寮曠敤 +CThostFtdcOrderField["OrderRef"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcOrderField["UserID"] = "string" +#鎶ュ崟浠锋牸鏉′欢 +CThostFtdcOrderField["OrderPriceType"] = "string" +#涔板崠鏂瑰悜 +CThostFtdcOrderField["Direction"] = "string" +#缁勫悎寮骞虫爣蹇 +CThostFtdcOrderField["CombOffsetFlag"] = "string" +#缁勫悎鎶曟満濂椾繚鏍囧織 +CThostFtdcOrderField["CombHedgeFlag"] = "string" +#浠锋牸 +CThostFtdcOrderField["LimitPrice"] = "float" +#鏁伴噺 +CThostFtdcOrderField["VolumeTotalOriginal"] = "int" +#鏈夋晥鏈熺被鍨 +CThostFtdcOrderField["TimeCondition"] = "string" +#GTD鏃ユ湡 +CThostFtdcOrderField["GTDDate"] = "string" +#鎴愪氦閲忕被鍨 +CThostFtdcOrderField["VolumeCondition"] = "string" +#鏈灏忔垚浜ら噺 +CThostFtdcOrderField["MinVolume"] = "int" +#瑙﹀彂鏉′欢 +CThostFtdcOrderField["ContingentCondition"] = "string" +#姝㈡崯浠 +CThostFtdcOrderField["StopPrice"] = "float" +#寮哄钩鍘熷洜 +CThostFtdcOrderField["ForceCloseReason"] = "string" +#鑷姩鎸傝捣鏍囧織 +CThostFtdcOrderField["IsAutoSuspend"] = "int" +#涓氬姟鍗曞厓 +CThostFtdcOrderField["BusinessUnit"] = "string" +#璇锋眰缂栧彿 +CThostFtdcOrderField["RequestID"] = "int" +#鏈湴鎶ュ崟缂栧彿 +CThostFtdcOrderField["OrderLocalID"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcOrderField["ExchangeID"] = "string" +#浼氬憳浠g爜 +CThostFtdcOrderField["ParticipantID"] = "string" +#瀹㈡埛浠g爜 +CThostFtdcOrderField["ClientID"] = "string" +#鍚堢害鍦ㄤ氦鏄撴墍鐨勪唬鐮 +CThostFtdcOrderField["ExchangeInstID"] = "string" +#浜ゆ槗鎵浜ゆ槗鍛樹唬鐮 +CThostFtdcOrderField["TraderID"] = "string" +#瀹夎缂栧彿 +CThostFtdcOrderField["InstallID"] = "int" +#鎶ュ崟鎻愪氦鐘舵 +CThostFtdcOrderField["OrderSubmitStatus"] = "string" +#鎶ュ崟鎻愮ず搴忓彿 +CThostFtdcOrderField["NotifySequence"] = "int" +#浜ゆ槗鏃 +CThostFtdcOrderField["TradingDay"] = "string" +#缁撶畻缂栧彿 +CThostFtdcOrderField["SettlementID"] = "int" +#鎶ュ崟缂栧彿 +CThostFtdcOrderField["OrderSysID"] = "string" +#鎶ュ崟鏉ユ簮 +CThostFtdcOrderField["OrderSource"] = "string" +#鎶ュ崟鐘舵 +CThostFtdcOrderField["OrderStatus"] = "string" +#鎶ュ崟绫诲瀷 +CThostFtdcOrderField["OrderType"] = "string" +#浠婃垚浜ゆ暟閲 +CThostFtdcOrderField["VolumeTraded"] = "int" +#鍓╀綑鏁伴噺 +CThostFtdcOrderField["VolumeTotal"] = "int" +#鎶ュ崟鏃ユ湡 +CThostFtdcOrderField["InsertDate"] = "string" +#濮旀墭鏃堕棿 +CThostFtdcOrderField["InsertTime"] = "string" +#婵娲绘椂闂 +CThostFtdcOrderField["ActiveTime"] = "string" +#鎸傝捣鏃堕棿 +CThostFtdcOrderField["SuspendTime"] = "string" +#鏈鍚庝慨鏀规椂闂 +CThostFtdcOrderField["UpdateTime"] = "string" +#鎾ら攢鏃堕棿 +CThostFtdcOrderField["CancelTime"] = "string" +#鏈鍚庝慨鏀逛氦鏄撴墍浜ゆ槗鍛樹唬鐮 +CThostFtdcOrderField["ActiveTraderID"] = "string" +#缁撶畻浼氬憳缂栧彿 +CThostFtdcOrderField["ClearingPartID"] = "string" +#搴忓彿 +CThostFtdcOrderField["SequenceNo"] = "int" +#鍓嶇疆缂栧彿 +CThostFtdcOrderField["FrontID"] = "int" +#浼氳瘽缂栧彿 +CThostFtdcOrderField["SessionID"] = "int" +#鐢ㄦ埛绔骇鍝佷俊鎭 +CThostFtdcOrderField["UserProductInfo"] = "string" +#鐘舵佷俊鎭 +CThostFtdcOrderField["StatusMsg"] = "string" +#鐢ㄦ埛寮鸿瘎鏍囧織 +CThostFtdcOrderField["UserForceClose"] = "int" +#鎿嶄綔鐢ㄦ埛浠g爜 +CThostFtdcOrderField["ActiveUserID"] = "string" +#缁忕邯鍏徃鎶ュ崟缂栧彿 +CThostFtdcOrderField["BrokerOrderSeq"] = "int" +#鐩稿叧鎶ュ崟 +CThostFtdcOrderField["RelativeOrderSysID"] = "string" +#閮戝晢鎵鎴愪氦鏁伴噺 +CThostFtdcOrderField["ZCETotalTradedVolume"] = "int" +#浜掓崲鍗曟爣蹇 +CThostFtdcOrderField["IsSwapOrder"] = "int" +structDict['CThostFtdcOrderField'] = CThostFtdcOrderField + + +#浜ゆ槗鎵鎶ュ崟 +CThostFtdcExchangeOrderField = {} +#鎶ュ崟浠锋牸鏉′欢 +CThostFtdcExchangeOrderField["OrderPriceType"] = "string" +#涔板崠鏂瑰悜 +CThostFtdcExchangeOrderField["Direction"] = "string" +#缁勫悎寮骞虫爣蹇 +CThostFtdcExchangeOrderField["CombOffsetFlag"] = "string" +#缁勫悎鎶曟満濂椾繚鏍囧織 +CThostFtdcExchangeOrderField["CombHedgeFlag"] = "string" +#浠锋牸 +CThostFtdcExchangeOrderField["LimitPrice"] = "float" +#鏁伴噺 +CThostFtdcExchangeOrderField["VolumeTotalOriginal"] = "int" +#鏈夋晥鏈熺被鍨 +CThostFtdcExchangeOrderField["TimeCondition"] = "string" +#GTD鏃ユ湡 +CThostFtdcExchangeOrderField["GTDDate"] = "string" +#鎴愪氦閲忕被鍨 +CThostFtdcExchangeOrderField["VolumeCondition"] = "string" +#鏈灏忔垚浜ら噺 +CThostFtdcExchangeOrderField["MinVolume"] = "int" +#瑙﹀彂鏉′欢 +CThostFtdcExchangeOrderField["ContingentCondition"] = "string" +#姝㈡崯浠 +CThostFtdcExchangeOrderField["StopPrice"] = "float" +#寮哄钩鍘熷洜 +CThostFtdcExchangeOrderField["ForceCloseReason"] = "string" +#鑷姩鎸傝捣鏍囧織 +CThostFtdcExchangeOrderField["IsAutoSuspend"] = "int" +#涓氬姟鍗曞厓 +CThostFtdcExchangeOrderField["BusinessUnit"] = "string" +#璇锋眰缂栧彿 +CThostFtdcExchangeOrderField["RequestID"] = "int" +#鏈湴鎶ュ崟缂栧彿 +CThostFtdcExchangeOrderField["OrderLocalID"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcExchangeOrderField["ExchangeID"] = "string" +#浼氬憳浠g爜 +CThostFtdcExchangeOrderField["ParticipantID"] = "string" +#瀹㈡埛浠g爜 +CThostFtdcExchangeOrderField["ClientID"] = "string" +#鍚堢害鍦ㄤ氦鏄撴墍鐨勪唬鐮 +CThostFtdcExchangeOrderField["ExchangeInstID"] = "string" +#浜ゆ槗鎵浜ゆ槗鍛樹唬鐮 +CThostFtdcExchangeOrderField["TraderID"] = "string" +#瀹夎缂栧彿 +CThostFtdcExchangeOrderField["InstallID"] = "int" +#鎶ュ崟鎻愪氦鐘舵 +CThostFtdcExchangeOrderField["OrderSubmitStatus"] = "string" +#鎶ュ崟鎻愮ず搴忓彿 +CThostFtdcExchangeOrderField["NotifySequence"] = "int" +#浜ゆ槗鏃 +CThostFtdcExchangeOrderField["TradingDay"] = "string" +#缁撶畻缂栧彿 +CThostFtdcExchangeOrderField["SettlementID"] = "int" +#鎶ュ崟缂栧彿 +CThostFtdcExchangeOrderField["OrderSysID"] = "string" +#鎶ュ崟鏉ユ簮 +CThostFtdcExchangeOrderField["OrderSource"] = "string" +#鎶ュ崟鐘舵 +CThostFtdcExchangeOrderField["OrderStatus"] = "string" +#鎶ュ崟绫诲瀷 +CThostFtdcExchangeOrderField["OrderType"] = "string" +#浠婃垚浜ゆ暟閲 +CThostFtdcExchangeOrderField["VolumeTraded"] = "int" +#鍓╀綑鏁伴噺 +CThostFtdcExchangeOrderField["VolumeTotal"] = "int" +#鎶ュ崟鏃ユ湡 +CThostFtdcExchangeOrderField["InsertDate"] = "string" +#濮旀墭鏃堕棿 +CThostFtdcExchangeOrderField["InsertTime"] = "string" +#婵娲绘椂闂 +CThostFtdcExchangeOrderField["ActiveTime"] = "string" +#鎸傝捣鏃堕棿 +CThostFtdcExchangeOrderField["SuspendTime"] = "string" +#鏈鍚庝慨鏀规椂闂 +CThostFtdcExchangeOrderField["UpdateTime"] = "string" +#鎾ら攢鏃堕棿 +CThostFtdcExchangeOrderField["CancelTime"] = "string" +#鏈鍚庝慨鏀逛氦鏄撴墍浜ゆ槗鍛樹唬鐮 +CThostFtdcExchangeOrderField["ActiveTraderID"] = "string" +#缁撶畻浼氬憳缂栧彿 +CThostFtdcExchangeOrderField["ClearingPartID"] = "string" +#搴忓彿 +CThostFtdcExchangeOrderField["SequenceNo"] = "int" +structDict['CThostFtdcExchangeOrderField'] = CThostFtdcExchangeOrderField + + +#浜ゆ槗鎵鎶ュ崟鎻掑叆澶辫触 +CThostFtdcExchangeOrderInsertErrorField = {} +#浜ゆ槗鎵浠g爜 +CThostFtdcExchangeOrderInsertErrorField["ExchangeID"] = "string" +#浼氬憳浠g爜 +CThostFtdcExchangeOrderInsertErrorField["ParticipantID"] = "string" +#浜ゆ槗鎵浜ゆ槗鍛樹唬鐮 +CThostFtdcExchangeOrderInsertErrorField["TraderID"] = "string" +#瀹夎缂栧彿 +CThostFtdcExchangeOrderInsertErrorField["InstallID"] = "int" +#鏈湴鎶ュ崟缂栧彿 +CThostFtdcExchangeOrderInsertErrorField["OrderLocalID"] = "string" +#閿欒浠g爜 +CThostFtdcExchangeOrderInsertErrorField["ErrorID"] = "int" +#閿欒淇℃伅 +CThostFtdcExchangeOrderInsertErrorField["ErrorMsg"] = "string" +structDict['CThostFtdcExchangeOrderInsertErrorField'] = CThostFtdcExchangeOrderInsertErrorField + + +#杈撳叆鎶ュ崟鎿嶄綔 +CThostFtdcInputOrderActionField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcInputOrderActionField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcInputOrderActionField["InvestorID"] = "string" +#鎶ュ崟鎿嶄綔寮曠敤 +CThostFtdcInputOrderActionField["OrderActionRef"] = "int" +#鎶ュ崟寮曠敤 +CThostFtdcInputOrderActionField["OrderRef"] = "string" +#璇锋眰缂栧彿 +CThostFtdcInputOrderActionField["RequestID"] = "int" +#鍓嶇疆缂栧彿 +CThostFtdcInputOrderActionField["FrontID"] = "int" +#浼氳瘽缂栧彿 +CThostFtdcInputOrderActionField["SessionID"] = "int" +#浜ゆ槗鎵浠g爜 +CThostFtdcInputOrderActionField["ExchangeID"] = "string" +#鎶ュ崟缂栧彿 +CThostFtdcInputOrderActionField["OrderSysID"] = "string" +#鎿嶄綔鏍囧織 +CThostFtdcInputOrderActionField["ActionFlag"] = "string" +#浠锋牸 +CThostFtdcInputOrderActionField["LimitPrice"] = "float" +#鏁伴噺鍙樺寲 +CThostFtdcInputOrderActionField["VolumeChange"] = "int" +#鐢ㄦ埛浠g爜 +CThostFtdcInputOrderActionField["UserID"] = "string" +#鍚堢害浠g爜 +CThostFtdcInputOrderActionField["InstrumentID"] = "string" +structDict['CThostFtdcInputOrderActionField'] = CThostFtdcInputOrderActionField + + +#鎶ュ崟鎿嶄綔 +CThostFtdcOrderActionField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcOrderActionField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcOrderActionField["InvestorID"] = "string" +#鎶ュ崟鎿嶄綔寮曠敤 +CThostFtdcOrderActionField["OrderActionRef"] = "int" +#鎶ュ崟寮曠敤 +CThostFtdcOrderActionField["OrderRef"] = "string" +#璇锋眰缂栧彿 +CThostFtdcOrderActionField["RequestID"] = "int" +#鍓嶇疆缂栧彿 +CThostFtdcOrderActionField["FrontID"] = "int" +#浼氳瘽缂栧彿 +CThostFtdcOrderActionField["SessionID"] = "int" +#浜ゆ槗鎵浠g爜 +CThostFtdcOrderActionField["ExchangeID"] = "string" +#鎶ュ崟缂栧彿 +CThostFtdcOrderActionField["OrderSysID"] = "string" +#鎿嶄綔鏍囧織 +CThostFtdcOrderActionField["ActionFlag"] = "string" +#浠锋牸 +CThostFtdcOrderActionField["LimitPrice"] = "float" +#鏁伴噺鍙樺寲 +CThostFtdcOrderActionField["VolumeChange"] = "int" +#鎿嶄綔鏃ユ湡 +CThostFtdcOrderActionField["ActionDate"] = "string" +#鎿嶄綔鏃堕棿 +CThostFtdcOrderActionField["ActionTime"] = "string" +#浜ゆ槗鎵浜ゆ槗鍛樹唬鐮 +CThostFtdcOrderActionField["TraderID"] = "string" +#瀹夎缂栧彿 +CThostFtdcOrderActionField["InstallID"] = "int" +#鏈湴鎶ュ崟缂栧彿 +CThostFtdcOrderActionField["OrderLocalID"] = "string" +#鎿嶄綔鏈湴缂栧彿 +CThostFtdcOrderActionField["ActionLocalID"] = "string" +#浼氬憳浠g爜 +CThostFtdcOrderActionField["ParticipantID"] = "string" +#瀹㈡埛浠g爜 +CThostFtdcOrderActionField["ClientID"] = "string" +#涓氬姟鍗曞厓 +CThostFtdcOrderActionField["BusinessUnit"] = "string" +#鎶ュ崟鎿嶄綔鐘舵 +CThostFtdcOrderActionField["OrderActionStatus"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcOrderActionField["UserID"] = "string" +#鐘舵佷俊鎭 +CThostFtdcOrderActionField["StatusMsg"] = "string" +#鍚堢害浠g爜 +CThostFtdcOrderActionField["InstrumentID"] = "string" +structDict['CThostFtdcOrderActionField'] = CThostFtdcOrderActionField + + +#浜ゆ槗鎵鎶ュ崟鎿嶄綔 +CThostFtdcExchangeOrderActionField = {} +#浜ゆ槗鎵浠g爜 +CThostFtdcExchangeOrderActionField["ExchangeID"] = "string" +#鎶ュ崟缂栧彿 +CThostFtdcExchangeOrderActionField["OrderSysID"] = "string" +#鎿嶄綔鏍囧織 +CThostFtdcExchangeOrderActionField["ActionFlag"] = "string" +#浠锋牸 +CThostFtdcExchangeOrderActionField["LimitPrice"] = "float" +#鏁伴噺鍙樺寲 +CThostFtdcExchangeOrderActionField["VolumeChange"] = "int" +#鎿嶄綔鏃ユ湡 +CThostFtdcExchangeOrderActionField["ActionDate"] = "string" +#鎿嶄綔鏃堕棿 +CThostFtdcExchangeOrderActionField["ActionTime"] = "string" +#浜ゆ槗鎵浜ゆ槗鍛樹唬鐮 +CThostFtdcExchangeOrderActionField["TraderID"] = "string" +#瀹夎缂栧彿 +CThostFtdcExchangeOrderActionField["InstallID"] = "int" +#鏈湴鎶ュ崟缂栧彿 +CThostFtdcExchangeOrderActionField["OrderLocalID"] = "string" +#鎿嶄綔鏈湴缂栧彿 +CThostFtdcExchangeOrderActionField["ActionLocalID"] = "string" +#浼氬憳浠g爜 +CThostFtdcExchangeOrderActionField["ParticipantID"] = "string" +#瀹㈡埛浠g爜 +CThostFtdcExchangeOrderActionField["ClientID"] = "string" +#涓氬姟鍗曞厓 +CThostFtdcExchangeOrderActionField["BusinessUnit"] = "string" +#鎶ュ崟鎿嶄綔鐘舵 +CThostFtdcExchangeOrderActionField["OrderActionStatus"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcExchangeOrderActionField["UserID"] = "string" +structDict['CThostFtdcExchangeOrderActionField'] = CThostFtdcExchangeOrderActionField + + +#浜ゆ槗鎵鎶ュ崟鎿嶄綔澶辫触 +CThostFtdcExchangeOrderActionErrorField = {} +#浜ゆ槗鎵浠g爜 +CThostFtdcExchangeOrderActionErrorField["ExchangeID"] = "string" +#鎶ュ崟缂栧彿 +CThostFtdcExchangeOrderActionErrorField["OrderSysID"] = "string" +#浜ゆ槗鎵浜ゆ槗鍛樹唬鐮 +CThostFtdcExchangeOrderActionErrorField["TraderID"] = "string" +#瀹夎缂栧彿 +CThostFtdcExchangeOrderActionErrorField["InstallID"] = "int" +#鏈湴鎶ュ崟缂栧彿 +CThostFtdcExchangeOrderActionErrorField["OrderLocalID"] = "string" +#鎿嶄綔鏈湴缂栧彿 +CThostFtdcExchangeOrderActionErrorField["ActionLocalID"] = "string" +#閿欒浠g爜 +CThostFtdcExchangeOrderActionErrorField["ErrorID"] = "int" +#閿欒淇℃伅 +CThostFtdcExchangeOrderActionErrorField["ErrorMsg"] = "string" +structDict['CThostFtdcExchangeOrderActionErrorField'] = CThostFtdcExchangeOrderActionErrorField + + +#浜ゆ槗鎵鎴愪氦 +CThostFtdcExchangeTradeField = {} +#浜ゆ槗鎵浠g爜 +CThostFtdcExchangeTradeField["ExchangeID"] = "string" +#鎴愪氦缂栧彿 +CThostFtdcExchangeTradeField["TradeID"] = "string" +#涔板崠鏂瑰悜 +CThostFtdcExchangeTradeField["Direction"] = "string" +#鎶ュ崟缂栧彿 +CThostFtdcExchangeTradeField["OrderSysID"] = "string" +#浼氬憳浠g爜 +CThostFtdcExchangeTradeField["ParticipantID"] = "string" +#瀹㈡埛浠g爜 +CThostFtdcExchangeTradeField["ClientID"] = "string" +#浜ゆ槗瑙掕壊 +CThostFtdcExchangeTradeField["TradingRole"] = "string" +#鍚堢害鍦ㄤ氦鏄撴墍鐨勪唬鐮 +CThostFtdcExchangeTradeField["ExchangeInstID"] = "string" +#寮骞虫爣蹇 +CThostFtdcExchangeTradeField["OffsetFlag"] = "string" +#鎶曟満濂椾繚鏍囧織 +CThostFtdcExchangeTradeField["HedgeFlag"] = "string" +#浠锋牸 +CThostFtdcExchangeTradeField["Price"] = "float" +#鏁伴噺 +CThostFtdcExchangeTradeField["Volume"] = "int" +#鎴愪氦鏃舵湡 +CThostFtdcExchangeTradeField["TradeDate"] = "string" +#鎴愪氦鏃堕棿 +CThostFtdcExchangeTradeField["TradeTime"] = "string" +#鎴愪氦绫诲瀷 +CThostFtdcExchangeTradeField["TradeType"] = "string" +#鎴愪氦浠锋潵婧 +CThostFtdcExchangeTradeField["PriceSource"] = "string" +#浜ゆ槗鎵浜ゆ槗鍛樹唬鐮 +CThostFtdcExchangeTradeField["TraderID"] = "string" +#鏈湴鎶ュ崟缂栧彿 +CThostFtdcExchangeTradeField["OrderLocalID"] = "string" +#缁撶畻浼氬憳缂栧彿 +CThostFtdcExchangeTradeField["ClearingPartID"] = "string" +#涓氬姟鍗曞厓 +CThostFtdcExchangeTradeField["BusinessUnit"] = "string" +#搴忓彿 +CThostFtdcExchangeTradeField["SequenceNo"] = "int" +#鎴愪氦鏉ユ簮 +CThostFtdcExchangeTradeField["TradeSource"] = "string" +structDict['CThostFtdcExchangeTradeField'] = CThostFtdcExchangeTradeField + + +#鎴愪氦 +CThostFtdcTradeField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcTradeField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcTradeField["InvestorID"] = "string" +#鍚堢害浠g爜 +CThostFtdcTradeField["InstrumentID"] = "string" +#鎶ュ崟寮曠敤 +CThostFtdcTradeField["OrderRef"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcTradeField["UserID"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcTradeField["ExchangeID"] = "string" +#鎴愪氦缂栧彿 +CThostFtdcTradeField["TradeID"] = "string" +#涔板崠鏂瑰悜 +CThostFtdcTradeField["Direction"] = "string" +#鎶ュ崟缂栧彿 +CThostFtdcTradeField["OrderSysID"] = "string" +#浼氬憳浠g爜 +CThostFtdcTradeField["ParticipantID"] = "string" +#瀹㈡埛浠g爜 +CThostFtdcTradeField["ClientID"] = "string" +#浜ゆ槗瑙掕壊 +CThostFtdcTradeField["TradingRole"] = "string" +#鍚堢害鍦ㄤ氦鏄撴墍鐨勪唬鐮 +CThostFtdcTradeField["ExchangeInstID"] = "string" +#寮骞虫爣蹇 +CThostFtdcTradeField["OffsetFlag"] = "string" +#鎶曟満濂椾繚鏍囧織 +CThostFtdcTradeField["HedgeFlag"] = "string" +#浠锋牸 +CThostFtdcTradeField["Price"] = "float" +#鏁伴噺 +CThostFtdcTradeField["Volume"] = "int" +#鎴愪氦鏃舵湡 +CThostFtdcTradeField["TradeDate"] = "string" +#鎴愪氦鏃堕棿 +CThostFtdcTradeField["TradeTime"] = "string" +#鎴愪氦绫诲瀷 +CThostFtdcTradeField["TradeType"] = "string" +#鎴愪氦浠锋潵婧 +CThostFtdcTradeField["PriceSource"] = "string" +#浜ゆ槗鎵浜ゆ槗鍛樹唬鐮 +CThostFtdcTradeField["TraderID"] = "string" +#鏈湴鎶ュ崟缂栧彿 +CThostFtdcTradeField["OrderLocalID"] = "string" +#缁撶畻浼氬憳缂栧彿 +CThostFtdcTradeField["ClearingPartID"] = "string" +#涓氬姟鍗曞厓 +CThostFtdcTradeField["BusinessUnit"] = "string" +#搴忓彿 +CThostFtdcTradeField["SequenceNo"] = "int" +#浜ゆ槗鏃 +CThostFtdcTradeField["TradingDay"] = "string" +#缁撶畻缂栧彿 +CThostFtdcTradeField["SettlementID"] = "int" +#缁忕邯鍏徃鎶ュ崟缂栧彿 +CThostFtdcTradeField["BrokerOrderSeq"] = "int" +#鎴愪氦鏉ユ簮 +CThostFtdcTradeField["TradeSource"] = "string" +structDict['CThostFtdcTradeField'] = CThostFtdcTradeField + + +#鐢ㄦ埛浼氳瘽 +CThostFtdcUserSessionField = {} +#鍓嶇疆缂栧彿 +CThostFtdcUserSessionField["FrontID"] = "int" +#浼氳瘽缂栧彿 +CThostFtdcUserSessionField["SessionID"] = "int" +#缁忕邯鍏徃浠g爜 +CThostFtdcUserSessionField["BrokerID"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcUserSessionField["UserID"] = "string" +#鐧诲綍鏃ユ湡 +CThostFtdcUserSessionField["LoginDate"] = "string" +#鐧诲綍鏃堕棿 +CThostFtdcUserSessionField["LoginTime"] = "string" +#IP鍦板潃 +CThostFtdcUserSessionField["IPAddress"] = "string" +#鐢ㄦ埛绔骇鍝佷俊鎭 +CThostFtdcUserSessionField["UserProductInfo"] = "string" +#鎺ュ彛绔骇鍝佷俊鎭 +CThostFtdcUserSessionField["InterfaceProductInfo"] = "string" +#鍗忚淇℃伅 +CThostFtdcUserSessionField["ProtocolInfo"] = "string" +#Mac鍦板潃 +CThostFtdcUserSessionField["MacAddress"] = "string" +structDict['CThostFtdcUserSessionField'] = CThostFtdcUserSessionField + + +#鏌ヨ鏈澶ф姤鍗曟暟閲 +CThostFtdcQueryMaxOrderVolumeField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQueryMaxOrderVolumeField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcQueryMaxOrderVolumeField["InvestorID"] = "string" +#鍚堢害浠g爜 +CThostFtdcQueryMaxOrderVolumeField["InstrumentID"] = "string" +#涔板崠鏂瑰悜 +CThostFtdcQueryMaxOrderVolumeField["Direction"] = "string" +#寮骞虫爣蹇 +CThostFtdcQueryMaxOrderVolumeField["OffsetFlag"] = "string" +#鎶曟満濂椾繚鏍囧織 +CThostFtdcQueryMaxOrderVolumeField["HedgeFlag"] = "string" +#鏈澶у厑璁告姤鍗曟暟閲 +CThostFtdcQueryMaxOrderVolumeField["MaxVolume"] = "int" +structDict['CThostFtdcQueryMaxOrderVolumeField'] = CThostFtdcQueryMaxOrderVolumeField + + +#鎶曡祫鑰呯粨绠楃粨鏋滅‘璁や俊鎭 +CThostFtdcSettlementInfoConfirmField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcSettlementInfoConfirmField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcSettlementInfoConfirmField["InvestorID"] = "string" +#纭鏃ユ湡 +CThostFtdcSettlementInfoConfirmField["ConfirmDate"] = "string" +#纭鏃堕棿 +CThostFtdcSettlementInfoConfirmField["ConfirmTime"] = "string" +structDict['CThostFtdcSettlementInfoConfirmField'] = CThostFtdcSettlementInfoConfirmField + + +#鍑哄叆閲戝悓姝 +CThostFtdcSyncDepositField = {} +#鍑哄叆閲戞祦姘村彿 +CThostFtdcSyncDepositField["DepositSeqNo"] = "string" +#缁忕邯鍏徃浠g爜 +CThostFtdcSyncDepositField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcSyncDepositField["InvestorID"] = "string" +#鍏ラ噾閲戦 +CThostFtdcSyncDepositField["Deposit"] = "float" +#鏄惁寮哄埗杩涜 +CThostFtdcSyncDepositField["IsForce"] = "int" +#甯佺浠g爜 +CThostFtdcSyncDepositField["CurrencyID"] = "string" +structDict['CThostFtdcSyncDepositField'] = CThostFtdcSyncDepositField + + +#璐у竵璐ㄦ娂鍚屾 +CThostFtdcSyncFundMortgageField = {} +#璐у竵璐ㄦ娂娴佹按鍙 +CThostFtdcSyncFundMortgageField["MortgageSeqNo"] = "string" +#缁忕邯鍏徃浠g爜 +CThostFtdcSyncFundMortgageField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcSyncFundMortgageField["InvestorID"] = "string" +#婧愬竵绉 +CThostFtdcSyncFundMortgageField["FromCurrencyID"] = "string" +#璐ㄦ娂閲戦 +CThostFtdcSyncFundMortgageField["MortgageAmount"] = "float" +#鐩爣甯佺 +CThostFtdcSyncFundMortgageField["ToCurrencyID"] = "string" +structDict['CThostFtdcSyncFundMortgageField'] = CThostFtdcSyncFundMortgageField + + +#缁忕邯鍏徃鍚屾 +CThostFtdcBrokerSyncField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcBrokerSyncField["BrokerID"] = "string" +structDict['CThostFtdcBrokerSyncField'] = CThostFtdcBrokerSyncField + + +#姝e湪鍚屾涓殑鎶曡祫鑰 +CThostFtdcSyncingInvestorField = {} +#鎶曡祫鑰呬唬鐮 +CThostFtdcSyncingInvestorField["InvestorID"] = "string" +#缁忕邯鍏徃浠g爜 +CThostFtdcSyncingInvestorField["BrokerID"] = "string" +#鎶曡祫鑰呭垎缁勪唬鐮 +CThostFtdcSyncingInvestorField["InvestorGroupID"] = "string" +#鎶曡祫鑰呭悕绉 +CThostFtdcSyncingInvestorField["InvestorName"] = "string" +#璇佷欢绫诲瀷 +CThostFtdcSyncingInvestorField["IdentifiedCardType"] = "string" +#璇佷欢鍙风爜 +CThostFtdcSyncingInvestorField["IdentifiedCardNo"] = "string" +#鏄惁娲昏穬 +CThostFtdcSyncingInvestorField["IsActive"] = "int" +#鑱旂郴鐢佃瘽 +CThostFtdcSyncingInvestorField["Telephone"] = "string" +#閫氳鍦板潃 +CThostFtdcSyncingInvestorField["Address"] = "string" +#寮鎴锋棩鏈 +CThostFtdcSyncingInvestorField["OpenDate"] = "string" +#鎵嬫満 +CThostFtdcSyncingInvestorField["Mobile"] = "string" +#鎵嬬画璐圭巼妯℃澘浠g爜 +CThostFtdcSyncingInvestorField["CommModelID"] = "string" +#淇濊瘉閲戠巼妯℃澘浠g爜 +CThostFtdcSyncingInvestorField["MarginModelID"] = "string" +structDict['CThostFtdcSyncingInvestorField'] = CThostFtdcSyncingInvestorField + + +#姝e湪鍚屾涓殑浜ゆ槗浠g爜 +CThostFtdcSyncingTradingCodeField = {} +#鎶曡祫鑰呬唬鐮 +CThostFtdcSyncingTradingCodeField["InvestorID"] = "string" +#缁忕邯鍏徃浠g爜 +CThostFtdcSyncingTradingCodeField["BrokerID"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcSyncingTradingCodeField["ExchangeID"] = "string" +#瀹㈡埛浠g爜 +CThostFtdcSyncingTradingCodeField["ClientID"] = "string" +#鏄惁娲昏穬 +CThostFtdcSyncingTradingCodeField["IsActive"] = "int" +#浜ゆ槗缂栫爜绫诲瀷 +CThostFtdcSyncingTradingCodeField["ClientIDType"] = "string" +structDict['CThostFtdcSyncingTradingCodeField'] = CThostFtdcSyncingTradingCodeField + + +#姝e湪鍚屾涓殑鎶曡祫鑰呭垎缁 +CThostFtdcSyncingInvestorGroupField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcSyncingInvestorGroupField["BrokerID"] = "string" +#鎶曡祫鑰呭垎缁勪唬鐮 +CThostFtdcSyncingInvestorGroupField["InvestorGroupID"] = "string" +#鎶曡祫鑰呭垎缁勫悕绉 +CThostFtdcSyncingInvestorGroupField["InvestorGroupName"] = "string" +structDict['CThostFtdcSyncingInvestorGroupField'] = CThostFtdcSyncingInvestorGroupField + + +#姝e湪鍚屾涓殑浜ゆ槗璐﹀彿 +CThostFtdcSyncingTradingAccountField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcSyncingTradingAccountField["BrokerID"] = "string" +#鎶曡祫鑰呭笎鍙 +CThostFtdcSyncingTradingAccountField["AccountID"] = "string" +#涓婃璐ㄦ娂閲戦 +CThostFtdcSyncingTradingAccountField["PreMortgage"] = "float" +#涓婃淇$敤棰濆害 +CThostFtdcSyncingTradingAccountField["PreCredit"] = "float" +#涓婃瀛樻棰 +CThostFtdcSyncingTradingAccountField["PreDeposit"] = "float" +#涓婃缁撶畻鍑嗗閲 +CThostFtdcSyncingTradingAccountField["PreBalance"] = "float" +#涓婃鍗犵敤鐨勪繚璇侀噾 +CThostFtdcSyncingTradingAccountField["PreMargin"] = "float" +#鍒╂伅鍩烘暟 +CThostFtdcSyncingTradingAccountField["InterestBase"] = "float" +#鍒╂伅鏀跺叆 +CThostFtdcSyncingTradingAccountField["Interest"] = "float" +#鍏ラ噾閲戦 +CThostFtdcSyncingTradingAccountField["Deposit"] = "float" +#鍑洪噾閲戦 +CThostFtdcSyncingTradingAccountField["Withdraw"] = "float" +#鍐荤粨鐨勪繚璇侀噾 +CThostFtdcSyncingTradingAccountField["FrozenMargin"] = "float" +#鍐荤粨鐨勮祫閲 +CThostFtdcSyncingTradingAccountField["FrozenCash"] = "float" +#鍐荤粨鐨勬墜缁垂 +CThostFtdcSyncingTradingAccountField["FrozenCommission"] = "float" +#褰撳墠淇濊瘉閲戞婚 +CThostFtdcSyncingTradingAccountField["CurrMargin"] = "float" +#璧勯噾宸 +CThostFtdcSyncingTradingAccountField["CashIn"] = "float" +#鎵嬬画璐 +CThostFtdcSyncingTradingAccountField["Commission"] = "float" +#骞充粨鐩堜簭 +CThostFtdcSyncingTradingAccountField["CloseProfit"] = "float" +#鎸佷粨鐩堜簭 +CThostFtdcSyncingTradingAccountField["PositionProfit"] = "float" +#鏈熻揣缁撶畻鍑嗗閲 +CThostFtdcSyncingTradingAccountField["Balance"] = "float" +#鍙敤璧勯噾 +CThostFtdcSyncingTradingAccountField["Available"] = "float" +#鍙彇璧勯噾 +CThostFtdcSyncingTradingAccountField["WithdrawQuota"] = "float" +#鍩烘湰鍑嗗閲 +CThostFtdcSyncingTradingAccountField["Reserve"] = "float" +#浜ゆ槗鏃 +CThostFtdcSyncingTradingAccountField["TradingDay"] = "string" +#缁撶畻缂栧彿 +CThostFtdcSyncingTradingAccountField["SettlementID"] = "int" +#淇$敤棰濆害 +CThostFtdcSyncingTradingAccountField["Credit"] = "float" +#璐ㄦ娂閲戦 +CThostFtdcSyncingTradingAccountField["Mortgage"] = "float" +#浜ゆ槗鎵淇濊瘉閲 +CThostFtdcSyncingTradingAccountField["ExchangeMargin"] = "float" +#鎶曡祫鑰呬氦鍓蹭繚璇侀噾 +CThostFtdcSyncingTradingAccountField["DeliveryMargin"] = "float" +#浜ゆ槗鎵浜ゅ壊淇濊瘉閲 +CThostFtdcSyncingTradingAccountField["ExchangeDeliveryMargin"] = "float" +#淇濆簳鏈熻揣缁撶畻鍑嗗閲 +CThostFtdcSyncingTradingAccountField["ReserveBalance"] = "float" +#甯佺浠g爜 +CThostFtdcSyncingTradingAccountField["CurrencyID"] = "string" +#涓婃璐у竵璐ㄥ叆閲戦 +CThostFtdcSyncingTradingAccountField["PreFundMortgageIn"] = "float" +#涓婃璐у竵璐ㄥ嚭閲戦 +CThostFtdcSyncingTradingAccountField["PreFundMortgageOut"] = "float" +#璐у竵璐ㄥ叆閲戦 +CThostFtdcSyncingTradingAccountField["FundMortgageIn"] = "float" +#璐у竵璐ㄥ嚭閲戦 +CThostFtdcSyncingTradingAccountField["FundMortgageOut"] = "float" +#璐у竵璐ㄦ娂浣欓 +CThostFtdcSyncingTradingAccountField["FundMortgageAvailable"] = "float" +#鍙川鎶艰揣甯侀噾棰 +CThostFtdcSyncingTradingAccountField["MortgageableFund"] = "float" +#鐗规畩浜у搧鍗犵敤淇濊瘉閲 +CThostFtdcSyncingTradingAccountField["SpecProductMargin"] = "float" +#鐗规畩浜у搧鍐荤粨淇濊瘉閲 +CThostFtdcSyncingTradingAccountField["SpecProductFrozenMargin"] = "float" +#鐗规畩浜у搧鎵嬬画璐 +CThostFtdcSyncingTradingAccountField["SpecProductCommission"] = "float" +#鐗规畩浜у搧鍐荤粨鎵嬬画璐 +CThostFtdcSyncingTradingAccountField["SpecProductFrozenCommission"] = "float" +#鐗规畩浜у搧鎸佷粨鐩堜簭 +CThostFtdcSyncingTradingAccountField["SpecProductPositionProfit"] = "float" +#鐗规畩浜у搧骞充粨鐩堜簭 +CThostFtdcSyncingTradingAccountField["SpecProductCloseProfit"] = "float" +#鏍规嵁鎸佷粨鐩堜簭绠楁硶璁$畻鐨勭壒娈婁骇鍝佹寔浠撶泩浜 +CThostFtdcSyncingTradingAccountField["SpecProductPositionProfitByAlg"] = "float" +#鐗规畩浜у搧浜ゆ槗鎵淇濊瘉閲 +CThostFtdcSyncingTradingAccountField["SpecProductExchangeMargin"] = "float" +#鏈熸潈骞充粨鐩堜簭 +CThostFtdcSyncingTradingAccountField["OptionCloseProfit"] = "float" +#鏈熸潈甯傚 +CThostFtdcSyncingTradingAccountField["OptionValue"] = "float" +structDict['CThostFtdcSyncingTradingAccountField'] = CThostFtdcSyncingTradingAccountField + + +#姝e湪鍚屾涓殑鎶曡祫鑰呮寔浠 +CThostFtdcSyncingInvestorPositionField = {} +#鍚堢害浠g爜 +CThostFtdcSyncingInvestorPositionField["InstrumentID"] = "string" +#缁忕邯鍏徃浠g爜 +CThostFtdcSyncingInvestorPositionField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcSyncingInvestorPositionField["InvestorID"] = "string" +#鎸佷粨澶氱┖鏂瑰悜 +CThostFtdcSyncingInvestorPositionField["PosiDirection"] = "string" +#鎶曟満濂椾繚鏍囧織 +CThostFtdcSyncingInvestorPositionField["HedgeFlag"] = "string" +#鎸佷粨鏃ユ湡 +CThostFtdcSyncingInvestorPositionField["PositionDate"] = "string" +#涓婃棩鎸佷粨 +CThostFtdcSyncingInvestorPositionField["YdPosition"] = "int" +#浠婃棩鎸佷粨 +CThostFtdcSyncingInvestorPositionField["Position"] = "int" +#澶氬ご鍐荤粨 +CThostFtdcSyncingInvestorPositionField["LongFrozen"] = "int" +#绌哄ご鍐荤粨 +CThostFtdcSyncingInvestorPositionField["ShortFrozen"] = "int" +#寮浠撳喕缁撻噾棰 +CThostFtdcSyncingInvestorPositionField["LongFrozenAmount"] = "float" +#寮浠撳喕缁撻噾棰 +CThostFtdcSyncingInvestorPositionField["ShortFrozenAmount"] = "float" +#寮浠撻噺 +CThostFtdcSyncingInvestorPositionField["OpenVolume"] = "int" +#骞充粨閲 +CThostFtdcSyncingInvestorPositionField["CloseVolume"] = "int" +#寮浠撻噾棰 +CThostFtdcSyncingInvestorPositionField["OpenAmount"] = "float" +#骞充粨閲戦 +CThostFtdcSyncingInvestorPositionField["CloseAmount"] = "float" +#鎸佷粨鎴愭湰 +CThostFtdcSyncingInvestorPositionField["PositionCost"] = "float" +#涓婃鍗犵敤鐨勪繚璇侀噾 +CThostFtdcSyncingInvestorPositionField["PreMargin"] = "float" +#鍗犵敤鐨勪繚璇侀噾 +CThostFtdcSyncingInvestorPositionField["UseMargin"] = "float" +#鍐荤粨鐨勪繚璇侀噾 +CThostFtdcSyncingInvestorPositionField["FrozenMargin"] = "float" +#鍐荤粨鐨勮祫閲 +CThostFtdcSyncingInvestorPositionField["FrozenCash"] = "float" +#鍐荤粨鐨勬墜缁垂 +CThostFtdcSyncingInvestorPositionField["FrozenCommission"] = "float" +#璧勯噾宸 +CThostFtdcSyncingInvestorPositionField["CashIn"] = "float" +#鎵嬬画璐 +CThostFtdcSyncingInvestorPositionField["Commission"] = "float" +#骞充粨鐩堜簭 +CThostFtdcSyncingInvestorPositionField["CloseProfit"] = "float" +#鎸佷粨鐩堜簭 +CThostFtdcSyncingInvestorPositionField["PositionProfit"] = "float" +#涓婃缁撶畻浠 +CThostFtdcSyncingInvestorPositionField["PreSettlementPrice"] = "float" +#鏈缁撶畻浠 +CThostFtdcSyncingInvestorPositionField["SettlementPrice"] = "float" +#浜ゆ槗鏃 +CThostFtdcSyncingInvestorPositionField["TradingDay"] = "string" +#缁撶畻缂栧彿 +CThostFtdcSyncingInvestorPositionField["SettlementID"] = "int" +#寮浠撴垚鏈 +CThostFtdcSyncingInvestorPositionField["OpenCost"] = "float" +#浜ゆ槗鎵淇濊瘉閲 +CThostFtdcSyncingInvestorPositionField["ExchangeMargin"] = "float" +#缁勫悎鎴愪氦褰㈡垚鐨勬寔浠 +CThostFtdcSyncingInvestorPositionField["CombPosition"] = "int" +#缁勫悎澶氬ご鍐荤粨 +CThostFtdcSyncingInvestorPositionField["CombLongFrozen"] = "int" +#缁勫悎绌哄ご鍐荤粨 +CThostFtdcSyncingInvestorPositionField["CombShortFrozen"] = "int" +#閫愭棩鐩競骞充粨鐩堜簭 +CThostFtdcSyncingInvestorPositionField["CloseProfitByDate"] = "float" +#閫愮瑪瀵瑰啿骞充粨鐩堜簭 +CThostFtdcSyncingInvestorPositionField["CloseProfitByTrade"] = "float" +#浠婃棩鎸佷粨 +CThostFtdcSyncingInvestorPositionField["TodayPosition"] = "int" +#淇濊瘉閲戠巼 +CThostFtdcSyncingInvestorPositionField["MarginRateByMoney"] = "float" +#淇濊瘉閲戠巼(鎸夋墜鏁) +CThostFtdcSyncingInvestorPositionField["MarginRateByVolume"] = "float" +#鎵ц鍐荤粨 +CThostFtdcSyncingInvestorPositionField["StrikeFrozen"] = "int" +#鎵ц鍐荤粨閲戦 +CThostFtdcSyncingInvestorPositionField["StrikeFrozenAmount"] = "float" +#鏀惧純鎵ц鍐荤粨 +CThostFtdcSyncingInvestorPositionField["AbandonFrozen"] = "int" +#鏈熸潈甯傚 +CThostFtdcSyncingInvestorPositionField["OptionValue"] = "float" +structDict['CThostFtdcSyncingInvestorPositionField'] = CThostFtdcSyncingInvestorPositionField + + +#姝e湪鍚屾涓殑鍚堢害淇濊瘉閲戠巼 +CThostFtdcSyncingInstrumentMarginRateField = {} +#鍚堢害浠g爜 +CThostFtdcSyncingInstrumentMarginRateField["InstrumentID"] = "string" +#鎶曡祫鑰呰寖鍥 +CThostFtdcSyncingInstrumentMarginRateField["InvestorRange"] = "string" +#缁忕邯鍏徃浠g爜 +CThostFtdcSyncingInstrumentMarginRateField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcSyncingInstrumentMarginRateField["InvestorID"] = "string" +#鎶曟満濂椾繚鏍囧織 +CThostFtdcSyncingInstrumentMarginRateField["HedgeFlag"] = "string" +#澶氬ご淇濊瘉閲戠巼 +CThostFtdcSyncingInstrumentMarginRateField["LongMarginRatioByMoney"] = "float" +#澶氬ご淇濊瘉閲戣垂 +CThostFtdcSyncingInstrumentMarginRateField["LongMarginRatioByVolume"] = "float" +#绌哄ご淇濊瘉閲戠巼 +CThostFtdcSyncingInstrumentMarginRateField["ShortMarginRatioByMoney"] = "float" +#绌哄ご淇濊瘉閲戣垂 +CThostFtdcSyncingInstrumentMarginRateField["ShortMarginRatioByVolume"] = "float" +#鏄惁鐩稿浜ゆ槗鎵鏀跺彇 +CThostFtdcSyncingInstrumentMarginRateField["IsRelative"] = "int" +structDict['CThostFtdcSyncingInstrumentMarginRateField'] = CThostFtdcSyncingInstrumentMarginRateField + + +#姝e湪鍚屾涓殑鍚堢害鎵嬬画璐圭巼 +CThostFtdcSyncingInstrumentCommissionRateField = {} +#鍚堢害浠g爜 +CThostFtdcSyncingInstrumentCommissionRateField["InstrumentID"] = "string" +#鎶曡祫鑰呰寖鍥 +CThostFtdcSyncingInstrumentCommissionRateField["InvestorRange"] = "string" +#缁忕邯鍏徃浠g爜 +CThostFtdcSyncingInstrumentCommissionRateField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcSyncingInstrumentCommissionRateField["InvestorID"] = "string" +#寮浠撴墜缁垂鐜 +CThostFtdcSyncingInstrumentCommissionRateField["OpenRatioByMoney"] = "float" +#寮浠撴墜缁垂 +CThostFtdcSyncingInstrumentCommissionRateField["OpenRatioByVolume"] = "float" +#骞充粨鎵嬬画璐圭巼 +CThostFtdcSyncingInstrumentCommissionRateField["CloseRatioByMoney"] = "float" +#骞充粨鎵嬬画璐 +CThostFtdcSyncingInstrumentCommissionRateField["CloseRatioByVolume"] = "float" +#骞充粖鎵嬬画璐圭巼 +CThostFtdcSyncingInstrumentCommissionRateField["CloseTodayRatioByMoney"] = "float" +#骞充粖鎵嬬画璐 +CThostFtdcSyncingInstrumentCommissionRateField["CloseTodayRatioByVolume"] = "float" +structDict['CThostFtdcSyncingInstrumentCommissionRateField'] = CThostFtdcSyncingInstrumentCommissionRateField + + +#姝e湪鍚屾涓殑鍚堢害浜ゆ槗鏉冮檺 +CThostFtdcSyncingInstrumentTradingRightField = {} +#鍚堢害浠g爜 +CThostFtdcSyncingInstrumentTradingRightField["InstrumentID"] = "string" +#鎶曡祫鑰呰寖鍥 +CThostFtdcSyncingInstrumentTradingRightField["InvestorRange"] = "string" +#缁忕邯鍏徃浠g爜 +CThostFtdcSyncingInstrumentTradingRightField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcSyncingInstrumentTradingRightField["InvestorID"] = "string" +#浜ゆ槗鏉冮檺 +CThostFtdcSyncingInstrumentTradingRightField["TradingRight"] = "string" +structDict['CThostFtdcSyncingInstrumentTradingRightField'] = CThostFtdcSyncingInstrumentTradingRightField + + +#鏌ヨ鎶ュ崟 +CThostFtdcQryOrderField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryOrderField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcQryOrderField["InvestorID"] = "string" +#鍚堢害浠g爜 +CThostFtdcQryOrderField["InstrumentID"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcQryOrderField["ExchangeID"] = "string" +#鎶ュ崟缂栧彿 +CThostFtdcQryOrderField["OrderSysID"] = "string" +#寮濮嬫椂闂 +CThostFtdcQryOrderField["InsertTimeStart"] = "string" +#缁撴潫鏃堕棿 +CThostFtdcQryOrderField["InsertTimeEnd"] = "string" +structDict['CThostFtdcQryOrderField'] = CThostFtdcQryOrderField + + +#鏌ヨ鎴愪氦 +CThostFtdcQryTradeField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryTradeField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcQryTradeField["InvestorID"] = "string" +#鍚堢害浠g爜 +CThostFtdcQryTradeField["InstrumentID"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcQryTradeField["ExchangeID"] = "string" +#鎴愪氦缂栧彿 +CThostFtdcQryTradeField["TradeID"] = "string" +#寮濮嬫椂闂 +CThostFtdcQryTradeField["TradeTimeStart"] = "string" +#缁撴潫鏃堕棿 +CThostFtdcQryTradeField["TradeTimeEnd"] = "string" +structDict['CThostFtdcQryTradeField'] = CThostFtdcQryTradeField + + +#鏌ヨ鎶曡祫鑰呮寔浠 +CThostFtdcQryInvestorPositionField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryInvestorPositionField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcQryInvestorPositionField["InvestorID"] = "string" +#鍚堢害浠g爜 +CThostFtdcQryInvestorPositionField["InstrumentID"] = "string" +structDict['CThostFtdcQryInvestorPositionField'] = CThostFtdcQryInvestorPositionField + + +#鏌ヨ璧勯噾璐︽埛 +CThostFtdcQryTradingAccountField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryTradingAccountField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcQryTradingAccountField["InvestorID"] = "string" +#甯佺浠g爜 +CThostFtdcQryTradingAccountField["CurrencyID"] = "string" +structDict['CThostFtdcQryTradingAccountField'] = CThostFtdcQryTradingAccountField + + +#鏌ヨ鎶曡祫鑰 +CThostFtdcQryInvestorField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryInvestorField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcQryInvestorField["InvestorID"] = "string" +structDict['CThostFtdcQryInvestorField'] = CThostFtdcQryInvestorField + + +#鏌ヨ浜ゆ槗缂栫爜 +CThostFtdcQryTradingCodeField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryTradingCodeField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcQryTradingCodeField["InvestorID"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcQryTradingCodeField["ExchangeID"] = "string" +#瀹㈡埛浠g爜 +CThostFtdcQryTradingCodeField["ClientID"] = "string" +#浜ゆ槗缂栫爜绫诲瀷 +CThostFtdcQryTradingCodeField["ClientIDType"] = "string" +structDict['CThostFtdcQryTradingCodeField'] = CThostFtdcQryTradingCodeField + + +#鏌ヨ鎶曡祫鑰呯粍 +CThostFtdcQryInvestorGroupField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryInvestorGroupField["BrokerID"] = "string" +structDict['CThostFtdcQryInvestorGroupField'] = CThostFtdcQryInvestorGroupField + + +#鏌ヨ鍚堢害淇濊瘉閲戠巼 +CThostFtdcQryInstrumentMarginRateField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryInstrumentMarginRateField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcQryInstrumentMarginRateField["InvestorID"] = "string" +#鍚堢害浠g爜 +CThostFtdcQryInstrumentMarginRateField["InstrumentID"] = "string" +#鎶曟満濂椾繚鏍囧織 +CThostFtdcQryInstrumentMarginRateField["HedgeFlag"] = "string" +structDict['CThostFtdcQryInstrumentMarginRateField'] = CThostFtdcQryInstrumentMarginRateField + + +#鏌ヨ鎵嬬画璐圭巼 +CThostFtdcQryInstrumentCommissionRateField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryInstrumentCommissionRateField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcQryInstrumentCommissionRateField["InvestorID"] = "string" +#鍚堢害浠g爜 +CThostFtdcQryInstrumentCommissionRateField["InstrumentID"] = "string" +structDict['CThostFtdcQryInstrumentCommissionRateField'] = CThostFtdcQryInstrumentCommissionRateField + + +#鏌ヨ鍚堢害浜ゆ槗鏉冮檺 +CThostFtdcQryInstrumentTradingRightField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryInstrumentTradingRightField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcQryInstrumentTradingRightField["InvestorID"] = "string" +#鍚堢害浠g爜 +CThostFtdcQryInstrumentTradingRightField["InstrumentID"] = "string" +structDict['CThostFtdcQryInstrumentTradingRightField'] = CThostFtdcQryInstrumentTradingRightField + + +#鏌ヨ缁忕邯鍏徃 +CThostFtdcQryBrokerField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryBrokerField["BrokerID"] = "string" +structDict['CThostFtdcQryBrokerField'] = CThostFtdcQryBrokerField + + +#鏌ヨ浜ゆ槗鍛 +CThostFtdcQryTraderField = {} +#浜ゆ槗鎵浠g爜 +CThostFtdcQryTraderField["ExchangeID"] = "string" +#浼氬憳浠g爜 +CThostFtdcQryTraderField["ParticipantID"] = "string" +#浜ゆ槗鎵浜ゆ槗鍛樹唬鐮 +CThostFtdcQryTraderField["TraderID"] = "string" +structDict['CThostFtdcQryTraderField'] = CThostFtdcQryTraderField + + +#鏌ヨ绠$悊鐢ㄦ埛鍔熻兘鏉冮檺 +CThostFtdcQrySuperUserFunctionField = {} +#鐢ㄦ埛浠g爜 +CThostFtdcQrySuperUserFunctionField["UserID"] = "string" +structDict['CThostFtdcQrySuperUserFunctionField'] = CThostFtdcQrySuperUserFunctionField + + +#鏌ヨ鐢ㄦ埛浼氳瘽 +CThostFtdcQryUserSessionField = {} +#鍓嶇疆缂栧彿 +CThostFtdcQryUserSessionField["FrontID"] = "int" +#浼氳瘽缂栧彿 +CThostFtdcQryUserSessionField["SessionID"] = "int" +#缁忕邯鍏徃浠g爜 +CThostFtdcQryUserSessionField["BrokerID"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcQryUserSessionField["UserID"] = "string" +structDict['CThostFtdcQryUserSessionField'] = CThostFtdcQryUserSessionField + + +#鏌ヨ缁忕邯鍏徃浼氬憳浠g爜 +CThostFtdcQryPartBrokerField = {} +#浜ゆ槗鎵浠g爜 +CThostFtdcQryPartBrokerField["ExchangeID"] = "string" +#缁忕邯鍏徃浠g爜 +CThostFtdcQryPartBrokerField["BrokerID"] = "string" +#浼氬憳浠g爜 +CThostFtdcQryPartBrokerField["ParticipantID"] = "string" +structDict['CThostFtdcQryPartBrokerField'] = CThostFtdcQryPartBrokerField + + +#鏌ヨ鍓嶇疆鐘舵 +CThostFtdcQryFrontStatusField = {} +#鍓嶇疆缂栧彿 +CThostFtdcQryFrontStatusField["FrontID"] = "int" +structDict['CThostFtdcQryFrontStatusField'] = CThostFtdcQryFrontStatusField + + +#鏌ヨ浜ゆ槗鎵鎶ュ崟 +CThostFtdcQryExchangeOrderField = {} +#浼氬憳浠g爜 +CThostFtdcQryExchangeOrderField["ParticipantID"] = "string" +#瀹㈡埛浠g爜 +CThostFtdcQryExchangeOrderField["ClientID"] = "string" +#鍚堢害鍦ㄤ氦鏄撴墍鐨勪唬鐮 +CThostFtdcQryExchangeOrderField["ExchangeInstID"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcQryExchangeOrderField["ExchangeID"] = "string" +#浜ゆ槗鎵浜ゆ槗鍛樹唬鐮 +CThostFtdcQryExchangeOrderField["TraderID"] = "string" +structDict['CThostFtdcQryExchangeOrderField'] = CThostFtdcQryExchangeOrderField + + +#鏌ヨ鎶ュ崟鎿嶄綔 +CThostFtdcQryOrderActionField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryOrderActionField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcQryOrderActionField["InvestorID"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcQryOrderActionField["ExchangeID"] = "string" +structDict['CThostFtdcQryOrderActionField'] = CThostFtdcQryOrderActionField + + +#鏌ヨ浜ゆ槗鎵鎶ュ崟鎿嶄綔 +CThostFtdcQryExchangeOrderActionField = {} +#浼氬憳浠g爜 +CThostFtdcQryExchangeOrderActionField["ParticipantID"] = "string" +#瀹㈡埛浠g爜 +CThostFtdcQryExchangeOrderActionField["ClientID"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcQryExchangeOrderActionField["ExchangeID"] = "string" +#浜ゆ槗鎵浜ゆ槗鍛樹唬鐮 +CThostFtdcQryExchangeOrderActionField["TraderID"] = "string" +structDict['CThostFtdcQryExchangeOrderActionField'] = CThostFtdcQryExchangeOrderActionField + + +#鏌ヨ绠$悊鐢ㄦ埛 +CThostFtdcQrySuperUserField = {} +#鐢ㄦ埛浠g爜 +CThostFtdcQrySuperUserField["UserID"] = "string" +structDict['CThostFtdcQrySuperUserField'] = CThostFtdcQrySuperUserField + + +#鏌ヨ浜ゆ槗鎵 +CThostFtdcQryExchangeField = {} +#浜ゆ槗鎵浠g爜 +CThostFtdcQryExchangeField["ExchangeID"] = "string" +structDict['CThostFtdcQryExchangeField'] = CThostFtdcQryExchangeField + + +#鏌ヨ浜у搧 +CThostFtdcQryProductField = {} +#浜у搧浠g爜 +CThostFtdcQryProductField["ProductID"] = "string" +#浜у搧绫诲瀷 +CThostFtdcQryProductField["ProductClass"] = "string" +structDict['CThostFtdcQryProductField'] = CThostFtdcQryProductField + + +#鏌ヨ鍚堢害 +CThostFtdcQryInstrumentField = {} +#鍚堢害浠g爜 +CThostFtdcQryInstrumentField["InstrumentID"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcQryInstrumentField["ExchangeID"] = "string" +#鍚堢害鍦ㄤ氦鏄撴墍鐨勪唬鐮 +CThostFtdcQryInstrumentField["ExchangeInstID"] = "string" +#浜у搧浠g爜 +CThostFtdcQryInstrumentField["ProductID"] = "string" +structDict['CThostFtdcQryInstrumentField'] = CThostFtdcQryInstrumentField + + +#鏌ヨ琛屾儏 +CThostFtdcQryDepthMarketDataField = {} +#鍚堢害浠g爜 +CThostFtdcQryDepthMarketDataField["InstrumentID"] = "string" +structDict['CThostFtdcQryDepthMarketDataField'] = CThostFtdcQryDepthMarketDataField + + +#鏌ヨ缁忕邯鍏徃鐢ㄦ埛 +CThostFtdcQryBrokerUserField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryBrokerUserField["BrokerID"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcQryBrokerUserField["UserID"] = "string" +structDict['CThostFtdcQryBrokerUserField'] = CThostFtdcQryBrokerUserField + + +#鏌ヨ缁忕邯鍏徃鐢ㄦ埛鏉冮檺 +CThostFtdcQryBrokerUserFunctionField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryBrokerUserFunctionField["BrokerID"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcQryBrokerUserFunctionField["UserID"] = "string" +structDict['CThostFtdcQryBrokerUserFunctionField'] = CThostFtdcQryBrokerUserFunctionField + + +#鏌ヨ浜ゆ槗鍛樻姤鐩樻満 +CThostFtdcQryTraderOfferField = {} +#浜ゆ槗鎵浠g爜 +CThostFtdcQryTraderOfferField["ExchangeID"] = "string" +#浼氬憳浠g爜 +CThostFtdcQryTraderOfferField["ParticipantID"] = "string" +#浜ゆ槗鎵浜ゆ槗鍛樹唬鐮 +CThostFtdcQryTraderOfferField["TraderID"] = "string" +structDict['CThostFtdcQryTraderOfferField'] = CThostFtdcQryTraderOfferField + + +#鏌ヨ鍑哄叆閲戞祦姘 +CThostFtdcQrySyncDepositField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQrySyncDepositField["BrokerID"] = "string" +#鍑哄叆閲戞祦姘村彿 +CThostFtdcQrySyncDepositField["DepositSeqNo"] = "string" +structDict['CThostFtdcQrySyncDepositField'] = CThostFtdcQrySyncDepositField + + +#鏌ヨ鎶曡祫鑰呯粨绠楃粨鏋 +CThostFtdcQrySettlementInfoField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQrySettlementInfoField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcQrySettlementInfoField["InvestorID"] = "string" +#浜ゆ槗鏃 +CThostFtdcQrySettlementInfoField["TradingDay"] = "string" +structDict['CThostFtdcQrySettlementInfoField'] = CThostFtdcQrySettlementInfoField + + +#鏌ヨ浜ゆ槗鎵淇濊瘉閲戠巼 +CThostFtdcQryExchangeMarginRateField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryExchangeMarginRateField["BrokerID"] = "string" +#鍚堢害浠g爜 +CThostFtdcQryExchangeMarginRateField["InstrumentID"] = "string" +#鎶曟満濂椾繚鏍囧織 +CThostFtdcQryExchangeMarginRateField["HedgeFlag"] = "string" +structDict['CThostFtdcQryExchangeMarginRateField'] = CThostFtdcQryExchangeMarginRateField + + +#鏌ヨ浜ゆ槗鎵璋冩暣淇濊瘉閲戠巼 +CThostFtdcQryExchangeMarginRateAdjustField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryExchangeMarginRateAdjustField["BrokerID"] = "string" +#鍚堢害浠g爜 +CThostFtdcQryExchangeMarginRateAdjustField["InstrumentID"] = "string" +#鎶曟満濂椾繚鏍囧織 +CThostFtdcQryExchangeMarginRateAdjustField["HedgeFlag"] = "string" +structDict['CThostFtdcQryExchangeMarginRateAdjustField'] = CThostFtdcQryExchangeMarginRateAdjustField + + +#鏌ヨ姹囩巼 +CThostFtdcQryExchangeRateField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryExchangeRateField["BrokerID"] = "string" +#婧愬竵绉 +CThostFtdcQryExchangeRateField["FromCurrencyID"] = "string" +#鐩爣甯佺 +CThostFtdcQryExchangeRateField["ToCurrencyID"] = "string" +structDict['CThostFtdcQryExchangeRateField'] = CThostFtdcQryExchangeRateField + + +#鏌ヨ璐у竵璐ㄦ娂娴佹按 +CThostFtdcQrySyncFundMortgageField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQrySyncFundMortgageField["BrokerID"] = "string" +#璐у竵璐ㄦ娂娴佹按鍙 +CThostFtdcQrySyncFundMortgageField["MortgageSeqNo"] = "string" +structDict['CThostFtdcQrySyncFundMortgageField'] = CThostFtdcQrySyncFundMortgageField + + +#鏌ヨ鎶ュ崟 +CThostFtdcQryHisOrderField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryHisOrderField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcQryHisOrderField["InvestorID"] = "string" +#鍚堢害浠g爜 +CThostFtdcQryHisOrderField["InstrumentID"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcQryHisOrderField["ExchangeID"] = "string" +#鎶ュ崟缂栧彿 +CThostFtdcQryHisOrderField["OrderSysID"] = "string" +#寮濮嬫椂闂 +CThostFtdcQryHisOrderField["InsertTimeStart"] = "string" +#缁撴潫鏃堕棿 +CThostFtdcQryHisOrderField["InsertTimeEnd"] = "string" +#浜ゆ槗鏃 +CThostFtdcQryHisOrderField["TradingDay"] = "string" +#缁撶畻缂栧彿 +CThostFtdcQryHisOrderField["SettlementID"] = "int" +structDict['CThostFtdcQryHisOrderField'] = CThostFtdcQryHisOrderField + + +#褰撳墠鏈熸潈鍚堢害鏈灏忎繚璇侀噾 +CThostFtdcOptionInstrMiniMarginField = {} +#鍚堢害浠g爜 +CThostFtdcOptionInstrMiniMarginField["InstrumentID"] = "string" +#鎶曡祫鑰呰寖鍥 +CThostFtdcOptionInstrMiniMarginField["InvestorRange"] = "string" +#缁忕邯鍏徃浠g爜 +CThostFtdcOptionInstrMiniMarginField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcOptionInstrMiniMarginField["InvestorID"] = "string" +#鍗曚綅锛堟墜锛夋湡鏉冨悎绾︽渶灏忎繚璇侀噾 +CThostFtdcOptionInstrMiniMarginField["MinMargin"] = "float" +#鍙栧兼柟寮 +CThostFtdcOptionInstrMiniMarginField["ValueMethod"] = "string" +#鏄惁璺熼殢浜ゆ槗鎵鏀跺彇 +CThostFtdcOptionInstrMiniMarginField["IsRelative"] = "int" +structDict['CThostFtdcOptionInstrMiniMarginField'] = CThostFtdcOptionInstrMiniMarginField + + +#褰撳墠鏈熸潈鍚堢害淇濊瘉閲戣皟鏁寸郴鏁 +CThostFtdcOptionInstrMarginAdjustField = {} +#鍚堢害浠g爜 +CThostFtdcOptionInstrMarginAdjustField["InstrumentID"] = "string" +#鎶曡祫鑰呰寖鍥 +CThostFtdcOptionInstrMarginAdjustField["InvestorRange"] = "string" +#缁忕邯鍏徃浠g爜 +CThostFtdcOptionInstrMarginAdjustField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcOptionInstrMarginAdjustField["InvestorID"] = "string" +#鎶曟満绌哄ご淇濊瘉閲戣皟鏁寸郴鏁 +CThostFtdcOptionInstrMarginAdjustField["SShortMarginRatioByMoney"] = "float" +#鎶曟満绌哄ご淇濊瘉閲戣皟鏁寸郴鏁 +CThostFtdcOptionInstrMarginAdjustField["SShortMarginRatioByVolume"] = "float" +#淇濆肩┖澶翠繚璇侀噾璋冩暣绯绘暟 +CThostFtdcOptionInstrMarginAdjustField["HShortMarginRatioByMoney"] = "float" +#淇濆肩┖澶翠繚璇侀噾璋冩暣绯绘暟 +CThostFtdcOptionInstrMarginAdjustField["HShortMarginRatioByVolume"] = "float" +#濂楀埄绌哄ご淇濊瘉閲戣皟鏁寸郴鏁 +CThostFtdcOptionInstrMarginAdjustField["AShortMarginRatioByMoney"] = "float" +#濂楀埄绌哄ご淇濊瘉閲戣皟鏁寸郴鏁 +CThostFtdcOptionInstrMarginAdjustField["AShortMarginRatioByVolume"] = "float" +#鏄惁璺熼殢浜ゆ槗鎵鏀跺彇 +CThostFtdcOptionInstrMarginAdjustField["IsRelative"] = "int" +structDict['CThostFtdcOptionInstrMarginAdjustField'] = CThostFtdcOptionInstrMarginAdjustField + + +#褰撳墠鏈熸潈鍚堢害鎵嬬画璐圭殑璇︾粏鍐呭 +CThostFtdcOptionInstrCommRateField = {} +#鍚堢害浠g爜 +CThostFtdcOptionInstrCommRateField["InstrumentID"] = "string" +#鎶曡祫鑰呰寖鍥 +CThostFtdcOptionInstrCommRateField["InvestorRange"] = "string" +#缁忕邯鍏徃浠g爜 +CThostFtdcOptionInstrCommRateField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcOptionInstrCommRateField["InvestorID"] = "string" +#寮浠撴墜缁垂鐜 +CThostFtdcOptionInstrCommRateField["OpenRatioByMoney"] = "float" +#寮浠撴墜缁垂 +CThostFtdcOptionInstrCommRateField["OpenRatioByVolume"] = "float" +#骞充粨鎵嬬画璐圭巼 +CThostFtdcOptionInstrCommRateField["CloseRatioByMoney"] = "float" +#骞充粨鎵嬬画璐 +CThostFtdcOptionInstrCommRateField["CloseRatioByVolume"] = "float" +#骞充粖鎵嬬画璐圭巼 +CThostFtdcOptionInstrCommRateField["CloseTodayRatioByMoney"] = "float" +#骞充粖鎵嬬画璐 +CThostFtdcOptionInstrCommRateField["CloseTodayRatioByVolume"] = "float" +#鎵ц鎵嬬画璐圭巼 +CThostFtdcOptionInstrCommRateField["StrikeRatioByMoney"] = "float" +#鎵ц鎵嬬画璐 +CThostFtdcOptionInstrCommRateField["StrikeRatioByVolume"] = "float" +structDict['CThostFtdcOptionInstrCommRateField'] = CThostFtdcOptionInstrCommRateField + + +#鏈熸潈浜ゆ槗鎴愭湰 +CThostFtdcOptionInstrTradeCostField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcOptionInstrTradeCostField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcOptionInstrTradeCostField["InvestorID"] = "string" +#鍚堢害浠g爜 +CThostFtdcOptionInstrTradeCostField["InstrumentID"] = "string" +#鎶曟満濂椾繚鏍囧織 +CThostFtdcOptionInstrTradeCostField["HedgeFlag"] = "string" +#鏈熸潈鍚堢害淇濊瘉閲戜笉鍙橀儴鍒 +CThostFtdcOptionInstrTradeCostField["FixedMargin"] = "float" +#鏈熸潈鍚堢害鏈灏忎繚璇侀噾 +CThostFtdcOptionInstrTradeCostField["MiniMargin"] = "float" +#鏈熸潈鍚堢害鏉冨埄閲 +CThostFtdcOptionInstrTradeCostField["Royalty"] = "float" +#浜ゆ槗鎵鏈熸潈鍚堢害淇濊瘉閲戜笉鍙橀儴鍒 +CThostFtdcOptionInstrTradeCostField["ExchFixedMargin"] = "float" +#浜ゆ槗鎵鏈熸潈鍚堢害鏈灏忎繚璇侀噾 +CThostFtdcOptionInstrTradeCostField["ExchMiniMargin"] = "float" +structDict['CThostFtdcOptionInstrTradeCostField'] = CThostFtdcOptionInstrTradeCostField + + +#鏈熸潈浜ゆ槗鎴愭湰鏌ヨ +CThostFtdcQryOptionInstrTradeCostField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryOptionInstrTradeCostField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcQryOptionInstrTradeCostField["InvestorID"] = "string" +#鍚堢害浠g爜 +CThostFtdcQryOptionInstrTradeCostField["InstrumentID"] = "string" +#鎶曟満濂椾繚鏍囧織 +CThostFtdcQryOptionInstrTradeCostField["HedgeFlag"] = "string" +#鏈熸潈鍚堢害鎶ヤ环 +CThostFtdcQryOptionInstrTradeCostField["InputPrice"] = "float" +#鏍囩殑浠锋牸,濉0鍒欑敤鏄ㄧ粨绠椾环 +CThostFtdcQryOptionInstrTradeCostField["UnderlyingPrice"] = "float" +structDict['CThostFtdcQryOptionInstrTradeCostField'] = CThostFtdcQryOptionInstrTradeCostField + + +#鏈熸潈鎵嬬画璐圭巼鏌ヨ +CThostFtdcQryOptionInstrCommRateField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryOptionInstrCommRateField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcQryOptionInstrCommRateField["InvestorID"] = "string" +#鍚堢害浠g爜 +CThostFtdcQryOptionInstrCommRateField["InstrumentID"] = "string" +structDict['CThostFtdcQryOptionInstrCommRateField'] = CThostFtdcQryOptionInstrCommRateField + + +#鑲℃寚鐜拌揣鎸囨暟 +CThostFtdcIndexPriceField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcIndexPriceField["BrokerID"] = "string" +#鍚堢害浠g爜 +CThostFtdcIndexPriceField["InstrumentID"] = "string" +#鎸囨暟鐜拌揣鏀剁洏浠 +CThostFtdcIndexPriceField["ClosePrice"] = "float" +structDict['CThostFtdcIndexPriceField'] = CThostFtdcIndexPriceField + + +#杈撳叆鐨勬墽琛屽鍛 +CThostFtdcInputExecOrderField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcInputExecOrderField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcInputExecOrderField["InvestorID"] = "string" +#鍚堢害浠g爜 +CThostFtdcInputExecOrderField["InstrumentID"] = "string" +#鎵ц瀹e憡寮曠敤 +CThostFtdcInputExecOrderField["ExecOrderRef"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcInputExecOrderField["UserID"] = "string" +#鏁伴噺 +CThostFtdcInputExecOrderField["Volume"] = "int" +#璇锋眰缂栧彿 +CThostFtdcInputExecOrderField["RequestID"] = "int" +#涓氬姟鍗曞厓 +CThostFtdcInputExecOrderField["BusinessUnit"] = "string" +#寮骞虫爣蹇 +CThostFtdcInputExecOrderField["OffsetFlag"] = "string" +#鎶曟満濂椾繚鏍囧織 +CThostFtdcInputExecOrderField["HedgeFlag"] = "string" +#鎵ц绫诲瀷 +CThostFtdcInputExecOrderField["ActionType"] = "string" +#淇濈暀澶村鐢宠鐨勬寔浠撴柟鍚 +CThostFtdcInputExecOrderField["PosiDirection"] = "string" +#鏈熸潈琛屾潈鍚庢槸鍚︿繚鐣欐湡璐уご瀵哥殑鏍囪 +CThostFtdcInputExecOrderField["ReservePositionFlag"] = "string" +#鏈熸潈琛屾潈鍚庣敓鎴愮殑澶村鏄惁鑷姩骞充粨 +CThostFtdcInputExecOrderField["CloseFlag"] = "string" +structDict['CThostFtdcInputExecOrderField'] = CThostFtdcInputExecOrderField + + +#杈撳叆鎵ц瀹e憡鎿嶄綔 +CThostFtdcInputExecOrderActionField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcInputExecOrderActionField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcInputExecOrderActionField["InvestorID"] = "string" +#鎵ц瀹e憡鎿嶄綔寮曠敤 +CThostFtdcInputExecOrderActionField["ExecOrderActionRef"] = "int" +#鎵ц瀹e憡寮曠敤 +CThostFtdcInputExecOrderActionField["ExecOrderRef"] = "string" +#璇锋眰缂栧彿 +CThostFtdcInputExecOrderActionField["RequestID"] = "int" +#鍓嶇疆缂栧彿 +CThostFtdcInputExecOrderActionField["FrontID"] = "int" +#浼氳瘽缂栧彿 +CThostFtdcInputExecOrderActionField["SessionID"] = "int" +#浜ゆ槗鎵浠g爜 +CThostFtdcInputExecOrderActionField["ExchangeID"] = "string" +#鎵ц瀹e憡鎿嶄綔缂栧彿 +CThostFtdcInputExecOrderActionField["ExecOrderSysID"] = "string" +#鎿嶄綔鏍囧織 +CThostFtdcInputExecOrderActionField["ActionFlag"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcInputExecOrderActionField["UserID"] = "string" +#鍚堢害浠g爜 +CThostFtdcInputExecOrderActionField["InstrumentID"] = "string" +structDict['CThostFtdcInputExecOrderActionField'] = CThostFtdcInputExecOrderActionField + + +#鎵ц瀹e憡 +CThostFtdcExecOrderField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcExecOrderField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcExecOrderField["InvestorID"] = "string" +#鍚堢害浠g爜 +CThostFtdcExecOrderField["InstrumentID"] = "string" +#鎵ц瀹e憡寮曠敤 +CThostFtdcExecOrderField["ExecOrderRef"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcExecOrderField["UserID"] = "string" +#鏁伴噺 +CThostFtdcExecOrderField["Volume"] = "int" +#璇锋眰缂栧彿 +CThostFtdcExecOrderField["RequestID"] = "int" +#涓氬姟鍗曞厓 +CThostFtdcExecOrderField["BusinessUnit"] = "string" +#寮骞虫爣蹇 +CThostFtdcExecOrderField["OffsetFlag"] = "string" +#鎶曟満濂椾繚鏍囧織 +CThostFtdcExecOrderField["HedgeFlag"] = "string" +#鎵ц绫诲瀷 +CThostFtdcExecOrderField["ActionType"] = "string" +#淇濈暀澶村鐢宠鐨勬寔浠撴柟鍚 +CThostFtdcExecOrderField["PosiDirection"] = "string" +#鏈熸潈琛屾潈鍚庢槸鍚︿繚鐣欐湡璐уご瀵哥殑鏍囪 +CThostFtdcExecOrderField["ReservePositionFlag"] = "string" +#鏈熸潈琛屾潈鍚庣敓鎴愮殑澶村鏄惁鑷姩骞充粨 +CThostFtdcExecOrderField["CloseFlag"] = "string" +#鏈湴鎵ц瀹e憡缂栧彿 +CThostFtdcExecOrderField["ExecOrderLocalID"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcExecOrderField["ExchangeID"] = "string" +#浼氬憳浠g爜 +CThostFtdcExecOrderField["ParticipantID"] = "string" +#瀹㈡埛浠g爜 +CThostFtdcExecOrderField["ClientID"] = "string" +#鍚堢害鍦ㄤ氦鏄撴墍鐨勪唬鐮 +CThostFtdcExecOrderField["ExchangeInstID"] = "string" +#浜ゆ槗鎵浜ゆ槗鍛樹唬鐮 +CThostFtdcExecOrderField["TraderID"] = "string" +#瀹夎缂栧彿 +CThostFtdcExecOrderField["InstallID"] = "int" +#鎵ц瀹e憡鎻愪氦鐘舵 +CThostFtdcExecOrderField["OrderSubmitStatus"] = "string" +#鎶ュ崟鎻愮ず搴忓彿 +CThostFtdcExecOrderField["NotifySequence"] = "int" +#浜ゆ槗鏃 +CThostFtdcExecOrderField["TradingDay"] = "string" +#缁撶畻缂栧彿 +CThostFtdcExecOrderField["SettlementID"] = "int" +#鎵ц瀹e憡缂栧彿 +CThostFtdcExecOrderField["ExecOrderSysID"] = "string" +#鎶ュ崟鏃ユ湡 +CThostFtdcExecOrderField["InsertDate"] = "string" +#鎻掑叆鏃堕棿 +CThostFtdcExecOrderField["InsertTime"] = "string" +#鎾ら攢鏃堕棿 +CThostFtdcExecOrderField["CancelTime"] = "string" +#鎵ц缁撴灉 +CThostFtdcExecOrderField["ExecResult"] = "string" +#缁撶畻浼氬憳缂栧彿 +CThostFtdcExecOrderField["ClearingPartID"] = "string" +#搴忓彿 +CThostFtdcExecOrderField["SequenceNo"] = "int" +#鍓嶇疆缂栧彿 +CThostFtdcExecOrderField["FrontID"] = "int" +#浼氳瘽缂栧彿 +CThostFtdcExecOrderField["SessionID"] = "int" +#鐢ㄦ埛绔骇鍝佷俊鎭 +CThostFtdcExecOrderField["UserProductInfo"] = "string" +#鐘舵佷俊鎭 +CThostFtdcExecOrderField["StatusMsg"] = "string" +#鎿嶄綔鐢ㄦ埛浠g爜 +CThostFtdcExecOrderField["ActiveUserID"] = "string" +#缁忕邯鍏徃鎶ュ崟缂栧彿 +CThostFtdcExecOrderField["BrokerExecOrderSeq"] = "int" +structDict['CThostFtdcExecOrderField'] = CThostFtdcExecOrderField + + +#鎵ц瀹e憡鎿嶄綔 +CThostFtdcExecOrderActionField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcExecOrderActionField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcExecOrderActionField["InvestorID"] = "string" +#鎵ц瀹e憡鎿嶄綔寮曠敤 +CThostFtdcExecOrderActionField["ExecOrderActionRef"] = "int" +#鎵ц瀹e憡寮曠敤 +CThostFtdcExecOrderActionField["ExecOrderRef"] = "string" +#璇锋眰缂栧彿 +CThostFtdcExecOrderActionField["RequestID"] = "int" +#鍓嶇疆缂栧彿 +CThostFtdcExecOrderActionField["FrontID"] = "int" +#浼氳瘽缂栧彿 +CThostFtdcExecOrderActionField["SessionID"] = "int" +#浜ゆ槗鎵浠g爜 +CThostFtdcExecOrderActionField["ExchangeID"] = "string" +#鎵ц瀹e憡鎿嶄綔缂栧彿 +CThostFtdcExecOrderActionField["ExecOrderSysID"] = "string" +#鎿嶄綔鏍囧織 +CThostFtdcExecOrderActionField["ActionFlag"] = "string" +#鎿嶄綔鏃ユ湡 +CThostFtdcExecOrderActionField["ActionDate"] = "string" +#鎿嶄綔鏃堕棿 +CThostFtdcExecOrderActionField["ActionTime"] = "string" +#浜ゆ槗鎵浜ゆ槗鍛樹唬鐮 +CThostFtdcExecOrderActionField["TraderID"] = "string" +#瀹夎缂栧彿 +CThostFtdcExecOrderActionField["InstallID"] = "int" +#鏈湴鎵ц瀹e憡缂栧彿 +CThostFtdcExecOrderActionField["ExecOrderLocalID"] = "string" +#鎿嶄綔鏈湴缂栧彿 +CThostFtdcExecOrderActionField["ActionLocalID"] = "string" +#浼氬憳浠g爜 +CThostFtdcExecOrderActionField["ParticipantID"] = "string" +#瀹㈡埛浠g爜 +CThostFtdcExecOrderActionField["ClientID"] = "string" +#涓氬姟鍗曞厓 +CThostFtdcExecOrderActionField["BusinessUnit"] = "string" +#鎶ュ崟鎿嶄綔鐘舵 +CThostFtdcExecOrderActionField["OrderActionStatus"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcExecOrderActionField["UserID"] = "string" +#鎵ц绫诲瀷 +CThostFtdcExecOrderActionField["ActionType"] = "string" +#鐘舵佷俊鎭 +CThostFtdcExecOrderActionField["StatusMsg"] = "string" +#鍚堢害浠g爜 +CThostFtdcExecOrderActionField["InstrumentID"] = "string" +structDict['CThostFtdcExecOrderActionField'] = CThostFtdcExecOrderActionField + + +#鎵ц瀹e憡鏌ヨ +CThostFtdcQryExecOrderField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryExecOrderField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcQryExecOrderField["InvestorID"] = "string" +#鍚堢害浠g爜 +CThostFtdcQryExecOrderField["InstrumentID"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcQryExecOrderField["ExchangeID"] = "string" +#鎵ц瀹e憡缂栧彿 +CThostFtdcQryExecOrderField["ExecOrderSysID"] = "string" +#寮濮嬫椂闂 +CThostFtdcQryExecOrderField["InsertTimeStart"] = "string" +#缁撴潫鏃堕棿 +CThostFtdcQryExecOrderField["InsertTimeEnd"] = "string" +structDict['CThostFtdcQryExecOrderField'] = CThostFtdcQryExecOrderField + + +#浜ゆ槗鎵鎵ц瀹e憡淇℃伅 +CThostFtdcExchangeExecOrderField = {} +#鏁伴噺 +CThostFtdcExchangeExecOrderField["Volume"] = "int" +#璇锋眰缂栧彿 +CThostFtdcExchangeExecOrderField["RequestID"] = "int" +#涓氬姟鍗曞厓 +CThostFtdcExchangeExecOrderField["BusinessUnit"] = "string" +#寮骞虫爣蹇 +CThostFtdcExchangeExecOrderField["OffsetFlag"] = "string" +#鎶曟満濂椾繚鏍囧織 +CThostFtdcExchangeExecOrderField["HedgeFlag"] = "string" +#鎵ц绫诲瀷 +CThostFtdcExchangeExecOrderField["ActionType"] = "string" +#淇濈暀澶村鐢宠鐨勬寔浠撴柟鍚 +CThostFtdcExchangeExecOrderField["PosiDirection"] = "string" +#鏈熸潈琛屾潈鍚庢槸鍚︿繚鐣欐湡璐уご瀵哥殑鏍囪 +CThostFtdcExchangeExecOrderField["ReservePositionFlag"] = "string" +#鏈熸潈琛屾潈鍚庣敓鎴愮殑澶村鏄惁鑷姩骞充粨 +CThostFtdcExchangeExecOrderField["CloseFlag"] = "string" +#鏈湴鎵ц瀹e憡缂栧彿 +CThostFtdcExchangeExecOrderField["ExecOrderLocalID"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcExchangeExecOrderField["ExchangeID"] = "string" +#浼氬憳浠g爜 +CThostFtdcExchangeExecOrderField["ParticipantID"] = "string" +#瀹㈡埛浠g爜 +CThostFtdcExchangeExecOrderField["ClientID"] = "string" +#鍚堢害鍦ㄤ氦鏄撴墍鐨勪唬鐮 +CThostFtdcExchangeExecOrderField["ExchangeInstID"] = "string" +#浜ゆ槗鎵浜ゆ槗鍛樹唬鐮 +CThostFtdcExchangeExecOrderField["TraderID"] = "string" +#瀹夎缂栧彿 +CThostFtdcExchangeExecOrderField["InstallID"] = "int" +#鎵ц瀹e憡鎻愪氦鐘舵 +CThostFtdcExchangeExecOrderField["OrderSubmitStatus"] = "string" +#鎶ュ崟鎻愮ず搴忓彿 +CThostFtdcExchangeExecOrderField["NotifySequence"] = "int" +#浜ゆ槗鏃 +CThostFtdcExchangeExecOrderField["TradingDay"] = "string" +#缁撶畻缂栧彿 +CThostFtdcExchangeExecOrderField["SettlementID"] = "int" +#鎵ц瀹e憡缂栧彿 +CThostFtdcExchangeExecOrderField["ExecOrderSysID"] = "string" +#鎶ュ崟鏃ユ湡 +CThostFtdcExchangeExecOrderField["InsertDate"] = "string" +#鎻掑叆鏃堕棿 +CThostFtdcExchangeExecOrderField["InsertTime"] = "string" +#鎾ら攢鏃堕棿 +CThostFtdcExchangeExecOrderField["CancelTime"] = "string" +#鎵ц缁撴灉 +CThostFtdcExchangeExecOrderField["ExecResult"] = "string" +#缁撶畻浼氬憳缂栧彿 +CThostFtdcExchangeExecOrderField["ClearingPartID"] = "string" +#搴忓彿 +CThostFtdcExchangeExecOrderField["SequenceNo"] = "int" +structDict['CThostFtdcExchangeExecOrderField'] = CThostFtdcExchangeExecOrderField + + +#浜ゆ槗鎵鎵ц瀹e憡鏌ヨ +CThostFtdcQryExchangeExecOrderField = {} +#浼氬憳浠g爜 +CThostFtdcQryExchangeExecOrderField["ParticipantID"] = "string" +#瀹㈡埛浠g爜 +CThostFtdcQryExchangeExecOrderField["ClientID"] = "string" +#鍚堢害鍦ㄤ氦鏄撴墍鐨勪唬鐮 +CThostFtdcQryExchangeExecOrderField["ExchangeInstID"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcQryExchangeExecOrderField["ExchangeID"] = "string" +#浜ゆ槗鎵浜ゆ槗鍛樹唬鐮 +CThostFtdcQryExchangeExecOrderField["TraderID"] = "string" +structDict['CThostFtdcQryExchangeExecOrderField'] = CThostFtdcQryExchangeExecOrderField + + +#鎵ц瀹e憡鎿嶄綔鏌ヨ +CThostFtdcQryExecOrderActionField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryExecOrderActionField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcQryExecOrderActionField["InvestorID"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcQryExecOrderActionField["ExchangeID"] = "string" +structDict['CThostFtdcQryExecOrderActionField'] = CThostFtdcQryExecOrderActionField + + +#浜ゆ槗鎵鎵ц瀹e憡鎿嶄綔 +CThostFtdcExchangeExecOrderActionField = {} +#浜ゆ槗鎵浠g爜 +CThostFtdcExchangeExecOrderActionField["ExchangeID"] = "string" +#鎵ц瀹e憡鎿嶄綔缂栧彿 +CThostFtdcExchangeExecOrderActionField["ExecOrderSysID"] = "string" +#鎿嶄綔鏍囧織 +CThostFtdcExchangeExecOrderActionField["ActionFlag"] = "string" +#鎿嶄綔鏃ユ湡 +CThostFtdcExchangeExecOrderActionField["ActionDate"] = "string" +#鎿嶄綔鏃堕棿 +CThostFtdcExchangeExecOrderActionField["ActionTime"] = "string" +#浜ゆ槗鎵浜ゆ槗鍛樹唬鐮 +CThostFtdcExchangeExecOrderActionField["TraderID"] = "string" +#瀹夎缂栧彿 +CThostFtdcExchangeExecOrderActionField["InstallID"] = "int" +#鏈湴鎵ц瀹e憡缂栧彿 +CThostFtdcExchangeExecOrderActionField["ExecOrderLocalID"] = "string" +#鎿嶄綔鏈湴缂栧彿 +CThostFtdcExchangeExecOrderActionField["ActionLocalID"] = "string" +#浼氬憳浠g爜 +CThostFtdcExchangeExecOrderActionField["ParticipantID"] = "string" +#瀹㈡埛浠g爜 +CThostFtdcExchangeExecOrderActionField["ClientID"] = "string" +#涓氬姟鍗曞厓 +CThostFtdcExchangeExecOrderActionField["BusinessUnit"] = "string" +#鎶ュ崟鎿嶄綔鐘舵 +CThostFtdcExchangeExecOrderActionField["OrderActionStatus"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcExchangeExecOrderActionField["UserID"] = "string" +#鎵ц绫诲瀷 +CThostFtdcExchangeExecOrderActionField["ActionType"] = "string" +structDict['CThostFtdcExchangeExecOrderActionField'] = CThostFtdcExchangeExecOrderActionField + + +#浜ゆ槗鎵鎵ц瀹e憡鎿嶄綔鏌ヨ +CThostFtdcQryExchangeExecOrderActionField = {} +#浼氬憳浠g爜 +CThostFtdcQryExchangeExecOrderActionField["ParticipantID"] = "string" +#瀹㈡埛浠g爜 +CThostFtdcQryExchangeExecOrderActionField["ClientID"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcQryExchangeExecOrderActionField["ExchangeID"] = "string" +#浜ゆ槗鎵浜ゆ槗鍛樹唬鐮 +CThostFtdcQryExchangeExecOrderActionField["TraderID"] = "string" +structDict['CThostFtdcQryExchangeExecOrderActionField'] = CThostFtdcQryExchangeExecOrderActionField + + +#閿欒鎵ц瀹e憡 +CThostFtdcErrExecOrderField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcErrExecOrderField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcErrExecOrderField["InvestorID"] = "string" +#鍚堢害浠g爜 +CThostFtdcErrExecOrderField["InstrumentID"] = "string" +#鎵ц瀹e憡寮曠敤 +CThostFtdcErrExecOrderField["ExecOrderRef"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcErrExecOrderField["UserID"] = "string" +#鏁伴噺 +CThostFtdcErrExecOrderField["Volume"] = "int" +#璇锋眰缂栧彿 +CThostFtdcErrExecOrderField["RequestID"] = "int" +#涓氬姟鍗曞厓 +CThostFtdcErrExecOrderField["BusinessUnit"] = "string" +#寮骞虫爣蹇 +CThostFtdcErrExecOrderField["OffsetFlag"] = "string" +#鎶曟満濂椾繚鏍囧織 +CThostFtdcErrExecOrderField["HedgeFlag"] = "string" +#鎵ц绫诲瀷 +CThostFtdcErrExecOrderField["ActionType"] = "string" +#淇濈暀澶村鐢宠鐨勬寔浠撴柟鍚 +CThostFtdcErrExecOrderField["PosiDirection"] = "string" +#鏈熸潈琛屾潈鍚庢槸鍚︿繚鐣欐湡璐уご瀵哥殑鏍囪 +CThostFtdcErrExecOrderField["ReservePositionFlag"] = "string" +#鏈熸潈琛屾潈鍚庣敓鎴愮殑澶村鏄惁鑷姩骞充粨 +CThostFtdcErrExecOrderField["CloseFlag"] = "string" +#閿欒浠g爜 +CThostFtdcErrExecOrderField["ErrorID"] = "int" +#閿欒淇℃伅 +CThostFtdcErrExecOrderField["ErrorMsg"] = "string" +structDict['CThostFtdcErrExecOrderField'] = CThostFtdcErrExecOrderField + + +#鏌ヨ閿欒鎵ц瀹e憡 +CThostFtdcQryErrExecOrderField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryErrExecOrderField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcQryErrExecOrderField["InvestorID"] = "string" +structDict['CThostFtdcQryErrExecOrderField'] = CThostFtdcQryErrExecOrderField + + +#閿欒鎵ц瀹e憡鎿嶄綔 +CThostFtdcErrExecOrderActionField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcErrExecOrderActionField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcErrExecOrderActionField["InvestorID"] = "string" +#鎵ц瀹e憡鎿嶄綔寮曠敤 +CThostFtdcErrExecOrderActionField["ExecOrderActionRef"] = "int" +#鎵ц瀹e憡寮曠敤 +CThostFtdcErrExecOrderActionField["ExecOrderRef"] = "string" +#璇锋眰缂栧彿 +CThostFtdcErrExecOrderActionField["RequestID"] = "int" +#鍓嶇疆缂栧彿 +CThostFtdcErrExecOrderActionField["FrontID"] = "int" +#浼氳瘽缂栧彿 +CThostFtdcErrExecOrderActionField["SessionID"] = "int" +#浜ゆ槗鎵浠g爜 +CThostFtdcErrExecOrderActionField["ExchangeID"] = "string" +#鎵ц瀹e憡鎿嶄綔缂栧彿 +CThostFtdcErrExecOrderActionField["ExecOrderSysID"] = "string" +#鎿嶄綔鏍囧織 +CThostFtdcErrExecOrderActionField["ActionFlag"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcErrExecOrderActionField["UserID"] = "string" +#鍚堢害浠g爜 +CThostFtdcErrExecOrderActionField["InstrumentID"] = "string" +#閿欒浠g爜 +CThostFtdcErrExecOrderActionField["ErrorID"] = "int" +#閿欒淇℃伅 +CThostFtdcErrExecOrderActionField["ErrorMsg"] = "string" +structDict['CThostFtdcErrExecOrderActionField'] = CThostFtdcErrExecOrderActionField + + +#鏌ヨ閿欒鎵ц瀹e憡鎿嶄綔 +CThostFtdcQryErrExecOrderActionField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryErrExecOrderActionField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcQryErrExecOrderActionField["InvestorID"] = "string" +structDict['CThostFtdcQryErrExecOrderActionField'] = CThostFtdcQryErrExecOrderActionField + + +#鎶曡祫鑰呮湡鏉冨悎绾︿氦鏄撴潈闄 +CThostFtdcOptionInstrTradingRightField = {} +#鍚堢害浠g爜 +CThostFtdcOptionInstrTradingRightField["InstrumentID"] = "string" +#鎶曡祫鑰呰寖鍥 +CThostFtdcOptionInstrTradingRightField["InvestorRange"] = "string" +#缁忕邯鍏徃浠g爜 +CThostFtdcOptionInstrTradingRightField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcOptionInstrTradingRightField["InvestorID"] = "string" +#涔板崠鏂瑰悜 +CThostFtdcOptionInstrTradingRightField["Direction"] = "string" +#浜ゆ槗鏉冮檺 +CThostFtdcOptionInstrTradingRightField["TradingRight"] = "string" +structDict['CThostFtdcOptionInstrTradingRightField'] = CThostFtdcOptionInstrTradingRightField + + +#鏌ヨ鏈熸潈鍚堢害浜ゆ槗鏉冮檺 +CThostFtdcQryOptionInstrTradingRightField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryOptionInstrTradingRightField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcQryOptionInstrTradingRightField["InvestorID"] = "string" +#鍚堢害浠g爜 +CThostFtdcQryOptionInstrTradingRightField["InstrumentID"] = "string" +#涔板崠鏂瑰悜 +CThostFtdcQryOptionInstrTradingRightField["Direction"] = "string" +structDict['CThostFtdcQryOptionInstrTradingRightField'] = CThostFtdcQryOptionInstrTradingRightField + + +#杈撳叆鐨勮浠 +CThostFtdcInputForQuoteField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcInputForQuoteField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcInputForQuoteField["InvestorID"] = "string" +#鍚堢害浠g爜 +CThostFtdcInputForQuoteField["InstrumentID"] = "string" +#璇环寮曠敤 +CThostFtdcInputForQuoteField["ForQuoteRef"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcInputForQuoteField["UserID"] = "string" +structDict['CThostFtdcInputForQuoteField'] = CThostFtdcInputForQuoteField + + +#璇环 +CThostFtdcForQuoteField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcForQuoteField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcForQuoteField["InvestorID"] = "string" +#鍚堢害浠g爜 +CThostFtdcForQuoteField["InstrumentID"] = "string" +#璇环寮曠敤 +CThostFtdcForQuoteField["ForQuoteRef"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcForQuoteField["UserID"] = "string" +#鏈湴璇环缂栧彿 +CThostFtdcForQuoteField["ForQuoteLocalID"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcForQuoteField["ExchangeID"] = "string" +#浼氬憳浠g爜 +CThostFtdcForQuoteField["ParticipantID"] = "string" +#瀹㈡埛浠g爜 +CThostFtdcForQuoteField["ClientID"] = "string" +#鍚堢害鍦ㄤ氦鏄撴墍鐨勪唬鐮 +CThostFtdcForQuoteField["ExchangeInstID"] = "string" +#浜ゆ槗鎵浜ゆ槗鍛樹唬鐮 +CThostFtdcForQuoteField["TraderID"] = "string" +#瀹夎缂栧彿 +CThostFtdcForQuoteField["InstallID"] = "int" +#鎶ュ崟鏃ユ湡 +CThostFtdcForQuoteField["InsertDate"] = "string" +#鎻掑叆鏃堕棿 +CThostFtdcForQuoteField["InsertTime"] = "string" +#璇环鐘舵 +CThostFtdcForQuoteField["ForQuoteStatus"] = "string" +#鍓嶇疆缂栧彿 +CThostFtdcForQuoteField["FrontID"] = "int" +#浼氳瘽缂栧彿 +CThostFtdcForQuoteField["SessionID"] = "int" +#鐘舵佷俊鎭 +CThostFtdcForQuoteField["StatusMsg"] = "string" +#鎿嶄綔鐢ㄦ埛浠g爜 +CThostFtdcForQuoteField["ActiveUserID"] = "string" +#缁忕邯鍏徃璇环缂栧彿 +CThostFtdcForQuoteField["BrokerForQutoSeq"] = "int" +structDict['CThostFtdcForQuoteField'] = CThostFtdcForQuoteField + + +#璇环鏌ヨ +CThostFtdcQryForQuoteField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryForQuoteField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcQryForQuoteField["InvestorID"] = "string" +#鍚堢害浠g爜 +CThostFtdcQryForQuoteField["InstrumentID"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcQryForQuoteField["ExchangeID"] = "string" +#寮濮嬫椂闂 +CThostFtdcQryForQuoteField["InsertTimeStart"] = "string" +#缁撴潫鏃堕棿 +CThostFtdcQryForQuoteField["InsertTimeEnd"] = "string" +structDict['CThostFtdcQryForQuoteField'] = CThostFtdcQryForQuoteField + + +#浜ゆ槗鎵璇环淇℃伅 +CThostFtdcExchangeForQuoteField = {} +#鏈湴璇环缂栧彿 +CThostFtdcExchangeForQuoteField["ForQuoteLocalID"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcExchangeForQuoteField["ExchangeID"] = "string" +#浼氬憳浠g爜 +CThostFtdcExchangeForQuoteField["ParticipantID"] = "string" +#瀹㈡埛浠g爜 +CThostFtdcExchangeForQuoteField["ClientID"] = "string" +#鍚堢害鍦ㄤ氦鏄撴墍鐨勪唬鐮 +CThostFtdcExchangeForQuoteField["ExchangeInstID"] = "string" +#浜ゆ槗鎵浜ゆ槗鍛樹唬鐮 +CThostFtdcExchangeForQuoteField["TraderID"] = "string" +#瀹夎缂栧彿 +CThostFtdcExchangeForQuoteField["InstallID"] = "int" +#鎶ュ崟鏃ユ湡 +CThostFtdcExchangeForQuoteField["InsertDate"] = "string" +#鎻掑叆鏃堕棿 +CThostFtdcExchangeForQuoteField["InsertTime"] = "string" +#璇环鐘舵 +CThostFtdcExchangeForQuoteField["ForQuoteStatus"] = "string" +structDict['CThostFtdcExchangeForQuoteField'] = CThostFtdcExchangeForQuoteField + + +#浜ゆ槗鎵璇环鏌ヨ +CThostFtdcQryExchangeForQuoteField = {} +#浼氬憳浠g爜 +CThostFtdcQryExchangeForQuoteField["ParticipantID"] = "string" +#瀹㈡埛浠g爜 +CThostFtdcQryExchangeForQuoteField["ClientID"] = "string" +#鍚堢害鍦ㄤ氦鏄撴墍鐨勪唬鐮 +CThostFtdcQryExchangeForQuoteField["ExchangeInstID"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcQryExchangeForQuoteField["ExchangeID"] = "string" +#浜ゆ槗鎵浜ゆ槗鍛樹唬鐮 +CThostFtdcQryExchangeForQuoteField["TraderID"] = "string" +structDict['CThostFtdcQryExchangeForQuoteField'] = CThostFtdcQryExchangeForQuoteField + + +#杈撳叆鐨勬姤浠 +CThostFtdcInputQuoteField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcInputQuoteField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcInputQuoteField["InvestorID"] = "string" +#鍚堢害浠g爜 +CThostFtdcInputQuoteField["InstrumentID"] = "string" +#鎶ヤ环寮曠敤 +CThostFtdcInputQuoteField["QuoteRef"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcInputQuoteField["UserID"] = "string" +#鍗栦环鏍 +CThostFtdcInputQuoteField["AskPrice"] = "float" +#涔颁环鏍 +CThostFtdcInputQuoteField["BidPrice"] = "float" +#鍗栨暟閲 +CThostFtdcInputQuoteField["AskVolume"] = "int" +#涔版暟閲 +CThostFtdcInputQuoteField["BidVolume"] = "int" +#璇锋眰缂栧彿 +CThostFtdcInputQuoteField["RequestID"] = "int" +#涓氬姟鍗曞厓 +CThostFtdcInputQuoteField["BusinessUnit"] = "string" +#鍗栧紑骞虫爣蹇 +CThostFtdcInputQuoteField["AskOffsetFlag"] = "string" +#涔板紑骞虫爣蹇 +CThostFtdcInputQuoteField["BidOffsetFlag"] = "string" +#鍗栨姇鏈哄淇濇爣蹇 +CThostFtdcInputQuoteField["AskHedgeFlag"] = "string" +#涔版姇鏈哄淇濇爣蹇 +CThostFtdcInputQuoteField["BidHedgeFlag"] = "string" +structDict['CThostFtdcInputQuoteField'] = CThostFtdcInputQuoteField + + +#杈撳叆鎶ヤ环鎿嶄綔 +CThostFtdcInputQuoteActionField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcInputQuoteActionField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcInputQuoteActionField["InvestorID"] = "string" +#鎶ヤ环鎿嶄綔寮曠敤 +CThostFtdcInputQuoteActionField["QuoteActionRef"] = "int" +#鎶ヤ环寮曠敤 +CThostFtdcInputQuoteActionField["QuoteRef"] = "string" +#璇锋眰缂栧彿 +CThostFtdcInputQuoteActionField["RequestID"] = "int" +#鍓嶇疆缂栧彿 +CThostFtdcInputQuoteActionField["FrontID"] = "int" +#浼氳瘽缂栧彿 +CThostFtdcInputQuoteActionField["SessionID"] = "int" +#浜ゆ槗鎵浠g爜 +CThostFtdcInputQuoteActionField["ExchangeID"] = "string" +#鎶ヤ环鎿嶄綔缂栧彿 +CThostFtdcInputQuoteActionField["QuoteSysID"] = "string" +#鎿嶄綔鏍囧織 +CThostFtdcInputQuoteActionField["ActionFlag"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcInputQuoteActionField["UserID"] = "string" +#鍚堢害浠g爜 +CThostFtdcInputQuoteActionField["InstrumentID"] = "string" +structDict['CThostFtdcInputQuoteActionField'] = CThostFtdcInputQuoteActionField + + +#鎶ヤ环 +CThostFtdcQuoteField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQuoteField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcQuoteField["InvestorID"] = "string" +#鍚堢害浠g爜 +CThostFtdcQuoteField["InstrumentID"] = "string" +#鎶ヤ环寮曠敤 +CThostFtdcQuoteField["QuoteRef"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcQuoteField["UserID"] = "string" +#鍗栦环鏍 +CThostFtdcQuoteField["AskPrice"] = "float" +#涔颁环鏍 +CThostFtdcQuoteField["BidPrice"] = "float" +#鍗栨暟閲 +CThostFtdcQuoteField["AskVolume"] = "int" +#涔版暟閲 +CThostFtdcQuoteField["BidVolume"] = "int" +#璇锋眰缂栧彿 +CThostFtdcQuoteField["RequestID"] = "int" +#涓氬姟鍗曞厓 +CThostFtdcQuoteField["BusinessUnit"] = "string" +#鍗栧紑骞虫爣蹇 +CThostFtdcQuoteField["AskOffsetFlag"] = "string" +#涔板紑骞虫爣蹇 +CThostFtdcQuoteField["BidOffsetFlag"] = "string" +#鍗栨姇鏈哄淇濇爣蹇 +CThostFtdcQuoteField["AskHedgeFlag"] = "string" +#涔版姇鏈哄淇濇爣蹇 +CThostFtdcQuoteField["BidHedgeFlag"] = "string" +#鏈湴鎶ヤ环缂栧彿 +CThostFtdcQuoteField["QuoteLocalID"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcQuoteField["ExchangeID"] = "string" +#浼氬憳浠g爜 +CThostFtdcQuoteField["ParticipantID"] = "string" +#瀹㈡埛浠g爜 +CThostFtdcQuoteField["ClientID"] = "string" +#鍚堢害鍦ㄤ氦鏄撴墍鐨勪唬鐮 +CThostFtdcQuoteField["ExchangeInstID"] = "string" +#浜ゆ槗鎵浜ゆ槗鍛樹唬鐮 +CThostFtdcQuoteField["TraderID"] = "string" +#瀹夎缂栧彿 +CThostFtdcQuoteField["InstallID"] = "int" +#鎶ヤ环鎻愮ず搴忓彿 +CThostFtdcQuoteField["NotifySequence"] = "int" +#鎶ヤ环鎻愪氦鐘舵 +CThostFtdcQuoteField["OrderSubmitStatus"] = "string" +#浜ゆ槗鏃 +CThostFtdcQuoteField["TradingDay"] = "string" +#缁撶畻缂栧彿 +CThostFtdcQuoteField["SettlementID"] = "int" +#鎶ヤ环缂栧彿 +CThostFtdcQuoteField["QuoteSysID"] = "string" +#鎶ュ崟鏃ユ湡 +CThostFtdcQuoteField["InsertDate"] = "string" +#鎻掑叆鏃堕棿 +CThostFtdcQuoteField["InsertTime"] = "string" +#鎾ら攢鏃堕棿 +CThostFtdcQuoteField["CancelTime"] = "string" +#鎶ヤ环鐘舵 +CThostFtdcQuoteField["QuoteStatus"] = "string" +#缁撶畻浼氬憳缂栧彿 +CThostFtdcQuoteField["ClearingPartID"] = "string" +#搴忓彿 +CThostFtdcQuoteField["SequenceNo"] = "int" +#鍗栨柟鎶ュ崟缂栧彿 +CThostFtdcQuoteField["AskOrderSysID"] = "string" +#涔版柟鎶ュ崟缂栧彿 +CThostFtdcQuoteField["BidOrderSysID"] = "string" +#鍓嶇疆缂栧彿 +CThostFtdcQuoteField["FrontID"] = "int" +#浼氳瘽缂栧彿 +CThostFtdcQuoteField["SessionID"] = "int" +#鐢ㄦ埛绔骇鍝佷俊鎭 +CThostFtdcQuoteField["UserProductInfo"] = "string" +#鐘舵佷俊鎭 +CThostFtdcQuoteField["StatusMsg"] = "string" +#鎿嶄綔鐢ㄦ埛浠g爜 +CThostFtdcQuoteField["ActiveUserID"] = "string" +#缁忕邯鍏徃鎶ヤ环缂栧彿 +CThostFtdcQuoteField["BrokerQuoteSeq"] = "int" +structDict['CThostFtdcQuoteField'] = CThostFtdcQuoteField + + +#鎶ヤ环鎿嶄綔 +CThostFtdcQuoteActionField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQuoteActionField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcQuoteActionField["InvestorID"] = "string" +#鎶ヤ环鎿嶄綔寮曠敤 +CThostFtdcQuoteActionField["QuoteActionRef"] = "int" +#鎶ヤ环寮曠敤 +CThostFtdcQuoteActionField["QuoteRef"] = "string" +#璇锋眰缂栧彿 +CThostFtdcQuoteActionField["RequestID"] = "int" +#鍓嶇疆缂栧彿 +CThostFtdcQuoteActionField["FrontID"] = "int" +#浼氳瘽缂栧彿 +CThostFtdcQuoteActionField["SessionID"] = "int" +#浜ゆ槗鎵浠g爜 +CThostFtdcQuoteActionField["ExchangeID"] = "string" +#鎶ヤ环鎿嶄綔缂栧彿 +CThostFtdcQuoteActionField["QuoteSysID"] = "string" +#鎿嶄綔鏍囧織 +CThostFtdcQuoteActionField["ActionFlag"] = "string" +#鎿嶄綔鏃ユ湡 +CThostFtdcQuoteActionField["ActionDate"] = "string" +#鎿嶄綔鏃堕棿 +CThostFtdcQuoteActionField["ActionTime"] = "string" +#浜ゆ槗鎵浜ゆ槗鍛樹唬鐮 +CThostFtdcQuoteActionField["TraderID"] = "string" +#瀹夎缂栧彿 +CThostFtdcQuoteActionField["InstallID"] = "int" +#鏈湴鎶ヤ环缂栧彿 +CThostFtdcQuoteActionField["QuoteLocalID"] = "string" +#鎿嶄綔鏈湴缂栧彿 +CThostFtdcQuoteActionField["ActionLocalID"] = "string" +#浼氬憳浠g爜 +CThostFtdcQuoteActionField["ParticipantID"] = "string" +#瀹㈡埛浠g爜 +CThostFtdcQuoteActionField["ClientID"] = "string" +#涓氬姟鍗曞厓 +CThostFtdcQuoteActionField["BusinessUnit"] = "string" +#鎶ュ崟鎿嶄綔鐘舵 +CThostFtdcQuoteActionField["OrderActionStatus"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcQuoteActionField["UserID"] = "string" +#鐘舵佷俊鎭 +CThostFtdcQuoteActionField["StatusMsg"] = "string" +#鍚堢害浠g爜 +CThostFtdcQuoteActionField["InstrumentID"] = "string" +structDict['CThostFtdcQuoteActionField'] = CThostFtdcQuoteActionField + + +#鎶ヤ环鏌ヨ +CThostFtdcQryQuoteField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryQuoteField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcQryQuoteField["InvestorID"] = "string" +#鍚堢害浠g爜 +CThostFtdcQryQuoteField["InstrumentID"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcQryQuoteField["ExchangeID"] = "string" +#鎶ヤ环缂栧彿 +CThostFtdcQryQuoteField["QuoteSysID"] = "string" +#寮濮嬫椂闂 +CThostFtdcQryQuoteField["InsertTimeStart"] = "string" +#缁撴潫鏃堕棿 +CThostFtdcQryQuoteField["InsertTimeEnd"] = "string" +structDict['CThostFtdcQryQuoteField'] = CThostFtdcQryQuoteField + + +#浜ゆ槗鎵鎶ヤ环淇℃伅 +CThostFtdcExchangeQuoteField = {} +#鍗栦环鏍 +CThostFtdcExchangeQuoteField["AskPrice"] = "float" +#涔颁环鏍 +CThostFtdcExchangeQuoteField["BidPrice"] = "float" +#鍗栨暟閲 +CThostFtdcExchangeQuoteField["AskVolume"] = "int" +#涔版暟閲 +CThostFtdcExchangeQuoteField["BidVolume"] = "int" +#璇锋眰缂栧彿 +CThostFtdcExchangeQuoteField["RequestID"] = "int" +#涓氬姟鍗曞厓 +CThostFtdcExchangeQuoteField["BusinessUnit"] = "string" +#鍗栧紑骞虫爣蹇 +CThostFtdcExchangeQuoteField["AskOffsetFlag"] = "string" +#涔板紑骞虫爣蹇 +CThostFtdcExchangeQuoteField["BidOffsetFlag"] = "string" +#鍗栨姇鏈哄淇濇爣蹇 +CThostFtdcExchangeQuoteField["AskHedgeFlag"] = "string" +#涔版姇鏈哄淇濇爣蹇 +CThostFtdcExchangeQuoteField["BidHedgeFlag"] = "string" +#鏈湴鎶ヤ环缂栧彿 +CThostFtdcExchangeQuoteField["QuoteLocalID"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcExchangeQuoteField["ExchangeID"] = "string" +#浼氬憳浠g爜 +CThostFtdcExchangeQuoteField["ParticipantID"] = "string" +#瀹㈡埛浠g爜 +CThostFtdcExchangeQuoteField["ClientID"] = "string" +#鍚堢害鍦ㄤ氦鏄撴墍鐨勪唬鐮 +CThostFtdcExchangeQuoteField["ExchangeInstID"] = "string" +#浜ゆ槗鎵浜ゆ槗鍛樹唬鐮 +CThostFtdcExchangeQuoteField["TraderID"] = "string" +#瀹夎缂栧彿 +CThostFtdcExchangeQuoteField["InstallID"] = "int" +#鎶ヤ环鎻愮ず搴忓彿 +CThostFtdcExchangeQuoteField["NotifySequence"] = "int" +#鎶ヤ环鎻愪氦鐘舵 +CThostFtdcExchangeQuoteField["OrderSubmitStatus"] = "string" +#浜ゆ槗鏃 +CThostFtdcExchangeQuoteField["TradingDay"] = "string" +#缁撶畻缂栧彿 +CThostFtdcExchangeQuoteField["SettlementID"] = "int" +#鎶ヤ环缂栧彿 +CThostFtdcExchangeQuoteField["QuoteSysID"] = "string" +#鎶ュ崟鏃ユ湡 +CThostFtdcExchangeQuoteField["InsertDate"] = "string" +#鎻掑叆鏃堕棿 +CThostFtdcExchangeQuoteField["InsertTime"] = "string" +#鎾ら攢鏃堕棿 +CThostFtdcExchangeQuoteField["CancelTime"] = "string" +#鎶ヤ环鐘舵 +CThostFtdcExchangeQuoteField["QuoteStatus"] = "string" +#缁撶畻浼氬憳缂栧彿 +CThostFtdcExchangeQuoteField["ClearingPartID"] = "string" +#搴忓彿 +CThostFtdcExchangeQuoteField["SequenceNo"] = "int" +#鍗栨柟鎶ュ崟缂栧彿 +CThostFtdcExchangeQuoteField["AskOrderSysID"] = "string" +#涔版柟鎶ュ崟缂栧彿 +CThostFtdcExchangeQuoteField["BidOrderSysID"] = "string" +structDict['CThostFtdcExchangeQuoteField'] = CThostFtdcExchangeQuoteField + + +#浜ゆ槗鎵鎶ヤ环鏌ヨ +CThostFtdcQryExchangeQuoteField = {} +#浼氬憳浠g爜 +CThostFtdcQryExchangeQuoteField["ParticipantID"] = "string" +#瀹㈡埛浠g爜 +CThostFtdcQryExchangeQuoteField["ClientID"] = "string" +#鍚堢害鍦ㄤ氦鏄撴墍鐨勪唬鐮 +CThostFtdcQryExchangeQuoteField["ExchangeInstID"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcQryExchangeQuoteField["ExchangeID"] = "string" +#浜ゆ槗鎵浜ゆ槗鍛樹唬鐮 +CThostFtdcQryExchangeQuoteField["TraderID"] = "string" +structDict['CThostFtdcQryExchangeQuoteField'] = CThostFtdcQryExchangeQuoteField + + +#鎶ヤ环鎿嶄綔鏌ヨ +CThostFtdcQryQuoteActionField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryQuoteActionField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcQryQuoteActionField["InvestorID"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcQryQuoteActionField["ExchangeID"] = "string" +structDict['CThostFtdcQryQuoteActionField'] = CThostFtdcQryQuoteActionField + + +#浜ゆ槗鎵鎶ヤ环鎿嶄綔 +CThostFtdcExchangeQuoteActionField = {} +#浜ゆ槗鎵浠g爜 +CThostFtdcExchangeQuoteActionField["ExchangeID"] = "string" +#鎶ヤ环鎿嶄綔缂栧彿 +CThostFtdcExchangeQuoteActionField["QuoteSysID"] = "string" +#鎿嶄綔鏍囧織 +CThostFtdcExchangeQuoteActionField["ActionFlag"] = "string" +#鎿嶄綔鏃ユ湡 +CThostFtdcExchangeQuoteActionField["ActionDate"] = "string" +#鎿嶄綔鏃堕棿 +CThostFtdcExchangeQuoteActionField["ActionTime"] = "string" +#浜ゆ槗鎵浜ゆ槗鍛樹唬鐮 +CThostFtdcExchangeQuoteActionField["TraderID"] = "string" +#瀹夎缂栧彿 +CThostFtdcExchangeQuoteActionField["InstallID"] = "int" +#鏈湴鎶ヤ环缂栧彿 +CThostFtdcExchangeQuoteActionField["QuoteLocalID"] = "string" +#鎿嶄綔鏈湴缂栧彿 +CThostFtdcExchangeQuoteActionField["ActionLocalID"] = "string" +#浼氬憳浠g爜 +CThostFtdcExchangeQuoteActionField["ParticipantID"] = "string" +#瀹㈡埛浠g爜 +CThostFtdcExchangeQuoteActionField["ClientID"] = "string" +#涓氬姟鍗曞厓 +CThostFtdcExchangeQuoteActionField["BusinessUnit"] = "string" +#鎶ュ崟鎿嶄綔鐘舵 +CThostFtdcExchangeQuoteActionField["OrderActionStatus"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcExchangeQuoteActionField["UserID"] = "string" +structDict['CThostFtdcExchangeQuoteActionField'] = CThostFtdcExchangeQuoteActionField + + +#浜ゆ槗鎵鎶ヤ环鎿嶄綔鏌ヨ +CThostFtdcQryExchangeQuoteActionField = {} +#浼氬憳浠g爜 +CThostFtdcQryExchangeQuoteActionField["ParticipantID"] = "string" +#瀹㈡埛浠g爜 +CThostFtdcQryExchangeQuoteActionField["ClientID"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcQryExchangeQuoteActionField["ExchangeID"] = "string" +#浜ゆ槗鎵浜ゆ槗鍛樹唬鐮 +CThostFtdcQryExchangeQuoteActionField["TraderID"] = "string" +structDict['CThostFtdcQryExchangeQuoteActionField'] = CThostFtdcQryExchangeQuoteActionField + + +#鏈熸潈鍚堢害delta鍊 +CThostFtdcOptionInstrDeltaField = {} +#鍚堢害浠g爜 +CThostFtdcOptionInstrDeltaField["InstrumentID"] = "string" +#鎶曡祫鑰呰寖鍥 +CThostFtdcOptionInstrDeltaField["InvestorRange"] = "string" +#缁忕邯鍏徃浠g爜 +CThostFtdcOptionInstrDeltaField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcOptionInstrDeltaField["InvestorID"] = "string" +#Delta鍊 +CThostFtdcOptionInstrDeltaField["Delta"] = "float" +structDict['CThostFtdcOptionInstrDeltaField'] = CThostFtdcOptionInstrDeltaField + + +#鍙戠粰鍋氬競鍟嗙殑璇环璇锋眰 +CThostFtdcForQuoteRspField = {} +#浜ゆ槗鏃 +CThostFtdcForQuoteRspField["TradingDay"] = "string" +#鍚堢害浠g爜 +CThostFtdcForQuoteRspField["InstrumentID"] = "string" +#璇环缂栧彿 +CThostFtdcForQuoteRspField["ForQuoteSysID"] = "string" +#璇环鏃堕棿 +CThostFtdcForQuoteRspField["ForQuoteTime"] = "string" +#涓氬姟鏃ユ湡 +CThostFtdcForQuoteRspField["ActionDay"] = "string" +structDict['CThostFtdcForQuoteRspField'] = CThostFtdcForQuoteRspField + + +#褰撳墠鏈熸潈鍚堢害鎵ц鍋忕Щ鍊肩殑璇︾粏鍐呭 +CThostFtdcStrikeOffsetField = {} +#鍚堢害浠g爜 +CThostFtdcStrikeOffsetField["InstrumentID"] = "string" +#鎶曡祫鑰呰寖鍥 +CThostFtdcStrikeOffsetField["InvestorRange"] = "string" +#缁忕邯鍏徃浠g爜 +CThostFtdcStrikeOffsetField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcStrikeOffsetField["InvestorID"] = "string" +#鎵ц鍋忕Щ鍊 +CThostFtdcStrikeOffsetField["Offset"] = "float" +structDict['CThostFtdcStrikeOffsetField'] = CThostFtdcStrikeOffsetField + + +#鏈熸潈鎵ц鍋忕Щ鍊兼煡璇 +CThostFtdcQryStrikeOffsetField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryStrikeOffsetField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcQryStrikeOffsetField["InvestorID"] = "string" +#鍚堢害浠g爜 +CThostFtdcQryStrikeOffsetField["InstrumentID"] = "string" +structDict['CThostFtdcQryStrikeOffsetField'] = CThostFtdcQryStrikeOffsetField + + +#甯傚満琛屾儏 +CThostFtdcMarketDataField = {} +#浜ゆ槗鏃 +CThostFtdcMarketDataField["TradingDay"] = "string" +#鍚堢害浠g爜 +CThostFtdcMarketDataField["InstrumentID"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcMarketDataField["ExchangeID"] = "string" +#鍚堢害鍦ㄤ氦鏄撴墍鐨勪唬鐮 +CThostFtdcMarketDataField["ExchangeInstID"] = "string" +#鏈鏂颁环 +CThostFtdcMarketDataField["LastPrice"] = "float" +#涓婃缁撶畻浠 +CThostFtdcMarketDataField["PreSettlementPrice"] = "float" +#鏄ㄦ敹鐩 +CThostFtdcMarketDataField["PreClosePrice"] = "float" +#鏄ㄦ寔浠撻噺 +CThostFtdcMarketDataField["PreOpenInterest"] = "float" +#浠婂紑鐩 +CThostFtdcMarketDataField["OpenPrice"] = "float" +#鏈楂樹环 +CThostFtdcMarketDataField["HighestPrice"] = "float" +#鏈浣庝环 +CThostFtdcMarketDataField["LowestPrice"] = "float" +#鏁伴噺 +CThostFtdcMarketDataField["Volume"] = "int" +#鎴愪氦閲戦 +CThostFtdcMarketDataField["Turnover"] = "float" +#鎸佷粨閲 +CThostFtdcMarketDataField["OpenInterest"] = "float" +#浠婃敹鐩 +CThostFtdcMarketDataField["ClosePrice"] = "float" +#鏈缁撶畻浠 +CThostFtdcMarketDataField["SettlementPrice"] = "float" +#娑ㄥ仠鏉夸环 +CThostFtdcMarketDataField["UpperLimitPrice"] = "float" +#璺屽仠鏉夸环 +CThostFtdcMarketDataField["LowerLimitPrice"] = "float" +#鏄ㄨ櫄瀹炲害 +CThostFtdcMarketDataField["PreDelta"] = "float" +#浠婅櫄瀹炲害 +CThostFtdcMarketDataField["CurrDelta"] = "float" +#鏈鍚庝慨鏀规椂闂 +CThostFtdcMarketDataField["UpdateTime"] = "string" +#鏈鍚庝慨鏀规绉 +CThostFtdcMarketDataField["UpdateMillisec"] = "int" +#涓氬姟鏃ユ湡 +CThostFtdcMarketDataField["ActionDay"] = "string" +structDict['CThostFtdcMarketDataField'] = CThostFtdcMarketDataField + + +#琛屾儏鍩虹灞炴 +CThostFtdcMarketDataBaseField = {} +#浜ゆ槗鏃 +CThostFtdcMarketDataBaseField["TradingDay"] = "string" +#涓婃缁撶畻浠 +CThostFtdcMarketDataBaseField["PreSettlementPrice"] = "float" +#鏄ㄦ敹鐩 +CThostFtdcMarketDataBaseField["PreClosePrice"] = "float" +#鏄ㄦ寔浠撻噺 +CThostFtdcMarketDataBaseField["PreOpenInterest"] = "float" +#鏄ㄨ櫄瀹炲害 +CThostFtdcMarketDataBaseField["PreDelta"] = "float" +structDict['CThostFtdcMarketDataBaseField'] = CThostFtdcMarketDataBaseField + + +#琛屾儏闈欐佸睘鎬 +CThostFtdcMarketDataStaticField = {} +#浠婂紑鐩 +CThostFtdcMarketDataStaticField["OpenPrice"] = "float" +#鏈楂樹环 +CThostFtdcMarketDataStaticField["HighestPrice"] = "float" +#鏈浣庝环 +CThostFtdcMarketDataStaticField["LowestPrice"] = "float" +#浠婃敹鐩 +CThostFtdcMarketDataStaticField["ClosePrice"] = "float" +#娑ㄥ仠鏉夸环 +CThostFtdcMarketDataStaticField["UpperLimitPrice"] = "float" +#璺屽仠鏉夸环 +CThostFtdcMarketDataStaticField["LowerLimitPrice"] = "float" +#鏈缁撶畻浠 +CThostFtdcMarketDataStaticField["SettlementPrice"] = "float" +#浠婅櫄瀹炲害 +CThostFtdcMarketDataStaticField["CurrDelta"] = "float" +structDict['CThostFtdcMarketDataStaticField'] = CThostFtdcMarketDataStaticField + + +#琛屾儏鏈鏂版垚浜ゅ睘鎬 +CThostFtdcMarketDataLastMatchField = {} +#鏈鏂颁环 +CThostFtdcMarketDataLastMatchField["LastPrice"] = "float" +#鏁伴噺 +CThostFtdcMarketDataLastMatchField["Volume"] = "int" +#鎴愪氦閲戦 +CThostFtdcMarketDataLastMatchField["Turnover"] = "float" +#鎸佷粨閲 +CThostFtdcMarketDataLastMatchField["OpenInterest"] = "float" +structDict['CThostFtdcMarketDataLastMatchField'] = CThostFtdcMarketDataLastMatchField + + +#琛屾儏鏈浼樹环灞炴 +CThostFtdcMarketDataBestPriceField = {} +#鐢充拱浠蜂竴 +CThostFtdcMarketDataBestPriceField["BidPrice1"] = "float" +#鐢充拱閲忎竴 +CThostFtdcMarketDataBestPriceField["BidVolume1"] = "int" +#鐢冲崠浠蜂竴 +CThostFtdcMarketDataBestPriceField["AskPrice1"] = "float" +#鐢冲崠閲忎竴 +CThostFtdcMarketDataBestPriceField["AskVolume1"] = "int" +structDict['CThostFtdcMarketDataBestPriceField'] = CThostFtdcMarketDataBestPriceField + + +#琛屾儏鐢充拱浜屻佷笁灞炴 +CThostFtdcMarketDataBid23Field = {} +#鐢充拱浠蜂簩 +CThostFtdcMarketDataBid23Field["BidPrice2"] = "float" +#鐢充拱閲忎簩 +CThostFtdcMarketDataBid23Field["BidVolume2"] = "int" +#鐢充拱浠蜂笁 +CThostFtdcMarketDataBid23Field["BidPrice3"] = "float" +#鐢充拱閲忎笁 +CThostFtdcMarketDataBid23Field["BidVolume3"] = "int" +structDict['CThostFtdcMarketDataBid23Field'] = CThostFtdcMarketDataBid23Field + + +#琛屾儏鐢冲崠浜屻佷笁灞炴 +CThostFtdcMarketDataAsk23Field = {} +#鐢冲崠浠蜂簩 +CThostFtdcMarketDataAsk23Field["AskPrice2"] = "float" +#鐢冲崠閲忎簩 +CThostFtdcMarketDataAsk23Field["AskVolume2"] = "int" +#鐢冲崠浠蜂笁 +CThostFtdcMarketDataAsk23Field["AskPrice3"] = "float" +#鐢冲崠閲忎笁 +CThostFtdcMarketDataAsk23Field["AskVolume3"] = "int" +structDict['CThostFtdcMarketDataAsk23Field'] = CThostFtdcMarketDataAsk23Field + + +#琛屾儏鐢充拱鍥涖佷簲灞炴 +CThostFtdcMarketDataBid45Field = {} +#鐢充拱浠峰洓 +CThostFtdcMarketDataBid45Field["BidPrice4"] = "float" +#鐢充拱閲忓洓 +CThostFtdcMarketDataBid45Field["BidVolume4"] = "int" +#鐢充拱浠蜂簲 +CThostFtdcMarketDataBid45Field["BidPrice5"] = "float" +#鐢充拱閲忎簲 +CThostFtdcMarketDataBid45Field["BidVolume5"] = "int" +structDict['CThostFtdcMarketDataBid45Field'] = CThostFtdcMarketDataBid45Field + + +#琛屾儏鐢冲崠鍥涖佷簲灞炴 +CThostFtdcMarketDataAsk45Field = {} +#鐢冲崠浠峰洓 +CThostFtdcMarketDataAsk45Field["AskPrice4"] = "float" +#鐢冲崠閲忓洓 +CThostFtdcMarketDataAsk45Field["AskVolume4"] = "int" +#鐢冲崠浠蜂簲 +CThostFtdcMarketDataAsk45Field["AskPrice5"] = "float" +#鐢冲崠閲忎簲 +CThostFtdcMarketDataAsk45Field["AskVolume5"] = "int" +structDict['CThostFtdcMarketDataAsk45Field'] = CThostFtdcMarketDataAsk45Field + + +#琛屾儏鏇存柊鏃堕棿灞炴 +CThostFtdcMarketDataUpdateTimeField = {} +#鍚堢害浠g爜 +CThostFtdcMarketDataUpdateTimeField["InstrumentID"] = "string" +#鏈鍚庝慨鏀规椂闂 +CThostFtdcMarketDataUpdateTimeField["UpdateTime"] = "string" +#鏈鍚庝慨鏀规绉 +CThostFtdcMarketDataUpdateTimeField["UpdateMillisec"] = "int" +#涓氬姟鏃ユ湡 +CThostFtdcMarketDataUpdateTimeField["ActionDay"] = "string" +structDict['CThostFtdcMarketDataUpdateTimeField'] = CThostFtdcMarketDataUpdateTimeField + + +#琛屾儏浜ゆ槗鎵浠g爜灞炴 +CThostFtdcMarketDataExchangeField = {} +#浜ゆ槗鎵浠g爜 +CThostFtdcMarketDataExchangeField["ExchangeID"] = "string" +structDict['CThostFtdcMarketDataExchangeField'] = CThostFtdcMarketDataExchangeField + + +#鎸囧畾鐨勫悎绾 +CThostFtdcSpecificInstrumentField = {} +#鍚堢害浠g爜 +CThostFtdcSpecificInstrumentField["InstrumentID"] = "string" +structDict['CThostFtdcSpecificInstrumentField'] = CThostFtdcSpecificInstrumentField + + +#鍚堢害鐘舵 +CThostFtdcInstrumentStatusField = {} +#浜ゆ槗鎵浠g爜 +CThostFtdcInstrumentStatusField["ExchangeID"] = "string" +#鍚堢害鍦ㄤ氦鏄撴墍鐨勪唬鐮 +CThostFtdcInstrumentStatusField["ExchangeInstID"] = "string" +#缁撶畻缁勪唬鐮 +CThostFtdcInstrumentStatusField["SettlementGroupID"] = "string" +#鍚堢害浠g爜 +CThostFtdcInstrumentStatusField["InstrumentID"] = "string" +#鍚堢害浜ゆ槗鐘舵 +CThostFtdcInstrumentStatusField["InstrumentStatus"] = "string" +#浜ゆ槗闃舵缂栧彿 +CThostFtdcInstrumentStatusField["TradingSegmentSN"] = "int" +#杩涘叆鏈姸鎬佹椂闂 +CThostFtdcInstrumentStatusField["EnterTime"] = "string" +#杩涘叆鏈姸鎬佸師鍥 +CThostFtdcInstrumentStatusField["EnterReason"] = "string" +structDict['CThostFtdcInstrumentStatusField'] = CThostFtdcInstrumentStatusField + + +#鏌ヨ鍚堢害鐘舵 +CThostFtdcQryInstrumentStatusField = {} +#浜ゆ槗鎵浠g爜 +CThostFtdcQryInstrumentStatusField["ExchangeID"] = "string" +#鍚堢害鍦ㄤ氦鏄撴墍鐨勪唬鐮 +CThostFtdcQryInstrumentStatusField["ExchangeInstID"] = "string" +structDict['CThostFtdcQryInstrumentStatusField'] = CThostFtdcQryInstrumentStatusField + + +#鎶曡祫鑰呰处鎴 +CThostFtdcInvestorAccountField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcInvestorAccountField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcInvestorAccountField["InvestorID"] = "string" +#鎶曡祫鑰呭笎鍙 +CThostFtdcInvestorAccountField["AccountID"] = "string" +#甯佺浠g爜 +CThostFtdcInvestorAccountField["CurrencyID"] = "string" +structDict['CThostFtdcInvestorAccountField'] = CThostFtdcInvestorAccountField + + +#娴姩鐩堜簭绠楁硶 +CThostFtdcPositionProfitAlgorithmField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcPositionProfitAlgorithmField["BrokerID"] = "string" +#鎶曡祫鑰呭笎鍙 +CThostFtdcPositionProfitAlgorithmField["AccountID"] = "string" +#鐩堜簭绠楁硶 +CThostFtdcPositionProfitAlgorithmField["Algorithm"] = "string" +#澶囨敞 +CThostFtdcPositionProfitAlgorithmField["Memo"] = "string" +#甯佺浠g爜 +CThostFtdcPositionProfitAlgorithmField["CurrencyID"] = "string" +structDict['CThostFtdcPositionProfitAlgorithmField'] = CThostFtdcPositionProfitAlgorithmField + + +#浼氬憳璧勯噾鎶樻墸 +CThostFtdcDiscountField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcDiscountField["BrokerID"] = "string" +#鎶曡祫鑰呰寖鍥 +CThostFtdcDiscountField["InvestorRange"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcDiscountField["InvestorID"] = "string" +#璧勯噾鎶樻墸姣斾緥 +CThostFtdcDiscountField["Discount"] = "float" +structDict['CThostFtdcDiscountField'] = CThostFtdcDiscountField + + +#鏌ヨ杞笎閾惰 +CThostFtdcQryTransferBankField = {} +#閾惰浠g爜 +CThostFtdcQryTransferBankField["BankID"] = "string" +#閾惰鍒嗕腑蹇冧唬鐮 +CThostFtdcQryTransferBankField["BankBrchID"] = "string" +structDict['CThostFtdcQryTransferBankField'] = CThostFtdcQryTransferBankField + + +#杞笎閾惰 +CThostFtdcTransferBankField = {} +#閾惰浠g爜 +CThostFtdcTransferBankField["BankID"] = "string" +#閾惰鍒嗕腑蹇冧唬鐮 +CThostFtdcTransferBankField["BankBrchID"] = "string" +#閾惰鍚嶇О +CThostFtdcTransferBankField["BankName"] = "string" +#鏄惁娲昏穬 +CThostFtdcTransferBankField["IsActive"] = "int" +structDict['CThostFtdcTransferBankField'] = CThostFtdcTransferBankField + + +#鏌ヨ鎶曡祫鑰呮寔浠撴槑缁 +CThostFtdcQryInvestorPositionDetailField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryInvestorPositionDetailField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcQryInvestorPositionDetailField["InvestorID"] = "string" +#鍚堢害浠g爜 +CThostFtdcQryInvestorPositionDetailField["InstrumentID"] = "string" +structDict['CThostFtdcQryInvestorPositionDetailField'] = CThostFtdcQryInvestorPositionDetailField + + +#鎶曡祫鑰呮寔浠撴槑缁 +CThostFtdcInvestorPositionDetailField = {} +#鍚堢害浠g爜 +CThostFtdcInvestorPositionDetailField["InstrumentID"] = "string" +#缁忕邯鍏徃浠g爜 +CThostFtdcInvestorPositionDetailField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcInvestorPositionDetailField["InvestorID"] = "string" +#鎶曟満濂椾繚鏍囧織 +CThostFtdcInvestorPositionDetailField["HedgeFlag"] = "string" +#涔板崠 +CThostFtdcInvestorPositionDetailField["Direction"] = "string" +#寮浠撴棩鏈 +CThostFtdcInvestorPositionDetailField["OpenDate"] = "string" +#鎴愪氦缂栧彿 +CThostFtdcInvestorPositionDetailField["TradeID"] = "string" +#鏁伴噺 +CThostFtdcInvestorPositionDetailField["Volume"] = "int" +#寮浠撲环 +CThostFtdcInvestorPositionDetailField["OpenPrice"] = "float" +#浜ゆ槗鏃 +CThostFtdcInvestorPositionDetailField["TradingDay"] = "string" +#缁撶畻缂栧彿 +CThostFtdcInvestorPositionDetailField["SettlementID"] = "int" +#鎴愪氦绫诲瀷 +CThostFtdcInvestorPositionDetailField["TradeType"] = "string" +#缁勫悎鍚堢害浠g爜 +CThostFtdcInvestorPositionDetailField["CombInstrumentID"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcInvestorPositionDetailField["ExchangeID"] = "string" +#閫愭棩鐩競骞充粨鐩堜簭 +CThostFtdcInvestorPositionDetailField["CloseProfitByDate"] = "float" +#閫愮瑪瀵瑰啿骞充粨鐩堜簭 +CThostFtdcInvestorPositionDetailField["CloseProfitByTrade"] = "float" +#閫愭棩鐩競鎸佷粨鐩堜簭 +CThostFtdcInvestorPositionDetailField["PositionProfitByDate"] = "float" +#閫愮瑪瀵瑰啿鎸佷粨鐩堜簭 +CThostFtdcInvestorPositionDetailField["PositionProfitByTrade"] = "float" +#鎶曡祫鑰呬繚璇侀噾 +CThostFtdcInvestorPositionDetailField["Margin"] = "float" +#浜ゆ槗鎵淇濊瘉閲 +CThostFtdcInvestorPositionDetailField["ExchMargin"] = "float" +#淇濊瘉閲戠巼 +CThostFtdcInvestorPositionDetailField["MarginRateByMoney"] = "float" +#淇濊瘉閲戠巼(鎸夋墜鏁) +CThostFtdcInvestorPositionDetailField["MarginRateByVolume"] = "float" +#鏄ㄧ粨绠椾环 +CThostFtdcInvestorPositionDetailField["LastSettlementPrice"] = "float" +#缁撶畻浠 +CThostFtdcInvestorPositionDetailField["SettlementPrice"] = "float" +#骞充粨閲 +CThostFtdcInvestorPositionDetailField["CloseVolume"] = "int" +#骞充粨閲戦 +CThostFtdcInvestorPositionDetailField["CloseAmount"] = "float" +structDict['CThostFtdcInvestorPositionDetailField'] = CThostFtdcInvestorPositionDetailField + + +#璧勯噾璐︽埛鍙d护鍩 +CThostFtdcTradingAccountPasswordField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcTradingAccountPasswordField["BrokerID"] = "string" +#鎶曡祫鑰呭笎鍙 +CThostFtdcTradingAccountPasswordField["AccountID"] = "string" +#瀵嗙爜 +CThostFtdcTradingAccountPasswordField["Password"] = "string" +#甯佺浠g爜 +CThostFtdcTradingAccountPasswordField["CurrencyID"] = "string" +structDict['CThostFtdcTradingAccountPasswordField'] = CThostFtdcTradingAccountPasswordField + + +#浜ゆ槗鎵琛屾儏鎶ョ洏鏈 +CThostFtdcMDTraderOfferField = {} +#浜ゆ槗鎵浠g爜 +CThostFtdcMDTraderOfferField["ExchangeID"] = "string" +#浜ゆ槗鎵浜ゆ槗鍛樹唬鐮 +CThostFtdcMDTraderOfferField["TraderID"] = "string" +#浼氬憳浠g爜 +CThostFtdcMDTraderOfferField["ParticipantID"] = "string" +#瀵嗙爜 +CThostFtdcMDTraderOfferField["Password"] = "string" +#瀹夎缂栧彿 +CThostFtdcMDTraderOfferField["InstallID"] = "int" +#鏈湴鎶ュ崟缂栧彿 +CThostFtdcMDTraderOfferField["OrderLocalID"] = "string" +#浜ゆ槗鎵浜ゆ槗鍛樿繛鎺ョ姸鎬 +CThostFtdcMDTraderOfferField["TraderConnectStatus"] = "string" +#鍙戝嚭杩炴帴璇锋眰鐨勬棩鏈 +CThostFtdcMDTraderOfferField["ConnectRequestDate"] = "string" +#鍙戝嚭杩炴帴璇锋眰鐨勬椂闂 +CThostFtdcMDTraderOfferField["ConnectRequestTime"] = "string" +#涓婃鎶ュ憡鏃ユ湡 +CThostFtdcMDTraderOfferField["LastReportDate"] = "string" +#涓婃鎶ュ憡鏃堕棿 +CThostFtdcMDTraderOfferField["LastReportTime"] = "string" +#瀹屾垚杩炴帴鏃ユ湡 +CThostFtdcMDTraderOfferField["ConnectDate"] = "string" +#瀹屾垚杩炴帴鏃堕棿 +CThostFtdcMDTraderOfferField["ConnectTime"] = "string" +#鍚姩鏃ユ湡 +CThostFtdcMDTraderOfferField["StartDate"] = "string" +#鍚姩鏃堕棿 +CThostFtdcMDTraderOfferField["StartTime"] = "string" +#浜ゆ槗鏃 +CThostFtdcMDTraderOfferField["TradingDay"] = "string" +#缁忕邯鍏徃浠g爜 +CThostFtdcMDTraderOfferField["BrokerID"] = "string" +#鏈腑浣嶆渶澶ф垚浜ょ紪鍙 +CThostFtdcMDTraderOfferField["MaxTradeID"] = "string" +#鏈腑浣嶆渶澶ф姤鍗曞鎷 +CThostFtdcMDTraderOfferField["MaxOrderMessageReference"] = "string" +structDict['CThostFtdcMDTraderOfferField'] = CThostFtdcMDTraderOfferField + + +#鏌ヨ琛屾儏鎶ョ洏鏈 +CThostFtdcQryMDTraderOfferField = {} +#浜ゆ槗鎵浠g爜 +CThostFtdcQryMDTraderOfferField["ExchangeID"] = "string" +#浼氬憳浠g爜 +CThostFtdcQryMDTraderOfferField["ParticipantID"] = "string" +#浜ゆ槗鎵浜ゆ槗鍛樹唬鐮 +CThostFtdcQryMDTraderOfferField["TraderID"] = "string" +structDict['CThostFtdcQryMDTraderOfferField'] = CThostFtdcQryMDTraderOfferField + + +#鏌ヨ瀹㈡埛閫氱煡 +CThostFtdcQryNoticeField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryNoticeField["BrokerID"] = "string" +structDict['CThostFtdcQryNoticeField'] = CThostFtdcQryNoticeField + + +#瀹㈡埛閫氱煡 +CThostFtdcNoticeField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcNoticeField["BrokerID"] = "string" +#娑堟伅姝f枃 +CThostFtdcNoticeField["Content"] = "string" +#缁忕邯鍏徃閫氱煡鍐呭搴忓垪鍙 +CThostFtdcNoticeField["SequenceLabel"] = "string" +structDict['CThostFtdcNoticeField'] = CThostFtdcNoticeField + + +#鐢ㄦ埛鏉冮檺 +CThostFtdcUserRightField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcUserRightField["BrokerID"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcUserRightField["UserID"] = "string" +#瀹㈡埛鏉冮檺绫诲瀷 +CThostFtdcUserRightField["UserRightType"] = "string" +#鏄惁绂佹 +CThostFtdcUserRightField["IsForbidden"] = "int" +structDict['CThostFtdcUserRightField'] = CThostFtdcUserRightField + + +#鏌ヨ缁撶畻淇℃伅纭鍩 +CThostFtdcQrySettlementInfoConfirmField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQrySettlementInfoConfirmField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcQrySettlementInfoConfirmField["InvestorID"] = "string" +structDict['CThostFtdcQrySettlementInfoConfirmField'] = CThostFtdcQrySettlementInfoConfirmField + + +#瑁呰浇缁撶畻淇℃伅 +CThostFtdcLoadSettlementInfoField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcLoadSettlementInfoField["BrokerID"] = "string" +structDict['CThostFtdcLoadSettlementInfoField'] = CThostFtdcLoadSettlementInfoField + + +#缁忕邯鍏徃鍙彁璧勯噾绠楁硶琛 +CThostFtdcBrokerWithdrawAlgorithmField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcBrokerWithdrawAlgorithmField["BrokerID"] = "string" +#鍙彁璧勯噾绠楁硶 +CThostFtdcBrokerWithdrawAlgorithmField["WithdrawAlgorithm"] = "string" +#璧勯噾浣跨敤鐜 +CThostFtdcBrokerWithdrawAlgorithmField["UsingRatio"] = "float" +#鍙彁鏄惁鍖呭惈骞充粨鐩堝埄 +CThostFtdcBrokerWithdrawAlgorithmField["IncludeCloseProfit"] = "string" +#鏈棩鏃犱粨涓旀棤鎴愪氦瀹㈡埛鏄惁鍙楀彲鎻愭瘮渚嬮檺鍒 +CThostFtdcBrokerWithdrawAlgorithmField["AllWithoutTrade"] = "string" +#鍙敤鏄惁鍖呭惈骞充粨鐩堝埄 +CThostFtdcBrokerWithdrawAlgorithmField["AvailIncludeCloseProfit"] = "string" +#鏄惁鍚敤鐢ㄦ埛浜嬩欢 +CThostFtdcBrokerWithdrawAlgorithmField["IsBrokerUserEvent"] = "int" +#甯佺浠g爜 +CThostFtdcBrokerWithdrawAlgorithmField["CurrencyID"] = "string" +#璐у竵璐ㄦ娂姣旂巼 +CThostFtdcBrokerWithdrawAlgorithmField["FundMortgageRatio"] = "float" +#鏉冪泭绠楁硶 +CThostFtdcBrokerWithdrawAlgorithmField["BalanceAlgorithm"] = "string" +structDict['CThostFtdcBrokerWithdrawAlgorithmField'] = CThostFtdcBrokerWithdrawAlgorithmField + + +#璧勯噾璐︽埛鍙d护鍙樻洿鍩 +CThostFtdcTradingAccountPasswordUpdateV1Field = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcTradingAccountPasswordUpdateV1Field["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcTradingAccountPasswordUpdateV1Field["InvestorID"] = "string" +#鍘熸潵鐨勫彛浠 +CThostFtdcTradingAccountPasswordUpdateV1Field["OldPassword"] = "string" +#鏂扮殑鍙d护 +CThostFtdcTradingAccountPasswordUpdateV1Field["NewPassword"] = "string" +structDict['CThostFtdcTradingAccountPasswordUpdateV1Field'] = CThostFtdcTradingAccountPasswordUpdateV1Field + + +#璧勯噾璐︽埛鍙d护鍙樻洿鍩 +CThostFtdcTradingAccountPasswordUpdateField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcTradingAccountPasswordUpdateField["BrokerID"] = "string" +#鎶曡祫鑰呭笎鍙 +CThostFtdcTradingAccountPasswordUpdateField["AccountID"] = "string" +#鍘熸潵鐨勫彛浠 +CThostFtdcTradingAccountPasswordUpdateField["OldPassword"] = "string" +#鏂扮殑鍙d护 +CThostFtdcTradingAccountPasswordUpdateField["NewPassword"] = "string" +#甯佺浠g爜 +CThostFtdcTradingAccountPasswordUpdateField["CurrencyID"] = "string" +structDict['CThostFtdcTradingAccountPasswordUpdateField'] = CThostFtdcTradingAccountPasswordUpdateField + + +#鏌ヨ缁勫悎鍚堢害鍒嗚吙 +CThostFtdcQryCombinationLegField = {} +#缁勫悎鍚堢害浠g爜 +CThostFtdcQryCombinationLegField["CombInstrumentID"] = "string" +#鍗曡吙缂栧彿 +CThostFtdcQryCombinationLegField["LegID"] = "int" +#鍗曡吙鍚堢害浠g爜 +CThostFtdcQryCombinationLegField["LegInstrumentID"] = "string" +structDict['CThostFtdcQryCombinationLegField'] = CThostFtdcQryCombinationLegField + + +#鏌ヨ缁勫悎鍚堢害鍒嗚吙 +CThostFtdcQrySyncStatusField = {} +#浜ゆ槗鏃 +CThostFtdcQrySyncStatusField["TradingDay"] = "string" +structDict['CThostFtdcQrySyncStatusField'] = CThostFtdcQrySyncStatusField + + +#缁勫悎浜ゆ槗鍚堢害鐨勫崟鑵 +CThostFtdcCombinationLegField = {} +#缁勫悎鍚堢害浠g爜 +CThostFtdcCombinationLegField["CombInstrumentID"] = "string" +#鍗曡吙缂栧彿 +CThostFtdcCombinationLegField["LegID"] = "int" +#鍗曡吙鍚堢害浠g爜 +CThostFtdcCombinationLegField["LegInstrumentID"] = "string" +#涔板崠鏂瑰悜 +CThostFtdcCombinationLegField["Direction"] = "string" +#鍗曡吙涔樻暟 +CThostFtdcCombinationLegField["LegMultiple"] = "int" +#娲剧敓灞傛暟 +CThostFtdcCombinationLegField["ImplyLevel"] = "int" +structDict['CThostFtdcCombinationLegField'] = CThostFtdcCombinationLegField + + +#鏁版嵁鍚屾鐘舵 +CThostFtdcSyncStatusField = {} +#浜ゆ槗鏃 +CThostFtdcSyncStatusField["TradingDay"] = "string" +#鏁版嵁鍚屾鐘舵 +CThostFtdcSyncStatusField["DataSyncStatus"] = "string" +structDict['CThostFtdcSyncStatusField'] = CThostFtdcSyncStatusField + + +#鏌ヨ鑱旂郴浜 +CThostFtdcQryLinkManField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryLinkManField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcQryLinkManField["InvestorID"] = "string" +structDict['CThostFtdcQryLinkManField'] = CThostFtdcQryLinkManField + + +#鑱旂郴浜 +CThostFtdcLinkManField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcLinkManField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcLinkManField["InvestorID"] = "string" +#鑱旂郴浜虹被鍨 +CThostFtdcLinkManField["PersonType"] = "string" +#璇佷欢绫诲瀷 +CThostFtdcLinkManField["IdentifiedCardType"] = "string" +#璇佷欢鍙风爜 +CThostFtdcLinkManField["IdentifiedCardNo"] = "string" +#鍚嶇О +CThostFtdcLinkManField["PersonName"] = "string" +#鑱旂郴鐢佃瘽 +CThostFtdcLinkManField["Telephone"] = "string" +#閫氳鍦板潃 +CThostFtdcLinkManField["Address"] = "string" +#閭斂缂栫爜 +CThostFtdcLinkManField["ZipCode"] = "string" +#浼樺厛绾 +CThostFtdcLinkManField["Priority"] = "int" +#寮鎴烽偖鏀跨紪鐮 +CThostFtdcLinkManField["UOAZipCode"] = "string" +#鍏ㄧО +CThostFtdcLinkManField["PersonFullName"] = "string" +structDict['CThostFtdcLinkManField'] = CThostFtdcLinkManField + + +#鏌ヨ缁忕邯鍏徃鐢ㄦ埛浜嬩欢 +CThostFtdcQryBrokerUserEventField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryBrokerUserEventField["BrokerID"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcQryBrokerUserEventField["UserID"] = "string" +#鐢ㄦ埛浜嬩欢绫诲瀷 +CThostFtdcQryBrokerUserEventField["UserEventType"] = "string" +structDict['CThostFtdcQryBrokerUserEventField'] = CThostFtdcQryBrokerUserEventField + + +#鏌ヨ缁忕邯鍏徃鐢ㄦ埛浜嬩欢 +CThostFtdcBrokerUserEventField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcBrokerUserEventField["BrokerID"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcBrokerUserEventField["UserID"] = "string" +#鐢ㄦ埛浜嬩欢绫诲瀷 +CThostFtdcBrokerUserEventField["UserEventType"] = "string" +#鐢ㄦ埛浜嬩欢搴忓彿 +CThostFtdcBrokerUserEventField["EventSequenceNo"] = "int" +#浜嬩欢鍙戠敓鏃ユ湡 +CThostFtdcBrokerUserEventField["EventDate"] = "string" +#浜嬩欢鍙戠敓鏃堕棿 +CThostFtdcBrokerUserEventField["EventTime"] = "string" +#鐢ㄦ埛浜嬩欢淇℃伅 +CThostFtdcBrokerUserEventField["UserEventInfo"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcBrokerUserEventField["InvestorID"] = "string" +#鍚堢害浠g爜 +CThostFtdcBrokerUserEventField["InstrumentID"] = "string" +structDict['CThostFtdcBrokerUserEventField'] = CThostFtdcBrokerUserEventField + + +#鏌ヨ绛剧害閾惰璇锋眰 +CThostFtdcQryContractBankField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryContractBankField["BrokerID"] = "string" +#閾惰浠g爜 +CThostFtdcQryContractBankField["BankID"] = "string" +#閾惰鍒嗕腑蹇冧唬鐮 +CThostFtdcQryContractBankField["BankBrchID"] = "string" +structDict['CThostFtdcQryContractBankField'] = CThostFtdcQryContractBankField + + +#鏌ヨ绛剧害閾惰鍝嶅簲 +CThostFtdcContractBankField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcContractBankField["BrokerID"] = "string" +#閾惰浠g爜 +CThostFtdcContractBankField["BankID"] = "string" +#閾惰鍒嗕腑蹇冧唬鐮 +CThostFtdcContractBankField["BankBrchID"] = "string" +#閾惰鍚嶇О +CThostFtdcContractBankField["BankName"] = "string" +structDict['CThostFtdcContractBankField'] = CThostFtdcContractBankField + + +#鎶曡祫鑰呯粍鍚堟寔浠撴槑缁 +CThostFtdcInvestorPositionCombineDetailField = {} +#浜ゆ槗鏃 +CThostFtdcInvestorPositionCombineDetailField["TradingDay"] = "string" +#寮浠撴棩鏈 +CThostFtdcInvestorPositionCombineDetailField["OpenDate"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcInvestorPositionCombineDetailField["ExchangeID"] = "string" +#缁撶畻缂栧彿 +CThostFtdcInvestorPositionCombineDetailField["SettlementID"] = "int" +#缁忕邯鍏徃浠g爜 +CThostFtdcInvestorPositionCombineDetailField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcInvestorPositionCombineDetailField["InvestorID"] = "string" +#缁勫悎缂栧彿 +CThostFtdcInvestorPositionCombineDetailField["ComTradeID"] = "string" +#鎾悎缂栧彿 +CThostFtdcInvestorPositionCombineDetailField["TradeID"] = "string" +#鍚堢害浠g爜 +CThostFtdcInvestorPositionCombineDetailField["InstrumentID"] = "string" +#鎶曟満濂椾繚鏍囧織 +CThostFtdcInvestorPositionCombineDetailField["HedgeFlag"] = "string" +#涔板崠 +CThostFtdcInvestorPositionCombineDetailField["Direction"] = "string" +#鎸佷粨閲 +CThostFtdcInvestorPositionCombineDetailField["TotalAmt"] = "int" +#鎶曡祫鑰呬繚璇侀噾 +CThostFtdcInvestorPositionCombineDetailField["Margin"] = "float" +#浜ゆ槗鎵淇濊瘉閲 +CThostFtdcInvestorPositionCombineDetailField["ExchMargin"] = "float" +#淇濊瘉閲戠巼 +CThostFtdcInvestorPositionCombineDetailField["MarginRateByMoney"] = "float" +#淇濊瘉閲戠巼(鎸夋墜鏁) +CThostFtdcInvestorPositionCombineDetailField["MarginRateByVolume"] = "float" +#鍗曡吙缂栧彿 +CThostFtdcInvestorPositionCombineDetailField["LegID"] = "int" +#鍗曡吙涔樻暟 +CThostFtdcInvestorPositionCombineDetailField["LegMultiple"] = "int" +#缁勫悎鎸佷粨鍚堢害缂栫爜 +CThostFtdcInvestorPositionCombineDetailField["CombInstrumentID"] = "string" +#鎴愪氦缁勫彿 +CThostFtdcInvestorPositionCombineDetailField["TradeGroupID"] = "int" +structDict['CThostFtdcInvestorPositionCombineDetailField'] = CThostFtdcInvestorPositionCombineDetailField + + +#棰勫煁鍗 +CThostFtdcParkedOrderField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcParkedOrderField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcParkedOrderField["InvestorID"] = "string" +#鍚堢害浠g爜 +CThostFtdcParkedOrderField["InstrumentID"] = "string" +#鎶ュ崟寮曠敤 +CThostFtdcParkedOrderField["OrderRef"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcParkedOrderField["UserID"] = "string" +#鎶ュ崟浠锋牸鏉′欢 +CThostFtdcParkedOrderField["OrderPriceType"] = "string" +#涔板崠鏂瑰悜 +CThostFtdcParkedOrderField["Direction"] = "string" +#缁勫悎寮骞虫爣蹇 +CThostFtdcParkedOrderField["CombOffsetFlag"] = "string" +#缁勫悎鎶曟満濂椾繚鏍囧織 +CThostFtdcParkedOrderField["CombHedgeFlag"] = "string" +#浠锋牸 +CThostFtdcParkedOrderField["LimitPrice"] = "float" +#鏁伴噺 +CThostFtdcParkedOrderField["VolumeTotalOriginal"] = "int" +#鏈夋晥鏈熺被鍨 +CThostFtdcParkedOrderField["TimeCondition"] = "string" +#GTD鏃ユ湡 +CThostFtdcParkedOrderField["GTDDate"] = "string" +#鎴愪氦閲忕被鍨 +CThostFtdcParkedOrderField["VolumeCondition"] = "string" +#鏈灏忔垚浜ら噺 +CThostFtdcParkedOrderField["MinVolume"] = "int" +#瑙﹀彂鏉′欢 +CThostFtdcParkedOrderField["ContingentCondition"] = "string" +#姝㈡崯浠 +CThostFtdcParkedOrderField["StopPrice"] = "float" +#寮哄钩鍘熷洜 +CThostFtdcParkedOrderField["ForceCloseReason"] = "string" +#鑷姩鎸傝捣鏍囧織 +CThostFtdcParkedOrderField["IsAutoSuspend"] = "int" +#涓氬姟鍗曞厓 +CThostFtdcParkedOrderField["BusinessUnit"] = "string" +#璇锋眰缂栧彿 +CThostFtdcParkedOrderField["RequestID"] = "int" +#鐢ㄦ埛寮鸿瘎鏍囧織 +CThostFtdcParkedOrderField["UserForceClose"] = "int" +#浜ゆ槗鎵浠g爜 +CThostFtdcParkedOrderField["ExchangeID"] = "string" +#棰勫煁鎶ュ崟缂栧彿 +CThostFtdcParkedOrderField["ParkedOrderID"] = "string" +#鐢ㄦ埛绫诲瀷 +CThostFtdcParkedOrderField["UserType"] = "string" +#棰勫煁鍗曠姸鎬 +CThostFtdcParkedOrderField["Status"] = "string" +#閿欒浠g爜 +CThostFtdcParkedOrderField["ErrorID"] = "int" +#閿欒淇℃伅 +CThostFtdcParkedOrderField["ErrorMsg"] = "string" +#浜掓崲鍗曟爣蹇 +CThostFtdcParkedOrderField["IsSwapOrder"] = "int" +structDict['CThostFtdcParkedOrderField'] = CThostFtdcParkedOrderField + + +#杈撳叆棰勫煁鍗曟搷浣 +CThostFtdcParkedOrderActionField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcParkedOrderActionField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcParkedOrderActionField["InvestorID"] = "string" +#鎶ュ崟鎿嶄綔寮曠敤 +CThostFtdcParkedOrderActionField["OrderActionRef"] = "int" +#鎶ュ崟寮曠敤 +CThostFtdcParkedOrderActionField["OrderRef"] = "string" +#璇锋眰缂栧彿 +CThostFtdcParkedOrderActionField["RequestID"] = "int" +#鍓嶇疆缂栧彿 +CThostFtdcParkedOrderActionField["FrontID"] = "int" +#浼氳瘽缂栧彿 +CThostFtdcParkedOrderActionField["SessionID"] = "int" +#浜ゆ槗鎵浠g爜 +CThostFtdcParkedOrderActionField["ExchangeID"] = "string" +#鎶ュ崟缂栧彿 +CThostFtdcParkedOrderActionField["OrderSysID"] = "string" +#鎿嶄綔鏍囧織 +CThostFtdcParkedOrderActionField["ActionFlag"] = "string" +#浠锋牸 +CThostFtdcParkedOrderActionField["LimitPrice"] = "float" +#鏁伴噺鍙樺寲 +CThostFtdcParkedOrderActionField["VolumeChange"] = "int" +#鐢ㄦ埛浠g爜 +CThostFtdcParkedOrderActionField["UserID"] = "string" +#鍚堢害浠g爜 +CThostFtdcParkedOrderActionField["InstrumentID"] = "string" +#棰勫煁鎾ゅ崟鍗曠紪鍙 +CThostFtdcParkedOrderActionField["ParkedOrderActionID"] = "string" +#鐢ㄦ埛绫诲瀷 +CThostFtdcParkedOrderActionField["UserType"] = "string" +#棰勫煁鎾ゅ崟鐘舵 +CThostFtdcParkedOrderActionField["Status"] = "string" +#閿欒浠g爜 +CThostFtdcParkedOrderActionField["ErrorID"] = "int" +#閿欒淇℃伅 +CThostFtdcParkedOrderActionField["ErrorMsg"] = "string" +structDict['CThostFtdcParkedOrderActionField'] = CThostFtdcParkedOrderActionField + + +#鏌ヨ棰勫煁鍗 +CThostFtdcQryParkedOrderField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryParkedOrderField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcQryParkedOrderField["InvestorID"] = "string" +#鍚堢害浠g爜 +CThostFtdcQryParkedOrderField["InstrumentID"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcQryParkedOrderField["ExchangeID"] = "string" +structDict['CThostFtdcQryParkedOrderField'] = CThostFtdcQryParkedOrderField + + +#鏌ヨ棰勫煁鎾ゅ崟 +CThostFtdcQryParkedOrderActionField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryParkedOrderActionField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcQryParkedOrderActionField["InvestorID"] = "string" +#鍚堢害浠g爜 +CThostFtdcQryParkedOrderActionField["InstrumentID"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcQryParkedOrderActionField["ExchangeID"] = "string" +structDict['CThostFtdcQryParkedOrderActionField'] = CThostFtdcQryParkedOrderActionField + + +#鍒犻櫎棰勫煁鍗 +CThostFtdcRemoveParkedOrderField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcRemoveParkedOrderField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcRemoveParkedOrderField["InvestorID"] = "string" +#棰勫煁鎶ュ崟缂栧彿 +CThostFtdcRemoveParkedOrderField["ParkedOrderID"] = "string" +structDict['CThostFtdcRemoveParkedOrderField'] = CThostFtdcRemoveParkedOrderField + + +#鍒犻櫎棰勫煁鎾ゅ崟 +CThostFtdcRemoveParkedOrderActionField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcRemoveParkedOrderActionField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcRemoveParkedOrderActionField["InvestorID"] = "string" +#棰勫煁鎾ゅ崟缂栧彿 +CThostFtdcRemoveParkedOrderActionField["ParkedOrderActionID"] = "string" +structDict['CThostFtdcRemoveParkedOrderActionField'] = CThostFtdcRemoveParkedOrderActionField + + +#缁忕邯鍏徃鍙彁璧勯噾绠楁硶琛 +CThostFtdcInvestorWithdrawAlgorithmField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcInvestorWithdrawAlgorithmField["BrokerID"] = "string" +#鎶曡祫鑰呰寖鍥 +CThostFtdcInvestorWithdrawAlgorithmField["InvestorRange"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcInvestorWithdrawAlgorithmField["InvestorID"] = "string" +#鍙彁璧勯噾姣斾緥 +CThostFtdcInvestorWithdrawAlgorithmField["UsingRatio"] = "float" +#甯佺浠g爜 +CThostFtdcInvestorWithdrawAlgorithmField["CurrencyID"] = "string" +#璐у竵璐ㄦ娂姣旂巼 +CThostFtdcInvestorWithdrawAlgorithmField["FundMortgageRatio"] = "float" +structDict['CThostFtdcInvestorWithdrawAlgorithmField'] = CThostFtdcInvestorWithdrawAlgorithmField + + +#鏌ヨ缁勫悎鎸佷粨鏄庣粏 +CThostFtdcQryInvestorPositionCombineDetailField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryInvestorPositionCombineDetailField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcQryInvestorPositionCombineDetailField["InvestorID"] = "string" +#缁勫悎鎸佷粨鍚堢害缂栫爜 +CThostFtdcQryInvestorPositionCombineDetailField["CombInstrumentID"] = "string" +structDict['CThostFtdcQryInvestorPositionCombineDetailField'] = CThostFtdcQryInvestorPositionCombineDetailField + + +#鎴愪氦鍧囦环 +CThostFtdcMarketDataAveragePriceField = {} +#褰撴棩鍧囦环 +CThostFtdcMarketDataAveragePriceField["AveragePrice"] = "float" +structDict['CThostFtdcMarketDataAveragePriceField'] = CThostFtdcMarketDataAveragePriceField + + +#鏍¢獙鎶曡祫鑰呭瘑鐮 +CThostFtdcVerifyInvestorPasswordField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcVerifyInvestorPasswordField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcVerifyInvestorPasswordField["InvestorID"] = "string" +#瀵嗙爜 +CThostFtdcVerifyInvestorPasswordField["Password"] = "string" +structDict['CThostFtdcVerifyInvestorPasswordField'] = CThostFtdcVerifyInvestorPasswordField + + +#鐢ㄦ埛IP +CThostFtdcUserIPField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcUserIPField["BrokerID"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcUserIPField["UserID"] = "string" +#IP鍦板潃 +CThostFtdcUserIPField["IPAddress"] = "string" +#IP鍦板潃鎺╃爜 +CThostFtdcUserIPField["IPMask"] = "string" +#Mac鍦板潃 +CThostFtdcUserIPField["MacAddress"] = "string" +structDict['CThostFtdcUserIPField'] = CThostFtdcUserIPField + + +#鐢ㄦ埛浜嬩欢閫氱煡淇℃伅 +CThostFtdcTradingNoticeInfoField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcTradingNoticeInfoField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcTradingNoticeInfoField["InvestorID"] = "string" +#鍙戦佹椂闂 +CThostFtdcTradingNoticeInfoField["SendTime"] = "string" +#娑堟伅姝f枃 +CThostFtdcTradingNoticeInfoField["FieldContent"] = "string" +#搴忓垪绯诲垪鍙 +CThostFtdcTradingNoticeInfoField["SequenceSeries"] = "int" +#搴忓垪鍙 +CThostFtdcTradingNoticeInfoField["SequenceNo"] = "int" +structDict['CThostFtdcTradingNoticeInfoField'] = CThostFtdcTradingNoticeInfoField + + +#鐢ㄦ埛浜嬩欢閫氱煡 +CThostFtdcTradingNoticeField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcTradingNoticeField["BrokerID"] = "string" +#鎶曡祫鑰呰寖鍥 +CThostFtdcTradingNoticeField["InvestorRange"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcTradingNoticeField["InvestorID"] = "string" +#搴忓垪绯诲垪鍙 +CThostFtdcTradingNoticeField["SequenceSeries"] = "int" +#鐢ㄦ埛浠g爜 +CThostFtdcTradingNoticeField["UserID"] = "string" +#鍙戦佹椂闂 +CThostFtdcTradingNoticeField["SendTime"] = "string" +#搴忓垪鍙 +CThostFtdcTradingNoticeField["SequenceNo"] = "int" +#娑堟伅姝f枃 +CThostFtdcTradingNoticeField["FieldContent"] = "string" +structDict['CThostFtdcTradingNoticeField'] = CThostFtdcTradingNoticeField + + +#鏌ヨ浜ゆ槗浜嬩欢閫氱煡 +CThostFtdcQryTradingNoticeField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryTradingNoticeField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcQryTradingNoticeField["InvestorID"] = "string" +structDict['CThostFtdcQryTradingNoticeField'] = CThostFtdcQryTradingNoticeField + + +#鏌ヨ閿欒鎶ュ崟 +CThostFtdcQryErrOrderField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryErrOrderField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcQryErrOrderField["InvestorID"] = "string" +structDict['CThostFtdcQryErrOrderField'] = CThostFtdcQryErrOrderField + + +#閿欒鎶ュ崟 +CThostFtdcErrOrderField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcErrOrderField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcErrOrderField["InvestorID"] = "string" +#鍚堢害浠g爜 +CThostFtdcErrOrderField["InstrumentID"] = "string" +#鎶ュ崟寮曠敤 +CThostFtdcErrOrderField["OrderRef"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcErrOrderField["UserID"] = "string" +#鎶ュ崟浠锋牸鏉′欢 +CThostFtdcErrOrderField["OrderPriceType"] = "string" +#涔板崠鏂瑰悜 +CThostFtdcErrOrderField["Direction"] = "string" +#缁勫悎寮骞虫爣蹇 +CThostFtdcErrOrderField["CombOffsetFlag"] = "string" +#缁勫悎鎶曟満濂椾繚鏍囧織 +CThostFtdcErrOrderField["CombHedgeFlag"] = "string" +#浠锋牸 +CThostFtdcErrOrderField["LimitPrice"] = "float" +#鏁伴噺 +CThostFtdcErrOrderField["VolumeTotalOriginal"] = "int" +#鏈夋晥鏈熺被鍨 +CThostFtdcErrOrderField["TimeCondition"] = "string" +#GTD鏃ユ湡 +CThostFtdcErrOrderField["GTDDate"] = "string" +#鎴愪氦閲忕被鍨 +CThostFtdcErrOrderField["VolumeCondition"] = "string" +#鏈灏忔垚浜ら噺 +CThostFtdcErrOrderField["MinVolume"] = "int" +#瑙﹀彂鏉′欢 +CThostFtdcErrOrderField["ContingentCondition"] = "string" +#姝㈡崯浠 +CThostFtdcErrOrderField["StopPrice"] = "float" +#寮哄钩鍘熷洜 +CThostFtdcErrOrderField["ForceCloseReason"] = "string" +#鑷姩鎸傝捣鏍囧織 +CThostFtdcErrOrderField["IsAutoSuspend"] = "int" +#涓氬姟鍗曞厓 +CThostFtdcErrOrderField["BusinessUnit"] = "string" +#璇锋眰缂栧彿 +CThostFtdcErrOrderField["RequestID"] = "int" +#鐢ㄦ埛寮鸿瘎鏍囧織 +CThostFtdcErrOrderField["UserForceClose"] = "int" +#閿欒浠g爜 +CThostFtdcErrOrderField["ErrorID"] = "int" +#閿欒淇℃伅 +CThostFtdcErrOrderField["ErrorMsg"] = "string" +#浜掓崲鍗曟爣蹇 +CThostFtdcErrOrderField["IsSwapOrder"] = "int" +structDict['CThostFtdcErrOrderField'] = CThostFtdcErrOrderField + + +#鏌ヨ閿欒鎶ュ崟鎿嶄綔 +CThostFtdcErrorConditionalOrderField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcErrorConditionalOrderField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcErrorConditionalOrderField["InvestorID"] = "string" +#鍚堢害浠g爜 +CThostFtdcErrorConditionalOrderField["InstrumentID"] = "string" +#鎶ュ崟寮曠敤 +CThostFtdcErrorConditionalOrderField["OrderRef"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcErrorConditionalOrderField["UserID"] = "string" +#鎶ュ崟浠锋牸鏉′欢 +CThostFtdcErrorConditionalOrderField["OrderPriceType"] = "string" +#涔板崠鏂瑰悜 +CThostFtdcErrorConditionalOrderField["Direction"] = "string" +#缁勫悎寮骞虫爣蹇 +CThostFtdcErrorConditionalOrderField["CombOffsetFlag"] = "string" +#缁勫悎鎶曟満濂椾繚鏍囧織 +CThostFtdcErrorConditionalOrderField["CombHedgeFlag"] = "string" +#浠锋牸 +CThostFtdcErrorConditionalOrderField["LimitPrice"] = "float" +#鏁伴噺 +CThostFtdcErrorConditionalOrderField["VolumeTotalOriginal"] = "int" +#鏈夋晥鏈熺被鍨 +CThostFtdcErrorConditionalOrderField["TimeCondition"] = "string" +#GTD鏃ユ湡 +CThostFtdcErrorConditionalOrderField["GTDDate"] = "string" +#鎴愪氦閲忕被鍨 +CThostFtdcErrorConditionalOrderField["VolumeCondition"] = "string" +#鏈灏忔垚浜ら噺 +CThostFtdcErrorConditionalOrderField["MinVolume"] = "int" +#瑙﹀彂鏉′欢 +CThostFtdcErrorConditionalOrderField["ContingentCondition"] = "string" +#姝㈡崯浠 +CThostFtdcErrorConditionalOrderField["StopPrice"] = "float" +#寮哄钩鍘熷洜 +CThostFtdcErrorConditionalOrderField["ForceCloseReason"] = "string" +#鑷姩鎸傝捣鏍囧織 +CThostFtdcErrorConditionalOrderField["IsAutoSuspend"] = "int" +#涓氬姟鍗曞厓 +CThostFtdcErrorConditionalOrderField["BusinessUnit"] = "string" +#璇锋眰缂栧彿 +CThostFtdcErrorConditionalOrderField["RequestID"] = "int" +#鏈湴鎶ュ崟缂栧彿 +CThostFtdcErrorConditionalOrderField["OrderLocalID"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcErrorConditionalOrderField["ExchangeID"] = "string" +#浼氬憳浠g爜 +CThostFtdcErrorConditionalOrderField["ParticipantID"] = "string" +#瀹㈡埛浠g爜 +CThostFtdcErrorConditionalOrderField["ClientID"] = "string" +#鍚堢害鍦ㄤ氦鏄撴墍鐨勪唬鐮 +CThostFtdcErrorConditionalOrderField["ExchangeInstID"] = "string" +#浜ゆ槗鎵浜ゆ槗鍛樹唬鐮 +CThostFtdcErrorConditionalOrderField["TraderID"] = "string" +#瀹夎缂栧彿 +CThostFtdcErrorConditionalOrderField["InstallID"] = "int" +#鎶ュ崟鎻愪氦鐘舵 +CThostFtdcErrorConditionalOrderField["OrderSubmitStatus"] = "string" +#鎶ュ崟鎻愮ず搴忓彿 +CThostFtdcErrorConditionalOrderField["NotifySequence"] = "int" +#浜ゆ槗鏃 +CThostFtdcErrorConditionalOrderField["TradingDay"] = "string" +#缁撶畻缂栧彿 +CThostFtdcErrorConditionalOrderField["SettlementID"] = "int" +#鎶ュ崟缂栧彿 +CThostFtdcErrorConditionalOrderField["OrderSysID"] = "string" +#鎶ュ崟鏉ユ簮 +CThostFtdcErrorConditionalOrderField["OrderSource"] = "string" +#鎶ュ崟鐘舵 +CThostFtdcErrorConditionalOrderField["OrderStatus"] = "string" +#鎶ュ崟绫诲瀷 +CThostFtdcErrorConditionalOrderField["OrderType"] = "string" +#浠婃垚浜ゆ暟閲 +CThostFtdcErrorConditionalOrderField["VolumeTraded"] = "int" +#鍓╀綑鏁伴噺 +CThostFtdcErrorConditionalOrderField["VolumeTotal"] = "int" +#鎶ュ崟鏃ユ湡 +CThostFtdcErrorConditionalOrderField["InsertDate"] = "string" +#濮旀墭鏃堕棿 +CThostFtdcErrorConditionalOrderField["InsertTime"] = "string" +#婵娲绘椂闂 +CThostFtdcErrorConditionalOrderField["ActiveTime"] = "string" +#鎸傝捣鏃堕棿 +CThostFtdcErrorConditionalOrderField["SuspendTime"] = "string" +#鏈鍚庝慨鏀规椂闂 +CThostFtdcErrorConditionalOrderField["UpdateTime"] = "string" +#鎾ら攢鏃堕棿 +CThostFtdcErrorConditionalOrderField["CancelTime"] = "string" +#鏈鍚庝慨鏀逛氦鏄撴墍浜ゆ槗鍛樹唬鐮 +CThostFtdcErrorConditionalOrderField["ActiveTraderID"] = "string" +#缁撶畻浼氬憳缂栧彿 +CThostFtdcErrorConditionalOrderField["ClearingPartID"] = "string" +#搴忓彿 +CThostFtdcErrorConditionalOrderField["SequenceNo"] = "int" +#鍓嶇疆缂栧彿 +CThostFtdcErrorConditionalOrderField["FrontID"] = "int" +#浼氳瘽缂栧彿 +CThostFtdcErrorConditionalOrderField["SessionID"] = "int" +#鐢ㄦ埛绔骇鍝佷俊鎭 +CThostFtdcErrorConditionalOrderField["UserProductInfo"] = "string" +#鐘舵佷俊鎭 +CThostFtdcErrorConditionalOrderField["StatusMsg"] = "string" +#鐢ㄦ埛寮鸿瘎鏍囧織 +CThostFtdcErrorConditionalOrderField["UserForceClose"] = "int" +#鎿嶄綔鐢ㄦ埛浠g爜 +CThostFtdcErrorConditionalOrderField["ActiveUserID"] = "string" +#缁忕邯鍏徃鎶ュ崟缂栧彿 +CThostFtdcErrorConditionalOrderField["BrokerOrderSeq"] = "int" +#鐩稿叧鎶ュ崟 +CThostFtdcErrorConditionalOrderField["RelativeOrderSysID"] = "string" +#閮戝晢鎵鎴愪氦鏁伴噺 +CThostFtdcErrorConditionalOrderField["ZCETotalTradedVolume"] = "int" +#閿欒浠g爜 +CThostFtdcErrorConditionalOrderField["ErrorID"] = "int" +#閿欒淇℃伅 +CThostFtdcErrorConditionalOrderField["ErrorMsg"] = "string" +#浜掓崲鍗曟爣蹇 +CThostFtdcErrorConditionalOrderField["IsSwapOrder"] = "int" +structDict['CThostFtdcErrorConditionalOrderField'] = CThostFtdcErrorConditionalOrderField + + +#鏌ヨ閿欒鎶ュ崟鎿嶄綔 +CThostFtdcQryErrOrderActionField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryErrOrderActionField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcQryErrOrderActionField["InvestorID"] = "string" +structDict['CThostFtdcQryErrOrderActionField'] = CThostFtdcQryErrOrderActionField + + +#閿欒鎶ュ崟鎿嶄綔 +CThostFtdcErrOrderActionField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcErrOrderActionField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcErrOrderActionField["InvestorID"] = "string" +#鎶ュ崟鎿嶄綔寮曠敤 +CThostFtdcErrOrderActionField["OrderActionRef"] = "int" +#鎶ュ崟寮曠敤 +CThostFtdcErrOrderActionField["OrderRef"] = "string" +#璇锋眰缂栧彿 +CThostFtdcErrOrderActionField["RequestID"] = "int" +#鍓嶇疆缂栧彿 +CThostFtdcErrOrderActionField["FrontID"] = "int" +#浼氳瘽缂栧彿 +CThostFtdcErrOrderActionField["SessionID"] = "int" +#浜ゆ槗鎵浠g爜 +CThostFtdcErrOrderActionField["ExchangeID"] = "string" +#鎶ュ崟缂栧彿 +CThostFtdcErrOrderActionField["OrderSysID"] = "string" +#鎿嶄綔鏍囧織 +CThostFtdcErrOrderActionField["ActionFlag"] = "string" +#浠锋牸 +CThostFtdcErrOrderActionField["LimitPrice"] = "float" +#鏁伴噺鍙樺寲 +CThostFtdcErrOrderActionField["VolumeChange"] = "int" +#鎿嶄綔鏃ユ湡 +CThostFtdcErrOrderActionField["ActionDate"] = "string" +#鎿嶄綔鏃堕棿 +CThostFtdcErrOrderActionField["ActionTime"] = "string" +#浜ゆ槗鎵浜ゆ槗鍛樹唬鐮 +CThostFtdcErrOrderActionField["TraderID"] = "string" +#瀹夎缂栧彿 +CThostFtdcErrOrderActionField["InstallID"] = "int" +#鏈湴鎶ュ崟缂栧彿 +CThostFtdcErrOrderActionField["OrderLocalID"] = "string" +#鎿嶄綔鏈湴缂栧彿 +CThostFtdcErrOrderActionField["ActionLocalID"] = "string" +#浼氬憳浠g爜 +CThostFtdcErrOrderActionField["ParticipantID"] = "string" +#瀹㈡埛浠g爜 +CThostFtdcErrOrderActionField["ClientID"] = "string" +#涓氬姟鍗曞厓 +CThostFtdcErrOrderActionField["BusinessUnit"] = "string" +#鎶ュ崟鎿嶄綔鐘舵 +CThostFtdcErrOrderActionField["OrderActionStatus"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcErrOrderActionField["UserID"] = "string" +#鐘舵佷俊鎭 +CThostFtdcErrOrderActionField["StatusMsg"] = "string" +#鍚堢害浠g爜 +CThostFtdcErrOrderActionField["InstrumentID"] = "string" +#閿欒浠g爜 +CThostFtdcErrOrderActionField["ErrorID"] = "int" +#閿欒淇℃伅 +CThostFtdcErrOrderActionField["ErrorMsg"] = "string" +structDict['CThostFtdcErrOrderActionField'] = CThostFtdcErrOrderActionField + + +#鏌ヨ浜ゆ槗鎵鐘舵 +CThostFtdcQryExchangeSequenceField = {} +#浜ゆ槗鎵浠g爜 +CThostFtdcQryExchangeSequenceField["ExchangeID"] = "string" +structDict['CThostFtdcQryExchangeSequenceField'] = CThostFtdcQryExchangeSequenceField + + +#浜ゆ槗鎵鐘舵 +CThostFtdcExchangeSequenceField = {} +#浜ゆ槗鎵浠g爜 +CThostFtdcExchangeSequenceField["ExchangeID"] = "string" +#搴忓彿 +CThostFtdcExchangeSequenceField["SequenceNo"] = "int" +#鍚堢害浜ゆ槗鐘舵 +CThostFtdcExchangeSequenceField["MarketStatus"] = "string" +structDict['CThostFtdcExchangeSequenceField'] = CThostFtdcExchangeSequenceField + + +#鏍规嵁浠锋牸鏌ヨ鏈澶ф姤鍗曟暟閲 +CThostFtdcQueryMaxOrderVolumeWithPriceField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQueryMaxOrderVolumeWithPriceField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcQueryMaxOrderVolumeWithPriceField["InvestorID"] = "string" +#鍚堢害浠g爜 +CThostFtdcQueryMaxOrderVolumeWithPriceField["InstrumentID"] = "string" +#涔板崠鏂瑰悜 +CThostFtdcQueryMaxOrderVolumeWithPriceField["Direction"] = "string" +#寮骞虫爣蹇 +CThostFtdcQueryMaxOrderVolumeWithPriceField["OffsetFlag"] = "string" +#鎶曟満濂椾繚鏍囧織 +CThostFtdcQueryMaxOrderVolumeWithPriceField["HedgeFlag"] = "string" +#鏈澶у厑璁告姤鍗曟暟閲 +CThostFtdcQueryMaxOrderVolumeWithPriceField["MaxVolume"] = "int" +#鎶ュ崟浠锋牸 +CThostFtdcQueryMaxOrderVolumeWithPriceField["Price"] = "float" +structDict['CThostFtdcQueryMaxOrderVolumeWithPriceField'] = CThostFtdcQueryMaxOrderVolumeWithPriceField + + +#鏌ヨ缁忕邯鍏徃浜ゆ槗鍙傛暟 +CThostFtdcQryBrokerTradingParamsField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryBrokerTradingParamsField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcQryBrokerTradingParamsField["InvestorID"] = "string" +#甯佺浠g爜 +CThostFtdcQryBrokerTradingParamsField["CurrencyID"] = "string" +structDict['CThostFtdcQryBrokerTradingParamsField'] = CThostFtdcQryBrokerTradingParamsField + + +#缁忕邯鍏徃浜ゆ槗鍙傛暟 +CThostFtdcBrokerTradingParamsField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcBrokerTradingParamsField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcBrokerTradingParamsField["InvestorID"] = "string" +#淇濊瘉閲戜环鏍肩被鍨 +CThostFtdcBrokerTradingParamsField["MarginPriceType"] = "string" +#鐩堜簭绠楁硶 +CThostFtdcBrokerTradingParamsField["Algorithm"] = "string" +#鍙敤鏄惁鍖呭惈骞充粨鐩堝埄 +CThostFtdcBrokerTradingParamsField["AvailIncludeCloseProfit"] = "string" +#甯佺浠g爜 +CThostFtdcBrokerTradingParamsField["CurrencyID"] = "string" +#鏈熸潈鏉冨埄閲戜环鏍肩被鍨 +CThostFtdcBrokerTradingParamsField["OptionRoyaltyPriceType"] = "string" +structDict['CThostFtdcBrokerTradingParamsField'] = CThostFtdcBrokerTradingParamsField + + +#鏌ヨ缁忕邯鍏徃浜ゆ槗绠楁硶 +CThostFtdcQryBrokerTradingAlgosField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryBrokerTradingAlgosField["BrokerID"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcQryBrokerTradingAlgosField["ExchangeID"] = "string" +#鍚堢害浠g爜 +CThostFtdcQryBrokerTradingAlgosField["InstrumentID"] = "string" +structDict['CThostFtdcQryBrokerTradingAlgosField'] = CThostFtdcQryBrokerTradingAlgosField + + +#缁忕邯鍏徃浜ゆ槗绠楁硶 +CThostFtdcBrokerTradingAlgosField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcBrokerTradingAlgosField["BrokerID"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcBrokerTradingAlgosField["ExchangeID"] = "string" +#鍚堢害浠g爜 +CThostFtdcBrokerTradingAlgosField["InstrumentID"] = "string" +#鎸佷粨澶勭悊绠楁硶缂栧彿 +CThostFtdcBrokerTradingAlgosField["HandlePositionAlgoID"] = "string" +#瀵绘壘淇濊瘉閲戠巼绠楁硶缂栧彿 +CThostFtdcBrokerTradingAlgosField["FindMarginRateAlgoID"] = "string" +#璧勯噾澶勭悊绠楁硶缂栧彿 +CThostFtdcBrokerTradingAlgosField["HandleTradingAccountAlgoID"] = "string" +structDict['CThostFtdcBrokerTradingAlgosField'] = CThostFtdcBrokerTradingAlgosField + + +#鏌ヨ缁忕邯鍏徃璧勯噾 +CThostFtdcQueryBrokerDepositField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQueryBrokerDepositField["BrokerID"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcQueryBrokerDepositField["ExchangeID"] = "string" +structDict['CThostFtdcQueryBrokerDepositField'] = CThostFtdcQueryBrokerDepositField + + +#缁忕邯鍏徃璧勯噾 +CThostFtdcBrokerDepositField = {} +#浜ゆ槗鏃ユ湡 +CThostFtdcBrokerDepositField["TradingDay"] = "string" +#缁忕邯鍏徃浠g爜 +CThostFtdcBrokerDepositField["BrokerID"] = "string" +#浼氬憳浠g爜 +CThostFtdcBrokerDepositField["ParticipantID"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcBrokerDepositField["ExchangeID"] = "string" +#涓婃缁撶畻鍑嗗閲 +CThostFtdcBrokerDepositField["PreBalance"] = "float" +#褰撳墠淇濊瘉閲戞婚 +CThostFtdcBrokerDepositField["CurrMargin"] = "float" +#骞充粨鐩堜簭 +CThostFtdcBrokerDepositField["CloseProfit"] = "float" +#鏈熻揣缁撶畻鍑嗗閲 +CThostFtdcBrokerDepositField["Balance"] = "float" +#鍏ラ噾閲戦 +CThostFtdcBrokerDepositField["Deposit"] = "float" +#鍑洪噾閲戦 +CThostFtdcBrokerDepositField["Withdraw"] = "float" +#鍙彁璧勯噾 +CThostFtdcBrokerDepositField["Available"] = "float" +#鍩烘湰鍑嗗閲 +CThostFtdcBrokerDepositField["Reserve"] = "float" +#鍐荤粨鐨勪繚璇侀噾 +CThostFtdcBrokerDepositField["FrozenMargin"] = "float" +structDict['CThostFtdcBrokerDepositField'] = CThostFtdcBrokerDepositField + + +#鏌ヨ淇濊瘉閲戠洃绠$郴缁熺粡绾叕鍙稿瘑閽 +CThostFtdcQryCFMMCBrokerKeyField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryCFMMCBrokerKeyField["BrokerID"] = "string" +structDict['CThostFtdcQryCFMMCBrokerKeyField'] = CThostFtdcQryCFMMCBrokerKeyField + + +#淇濊瘉閲戠洃绠$郴缁熺粡绾叕鍙稿瘑閽 +CThostFtdcCFMMCBrokerKeyField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcCFMMCBrokerKeyField["BrokerID"] = "string" +#缁忕邯鍏徃缁熶竴缂栫爜 +CThostFtdcCFMMCBrokerKeyField["ParticipantID"] = "string" +#瀵嗛挜鐢熸垚鏃ユ湡 +CThostFtdcCFMMCBrokerKeyField["CreateDate"] = "string" +#瀵嗛挜鐢熸垚鏃堕棿 +CThostFtdcCFMMCBrokerKeyField["CreateTime"] = "string" +#瀵嗛挜缂栧彿 +CThostFtdcCFMMCBrokerKeyField["KeyID"] = "int" +#鍔ㄦ佸瘑閽 +CThostFtdcCFMMCBrokerKeyField["CurrentKey"] = "string" +#鍔ㄦ佸瘑閽ョ被鍨 +CThostFtdcCFMMCBrokerKeyField["KeyKind"] = "string" +structDict['CThostFtdcCFMMCBrokerKeyField'] = CThostFtdcCFMMCBrokerKeyField + + +#淇濊瘉閲戠洃绠$郴缁熺粡绾叕鍙歌祫閲戣处鎴峰瘑閽 +CThostFtdcCFMMCTradingAccountKeyField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcCFMMCTradingAccountKeyField["BrokerID"] = "string" +#缁忕邯鍏徃缁熶竴缂栫爜 +CThostFtdcCFMMCTradingAccountKeyField["ParticipantID"] = "string" +#鎶曡祫鑰呭笎鍙 +CThostFtdcCFMMCTradingAccountKeyField["AccountID"] = "string" +#瀵嗛挜缂栧彿 +CThostFtdcCFMMCTradingAccountKeyField["KeyID"] = "int" +#鍔ㄦ佸瘑閽 +CThostFtdcCFMMCTradingAccountKeyField["CurrentKey"] = "string" +structDict['CThostFtdcCFMMCTradingAccountKeyField'] = CThostFtdcCFMMCTradingAccountKeyField + + +#璇锋眰鏌ヨ淇濊瘉閲戠洃绠$郴缁熺粡绾叕鍙歌祫閲戣处鎴峰瘑閽 +CThostFtdcQryCFMMCTradingAccountKeyField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryCFMMCTradingAccountKeyField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcQryCFMMCTradingAccountKeyField["InvestorID"] = "string" +structDict['CThostFtdcQryCFMMCTradingAccountKeyField'] = CThostFtdcQryCFMMCTradingAccountKeyField + + +#鐢ㄦ埛鍔ㄦ佷护鐗屽弬鏁 +CThostFtdcBrokerUserOTPParamField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcBrokerUserOTPParamField["BrokerID"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcBrokerUserOTPParamField["UserID"] = "string" +#鍔ㄦ佷护鐗屾彁渚涘晢 +CThostFtdcBrokerUserOTPParamField["OTPVendorsID"] = "string" +#鍔ㄦ佷护鐗屽簭鍒楀彿 +CThostFtdcBrokerUserOTPParamField["SerialNumber"] = "string" +#浠ょ墝瀵嗛挜 +CThostFtdcBrokerUserOTPParamField["AuthKey"] = "string" +#婕傜Щ鍊 +CThostFtdcBrokerUserOTPParamField["LastDrift"] = "int" +#鎴愬姛鍊 +CThostFtdcBrokerUserOTPParamField["LastSuccess"] = "int" +#鍔ㄦ佷护鐗岀被鍨 +CThostFtdcBrokerUserOTPParamField["OTPType"] = "string" +structDict['CThostFtdcBrokerUserOTPParamField'] = CThostFtdcBrokerUserOTPParamField + + +#鎵嬪伐鍚屾鐢ㄦ埛鍔ㄦ佷护鐗 +CThostFtdcManualSyncBrokerUserOTPField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcManualSyncBrokerUserOTPField["BrokerID"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcManualSyncBrokerUserOTPField["UserID"] = "string" +#鍔ㄦ佷护鐗岀被鍨 +CThostFtdcManualSyncBrokerUserOTPField["OTPType"] = "string" +#绗竴涓姩鎬佸瘑鐮 +CThostFtdcManualSyncBrokerUserOTPField["FirstOTP"] = "string" +#绗簩涓姩鎬佸瘑鐮 +CThostFtdcManualSyncBrokerUserOTPField["SecondOTP"] = "string" +structDict['CThostFtdcManualSyncBrokerUserOTPField'] = CThostFtdcManualSyncBrokerUserOTPField + + +#鎶曡祫鑰呮墜缁垂鐜囨ā鏉 +CThostFtdcCommRateModelField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcCommRateModelField["BrokerID"] = "string" +#鎵嬬画璐圭巼妯℃澘浠g爜 +CThostFtdcCommRateModelField["CommModelID"] = "string" +#妯℃澘鍚嶇О +CThostFtdcCommRateModelField["CommModelName"] = "string" +structDict['CThostFtdcCommRateModelField'] = CThostFtdcCommRateModelField + + +#璇锋眰鏌ヨ鎶曡祫鑰呮墜缁垂鐜囨ā鏉 +CThostFtdcQryCommRateModelField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryCommRateModelField["BrokerID"] = "string" +#鎵嬬画璐圭巼妯℃澘浠g爜 +CThostFtdcQryCommRateModelField["CommModelID"] = "string" +structDict['CThostFtdcQryCommRateModelField'] = CThostFtdcQryCommRateModelField + + +#鎶曡祫鑰呬繚璇侀噾鐜囨ā鏉 +CThostFtdcMarginModelField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcMarginModelField["BrokerID"] = "string" +#淇濊瘉閲戠巼妯℃澘浠g爜 +CThostFtdcMarginModelField["MarginModelID"] = "string" +#妯℃澘鍚嶇О +CThostFtdcMarginModelField["MarginModelName"] = "string" +structDict['CThostFtdcMarginModelField'] = CThostFtdcMarginModelField + + +#璇锋眰鏌ヨ鎶曡祫鑰呬繚璇侀噾鐜囨ā鏉 +CThostFtdcQryMarginModelField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryMarginModelField["BrokerID"] = "string" +#淇濊瘉閲戠巼妯℃澘浠g爜 +CThostFtdcQryMarginModelField["MarginModelID"] = "string" +structDict['CThostFtdcQryMarginModelField'] = CThostFtdcQryMarginModelField + + +#浠撳崟鎶樻姷淇℃伅 +CThostFtdcEWarrantOffsetField = {} +#浜ゆ槗鏃ユ湡 +CThostFtdcEWarrantOffsetField["TradingDay"] = "string" +#缁忕邯鍏徃浠g爜 +CThostFtdcEWarrantOffsetField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcEWarrantOffsetField["InvestorID"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcEWarrantOffsetField["ExchangeID"] = "string" +#鍚堢害浠g爜 +CThostFtdcEWarrantOffsetField["InstrumentID"] = "string" +#涔板崠鏂瑰悜 +CThostFtdcEWarrantOffsetField["Direction"] = "string" +#鎶曟満濂椾繚鏍囧織 +CThostFtdcEWarrantOffsetField["HedgeFlag"] = "string" +#鏁伴噺 +CThostFtdcEWarrantOffsetField["Volume"] = "int" +structDict['CThostFtdcEWarrantOffsetField'] = CThostFtdcEWarrantOffsetField + + +#鏌ヨ浠撳崟鎶樻姷淇℃伅 +CThostFtdcQryEWarrantOffsetField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryEWarrantOffsetField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcQryEWarrantOffsetField["InvestorID"] = "string" +#浜ゆ槗鎵浠g爜 +CThostFtdcQryEWarrantOffsetField["ExchangeID"] = "string" +#鍚堢害浠g爜 +CThostFtdcQryEWarrantOffsetField["InstrumentID"] = "string" +structDict['CThostFtdcQryEWarrantOffsetField'] = CThostFtdcQryEWarrantOffsetField + + +#鏌ヨ鎶曡祫鑰呭搧绉/璺ㄥ搧绉嶄繚璇侀噾 +CThostFtdcQryInvestorProductGroupMarginField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryInvestorProductGroupMarginField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcQryInvestorProductGroupMarginField["InvestorID"] = "string" +#鍝佺/璺ㄥ搧绉嶆爣绀 +CThostFtdcQryInvestorProductGroupMarginField["ProductGroupID"] = "string" +#鎶曟満濂椾繚鏍囧織 +CThostFtdcQryInvestorProductGroupMarginField["HedgeFlag"] = "string" +structDict['CThostFtdcQryInvestorProductGroupMarginField'] = CThostFtdcQryInvestorProductGroupMarginField + + +#鎶曡祫鑰呭搧绉/璺ㄥ搧绉嶄繚璇侀噾 +CThostFtdcInvestorProductGroupMarginField = {} +#鍝佺/璺ㄥ搧绉嶆爣绀 +CThostFtdcInvestorProductGroupMarginField["ProductGroupID"] = "string" +#缁忕邯鍏徃浠g爜 +CThostFtdcInvestorProductGroupMarginField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcInvestorProductGroupMarginField["InvestorID"] = "string" +#浜ゆ槗鏃 +CThostFtdcInvestorProductGroupMarginField["TradingDay"] = "string" +#缁撶畻缂栧彿 +CThostFtdcInvestorProductGroupMarginField["SettlementID"] = "int" +#鍐荤粨鐨勪繚璇侀噾 +CThostFtdcInvestorProductGroupMarginField["FrozenMargin"] = "float" +#澶氬ご鍐荤粨鐨勪繚璇侀噾 +CThostFtdcInvestorProductGroupMarginField["LongFrozenMargin"] = "float" +#绌哄ご鍐荤粨鐨勪繚璇侀噾 +CThostFtdcInvestorProductGroupMarginField["ShortFrozenMargin"] = "float" +#鍗犵敤鐨勪繚璇侀噾 +CThostFtdcInvestorProductGroupMarginField["UseMargin"] = "float" +#澶氬ご淇濊瘉閲 +CThostFtdcInvestorProductGroupMarginField["LongUseMargin"] = "float" +#绌哄ご淇濊瘉閲 +CThostFtdcInvestorProductGroupMarginField["ShortUseMargin"] = "float" +#浜ゆ槗鎵淇濊瘉閲 +CThostFtdcInvestorProductGroupMarginField["ExchMargin"] = "float" +#浜ゆ槗鎵澶氬ご淇濊瘉閲 +CThostFtdcInvestorProductGroupMarginField["LongExchMargin"] = "float" +#浜ゆ槗鎵绌哄ご淇濊瘉閲 +CThostFtdcInvestorProductGroupMarginField["ShortExchMargin"] = "float" +#骞充粨鐩堜簭 +CThostFtdcInvestorProductGroupMarginField["CloseProfit"] = "float" +#鍐荤粨鐨勬墜缁垂 +CThostFtdcInvestorProductGroupMarginField["FrozenCommission"] = "float" +#鎵嬬画璐 +CThostFtdcInvestorProductGroupMarginField["Commission"] = "float" +#鍐荤粨鐨勮祫閲 +CThostFtdcInvestorProductGroupMarginField["FrozenCash"] = "float" +#璧勯噾宸 +CThostFtdcInvestorProductGroupMarginField["CashIn"] = "float" +#鎸佷粨鐩堜簭 +CThostFtdcInvestorProductGroupMarginField["PositionProfit"] = "float" +#鎶樻姷鎬婚噾棰 +CThostFtdcInvestorProductGroupMarginField["OffsetAmount"] = "float" +#澶氬ご鎶樻姷鎬婚噾棰 +CThostFtdcInvestorProductGroupMarginField["LongOffsetAmount"] = "float" +#绌哄ご鎶樻姷鎬婚噾棰 +CThostFtdcInvestorProductGroupMarginField["ShortOffsetAmount"] = "float" +#浜ゆ槗鎵鎶樻姷鎬婚噾棰 +CThostFtdcInvestorProductGroupMarginField["ExchOffsetAmount"] = "float" +#浜ゆ槗鎵澶氬ご鎶樻姷鎬婚噾棰 +CThostFtdcInvestorProductGroupMarginField["LongExchOffsetAmount"] = "float" +#浜ゆ槗鎵绌哄ご鎶樻姷鎬婚噾棰 +CThostFtdcInvestorProductGroupMarginField["ShortExchOffsetAmount"] = "float" +#鎶曟満濂椾繚鏍囧織 +CThostFtdcInvestorProductGroupMarginField["HedgeFlag"] = "string" +structDict['CThostFtdcInvestorProductGroupMarginField'] = CThostFtdcInvestorProductGroupMarginField + + +#杞笎寮鎴疯姹 +CThostFtdcReqOpenAccountField = {} +#涓氬姟鍔熻兘鐮 +CThostFtdcReqOpenAccountField["TradeCode"] = "string" +#閾惰浠g爜 +CThostFtdcReqOpenAccountField["BankID"] = "string" +#閾惰鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcReqOpenAccountField["BankBranchID"] = "string" +#鏈熷晢浠g爜 +CThostFtdcReqOpenAccountField["BrokerID"] = "string" +#鏈熷晢鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcReqOpenAccountField["BrokerBranchID"] = "string" +#浜ゆ槗鏃ユ湡 +CThostFtdcReqOpenAccountField["TradeDate"] = "string" +#浜ゆ槗鏃堕棿 +CThostFtdcReqOpenAccountField["TradeTime"] = "string" +#閾惰娴佹按鍙 +CThostFtdcReqOpenAccountField["BankSerial"] = "string" +#浜ゆ槗绯荤粺鏃ユ湡 +CThostFtdcReqOpenAccountField["TradingDay"] = "string" +#閾舵湡骞冲彴娑堟伅娴佹按鍙 +CThostFtdcReqOpenAccountField["PlateSerial"] = "int" +#鏈鍚庡垎鐗囨爣蹇 +CThostFtdcReqOpenAccountField["LastFragment"] = "string" +#浼氳瘽鍙 +CThostFtdcReqOpenAccountField["SessionID"] = "int" +#瀹㈡埛濮撳悕 +CThostFtdcReqOpenAccountField["CustomerName"] = "string" +#璇佷欢绫诲瀷 +CThostFtdcReqOpenAccountField["IdCardType"] = "string" +#璇佷欢鍙风爜 +CThostFtdcReqOpenAccountField["IdentifiedCardNo"] = "string" +#鎬у埆 +CThostFtdcReqOpenAccountField["Gender"] = "string" +#鍥藉浠g爜 +CThostFtdcReqOpenAccountField["CountryCode"] = "string" +#瀹㈡埛绫诲瀷 +CThostFtdcReqOpenAccountField["CustType"] = "string" +#鍦板潃 +CThostFtdcReqOpenAccountField["Address"] = "string" +#閭紪 +CThostFtdcReqOpenAccountField["ZipCode"] = "string" +#鐢佃瘽鍙风爜 +CThostFtdcReqOpenAccountField["Telephone"] = "string" +#鎵嬫満 +CThostFtdcReqOpenAccountField["MobilePhone"] = "string" +#浼犵湡 +CThostFtdcReqOpenAccountField["Fax"] = "string" +#鐢靛瓙閭欢 +CThostFtdcReqOpenAccountField["EMail"] = "string" +#璧勯噾璐︽埛鐘舵 +CThostFtdcReqOpenAccountField["MoneyAccountStatus"] = "string" +#閾惰甯愬彿 +CThostFtdcReqOpenAccountField["BankAccount"] = "string" +#閾惰瀵嗙爜 +CThostFtdcReqOpenAccountField["BankPassWord"] = "string" +#鎶曡祫鑰呭笎鍙 +CThostFtdcReqOpenAccountField["AccountID"] = "string" +#鏈熻揣瀵嗙爜 +CThostFtdcReqOpenAccountField["Password"] = "string" +#瀹夎缂栧彿 +CThostFtdcReqOpenAccountField["InstallID"] = "int" +#楠岃瘉瀹㈡埛璇佷欢鍙风爜鏍囧織 +CThostFtdcReqOpenAccountField["VerifyCertNoFlag"] = "string" +#甯佺浠g爜 +CThostFtdcReqOpenAccountField["CurrencyID"] = "string" +#姹囬挒鏍囧織 +CThostFtdcReqOpenAccountField["CashExchangeCode"] = "string" +#鎽樿 +CThostFtdcReqOpenAccountField["Digest"] = "string" +#閾惰甯愬彿绫诲瀷 +CThostFtdcReqOpenAccountField["BankAccType"] = "string" +#娓犻亾鏍囧織 +CThostFtdcReqOpenAccountField["DeviceID"] = "string" +#鏈熻揣鍗曚綅甯愬彿绫诲瀷 +CThostFtdcReqOpenAccountField["BankSecuAccType"] = "string" +#鏈熻揣鍏徃閾惰缂栫爜 +CThostFtdcReqOpenAccountField["BrokerIDByBank"] = "string" +#鏈熻揣鍗曚綅甯愬彿 +CThostFtdcReqOpenAccountField["BankSecuAcc"] = "string" +#閾惰瀵嗙爜鏍囧織 +CThostFtdcReqOpenAccountField["BankPwdFlag"] = "string" +#鏈熻揣璧勯噾瀵嗙爜鏍稿鏍囧織 +CThostFtdcReqOpenAccountField["SecuPwdFlag"] = "string" +#浜ゆ槗鏌滃憳 +CThostFtdcReqOpenAccountField["OperNo"] = "string" +#浜ゆ槗ID +CThostFtdcReqOpenAccountField["TID"] = "int" +#鐢ㄦ埛鏍囪瘑 +CThostFtdcReqOpenAccountField["UserID"] = "string" +structDict['CThostFtdcReqOpenAccountField'] = CThostFtdcReqOpenAccountField + + +#杞笎閿鎴疯姹 +CThostFtdcReqCancelAccountField = {} +#涓氬姟鍔熻兘鐮 +CThostFtdcReqCancelAccountField["TradeCode"] = "string" +#閾惰浠g爜 +CThostFtdcReqCancelAccountField["BankID"] = "string" +#閾惰鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcReqCancelAccountField["BankBranchID"] = "string" +#鏈熷晢浠g爜 +CThostFtdcReqCancelAccountField["BrokerID"] = "string" +#鏈熷晢鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcReqCancelAccountField["BrokerBranchID"] = "string" +#浜ゆ槗鏃ユ湡 +CThostFtdcReqCancelAccountField["TradeDate"] = "string" +#浜ゆ槗鏃堕棿 +CThostFtdcReqCancelAccountField["TradeTime"] = "string" +#閾惰娴佹按鍙 +CThostFtdcReqCancelAccountField["BankSerial"] = "string" +#浜ゆ槗绯荤粺鏃ユ湡 +CThostFtdcReqCancelAccountField["TradingDay"] = "string" +#閾舵湡骞冲彴娑堟伅娴佹按鍙 +CThostFtdcReqCancelAccountField["PlateSerial"] = "int" +#鏈鍚庡垎鐗囨爣蹇 +CThostFtdcReqCancelAccountField["LastFragment"] = "string" +#浼氳瘽鍙 +CThostFtdcReqCancelAccountField["SessionID"] = "int" +#瀹㈡埛濮撳悕 +CThostFtdcReqCancelAccountField["CustomerName"] = "string" +#璇佷欢绫诲瀷 +CThostFtdcReqCancelAccountField["IdCardType"] = "string" +#璇佷欢鍙风爜 +CThostFtdcReqCancelAccountField["IdentifiedCardNo"] = "string" +#鎬у埆 +CThostFtdcReqCancelAccountField["Gender"] = "string" +#鍥藉浠g爜 +CThostFtdcReqCancelAccountField["CountryCode"] = "string" +#瀹㈡埛绫诲瀷 +CThostFtdcReqCancelAccountField["CustType"] = "string" +#鍦板潃 +CThostFtdcReqCancelAccountField["Address"] = "string" +#閭紪 +CThostFtdcReqCancelAccountField["ZipCode"] = "string" +#鐢佃瘽鍙风爜 +CThostFtdcReqCancelAccountField["Telephone"] = "string" +#鎵嬫満 +CThostFtdcReqCancelAccountField["MobilePhone"] = "string" +#浼犵湡 +CThostFtdcReqCancelAccountField["Fax"] = "string" +#鐢靛瓙閭欢 +CThostFtdcReqCancelAccountField["EMail"] = "string" +#璧勯噾璐︽埛鐘舵 +CThostFtdcReqCancelAccountField["MoneyAccountStatus"] = "string" +#閾惰甯愬彿 +CThostFtdcReqCancelAccountField["BankAccount"] = "string" +#閾惰瀵嗙爜 +CThostFtdcReqCancelAccountField["BankPassWord"] = "string" +#鎶曡祫鑰呭笎鍙 +CThostFtdcReqCancelAccountField["AccountID"] = "string" +#鏈熻揣瀵嗙爜 +CThostFtdcReqCancelAccountField["Password"] = "string" +#瀹夎缂栧彿 +CThostFtdcReqCancelAccountField["InstallID"] = "int" +#楠岃瘉瀹㈡埛璇佷欢鍙风爜鏍囧織 +CThostFtdcReqCancelAccountField["VerifyCertNoFlag"] = "string" +#甯佺浠g爜 +CThostFtdcReqCancelAccountField["CurrencyID"] = "string" +#姹囬挒鏍囧織 +CThostFtdcReqCancelAccountField["CashExchangeCode"] = "string" +#鎽樿 +CThostFtdcReqCancelAccountField["Digest"] = "string" +#閾惰甯愬彿绫诲瀷 +CThostFtdcReqCancelAccountField["BankAccType"] = "string" +#娓犻亾鏍囧織 +CThostFtdcReqCancelAccountField["DeviceID"] = "string" +#鏈熻揣鍗曚綅甯愬彿绫诲瀷 +CThostFtdcReqCancelAccountField["BankSecuAccType"] = "string" +#鏈熻揣鍏徃閾惰缂栫爜 +CThostFtdcReqCancelAccountField["BrokerIDByBank"] = "string" +#鏈熻揣鍗曚綅甯愬彿 +CThostFtdcReqCancelAccountField["BankSecuAcc"] = "string" +#閾惰瀵嗙爜鏍囧織 +CThostFtdcReqCancelAccountField["BankPwdFlag"] = "string" +#鏈熻揣璧勯噾瀵嗙爜鏍稿鏍囧織 +CThostFtdcReqCancelAccountField["SecuPwdFlag"] = "string" +#浜ゆ槗鏌滃憳 +CThostFtdcReqCancelAccountField["OperNo"] = "string" +#浜ゆ槗ID +CThostFtdcReqCancelAccountField["TID"] = "int" +#鐢ㄦ埛鏍囪瘑 +CThostFtdcReqCancelAccountField["UserID"] = "string" +structDict['CThostFtdcReqCancelAccountField'] = CThostFtdcReqCancelAccountField + + +#鍙樻洿閾惰璐︽埛璇锋眰 +CThostFtdcReqChangeAccountField = {} +#涓氬姟鍔熻兘鐮 +CThostFtdcReqChangeAccountField["TradeCode"] = "string" +#閾惰浠g爜 +CThostFtdcReqChangeAccountField["BankID"] = "string" +#閾惰鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcReqChangeAccountField["BankBranchID"] = "string" +#鏈熷晢浠g爜 +CThostFtdcReqChangeAccountField["BrokerID"] = "string" +#鏈熷晢鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcReqChangeAccountField["BrokerBranchID"] = "string" +#浜ゆ槗鏃ユ湡 +CThostFtdcReqChangeAccountField["TradeDate"] = "string" +#浜ゆ槗鏃堕棿 +CThostFtdcReqChangeAccountField["TradeTime"] = "string" +#閾惰娴佹按鍙 +CThostFtdcReqChangeAccountField["BankSerial"] = "string" +#浜ゆ槗绯荤粺鏃ユ湡 +CThostFtdcReqChangeAccountField["TradingDay"] = "string" +#閾舵湡骞冲彴娑堟伅娴佹按鍙 +CThostFtdcReqChangeAccountField["PlateSerial"] = "int" +#鏈鍚庡垎鐗囨爣蹇 +CThostFtdcReqChangeAccountField["LastFragment"] = "string" +#浼氳瘽鍙 +CThostFtdcReqChangeAccountField["SessionID"] = "int" +#瀹㈡埛濮撳悕 +CThostFtdcReqChangeAccountField["CustomerName"] = "string" +#璇佷欢绫诲瀷 +CThostFtdcReqChangeAccountField["IdCardType"] = "string" +#璇佷欢鍙风爜 +CThostFtdcReqChangeAccountField["IdentifiedCardNo"] = "string" +#鎬у埆 +CThostFtdcReqChangeAccountField["Gender"] = "string" +#鍥藉浠g爜 +CThostFtdcReqChangeAccountField["CountryCode"] = "string" +#瀹㈡埛绫诲瀷 +CThostFtdcReqChangeAccountField["CustType"] = "string" +#鍦板潃 +CThostFtdcReqChangeAccountField["Address"] = "string" +#閭紪 +CThostFtdcReqChangeAccountField["ZipCode"] = "string" +#鐢佃瘽鍙风爜 +CThostFtdcReqChangeAccountField["Telephone"] = "string" +#鎵嬫満 +CThostFtdcReqChangeAccountField["MobilePhone"] = "string" +#浼犵湡 +CThostFtdcReqChangeAccountField["Fax"] = "string" +#鐢靛瓙閭欢 +CThostFtdcReqChangeAccountField["EMail"] = "string" +#璧勯噾璐︽埛鐘舵 +CThostFtdcReqChangeAccountField["MoneyAccountStatus"] = "string" +#閾惰甯愬彿 +CThostFtdcReqChangeAccountField["BankAccount"] = "string" +#閾惰瀵嗙爜 +CThostFtdcReqChangeAccountField["BankPassWord"] = "string" +#鏂伴摱琛屽笎鍙 +CThostFtdcReqChangeAccountField["NewBankAccount"] = "string" +#鏂伴摱琛屽瘑鐮 +CThostFtdcReqChangeAccountField["NewBankPassWord"] = "string" +#鎶曡祫鑰呭笎鍙 +CThostFtdcReqChangeAccountField["AccountID"] = "string" +#鏈熻揣瀵嗙爜 +CThostFtdcReqChangeAccountField["Password"] = "string" +#閾惰甯愬彿绫诲瀷 +CThostFtdcReqChangeAccountField["BankAccType"] = "string" +#瀹夎缂栧彿 +CThostFtdcReqChangeAccountField["InstallID"] = "int" +#楠岃瘉瀹㈡埛璇佷欢鍙风爜鏍囧織 +CThostFtdcReqChangeAccountField["VerifyCertNoFlag"] = "string" +#甯佺浠g爜 +CThostFtdcReqChangeAccountField["CurrencyID"] = "string" +#鏈熻揣鍏徃閾惰缂栫爜 +CThostFtdcReqChangeAccountField["BrokerIDByBank"] = "string" +#閾惰瀵嗙爜鏍囧織 +CThostFtdcReqChangeAccountField["BankPwdFlag"] = "string" +#鏈熻揣璧勯噾瀵嗙爜鏍稿鏍囧織 +CThostFtdcReqChangeAccountField["SecuPwdFlag"] = "string" +#浜ゆ槗ID +CThostFtdcReqChangeAccountField["TID"] = "int" +#鎽樿 +CThostFtdcReqChangeAccountField["Digest"] = "string" +structDict['CThostFtdcReqChangeAccountField'] = CThostFtdcReqChangeAccountField + + +#杞处璇锋眰 +CThostFtdcReqTransferField = {} +#涓氬姟鍔熻兘鐮 +CThostFtdcReqTransferField["TradeCode"] = "string" +#閾惰浠g爜 +CThostFtdcReqTransferField["BankID"] = "string" +#閾惰鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcReqTransferField["BankBranchID"] = "string" +#鏈熷晢浠g爜 +CThostFtdcReqTransferField["BrokerID"] = "string" +#鏈熷晢鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcReqTransferField["BrokerBranchID"] = "string" +#浜ゆ槗鏃ユ湡 +CThostFtdcReqTransferField["TradeDate"] = "string" +#浜ゆ槗鏃堕棿 +CThostFtdcReqTransferField["TradeTime"] = "string" +#閾惰娴佹按鍙 +CThostFtdcReqTransferField["BankSerial"] = "string" +#浜ゆ槗绯荤粺鏃ユ湡 +CThostFtdcReqTransferField["TradingDay"] = "string" +#閾舵湡骞冲彴娑堟伅娴佹按鍙 +CThostFtdcReqTransferField["PlateSerial"] = "int" +#鏈鍚庡垎鐗囨爣蹇 +CThostFtdcReqTransferField["LastFragment"] = "string" +#浼氳瘽鍙 +CThostFtdcReqTransferField["SessionID"] = "int" +#瀹㈡埛濮撳悕 +CThostFtdcReqTransferField["CustomerName"] = "string" +#璇佷欢绫诲瀷 +CThostFtdcReqTransferField["IdCardType"] = "string" +#璇佷欢鍙风爜 +CThostFtdcReqTransferField["IdentifiedCardNo"] = "string" +#瀹㈡埛绫诲瀷 +CThostFtdcReqTransferField["CustType"] = "string" +#閾惰甯愬彿 +CThostFtdcReqTransferField["BankAccount"] = "string" +#閾惰瀵嗙爜 +CThostFtdcReqTransferField["BankPassWord"] = "string" +#鎶曡祫鑰呭笎鍙 +CThostFtdcReqTransferField["AccountID"] = "string" +#鏈熻揣瀵嗙爜 +CThostFtdcReqTransferField["Password"] = "string" +#瀹夎缂栧彿 +CThostFtdcReqTransferField["InstallID"] = "int" +#鏈熻揣鍏徃娴佹按鍙 +CThostFtdcReqTransferField["FutureSerial"] = "int" +#鐢ㄦ埛鏍囪瘑 +CThostFtdcReqTransferField["UserID"] = "string" +#楠岃瘉瀹㈡埛璇佷欢鍙风爜鏍囧織 +CThostFtdcReqTransferField["VerifyCertNoFlag"] = "string" +#甯佺浠g爜 +CThostFtdcReqTransferField["CurrencyID"] = "string" +#杞笎閲戦 +CThostFtdcReqTransferField["TradeAmount"] = "float" +#鏈熻揣鍙彇閲戦 +CThostFtdcReqTransferField["FutureFetchAmount"] = "float" +#璐圭敤鏀粯鏍囧織 +CThostFtdcReqTransferField["FeePayFlag"] = "string" +#搴旀敹瀹㈡埛璐圭敤 +CThostFtdcReqTransferField["CustFee"] = "float" +#搴旀敹鏈熻揣鍏徃璐圭敤 +CThostFtdcReqTransferField["BrokerFee"] = "float" +#鍙戦佹柟缁欐帴鏀舵柟鐨勬秷鎭 +CThostFtdcReqTransferField["Message"] = "string" +#鎽樿 +CThostFtdcReqTransferField["Digest"] = "string" +#閾惰甯愬彿绫诲瀷 +CThostFtdcReqTransferField["BankAccType"] = "string" +#娓犻亾鏍囧織 +CThostFtdcReqTransferField["DeviceID"] = "string" +#鏈熻揣鍗曚綅甯愬彿绫诲瀷 +CThostFtdcReqTransferField["BankSecuAccType"] = "string" +#鏈熻揣鍏徃閾惰缂栫爜 +CThostFtdcReqTransferField["BrokerIDByBank"] = "string" +#鏈熻揣鍗曚綅甯愬彿 +CThostFtdcReqTransferField["BankSecuAcc"] = "string" +#閾惰瀵嗙爜鏍囧織 +CThostFtdcReqTransferField["BankPwdFlag"] = "string" +#鏈熻揣璧勯噾瀵嗙爜鏍稿鏍囧織 +CThostFtdcReqTransferField["SecuPwdFlag"] = "string" +#浜ゆ槗鏌滃憳 +CThostFtdcReqTransferField["OperNo"] = "string" +#璇锋眰缂栧彿 +CThostFtdcReqTransferField["RequestID"] = "int" +#浜ゆ槗ID +CThostFtdcReqTransferField["TID"] = "int" +#杞处浜ゆ槗鐘舵 +CThostFtdcReqTransferField["TransferStatus"] = "string" +structDict['CThostFtdcReqTransferField'] = CThostFtdcReqTransferField + + +#閾惰鍙戣捣閾惰璧勯噾杞湡璐у搷搴 +CThostFtdcRspTransferField = {} +#涓氬姟鍔熻兘鐮 +CThostFtdcRspTransferField["TradeCode"] = "string" +#閾惰浠g爜 +CThostFtdcRspTransferField["BankID"] = "string" +#閾惰鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcRspTransferField["BankBranchID"] = "string" +#鏈熷晢浠g爜 +CThostFtdcRspTransferField["BrokerID"] = "string" +#鏈熷晢鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcRspTransferField["BrokerBranchID"] = "string" +#浜ゆ槗鏃ユ湡 +CThostFtdcRspTransferField["TradeDate"] = "string" +#浜ゆ槗鏃堕棿 +CThostFtdcRspTransferField["TradeTime"] = "string" +#閾惰娴佹按鍙 +CThostFtdcRspTransferField["BankSerial"] = "string" +#浜ゆ槗绯荤粺鏃ユ湡 +CThostFtdcRspTransferField["TradingDay"] = "string" +#閾舵湡骞冲彴娑堟伅娴佹按鍙 +CThostFtdcRspTransferField["PlateSerial"] = "int" +#鏈鍚庡垎鐗囨爣蹇 +CThostFtdcRspTransferField["LastFragment"] = "string" +#浼氳瘽鍙 +CThostFtdcRspTransferField["SessionID"] = "int" +#瀹㈡埛濮撳悕 +CThostFtdcRspTransferField["CustomerName"] = "string" +#璇佷欢绫诲瀷 +CThostFtdcRspTransferField["IdCardType"] = "string" +#璇佷欢鍙风爜 +CThostFtdcRspTransferField["IdentifiedCardNo"] = "string" +#瀹㈡埛绫诲瀷 +CThostFtdcRspTransferField["CustType"] = "string" +#閾惰甯愬彿 +CThostFtdcRspTransferField["BankAccount"] = "string" +#閾惰瀵嗙爜 +CThostFtdcRspTransferField["BankPassWord"] = "string" +#鎶曡祫鑰呭笎鍙 +CThostFtdcRspTransferField["AccountID"] = "string" +#鏈熻揣瀵嗙爜 +CThostFtdcRspTransferField["Password"] = "string" +#瀹夎缂栧彿 +CThostFtdcRspTransferField["InstallID"] = "int" +#鏈熻揣鍏徃娴佹按鍙 +CThostFtdcRspTransferField["FutureSerial"] = "int" +#鐢ㄦ埛鏍囪瘑 +CThostFtdcRspTransferField["UserID"] = "string" +#楠岃瘉瀹㈡埛璇佷欢鍙风爜鏍囧織 +CThostFtdcRspTransferField["VerifyCertNoFlag"] = "string" +#甯佺浠g爜 +CThostFtdcRspTransferField["CurrencyID"] = "string" +#杞笎閲戦 +CThostFtdcRspTransferField["TradeAmount"] = "float" +#鏈熻揣鍙彇閲戦 +CThostFtdcRspTransferField["FutureFetchAmount"] = "float" +#璐圭敤鏀粯鏍囧織 +CThostFtdcRspTransferField["FeePayFlag"] = "string" +#搴旀敹瀹㈡埛璐圭敤 +CThostFtdcRspTransferField["CustFee"] = "float" +#搴旀敹鏈熻揣鍏徃璐圭敤 +CThostFtdcRspTransferField["BrokerFee"] = "float" +#鍙戦佹柟缁欐帴鏀舵柟鐨勬秷鎭 +CThostFtdcRspTransferField["Message"] = "string" +#鎽樿 +CThostFtdcRspTransferField["Digest"] = "string" +#閾惰甯愬彿绫诲瀷 +CThostFtdcRspTransferField["BankAccType"] = "string" +#娓犻亾鏍囧織 +CThostFtdcRspTransferField["DeviceID"] = "string" +#鏈熻揣鍗曚綅甯愬彿绫诲瀷 +CThostFtdcRspTransferField["BankSecuAccType"] = "string" +#鏈熻揣鍏徃閾惰缂栫爜 +CThostFtdcRspTransferField["BrokerIDByBank"] = "string" +#鏈熻揣鍗曚綅甯愬彿 +CThostFtdcRspTransferField["BankSecuAcc"] = "string" +#閾惰瀵嗙爜鏍囧織 +CThostFtdcRspTransferField["BankPwdFlag"] = "string" +#鏈熻揣璧勯噾瀵嗙爜鏍稿鏍囧織 +CThostFtdcRspTransferField["SecuPwdFlag"] = "string" +#浜ゆ槗鏌滃憳 +CThostFtdcRspTransferField["OperNo"] = "string" +#璇锋眰缂栧彿 +CThostFtdcRspTransferField["RequestID"] = "int" +#浜ゆ槗ID +CThostFtdcRspTransferField["TID"] = "int" +#杞处浜ゆ槗鐘舵 +CThostFtdcRspTransferField["TransferStatus"] = "string" +#閿欒浠g爜 +CThostFtdcRspTransferField["ErrorID"] = "int" +#閿欒淇℃伅 +CThostFtdcRspTransferField["ErrorMsg"] = "string" +structDict['CThostFtdcRspTransferField'] = CThostFtdcRspTransferField + + +#鍐叉璇锋眰 +CThostFtdcReqRepealField = {} +#鍐叉鏃堕棿闂撮殧 +CThostFtdcReqRepealField["RepealTimeInterval"] = "int" +#宸茬粡鍐叉娆℃暟 +CThostFtdcReqRepealField["RepealedTimes"] = "int" +#閾惰鍐叉鏍囧織 +CThostFtdcReqRepealField["BankRepealFlag"] = "string" +#鏈熷晢鍐叉鏍囧織 +CThostFtdcReqRepealField["BrokerRepealFlag"] = "string" +#琚啿姝e钩鍙版祦姘村彿 +CThostFtdcReqRepealField["PlateRepealSerial"] = "int" +#琚啿姝i摱琛屾祦姘村彿 +CThostFtdcReqRepealField["BankRepealSerial"] = "string" +#琚啿姝f湡璐ф祦姘村彿 +CThostFtdcReqRepealField["FutureRepealSerial"] = "int" +#涓氬姟鍔熻兘鐮 +CThostFtdcReqRepealField["TradeCode"] = "string" +#閾惰浠g爜 +CThostFtdcReqRepealField["BankID"] = "string" +#閾惰鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcReqRepealField["BankBranchID"] = "string" +#鏈熷晢浠g爜 +CThostFtdcReqRepealField["BrokerID"] = "string" +#鏈熷晢鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcReqRepealField["BrokerBranchID"] = "string" +#浜ゆ槗鏃ユ湡 +CThostFtdcReqRepealField["TradeDate"] = "string" +#浜ゆ槗鏃堕棿 +CThostFtdcReqRepealField["TradeTime"] = "string" +#閾惰娴佹按鍙 +CThostFtdcReqRepealField["BankSerial"] = "string" +#浜ゆ槗绯荤粺鏃ユ湡 +CThostFtdcReqRepealField["TradingDay"] = "string" +#閾舵湡骞冲彴娑堟伅娴佹按鍙 +CThostFtdcReqRepealField["PlateSerial"] = "int" +#鏈鍚庡垎鐗囨爣蹇 +CThostFtdcReqRepealField["LastFragment"] = "string" +#浼氳瘽鍙 +CThostFtdcReqRepealField["SessionID"] = "int" +#瀹㈡埛濮撳悕 +CThostFtdcReqRepealField["CustomerName"] = "string" +#璇佷欢绫诲瀷 +CThostFtdcReqRepealField["IdCardType"] = "string" +#璇佷欢鍙风爜 +CThostFtdcReqRepealField["IdentifiedCardNo"] = "string" +#瀹㈡埛绫诲瀷 +CThostFtdcReqRepealField["CustType"] = "string" +#閾惰甯愬彿 +CThostFtdcReqRepealField["BankAccount"] = "string" +#閾惰瀵嗙爜 +CThostFtdcReqRepealField["BankPassWord"] = "string" +#鎶曡祫鑰呭笎鍙 +CThostFtdcReqRepealField["AccountID"] = "string" +#鏈熻揣瀵嗙爜 +CThostFtdcReqRepealField["Password"] = "string" +#瀹夎缂栧彿 +CThostFtdcReqRepealField["InstallID"] = "int" +#鏈熻揣鍏徃娴佹按鍙 +CThostFtdcReqRepealField["FutureSerial"] = "int" +#鐢ㄦ埛鏍囪瘑 +CThostFtdcReqRepealField["UserID"] = "string" +#楠岃瘉瀹㈡埛璇佷欢鍙风爜鏍囧織 +CThostFtdcReqRepealField["VerifyCertNoFlag"] = "string" +#甯佺浠g爜 +CThostFtdcReqRepealField["CurrencyID"] = "string" +#杞笎閲戦 +CThostFtdcReqRepealField["TradeAmount"] = "float" +#鏈熻揣鍙彇閲戦 +CThostFtdcReqRepealField["FutureFetchAmount"] = "float" +#璐圭敤鏀粯鏍囧織 +CThostFtdcReqRepealField["FeePayFlag"] = "string" +#搴旀敹瀹㈡埛璐圭敤 +CThostFtdcReqRepealField["CustFee"] = "float" +#搴旀敹鏈熻揣鍏徃璐圭敤 +CThostFtdcReqRepealField["BrokerFee"] = "float" +#鍙戦佹柟缁欐帴鏀舵柟鐨勬秷鎭 +CThostFtdcReqRepealField["Message"] = "string" +#鎽樿 +CThostFtdcReqRepealField["Digest"] = "string" +#閾惰甯愬彿绫诲瀷 +CThostFtdcReqRepealField["BankAccType"] = "string" +#娓犻亾鏍囧織 +CThostFtdcReqRepealField["DeviceID"] = "string" +#鏈熻揣鍗曚綅甯愬彿绫诲瀷 +CThostFtdcReqRepealField["BankSecuAccType"] = "string" +#鏈熻揣鍏徃閾惰缂栫爜 +CThostFtdcReqRepealField["BrokerIDByBank"] = "string" +#鏈熻揣鍗曚綅甯愬彿 +CThostFtdcReqRepealField["BankSecuAcc"] = "string" +#閾惰瀵嗙爜鏍囧織 +CThostFtdcReqRepealField["BankPwdFlag"] = "string" +#鏈熻揣璧勯噾瀵嗙爜鏍稿鏍囧織 +CThostFtdcReqRepealField["SecuPwdFlag"] = "string" +#浜ゆ槗鏌滃憳 +CThostFtdcReqRepealField["OperNo"] = "string" +#璇锋眰缂栧彿 +CThostFtdcReqRepealField["RequestID"] = "int" +#浜ゆ槗ID +CThostFtdcReqRepealField["TID"] = "int" +#杞处浜ゆ槗鐘舵 +CThostFtdcReqRepealField["TransferStatus"] = "string" +structDict['CThostFtdcReqRepealField'] = CThostFtdcReqRepealField + + +#鍐叉鍝嶅簲 +CThostFtdcRspRepealField = {} +#鍐叉鏃堕棿闂撮殧 +CThostFtdcRspRepealField["RepealTimeInterval"] = "int" +#宸茬粡鍐叉娆℃暟 +CThostFtdcRspRepealField["RepealedTimes"] = "int" +#閾惰鍐叉鏍囧織 +CThostFtdcRspRepealField["BankRepealFlag"] = "string" +#鏈熷晢鍐叉鏍囧織 +CThostFtdcRspRepealField["BrokerRepealFlag"] = "string" +#琚啿姝e钩鍙版祦姘村彿 +CThostFtdcRspRepealField["PlateRepealSerial"] = "int" +#琚啿姝i摱琛屾祦姘村彿 +CThostFtdcRspRepealField["BankRepealSerial"] = "string" +#琚啿姝f湡璐ф祦姘村彿 +CThostFtdcRspRepealField["FutureRepealSerial"] = "int" +#涓氬姟鍔熻兘鐮 +CThostFtdcRspRepealField["TradeCode"] = "string" +#閾惰浠g爜 +CThostFtdcRspRepealField["BankID"] = "string" +#閾惰鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcRspRepealField["BankBranchID"] = "string" +#鏈熷晢浠g爜 +CThostFtdcRspRepealField["BrokerID"] = "string" +#鏈熷晢鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcRspRepealField["BrokerBranchID"] = "string" +#浜ゆ槗鏃ユ湡 +CThostFtdcRspRepealField["TradeDate"] = "string" +#浜ゆ槗鏃堕棿 +CThostFtdcRspRepealField["TradeTime"] = "string" +#閾惰娴佹按鍙 +CThostFtdcRspRepealField["BankSerial"] = "string" +#浜ゆ槗绯荤粺鏃ユ湡 +CThostFtdcRspRepealField["TradingDay"] = "string" +#閾舵湡骞冲彴娑堟伅娴佹按鍙 +CThostFtdcRspRepealField["PlateSerial"] = "int" +#鏈鍚庡垎鐗囨爣蹇 +CThostFtdcRspRepealField["LastFragment"] = "string" +#浼氳瘽鍙 +CThostFtdcRspRepealField["SessionID"] = "int" +#瀹㈡埛濮撳悕 +CThostFtdcRspRepealField["CustomerName"] = "string" +#璇佷欢绫诲瀷 +CThostFtdcRspRepealField["IdCardType"] = "string" +#璇佷欢鍙风爜 +CThostFtdcRspRepealField["IdentifiedCardNo"] = "string" +#瀹㈡埛绫诲瀷 +CThostFtdcRspRepealField["CustType"] = "string" +#閾惰甯愬彿 +CThostFtdcRspRepealField["BankAccount"] = "string" +#閾惰瀵嗙爜 +CThostFtdcRspRepealField["BankPassWord"] = "string" +#鎶曡祫鑰呭笎鍙 +CThostFtdcRspRepealField["AccountID"] = "string" +#鏈熻揣瀵嗙爜 +CThostFtdcRspRepealField["Password"] = "string" +#瀹夎缂栧彿 +CThostFtdcRspRepealField["InstallID"] = "int" +#鏈熻揣鍏徃娴佹按鍙 +CThostFtdcRspRepealField["FutureSerial"] = "int" +#鐢ㄦ埛鏍囪瘑 +CThostFtdcRspRepealField["UserID"] = "string" +#楠岃瘉瀹㈡埛璇佷欢鍙风爜鏍囧織 +CThostFtdcRspRepealField["VerifyCertNoFlag"] = "string" +#甯佺浠g爜 +CThostFtdcRspRepealField["CurrencyID"] = "string" +#杞笎閲戦 +CThostFtdcRspRepealField["TradeAmount"] = "float" +#鏈熻揣鍙彇閲戦 +CThostFtdcRspRepealField["FutureFetchAmount"] = "float" +#璐圭敤鏀粯鏍囧織 +CThostFtdcRspRepealField["FeePayFlag"] = "string" +#搴旀敹瀹㈡埛璐圭敤 +CThostFtdcRspRepealField["CustFee"] = "float" +#搴旀敹鏈熻揣鍏徃璐圭敤 +CThostFtdcRspRepealField["BrokerFee"] = "float" +#鍙戦佹柟缁欐帴鏀舵柟鐨勬秷鎭 +CThostFtdcRspRepealField["Message"] = "string" +#鎽樿 +CThostFtdcRspRepealField["Digest"] = "string" +#閾惰甯愬彿绫诲瀷 +CThostFtdcRspRepealField["BankAccType"] = "string" +#娓犻亾鏍囧織 +CThostFtdcRspRepealField["DeviceID"] = "string" +#鏈熻揣鍗曚綅甯愬彿绫诲瀷 +CThostFtdcRspRepealField["BankSecuAccType"] = "string" +#鏈熻揣鍏徃閾惰缂栫爜 +CThostFtdcRspRepealField["BrokerIDByBank"] = "string" +#鏈熻揣鍗曚綅甯愬彿 +CThostFtdcRspRepealField["BankSecuAcc"] = "string" +#閾惰瀵嗙爜鏍囧織 +CThostFtdcRspRepealField["BankPwdFlag"] = "string" +#鏈熻揣璧勯噾瀵嗙爜鏍稿鏍囧織 +CThostFtdcRspRepealField["SecuPwdFlag"] = "string" +#浜ゆ槗鏌滃憳 +CThostFtdcRspRepealField["OperNo"] = "string" +#璇锋眰缂栧彿 +CThostFtdcRspRepealField["RequestID"] = "int" +#浜ゆ槗ID +CThostFtdcRspRepealField["TID"] = "int" +#杞处浜ゆ槗鐘舵 +CThostFtdcRspRepealField["TransferStatus"] = "string" +#閿欒浠g爜 +CThostFtdcRspRepealField["ErrorID"] = "int" +#閿欒淇℃伅 +CThostFtdcRspRepealField["ErrorMsg"] = "string" +structDict['CThostFtdcRspRepealField'] = CThostFtdcRspRepealField + + +#鏌ヨ璐︽埛淇℃伅璇锋眰 +CThostFtdcReqQueryAccountField = {} +#涓氬姟鍔熻兘鐮 +CThostFtdcReqQueryAccountField["TradeCode"] = "string" +#閾惰浠g爜 +CThostFtdcReqQueryAccountField["BankID"] = "string" +#閾惰鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcReqQueryAccountField["BankBranchID"] = "string" +#鏈熷晢浠g爜 +CThostFtdcReqQueryAccountField["BrokerID"] = "string" +#鏈熷晢鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcReqQueryAccountField["BrokerBranchID"] = "string" +#浜ゆ槗鏃ユ湡 +CThostFtdcReqQueryAccountField["TradeDate"] = "string" +#浜ゆ槗鏃堕棿 +CThostFtdcReqQueryAccountField["TradeTime"] = "string" +#閾惰娴佹按鍙 +CThostFtdcReqQueryAccountField["BankSerial"] = "string" +#浜ゆ槗绯荤粺鏃ユ湡 +CThostFtdcReqQueryAccountField["TradingDay"] = "string" +#閾舵湡骞冲彴娑堟伅娴佹按鍙 +CThostFtdcReqQueryAccountField["PlateSerial"] = "int" +#鏈鍚庡垎鐗囨爣蹇 +CThostFtdcReqQueryAccountField["LastFragment"] = "string" +#浼氳瘽鍙 +CThostFtdcReqQueryAccountField["SessionID"] = "int" +#瀹㈡埛濮撳悕 +CThostFtdcReqQueryAccountField["CustomerName"] = "string" +#璇佷欢绫诲瀷 +CThostFtdcReqQueryAccountField["IdCardType"] = "string" +#璇佷欢鍙风爜 +CThostFtdcReqQueryAccountField["IdentifiedCardNo"] = "string" +#瀹㈡埛绫诲瀷 +CThostFtdcReqQueryAccountField["CustType"] = "string" +#閾惰甯愬彿 +CThostFtdcReqQueryAccountField["BankAccount"] = "string" +#閾惰瀵嗙爜 +CThostFtdcReqQueryAccountField["BankPassWord"] = "string" +#鎶曡祫鑰呭笎鍙 +CThostFtdcReqQueryAccountField["AccountID"] = "string" +#鏈熻揣瀵嗙爜 +CThostFtdcReqQueryAccountField["Password"] = "string" +#鏈熻揣鍏徃娴佹按鍙 +CThostFtdcReqQueryAccountField["FutureSerial"] = "int" +#瀹夎缂栧彿 +CThostFtdcReqQueryAccountField["InstallID"] = "int" +#鐢ㄦ埛鏍囪瘑 +CThostFtdcReqQueryAccountField["UserID"] = "string" +#楠岃瘉瀹㈡埛璇佷欢鍙风爜鏍囧織 +CThostFtdcReqQueryAccountField["VerifyCertNoFlag"] = "string" +#甯佺浠g爜 +CThostFtdcReqQueryAccountField["CurrencyID"] = "string" +#鎽樿 +CThostFtdcReqQueryAccountField["Digest"] = "string" +#閾惰甯愬彿绫诲瀷 +CThostFtdcReqQueryAccountField["BankAccType"] = "string" +#娓犻亾鏍囧織 +CThostFtdcReqQueryAccountField["DeviceID"] = "string" +#鏈熻揣鍗曚綅甯愬彿绫诲瀷 +CThostFtdcReqQueryAccountField["BankSecuAccType"] = "string" +#鏈熻揣鍏徃閾惰缂栫爜 +CThostFtdcReqQueryAccountField["BrokerIDByBank"] = "string" +#鏈熻揣鍗曚綅甯愬彿 +CThostFtdcReqQueryAccountField["BankSecuAcc"] = "string" +#閾惰瀵嗙爜鏍囧織 +CThostFtdcReqQueryAccountField["BankPwdFlag"] = "string" +#鏈熻揣璧勯噾瀵嗙爜鏍稿鏍囧織 +CThostFtdcReqQueryAccountField["SecuPwdFlag"] = "string" +#浜ゆ槗鏌滃憳 +CThostFtdcReqQueryAccountField["OperNo"] = "string" +#璇锋眰缂栧彿 +CThostFtdcReqQueryAccountField["RequestID"] = "int" +#浜ゆ槗ID +CThostFtdcReqQueryAccountField["TID"] = "int" +structDict['CThostFtdcReqQueryAccountField'] = CThostFtdcReqQueryAccountField + + +#鏌ヨ璐︽埛淇℃伅鍝嶅簲 +CThostFtdcRspQueryAccountField = {} +#涓氬姟鍔熻兘鐮 +CThostFtdcRspQueryAccountField["TradeCode"] = "string" +#閾惰浠g爜 +CThostFtdcRspQueryAccountField["BankID"] = "string" +#閾惰鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcRspQueryAccountField["BankBranchID"] = "string" +#鏈熷晢浠g爜 +CThostFtdcRspQueryAccountField["BrokerID"] = "string" +#鏈熷晢鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcRspQueryAccountField["BrokerBranchID"] = "string" +#浜ゆ槗鏃ユ湡 +CThostFtdcRspQueryAccountField["TradeDate"] = "string" +#浜ゆ槗鏃堕棿 +CThostFtdcRspQueryAccountField["TradeTime"] = "string" +#閾惰娴佹按鍙 +CThostFtdcRspQueryAccountField["BankSerial"] = "string" +#浜ゆ槗绯荤粺鏃ユ湡 +CThostFtdcRspQueryAccountField["TradingDay"] = "string" +#閾舵湡骞冲彴娑堟伅娴佹按鍙 +CThostFtdcRspQueryAccountField["PlateSerial"] = "int" +#鏈鍚庡垎鐗囨爣蹇 +CThostFtdcRspQueryAccountField["LastFragment"] = "string" +#浼氳瘽鍙 +CThostFtdcRspQueryAccountField["SessionID"] = "int" +#瀹㈡埛濮撳悕 +CThostFtdcRspQueryAccountField["CustomerName"] = "string" +#璇佷欢绫诲瀷 +CThostFtdcRspQueryAccountField["IdCardType"] = "string" +#璇佷欢鍙风爜 +CThostFtdcRspQueryAccountField["IdentifiedCardNo"] = "string" +#瀹㈡埛绫诲瀷 +CThostFtdcRspQueryAccountField["CustType"] = "string" +#閾惰甯愬彿 +CThostFtdcRspQueryAccountField["BankAccount"] = "string" +#閾惰瀵嗙爜 +CThostFtdcRspQueryAccountField["BankPassWord"] = "string" +#鎶曡祫鑰呭笎鍙 +CThostFtdcRspQueryAccountField["AccountID"] = "string" +#鏈熻揣瀵嗙爜 +CThostFtdcRspQueryAccountField["Password"] = "string" +#鏈熻揣鍏徃娴佹按鍙 +CThostFtdcRspQueryAccountField["FutureSerial"] = "int" +#瀹夎缂栧彿 +CThostFtdcRspQueryAccountField["InstallID"] = "int" +#鐢ㄦ埛鏍囪瘑 +CThostFtdcRspQueryAccountField["UserID"] = "string" +#楠岃瘉瀹㈡埛璇佷欢鍙风爜鏍囧織 +CThostFtdcRspQueryAccountField["VerifyCertNoFlag"] = "string" +#甯佺浠g爜 +CThostFtdcRspQueryAccountField["CurrencyID"] = "string" +#鎽樿 +CThostFtdcRspQueryAccountField["Digest"] = "string" +#閾惰甯愬彿绫诲瀷 +CThostFtdcRspQueryAccountField["BankAccType"] = "string" +#娓犻亾鏍囧織 +CThostFtdcRspQueryAccountField["DeviceID"] = "string" +#鏈熻揣鍗曚綅甯愬彿绫诲瀷 +CThostFtdcRspQueryAccountField["BankSecuAccType"] = "string" +#鏈熻揣鍏徃閾惰缂栫爜 +CThostFtdcRspQueryAccountField["BrokerIDByBank"] = "string" +#鏈熻揣鍗曚綅甯愬彿 +CThostFtdcRspQueryAccountField["BankSecuAcc"] = "string" +#閾惰瀵嗙爜鏍囧織 +CThostFtdcRspQueryAccountField["BankPwdFlag"] = "string" +#鏈熻揣璧勯噾瀵嗙爜鏍稿鏍囧織 +CThostFtdcRspQueryAccountField["SecuPwdFlag"] = "string" +#浜ゆ槗鏌滃憳 +CThostFtdcRspQueryAccountField["OperNo"] = "string" +#璇锋眰缂栧彿 +CThostFtdcRspQueryAccountField["RequestID"] = "int" +#浜ゆ槗ID +CThostFtdcRspQueryAccountField["TID"] = "int" +#閾惰鍙敤閲戦 +CThostFtdcRspQueryAccountField["BankUseAmount"] = "float" +#閾惰鍙彇閲戦 +CThostFtdcRspQueryAccountField["BankFetchAmount"] = "float" +structDict['CThostFtdcRspQueryAccountField'] = CThostFtdcRspQueryAccountField + + +#鏈熷晢绛惧埌绛鹃 +CThostFtdcFutureSignIOField = {} +#涓氬姟鍔熻兘鐮 +CThostFtdcFutureSignIOField["TradeCode"] = "string" +#閾惰浠g爜 +CThostFtdcFutureSignIOField["BankID"] = "string" +#閾惰鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcFutureSignIOField["BankBranchID"] = "string" +#鏈熷晢浠g爜 +CThostFtdcFutureSignIOField["BrokerID"] = "string" +#鏈熷晢鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcFutureSignIOField["BrokerBranchID"] = "string" +#浜ゆ槗鏃ユ湡 +CThostFtdcFutureSignIOField["TradeDate"] = "string" +#浜ゆ槗鏃堕棿 +CThostFtdcFutureSignIOField["TradeTime"] = "string" +#閾惰娴佹按鍙 +CThostFtdcFutureSignIOField["BankSerial"] = "string" +#浜ゆ槗绯荤粺鏃ユ湡 +CThostFtdcFutureSignIOField["TradingDay"] = "string" +#閾舵湡骞冲彴娑堟伅娴佹按鍙 +CThostFtdcFutureSignIOField["PlateSerial"] = "int" +#鏈鍚庡垎鐗囨爣蹇 +CThostFtdcFutureSignIOField["LastFragment"] = "string" +#浼氳瘽鍙 +CThostFtdcFutureSignIOField["SessionID"] = "int" +#瀹夎缂栧彿 +CThostFtdcFutureSignIOField["InstallID"] = "int" +#鐢ㄦ埛鏍囪瘑 +CThostFtdcFutureSignIOField["UserID"] = "string" +#鎽樿 +CThostFtdcFutureSignIOField["Digest"] = "string" +#甯佺浠g爜 +CThostFtdcFutureSignIOField["CurrencyID"] = "string" +#娓犻亾鏍囧織 +CThostFtdcFutureSignIOField["DeviceID"] = "string" +#鏈熻揣鍏徃閾惰缂栫爜 +CThostFtdcFutureSignIOField["BrokerIDByBank"] = "string" +#浜ゆ槗鏌滃憳 +CThostFtdcFutureSignIOField["OperNo"] = "string" +#璇锋眰缂栧彿 +CThostFtdcFutureSignIOField["RequestID"] = "int" +#浜ゆ槗ID +CThostFtdcFutureSignIOField["TID"] = "int" +structDict['CThostFtdcFutureSignIOField'] = CThostFtdcFutureSignIOField + + +#鏈熷晢绛惧埌鍝嶅簲 +CThostFtdcRspFutureSignInField = {} +#涓氬姟鍔熻兘鐮 +CThostFtdcRspFutureSignInField["TradeCode"] = "string" +#閾惰浠g爜 +CThostFtdcRspFutureSignInField["BankID"] = "string" +#閾惰鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcRspFutureSignInField["BankBranchID"] = "string" +#鏈熷晢浠g爜 +CThostFtdcRspFutureSignInField["BrokerID"] = "string" +#鏈熷晢鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcRspFutureSignInField["BrokerBranchID"] = "string" +#浜ゆ槗鏃ユ湡 +CThostFtdcRspFutureSignInField["TradeDate"] = "string" +#浜ゆ槗鏃堕棿 +CThostFtdcRspFutureSignInField["TradeTime"] = "string" +#閾惰娴佹按鍙 +CThostFtdcRspFutureSignInField["BankSerial"] = "string" +#浜ゆ槗绯荤粺鏃ユ湡 +CThostFtdcRspFutureSignInField["TradingDay"] = "string" +#閾舵湡骞冲彴娑堟伅娴佹按鍙 +CThostFtdcRspFutureSignInField["PlateSerial"] = "int" +#鏈鍚庡垎鐗囨爣蹇 +CThostFtdcRspFutureSignInField["LastFragment"] = "string" +#浼氳瘽鍙 +CThostFtdcRspFutureSignInField["SessionID"] = "int" +#瀹夎缂栧彿 +CThostFtdcRspFutureSignInField["InstallID"] = "int" +#鐢ㄦ埛鏍囪瘑 +CThostFtdcRspFutureSignInField["UserID"] = "string" +#鎽樿 +CThostFtdcRspFutureSignInField["Digest"] = "string" +#甯佺浠g爜 +CThostFtdcRspFutureSignInField["CurrencyID"] = "string" +#娓犻亾鏍囧織 +CThostFtdcRspFutureSignInField["DeviceID"] = "string" +#鏈熻揣鍏徃閾惰缂栫爜 +CThostFtdcRspFutureSignInField["BrokerIDByBank"] = "string" +#浜ゆ槗鏌滃憳 +CThostFtdcRspFutureSignInField["OperNo"] = "string" +#璇锋眰缂栧彿 +CThostFtdcRspFutureSignInField["RequestID"] = "int" +#浜ゆ槗ID +CThostFtdcRspFutureSignInField["TID"] = "int" +#閿欒浠g爜 +CThostFtdcRspFutureSignInField["ErrorID"] = "int" +#閿欒淇℃伅 +CThostFtdcRspFutureSignInField["ErrorMsg"] = "string" +#PIN瀵嗛挜 +CThostFtdcRspFutureSignInField["PinKey"] = "string" +#MAC瀵嗛挜 +CThostFtdcRspFutureSignInField["MacKey"] = "string" +structDict['CThostFtdcRspFutureSignInField'] = CThostFtdcRspFutureSignInField + + +#鏈熷晢绛鹃璇锋眰 +CThostFtdcReqFutureSignOutField = {} +#涓氬姟鍔熻兘鐮 +CThostFtdcReqFutureSignOutField["TradeCode"] = "string" +#閾惰浠g爜 +CThostFtdcReqFutureSignOutField["BankID"] = "string" +#閾惰鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcReqFutureSignOutField["BankBranchID"] = "string" +#鏈熷晢浠g爜 +CThostFtdcReqFutureSignOutField["BrokerID"] = "string" +#鏈熷晢鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcReqFutureSignOutField["BrokerBranchID"] = "string" +#浜ゆ槗鏃ユ湡 +CThostFtdcReqFutureSignOutField["TradeDate"] = "string" +#浜ゆ槗鏃堕棿 +CThostFtdcReqFutureSignOutField["TradeTime"] = "string" +#閾惰娴佹按鍙 +CThostFtdcReqFutureSignOutField["BankSerial"] = "string" +#浜ゆ槗绯荤粺鏃ユ湡 +CThostFtdcReqFutureSignOutField["TradingDay"] = "string" +#閾舵湡骞冲彴娑堟伅娴佹按鍙 +CThostFtdcReqFutureSignOutField["PlateSerial"] = "int" +#鏈鍚庡垎鐗囨爣蹇 +CThostFtdcReqFutureSignOutField["LastFragment"] = "string" +#浼氳瘽鍙 +CThostFtdcReqFutureSignOutField["SessionID"] = "int" +#瀹夎缂栧彿 +CThostFtdcReqFutureSignOutField["InstallID"] = "int" +#鐢ㄦ埛鏍囪瘑 +CThostFtdcReqFutureSignOutField["UserID"] = "string" +#鎽樿 +CThostFtdcReqFutureSignOutField["Digest"] = "string" +#甯佺浠g爜 +CThostFtdcReqFutureSignOutField["CurrencyID"] = "string" +#娓犻亾鏍囧織 +CThostFtdcReqFutureSignOutField["DeviceID"] = "string" +#鏈熻揣鍏徃閾惰缂栫爜 +CThostFtdcReqFutureSignOutField["BrokerIDByBank"] = "string" +#浜ゆ槗鏌滃憳 +CThostFtdcReqFutureSignOutField["OperNo"] = "string" +#璇锋眰缂栧彿 +CThostFtdcReqFutureSignOutField["RequestID"] = "int" +#浜ゆ槗ID +CThostFtdcReqFutureSignOutField["TID"] = "int" +structDict['CThostFtdcReqFutureSignOutField'] = CThostFtdcReqFutureSignOutField + + +#鏈熷晢绛鹃鍝嶅簲 +CThostFtdcRspFutureSignOutField = {} +#涓氬姟鍔熻兘鐮 +CThostFtdcRspFutureSignOutField["TradeCode"] = "string" +#閾惰浠g爜 +CThostFtdcRspFutureSignOutField["BankID"] = "string" +#閾惰鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcRspFutureSignOutField["BankBranchID"] = "string" +#鏈熷晢浠g爜 +CThostFtdcRspFutureSignOutField["BrokerID"] = "string" +#鏈熷晢鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcRspFutureSignOutField["BrokerBranchID"] = "string" +#浜ゆ槗鏃ユ湡 +CThostFtdcRspFutureSignOutField["TradeDate"] = "string" +#浜ゆ槗鏃堕棿 +CThostFtdcRspFutureSignOutField["TradeTime"] = "string" +#閾惰娴佹按鍙 +CThostFtdcRspFutureSignOutField["BankSerial"] = "string" +#浜ゆ槗绯荤粺鏃ユ湡 +CThostFtdcRspFutureSignOutField["TradingDay"] = "string" +#閾舵湡骞冲彴娑堟伅娴佹按鍙 +CThostFtdcRspFutureSignOutField["PlateSerial"] = "int" +#鏈鍚庡垎鐗囨爣蹇 +CThostFtdcRspFutureSignOutField["LastFragment"] = "string" +#浼氳瘽鍙 +CThostFtdcRspFutureSignOutField["SessionID"] = "int" +#瀹夎缂栧彿 +CThostFtdcRspFutureSignOutField["InstallID"] = "int" +#鐢ㄦ埛鏍囪瘑 +CThostFtdcRspFutureSignOutField["UserID"] = "string" +#鎽樿 +CThostFtdcRspFutureSignOutField["Digest"] = "string" +#甯佺浠g爜 +CThostFtdcRspFutureSignOutField["CurrencyID"] = "string" +#娓犻亾鏍囧織 +CThostFtdcRspFutureSignOutField["DeviceID"] = "string" +#鏈熻揣鍏徃閾惰缂栫爜 +CThostFtdcRspFutureSignOutField["BrokerIDByBank"] = "string" +#浜ゆ槗鏌滃憳 +CThostFtdcRspFutureSignOutField["OperNo"] = "string" +#璇锋眰缂栧彿 +CThostFtdcRspFutureSignOutField["RequestID"] = "int" +#浜ゆ槗ID +CThostFtdcRspFutureSignOutField["TID"] = "int" +#閿欒浠g爜 +CThostFtdcRspFutureSignOutField["ErrorID"] = "int" +#閿欒淇℃伅 +CThostFtdcRspFutureSignOutField["ErrorMsg"] = "string" +structDict['CThostFtdcRspFutureSignOutField'] = CThostFtdcRspFutureSignOutField + + +#鏌ヨ鎸囧畾娴佹按鍙风殑浜ゆ槗缁撴灉璇锋眰 +CThostFtdcReqQueryTradeResultBySerialField = {} +#涓氬姟鍔熻兘鐮 +CThostFtdcReqQueryTradeResultBySerialField["TradeCode"] = "string" +#閾惰浠g爜 +CThostFtdcReqQueryTradeResultBySerialField["BankID"] = "string" +#閾惰鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcReqQueryTradeResultBySerialField["BankBranchID"] = "string" +#鏈熷晢浠g爜 +CThostFtdcReqQueryTradeResultBySerialField["BrokerID"] = "string" +#鏈熷晢鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcReqQueryTradeResultBySerialField["BrokerBranchID"] = "string" +#浜ゆ槗鏃ユ湡 +CThostFtdcReqQueryTradeResultBySerialField["TradeDate"] = "string" +#浜ゆ槗鏃堕棿 +CThostFtdcReqQueryTradeResultBySerialField["TradeTime"] = "string" +#閾惰娴佹按鍙 +CThostFtdcReqQueryTradeResultBySerialField["BankSerial"] = "string" +#浜ゆ槗绯荤粺鏃ユ湡 +CThostFtdcReqQueryTradeResultBySerialField["TradingDay"] = "string" +#閾舵湡骞冲彴娑堟伅娴佹按鍙 +CThostFtdcReqQueryTradeResultBySerialField["PlateSerial"] = "int" +#鏈鍚庡垎鐗囨爣蹇 +CThostFtdcReqQueryTradeResultBySerialField["LastFragment"] = "string" +#浼氳瘽鍙 +CThostFtdcReqQueryTradeResultBySerialField["SessionID"] = "int" +#娴佹按鍙 +CThostFtdcReqQueryTradeResultBySerialField["Reference"] = "int" +#鏈祦姘村彿鍙戝竷鑰呯殑鏈烘瀯绫诲瀷 +CThostFtdcReqQueryTradeResultBySerialField["RefrenceIssureType"] = "string" +#鏈祦姘村彿鍙戝竷鑰呮満鏋勭紪鐮 +CThostFtdcReqQueryTradeResultBySerialField["RefrenceIssure"] = "string" +#瀹㈡埛濮撳悕 +CThostFtdcReqQueryTradeResultBySerialField["CustomerName"] = "string" +#璇佷欢绫诲瀷 +CThostFtdcReqQueryTradeResultBySerialField["IdCardType"] = "string" +#璇佷欢鍙风爜 +CThostFtdcReqQueryTradeResultBySerialField["IdentifiedCardNo"] = "string" +#瀹㈡埛绫诲瀷 +CThostFtdcReqQueryTradeResultBySerialField["CustType"] = "string" +#閾惰甯愬彿 +CThostFtdcReqQueryTradeResultBySerialField["BankAccount"] = "string" +#閾惰瀵嗙爜 +CThostFtdcReqQueryTradeResultBySerialField["BankPassWord"] = "string" +#鎶曡祫鑰呭笎鍙 +CThostFtdcReqQueryTradeResultBySerialField["AccountID"] = "string" +#鏈熻揣瀵嗙爜 +CThostFtdcReqQueryTradeResultBySerialField["Password"] = "string" +#甯佺浠g爜 +CThostFtdcReqQueryTradeResultBySerialField["CurrencyID"] = "string" +#杞笎閲戦 +CThostFtdcReqQueryTradeResultBySerialField["TradeAmount"] = "float" +#鎽樿 +CThostFtdcReqQueryTradeResultBySerialField["Digest"] = "string" +structDict['CThostFtdcReqQueryTradeResultBySerialField'] = CThostFtdcReqQueryTradeResultBySerialField + + +#鏌ヨ鎸囧畾娴佹按鍙风殑浜ゆ槗缁撴灉鍝嶅簲 +CThostFtdcRspQueryTradeResultBySerialField = {} +#涓氬姟鍔熻兘鐮 +CThostFtdcRspQueryTradeResultBySerialField["TradeCode"] = "string" +#閾惰浠g爜 +CThostFtdcRspQueryTradeResultBySerialField["BankID"] = "string" +#閾惰鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcRspQueryTradeResultBySerialField["BankBranchID"] = "string" +#鏈熷晢浠g爜 +CThostFtdcRspQueryTradeResultBySerialField["BrokerID"] = "string" +#鏈熷晢鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcRspQueryTradeResultBySerialField["BrokerBranchID"] = "string" +#浜ゆ槗鏃ユ湡 +CThostFtdcRspQueryTradeResultBySerialField["TradeDate"] = "string" +#浜ゆ槗鏃堕棿 +CThostFtdcRspQueryTradeResultBySerialField["TradeTime"] = "string" +#閾惰娴佹按鍙 +CThostFtdcRspQueryTradeResultBySerialField["BankSerial"] = "string" +#浜ゆ槗绯荤粺鏃ユ湡 +CThostFtdcRspQueryTradeResultBySerialField["TradingDay"] = "string" +#閾舵湡骞冲彴娑堟伅娴佹按鍙 +CThostFtdcRspQueryTradeResultBySerialField["PlateSerial"] = "int" +#鏈鍚庡垎鐗囨爣蹇 +CThostFtdcRspQueryTradeResultBySerialField["LastFragment"] = "string" +#浼氳瘽鍙 +CThostFtdcRspQueryTradeResultBySerialField["SessionID"] = "int" +#閿欒浠g爜 +CThostFtdcRspQueryTradeResultBySerialField["ErrorID"] = "int" +#閿欒淇℃伅 +CThostFtdcRspQueryTradeResultBySerialField["ErrorMsg"] = "string" +#娴佹按鍙 +CThostFtdcRspQueryTradeResultBySerialField["Reference"] = "int" +#鏈祦姘村彿鍙戝竷鑰呯殑鏈烘瀯绫诲瀷 +CThostFtdcRspQueryTradeResultBySerialField["RefrenceIssureType"] = "string" +#鏈祦姘村彿鍙戝竷鑰呮満鏋勭紪鐮 +CThostFtdcRspQueryTradeResultBySerialField["RefrenceIssure"] = "string" +#鍘熷杩斿洖浠g爜 +CThostFtdcRspQueryTradeResultBySerialField["OriginReturnCode"] = "string" +#鍘熷杩斿洖鐮佹弿杩 +CThostFtdcRspQueryTradeResultBySerialField["OriginDescrInfoForReturnCode"] = "string" +#閾惰甯愬彿 +CThostFtdcRspQueryTradeResultBySerialField["BankAccount"] = "string" +#閾惰瀵嗙爜 +CThostFtdcRspQueryTradeResultBySerialField["BankPassWord"] = "string" +#鎶曡祫鑰呭笎鍙 +CThostFtdcRspQueryTradeResultBySerialField["AccountID"] = "string" +#鏈熻揣瀵嗙爜 +CThostFtdcRspQueryTradeResultBySerialField["Password"] = "string" +#甯佺浠g爜 +CThostFtdcRspQueryTradeResultBySerialField["CurrencyID"] = "string" +#杞笎閲戦 +CThostFtdcRspQueryTradeResultBySerialField["TradeAmount"] = "float" +#鎽樿 +CThostFtdcRspQueryTradeResultBySerialField["Digest"] = "string" +structDict['CThostFtdcRspQueryTradeResultBySerialField'] = CThostFtdcRspQueryTradeResultBySerialField + + +#鏃ョ粓鏂囦欢灏辩华璇锋眰 +CThostFtdcReqDayEndFileReadyField = {} +#涓氬姟鍔熻兘鐮 +CThostFtdcReqDayEndFileReadyField["TradeCode"] = "string" +#閾惰浠g爜 +CThostFtdcReqDayEndFileReadyField["BankID"] = "string" +#閾惰鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcReqDayEndFileReadyField["BankBranchID"] = "string" +#鏈熷晢浠g爜 +CThostFtdcReqDayEndFileReadyField["BrokerID"] = "string" +#鏈熷晢鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcReqDayEndFileReadyField["BrokerBranchID"] = "string" +#浜ゆ槗鏃ユ湡 +CThostFtdcReqDayEndFileReadyField["TradeDate"] = "string" +#浜ゆ槗鏃堕棿 +CThostFtdcReqDayEndFileReadyField["TradeTime"] = "string" +#閾惰娴佹按鍙 +CThostFtdcReqDayEndFileReadyField["BankSerial"] = "string" +#浜ゆ槗绯荤粺鏃ユ湡 +CThostFtdcReqDayEndFileReadyField["TradingDay"] = "string" +#閾舵湡骞冲彴娑堟伅娴佹按鍙 +CThostFtdcReqDayEndFileReadyField["PlateSerial"] = "int" +#鏈鍚庡垎鐗囨爣蹇 +CThostFtdcReqDayEndFileReadyField["LastFragment"] = "string" +#浼氳瘽鍙 +CThostFtdcReqDayEndFileReadyField["SessionID"] = "int" +#鏂囦欢涓氬姟鍔熻兘 +CThostFtdcReqDayEndFileReadyField["FileBusinessCode"] = "string" +#鎽樿 +CThostFtdcReqDayEndFileReadyField["Digest"] = "string" +structDict['CThostFtdcReqDayEndFileReadyField'] = CThostFtdcReqDayEndFileReadyField + + +#杩斿洖缁撴灉 +CThostFtdcReturnResultField = {} +#杩斿洖浠g爜 +CThostFtdcReturnResultField["ReturnCode"] = "string" +#杩斿洖鐮佹弿杩 +CThostFtdcReturnResultField["DescrInfoForReturnCode"] = "string" +structDict['CThostFtdcReturnResultField'] = CThostFtdcReturnResultField + + +#楠岃瘉鏈熻揣璧勯噾瀵嗙爜 +CThostFtdcVerifyFuturePasswordField = {} +#涓氬姟鍔熻兘鐮 +CThostFtdcVerifyFuturePasswordField["TradeCode"] = "string" +#閾惰浠g爜 +CThostFtdcVerifyFuturePasswordField["BankID"] = "string" +#閾惰鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcVerifyFuturePasswordField["BankBranchID"] = "string" +#鏈熷晢浠g爜 +CThostFtdcVerifyFuturePasswordField["BrokerID"] = "string" +#鏈熷晢鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcVerifyFuturePasswordField["BrokerBranchID"] = "string" +#浜ゆ槗鏃ユ湡 +CThostFtdcVerifyFuturePasswordField["TradeDate"] = "string" +#浜ゆ槗鏃堕棿 +CThostFtdcVerifyFuturePasswordField["TradeTime"] = "string" +#閾惰娴佹按鍙 +CThostFtdcVerifyFuturePasswordField["BankSerial"] = "string" +#浜ゆ槗绯荤粺鏃ユ湡 +CThostFtdcVerifyFuturePasswordField["TradingDay"] = "string" +#閾舵湡骞冲彴娑堟伅娴佹按鍙 +CThostFtdcVerifyFuturePasswordField["PlateSerial"] = "int" +#鏈鍚庡垎鐗囨爣蹇 +CThostFtdcVerifyFuturePasswordField["LastFragment"] = "string" +#浼氳瘽鍙 +CThostFtdcVerifyFuturePasswordField["SessionID"] = "int" +#鎶曡祫鑰呭笎鍙 +CThostFtdcVerifyFuturePasswordField["AccountID"] = "string" +#鏈熻揣瀵嗙爜 +CThostFtdcVerifyFuturePasswordField["Password"] = "string" +#閾惰甯愬彿 +CThostFtdcVerifyFuturePasswordField["BankAccount"] = "string" +#閾惰瀵嗙爜 +CThostFtdcVerifyFuturePasswordField["BankPassWord"] = "string" +#瀹夎缂栧彿 +CThostFtdcVerifyFuturePasswordField["InstallID"] = "int" +#浜ゆ槗ID +CThostFtdcVerifyFuturePasswordField["TID"] = "int" +#甯佺浠g爜 +CThostFtdcVerifyFuturePasswordField["CurrencyID"] = "string" +structDict['CThostFtdcVerifyFuturePasswordField'] = CThostFtdcVerifyFuturePasswordField + + +#楠岃瘉瀹㈡埛淇℃伅 +CThostFtdcVerifyCustInfoField = {} +#瀹㈡埛濮撳悕 +CThostFtdcVerifyCustInfoField["CustomerName"] = "string" +#璇佷欢绫诲瀷 +CThostFtdcVerifyCustInfoField["IdCardType"] = "string" +#璇佷欢鍙风爜 +CThostFtdcVerifyCustInfoField["IdentifiedCardNo"] = "string" +#瀹㈡埛绫诲瀷 +CThostFtdcVerifyCustInfoField["CustType"] = "string" +structDict['CThostFtdcVerifyCustInfoField'] = CThostFtdcVerifyCustInfoField + + +#楠岃瘉鏈熻揣璧勯噾瀵嗙爜鍜屽鎴蜂俊鎭 +CThostFtdcVerifyFuturePasswordAndCustInfoField = {} +#瀹㈡埛濮撳悕 +CThostFtdcVerifyFuturePasswordAndCustInfoField["CustomerName"] = "string" +#璇佷欢绫诲瀷 +CThostFtdcVerifyFuturePasswordAndCustInfoField["IdCardType"] = "string" +#璇佷欢鍙风爜 +CThostFtdcVerifyFuturePasswordAndCustInfoField["IdentifiedCardNo"] = "string" +#瀹㈡埛绫诲瀷 +CThostFtdcVerifyFuturePasswordAndCustInfoField["CustType"] = "string" +#鎶曡祫鑰呭笎鍙 +CThostFtdcVerifyFuturePasswordAndCustInfoField["AccountID"] = "string" +#鏈熻揣瀵嗙爜 +CThostFtdcVerifyFuturePasswordAndCustInfoField["Password"] = "string" +#甯佺浠g爜 +CThostFtdcVerifyFuturePasswordAndCustInfoField["CurrencyID"] = "string" +structDict['CThostFtdcVerifyFuturePasswordAndCustInfoField'] = CThostFtdcVerifyFuturePasswordAndCustInfoField + + +#楠岃瘉鏈熻揣璧勯噾瀵嗙爜鍜屽鎴蜂俊鎭 +CThostFtdcDepositResultInformField = {} +#鍑哄叆閲戞祦姘村彿锛岃娴佹按鍙蜂负閾舵湡鎶ョ洏杩斿洖鐨勬祦姘村彿 +CThostFtdcDepositResultInformField["DepositSeqNo"] = "string" +#缁忕邯鍏徃浠g爜 +CThostFtdcDepositResultInformField["BrokerID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcDepositResultInformField["InvestorID"] = "string" +#鍏ラ噾閲戦 +CThostFtdcDepositResultInformField["Deposit"] = "float" +#璇锋眰缂栧彿 +CThostFtdcDepositResultInformField["RequestID"] = "int" +#杩斿洖浠g爜 +CThostFtdcDepositResultInformField["ReturnCode"] = "string" +#杩斿洖鐮佹弿杩 +CThostFtdcDepositResultInformField["DescrInfoForReturnCode"] = "string" +structDict['CThostFtdcDepositResultInformField'] = CThostFtdcDepositResultInformField + + +#浜ゆ槗鏍稿績鍚戦摱鏈熸姤鐩樺彂鍑哄瘑閽ュ悓姝ヨ姹 +CThostFtdcReqSyncKeyField = {} +#涓氬姟鍔熻兘鐮 +CThostFtdcReqSyncKeyField["TradeCode"] = "string" +#閾惰浠g爜 +CThostFtdcReqSyncKeyField["BankID"] = "string" +#閾惰鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcReqSyncKeyField["BankBranchID"] = "string" +#鏈熷晢浠g爜 +CThostFtdcReqSyncKeyField["BrokerID"] = "string" +#鏈熷晢鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcReqSyncKeyField["BrokerBranchID"] = "string" +#浜ゆ槗鏃ユ湡 +CThostFtdcReqSyncKeyField["TradeDate"] = "string" +#浜ゆ槗鏃堕棿 +CThostFtdcReqSyncKeyField["TradeTime"] = "string" +#閾惰娴佹按鍙 +CThostFtdcReqSyncKeyField["BankSerial"] = "string" +#浜ゆ槗绯荤粺鏃ユ湡 +CThostFtdcReqSyncKeyField["TradingDay"] = "string" +#閾舵湡骞冲彴娑堟伅娴佹按鍙 +CThostFtdcReqSyncKeyField["PlateSerial"] = "int" +#鏈鍚庡垎鐗囨爣蹇 +CThostFtdcReqSyncKeyField["LastFragment"] = "string" +#浼氳瘽鍙 +CThostFtdcReqSyncKeyField["SessionID"] = "int" +#瀹夎缂栧彿 +CThostFtdcReqSyncKeyField["InstallID"] = "int" +#鐢ㄦ埛鏍囪瘑 +CThostFtdcReqSyncKeyField["UserID"] = "string" +#浜ゆ槗鏍稿績缁欓摱鏈熸姤鐩樼殑娑堟伅 +CThostFtdcReqSyncKeyField["Message"] = "string" +#娓犻亾鏍囧織 +CThostFtdcReqSyncKeyField["DeviceID"] = "string" +#鏈熻揣鍏徃閾惰缂栫爜 +CThostFtdcReqSyncKeyField["BrokerIDByBank"] = "string" +#浜ゆ槗鏌滃憳 +CThostFtdcReqSyncKeyField["OperNo"] = "string" +#璇锋眰缂栧彿 +CThostFtdcReqSyncKeyField["RequestID"] = "int" +#浜ゆ槗ID +CThostFtdcReqSyncKeyField["TID"] = "int" +structDict['CThostFtdcReqSyncKeyField'] = CThostFtdcReqSyncKeyField + + +#浜ゆ槗鏍稿績鍚戦摱鏈熸姤鐩樺彂鍑哄瘑閽ュ悓姝ュ搷搴 +CThostFtdcRspSyncKeyField = {} +#涓氬姟鍔熻兘鐮 +CThostFtdcRspSyncKeyField["TradeCode"] = "string" +#閾惰浠g爜 +CThostFtdcRspSyncKeyField["BankID"] = "string" +#閾惰鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcRspSyncKeyField["BankBranchID"] = "string" +#鏈熷晢浠g爜 +CThostFtdcRspSyncKeyField["BrokerID"] = "string" +#鏈熷晢鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcRspSyncKeyField["BrokerBranchID"] = "string" +#浜ゆ槗鏃ユ湡 +CThostFtdcRspSyncKeyField["TradeDate"] = "string" +#浜ゆ槗鏃堕棿 +CThostFtdcRspSyncKeyField["TradeTime"] = "string" +#閾惰娴佹按鍙 +CThostFtdcRspSyncKeyField["BankSerial"] = "string" +#浜ゆ槗绯荤粺鏃ユ湡 +CThostFtdcRspSyncKeyField["TradingDay"] = "string" +#閾舵湡骞冲彴娑堟伅娴佹按鍙 +CThostFtdcRspSyncKeyField["PlateSerial"] = "int" +#鏈鍚庡垎鐗囨爣蹇 +CThostFtdcRspSyncKeyField["LastFragment"] = "string" +#浼氳瘽鍙 +CThostFtdcRspSyncKeyField["SessionID"] = "int" +#瀹夎缂栧彿 +CThostFtdcRspSyncKeyField["InstallID"] = "int" +#鐢ㄦ埛鏍囪瘑 +CThostFtdcRspSyncKeyField["UserID"] = "string" +#浜ゆ槗鏍稿績缁欓摱鏈熸姤鐩樼殑娑堟伅 +CThostFtdcRspSyncKeyField["Message"] = "string" +#娓犻亾鏍囧織 +CThostFtdcRspSyncKeyField["DeviceID"] = "string" +#鏈熻揣鍏徃閾惰缂栫爜 +CThostFtdcRspSyncKeyField["BrokerIDByBank"] = "string" +#浜ゆ槗鏌滃憳 +CThostFtdcRspSyncKeyField["OperNo"] = "string" +#璇锋眰缂栧彿 +CThostFtdcRspSyncKeyField["RequestID"] = "int" +#浜ゆ槗ID +CThostFtdcRspSyncKeyField["TID"] = "int" +#閿欒浠g爜 +CThostFtdcRspSyncKeyField["ErrorID"] = "int" +#閿欒淇℃伅 +CThostFtdcRspSyncKeyField["ErrorMsg"] = "string" +structDict['CThostFtdcRspSyncKeyField'] = CThostFtdcRspSyncKeyField + + +#鏌ヨ璐︽埛淇℃伅閫氱煡 +CThostFtdcNotifyQueryAccountField = {} +#涓氬姟鍔熻兘鐮 +CThostFtdcNotifyQueryAccountField["TradeCode"] = "string" +#閾惰浠g爜 +CThostFtdcNotifyQueryAccountField["BankID"] = "string" +#閾惰鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcNotifyQueryAccountField["BankBranchID"] = "string" +#鏈熷晢浠g爜 +CThostFtdcNotifyQueryAccountField["BrokerID"] = "string" +#鏈熷晢鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcNotifyQueryAccountField["BrokerBranchID"] = "string" +#浜ゆ槗鏃ユ湡 +CThostFtdcNotifyQueryAccountField["TradeDate"] = "string" +#浜ゆ槗鏃堕棿 +CThostFtdcNotifyQueryAccountField["TradeTime"] = "string" +#閾惰娴佹按鍙 +CThostFtdcNotifyQueryAccountField["BankSerial"] = "string" +#浜ゆ槗绯荤粺鏃ユ湡 +CThostFtdcNotifyQueryAccountField["TradingDay"] = "string" +#閾舵湡骞冲彴娑堟伅娴佹按鍙 +CThostFtdcNotifyQueryAccountField["PlateSerial"] = "int" +#鏈鍚庡垎鐗囨爣蹇 +CThostFtdcNotifyQueryAccountField["LastFragment"] = "string" +#浼氳瘽鍙 +CThostFtdcNotifyQueryAccountField["SessionID"] = "int" +#瀹㈡埛濮撳悕 +CThostFtdcNotifyQueryAccountField["CustomerName"] = "string" +#璇佷欢绫诲瀷 +CThostFtdcNotifyQueryAccountField["IdCardType"] = "string" +#璇佷欢鍙风爜 +CThostFtdcNotifyQueryAccountField["IdentifiedCardNo"] = "string" +#瀹㈡埛绫诲瀷 +CThostFtdcNotifyQueryAccountField["CustType"] = "string" +#閾惰甯愬彿 +CThostFtdcNotifyQueryAccountField["BankAccount"] = "string" +#閾惰瀵嗙爜 +CThostFtdcNotifyQueryAccountField["BankPassWord"] = "string" +#鎶曡祫鑰呭笎鍙 +CThostFtdcNotifyQueryAccountField["AccountID"] = "string" +#鏈熻揣瀵嗙爜 +CThostFtdcNotifyQueryAccountField["Password"] = "string" +#鏈熻揣鍏徃娴佹按鍙 +CThostFtdcNotifyQueryAccountField["FutureSerial"] = "int" +#瀹夎缂栧彿 +CThostFtdcNotifyQueryAccountField["InstallID"] = "int" +#鐢ㄦ埛鏍囪瘑 +CThostFtdcNotifyQueryAccountField["UserID"] = "string" +#楠岃瘉瀹㈡埛璇佷欢鍙风爜鏍囧織 +CThostFtdcNotifyQueryAccountField["VerifyCertNoFlag"] = "string" +#甯佺浠g爜 +CThostFtdcNotifyQueryAccountField["CurrencyID"] = "string" +#鎽樿 +CThostFtdcNotifyQueryAccountField["Digest"] = "string" +#閾惰甯愬彿绫诲瀷 +CThostFtdcNotifyQueryAccountField["BankAccType"] = "string" +#娓犻亾鏍囧織 +CThostFtdcNotifyQueryAccountField["DeviceID"] = "string" +#鏈熻揣鍗曚綅甯愬彿绫诲瀷 +CThostFtdcNotifyQueryAccountField["BankSecuAccType"] = "string" +#鏈熻揣鍏徃閾惰缂栫爜 +CThostFtdcNotifyQueryAccountField["BrokerIDByBank"] = "string" +#鏈熻揣鍗曚綅甯愬彿 +CThostFtdcNotifyQueryAccountField["BankSecuAcc"] = "string" +#閾惰瀵嗙爜鏍囧織 +CThostFtdcNotifyQueryAccountField["BankPwdFlag"] = "string" +#鏈熻揣璧勯噾瀵嗙爜鏍稿鏍囧織 +CThostFtdcNotifyQueryAccountField["SecuPwdFlag"] = "string" +#浜ゆ槗鏌滃憳 +CThostFtdcNotifyQueryAccountField["OperNo"] = "string" +#璇锋眰缂栧彿 +CThostFtdcNotifyQueryAccountField["RequestID"] = "int" +#浜ゆ槗ID +CThostFtdcNotifyQueryAccountField["TID"] = "int" +#閾惰鍙敤閲戦 +CThostFtdcNotifyQueryAccountField["BankUseAmount"] = "float" +#閾惰鍙彇閲戦 +CThostFtdcNotifyQueryAccountField["BankFetchAmount"] = "float" +#閿欒浠g爜 +CThostFtdcNotifyQueryAccountField["ErrorID"] = "int" +#閿欒淇℃伅 +CThostFtdcNotifyQueryAccountField["ErrorMsg"] = "string" +structDict['CThostFtdcNotifyQueryAccountField'] = CThostFtdcNotifyQueryAccountField + + +#閾舵湡杞处浜ゆ槗娴佹按琛 +CThostFtdcTransferSerialField = {} +#骞冲彴娴佹按鍙 +CThostFtdcTransferSerialField["PlateSerial"] = "int" +#浜ゆ槗鍙戣捣鏂规棩鏈 +CThostFtdcTransferSerialField["TradeDate"] = "string" +#浜ゆ槗鏃ユ湡 +CThostFtdcTransferSerialField["TradingDay"] = "string" +#浜ゆ槗鏃堕棿 +CThostFtdcTransferSerialField["TradeTime"] = "string" +#浜ゆ槗浠g爜 +CThostFtdcTransferSerialField["TradeCode"] = "string" +#浼氳瘽缂栧彿 +CThostFtdcTransferSerialField["SessionID"] = "int" +#閾惰缂栫爜 +CThostFtdcTransferSerialField["BankID"] = "string" +#閾惰鍒嗘敮鏈烘瀯缂栫爜 +CThostFtdcTransferSerialField["BankBranchID"] = "string" +#閾惰甯愬彿绫诲瀷 +CThostFtdcTransferSerialField["BankAccType"] = "string" +#閾惰甯愬彿 +CThostFtdcTransferSerialField["BankAccount"] = "string" +#閾惰娴佹按鍙 +CThostFtdcTransferSerialField["BankSerial"] = "string" +#鏈熻揣鍏徃缂栫爜 +CThostFtdcTransferSerialField["BrokerID"] = "string" +#鏈熷晢鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcTransferSerialField["BrokerBranchID"] = "string" +#鏈熻揣鍏徃甯愬彿绫诲瀷 +CThostFtdcTransferSerialField["FutureAccType"] = "string" +#鎶曡祫鑰呭笎鍙 +CThostFtdcTransferSerialField["AccountID"] = "string" +#鎶曡祫鑰呬唬鐮 +CThostFtdcTransferSerialField["InvestorID"] = "string" +#鏈熻揣鍏徃娴佹按鍙 +CThostFtdcTransferSerialField["FutureSerial"] = "int" +#璇佷欢绫诲瀷 +CThostFtdcTransferSerialField["IdCardType"] = "string" +#璇佷欢鍙风爜 +CThostFtdcTransferSerialField["IdentifiedCardNo"] = "string" +#甯佺浠g爜 +CThostFtdcTransferSerialField["CurrencyID"] = "string" +#浜ゆ槗閲戦 +CThostFtdcTransferSerialField["TradeAmount"] = "float" +#搴旀敹瀹㈡埛璐圭敤 +CThostFtdcTransferSerialField["CustFee"] = "float" +#搴旀敹鏈熻揣鍏徃璐圭敤 +CThostFtdcTransferSerialField["BrokerFee"] = "float" +#鏈夋晥鏍囧織 +CThostFtdcTransferSerialField["AvailabilityFlag"] = "string" +#鎿嶄綔鍛 +CThostFtdcTransferSerialField["OperatorCode"] = "string" +#鏂伴摱琛屽笎鍙 +CThostFtdcTransferSerialField["BankNewAccount"] = "string" +#閿欒浠g爜 +CThostFtdcTransferSerialField["ErrorID"] = "int" +#閿欒淇℃伅 +CThostFtdcTransferSerialField["ErrorMsg"] = "string" +structDict['CThostFtdcTransferSerialField'] = CThostFtdcTransferSerialField + + +#璇锋眰鏌ヨ杞笎娴佹按 +CThostFtdcQryTransferSerialField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryTransferSerialField["BrokerID"] = "string" +#鎶曡祫鑰呭笎鍙 +CThostFtdcQryTransferSerialField["AccountID"] = "string" +#閾惰缂栫爜 +CThostFtdcQryTransferSerialField["BankID"] = "string" +#甯佺浠g爜 +CThostFtdcQryTransferSerialField["CurrencyID"] = "string" +structDict['CThostFtdcQryTransferSerialField'] = CThostFtdcQryTransferSerialField + + +#鏈熷晢绛惧埌閫氱煡 +CThostFtdcNotifyFutureSignInField = {} +#涓氬姟鍔熻兘鐮 +CThostFtdcNotifyFutureSignInField["TradeCode"] = "string" +#閾惰浠g爜 +CThostFtdcNotifyFutureSignInField["BankID"] = "string" +#閾惰鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcNotifyFutureSignInField["BankBranchID"] = "string" +#鏈熷晢浠g爜 +CThostFtdcNotifyFutureSignInField["BrokerID"] = "string" +#鏈熷晢鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcNotifyFutureSignInField["BrokerBranchID"] = "string" +#浜ゆ槗鏃ユ湡 +CThostFtdcNotifyFutureSignInField["TradeDate"] = "string" +#浜ゆ槗鏃堕棿 +CThostFtdcNotifyFutureSignInField["TradeTime"] = "string" +#閾惰娴佹按鍙 +CThostFtdcNotifyFutureSignInField["BankSerial"] = "string" +#浜ゆ槗绯荤粺鏃ユ湡 +CThostFtdcNotifyFutureSignInField["TradingDay"] = "string" +#閾舵湡骞冲彴娑堟伅娴佹按鍙 +CThostFtdcNotifyFutureSignInField["PlateSerial"] = "int" +#鏈鍚庡垎鐗囨爣蹇 +CThostFtdcNotifyFutureSignInField["LastFragment"] = "string" +#浼氳瘽鍙 +CThostFtdcNotifyFutureSignInField["SessionID"] = "int" +#瀹夎缂栧彿 +CThostFtdcNotifyFutureSignInField["InstallID"] = "int" +#鐢ㄦ埛鏍囪瘑 +CThostFtdcNotifyFutureSignInField["UserID"] = "string" +#鎽樿 +CThostFtdcNotifyFutureSignInField["Digest"] = "string" +#甯佺浠g爜 +CThostFtdcNotifyFutureSignInField["CurrencyID"] = "string" +#娓犻亾鏍囧織 +CThostFtdcNotifyFutureSignInField["DeviceID"] = "string" +#鏈熻揣鍏徃閾惰缂栫爜 +CThostFtdcNotifyFutureSignInField["BrokerIDByBank"] = "string" +#浜ゆ槗鏌滃憳 +CThostFtdcNotifyFutureSignInField["OperNo"] = "string" +#璇锋眰缂栧彿 +CThostFtdcNotifyFutureSignInField["RequestID"] = "int" +#浜ゆ槗ID +CThostFtdcNotifyFutureSignInField["TID"] = "int" +#閿欒浠g爜 +CThostFtdcNotifyFutureSignInField["ErrorID"] = "int" +#閿欒淇℃伅 +CThostFtdcNotifyFutureSignInField["ErrorMsg"] = "string" +#PIN瀵嗛挜 +CThostFtdcNotifyFutureSignInField["PinKey"] = "string" +#MAC瀵嗛挜 +CThostFtdcNotifyFutureSignInField["MacKey"] = "string" +structDict['CThostFtdcNotifyFutureSignInField'] = CThostFtdcNotifyFutureSignInField + + +#鏈熷晢绛鹃閫氱煡 +CThostFtdcNotifyFutureSignOutField = {} +#涓氬姟鍔熻兘鐮 +CThostFtdcNotifyFutureSignOutField["TradeCode"] = "string" +#閾惰浠g爜 +CThostFtdcNotifyFutureSignOutField["BankID"] = "string" +#閾惰鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcNotifyFutureSignOutField["BankBranchID"] = "string" +#鏈熷晢浠g爜 +CThostFtdcNotifyFutureSignOutField["BrokerID"] = "string" +#鏈熷晢鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcNotifyFutureSignOutField["BrokerBranchID"] = "string" +#浜ゆ槗鏃ユ湡 +CThostFtdcNotifyFutureSignOutField["TradeDate"] = "string" +#浜ゆ槗鏃堕棿 +CThostFtdcNotifyFutureSignOutField["TradeTime"] = "string" +#閾惰娴佹按鍙 +CThostFtdcNotifyFutureSignOutField["BankSerial"] = "string" +#浜ゆ槗绯荤粺鏃ユ湡 +CThostFtdcNotifyFutureSignOutField["TradingDay"] = "string" +#閾舵湡骞冲彴娑堟伅娴佹按鍙 +CThostFtdcNotifyFutureSignOutField["PlateSerial"] = "int" +#鏈鍚庡垎鐗囨爣蹇 +CThostFtdcNotifyFutureSignOutField["LastFragment"] = "string" +#浼氳瘽鍙 +CThostFtdcNotifyFutureSignOutField["SessionID"] = "int" +#瀹夎缂栧彿 +CThostFtdcNotifyFutureSignOutField["InstallID"] = "int" +#鐢ㄦ埛鏍囪瘑 +CThostFtdcNotifyFutureSignOutField["UserID"] = "string" +#鎽樿 +CThostFtdcNotifyFutureSignOutField["Digest"] = "string" +#甯佺浠g爜 +CThostFtdcNotifyFutureSignOutField["CurrencyID"] = "string" +#娓犻亾鏍囧織 +CThostFtdcNotifyFutureSignOutField["DeviceID"] = "string" +#鏈熻揣鍏徃閾惰缂栫爜 +CThostFtdcNotifyFutureSignOutField["BrokerIDByBank"] = "string" +#浜ゆ槗鏌滃憳 +CThostFtdcNotifyFutureSignOutField["OperNo"] = "string" +#璇锋眰缂栧彿 +CThostFtdcNotifyFutureSignOutField["RequestID"] = "int" +#浜ゆ槗ID +CThostFtdcNotifyFutureSignOutField["TID"] = "int" +#閿欒浠g爜 +CThostFtdcNotifyFutureSignOutField["ErrorID"] = "int" +#閿欒淇℃伅 +CThostFtdcNotifyFutureSignOutField["ErrorMsg"] = "string" +structDict['CThostFtdcNotifyFutureSignOutField'] = CThostFtdcNotifyFutureSignOutField + + +#浜ゆ槗鏍稿績鍚戦摱鏈熸姤鐩樺彂鍑哄瘑閽ュ悓姝ュ鐞嗙粨鏋滅殑閫氱煡 +CThostFtdcNotifySyncKeyField = {} +#涓氬姟鍔熻兘鐮 +CThostFtdcNotifySyncKeyField["TradeCode"] = "string" +#閾惰浠g爜 +CThostFtdcNotifySyncKeyField["BankID"] = "string" +#閾惰鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcNotifySyncKeyField["BankBranchID"] = "string" +#鏈熷晢浠g爜 +CThostFtdcNotifySyncKeyField["BrokerID"] = "string" +#鏈熷晢鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcNotifySyncKeyField["BrokerBranchID"] = "string" +#浜ゆ槗鏃ユ湡 +CThostFtdcNotifySyncKeyField["TradeDate"] = "string" +#浜ゆ槗鏃堕棿 +CThostFtdcNotifySyncKeyField["TradeTime"] = "string" +#閾惰娴佹按鍙 +CThostFtdcNotifySyncKeyField["BankSerial"] = "string" +#浜ゆ槗绯荤粺鏃ユ湡 +CThostFtdcNotifySyncKeyField["TradingDay"] = "string" +#閾舵湡骞冲彴娑堟伅娴佹按鍙 +CThostFtdcNotifySyncKeyField["PlateSerial"] = "int" +#鏈鍚庡垎鐗囨爣蹇 +CThostFtdcNotifySyncKeyField["LastFragment"] = "string" +#浼氳瘽鍙 +CThostFtdcNotifySyncKeyField["SessionID"] = "int" +#瀹夎缂栧彿 +CThostFtdcNotifySyncKeyField["InstallID"] = "int" +#鐢ㄦ埛鏍囪瘑 +CThostFtdcNotifySyncKeyField["UserID"] = "string" +#浜ゆ槗鏍稿績缁欓摱鏈熸姤鐩樼殑娑堟伅 +CThostFtdcNotifySyncKeyField["Message"] = "string" +#娓犻亾鏍囧織 +CThostFtdcNotifySyncKeyField["DeviceID"] = "string" +#鏈熻揣鍏徃閾惰缂栫爜 +CThostFtdcNotifySyncKeyField["BrokerIDByBank"] = "string" +#浜ゆ槗鏌滃憳 +CThostFtdcNotifySyncKeyField["OperNo"] = "string" +#璇锋眰缂栧彿 +CThostFtdcNotifySyncKeyField["RequestID"] = "int" +#浜ゆ槗ID +CThostFtdcNotifySyncKeyField["TID"] = "int" +#閿欒浠g爜 +CThostFtdcNotifySyncKeyField["ErrorID"] = "int" +#閿欒淇℃伅 +CThostFtdcNotifySyncKeyField["ErrorMsg"] = "string" +structDict['CThostFtdcNotifySyncKeyField'] = CThostFtdcNotifySyncKeyField + + +#璇锋眰鏌ヨ閾舵湡绛剧害鍏崇郴 +CThostFtdcQryAccountregisterField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryAccountregisterField["BrokerID"] = "string" +#鎶曡祫鑰呭笎鍙 +CThostFtdcQryAccountregisterField["AccountID"] = "string" +#閾惰缂栫爜 +CThostFtdcQryAccountregisterField["BankID"] = "string" +#閾惰鍒嗘敮鏈烘瀯缂栫爜 +CThostFtdcQryAccountregisterField["BankBranchID"] = "string" +#甯佺浠g爜 +CThostFtdcQryAccountregisterField["CurrencyID"] = "string" +structDict['CThostFtdcQryAccountregisterField'] = CThostFtdcQryAccountregisterField + + +#瀹㈡埛寮閿鎴蜂俊鎭〃 +CThostFtdcAccountregisterField = {} +#浜ゆ槗鏃ユ湡 +CThostFtdcAccountregisterField["TradeDay"] = "string" +#閾惰缂栫爜 +CThostFtdcAccountregisterField["BankID"] = "string" +#閾惰鍒嗘敮鏈烘瀯缂栫爜 +CThostFtdcAccountregisterField["BankBranchID"] = "string" +#閾惰甯愬彿 +CThostFtdcAccountregisterField["BankAccount"] = "string" +#鏈熻揣鍏徃缂栫爜 +CThostFtdcAccountregisterField["BrokerID"] = "string" +#鏈熻揣鍏徃鍒嗘敮鏈烘瀯缂栫爜 +CThostFtdcAccountregisterField["BrokerBranchID"] = "string" +#鎶曡祫鑰呭笎鍙 +CThostFtdcAccountregisterField["AccountID"] = "string" +#璇佷欢绫诲瀷 +CThostFtdcAccountregisterField["IdCardType"] = "string" +#璇佷欢鍙风爜 +CThostFtdcAccountregisterField["IdentifiedCardNo"] = "string" +#瀹㈡埛濮撳悕 +CThostFtdcAccountregisterField["CustomerName"] = "string" +#甯佺浠g爜 +CThostFtdcAccountregisterField["CurrencyID"] = "string" +#寮閿鎴风被鍒 +CThostFtdcAccountregisterField["OpenOrDestroy"] = "string" +#绛剧害鏃ユ湡 +CThostFtdcAccountregisterField["RegDate"] = "string" +#瑙g害鏃ユ湡 +CThostFtdcAccountregisterField["OutDate"] = "string" +#浜ゆ槗ID +CThostFtdcAccountregisterField["TID"] = "int" +#瀹㈡埛绫诲瀷 +CThostFtdcAccountregisterField["CustType"] = "string" +#閾惰甯愬彿绫诲瀷 +CThostFtdcAccountregisterField["BankAccType"] = "string" +structDict['CThostFtdcAccountregisterField'] = CThostFtdcAccountregisterField + + +#閾舵湡寮鎴蜂俊鎭 +CThostFtdcOpenAccountField = {} +#涓氬姟鍔熻兘鐮 +CThostFtdcOpenAccountField["TradeCode"] = "string" +#閾惰浠g爜 +CThostFtdcOpenAccountField["BankID"] = "string" +#閾惰鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcOpenAccountField["BankBranchID"] = "string" +#鏈熷晢浠g爜 +CThostFtdcOpenAccountField["BrokerID"] = "string" +#鏈熷晢鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcOpenAccountField["BrokerBranchID"] = "string" +#浜ゆ槗鏃ユ湡 +CThostFtdcOpenAccountField["TradeDate"] = "string" +#浜ゆ槗鏃堕棿 +CThostFtdcOpenAccountField["TradeTime"] = "string" +#閾惰娴佹按鍙 +CThostFtdcOpenAccountField["BankSerial"] = "string" +#浜ゆ槗绯荤粺鏃ユ湡 +CThostFtdcOpenAccountField["TradingDay"] = "string" +#閾舵湡骞冲彴娑堟伅娴佹按鍙 +CThostFtdcOpenAccountField["PlateSerial"] = "int" +#鏈鍚庡垎鐗囨爣蹇 +CThostFtdcOpenAccountField["LastFragment"] = "string" +#浼氳瘽鍙 +CThostFtdcOpenAccountField["SessionID"] = "int" +#瀹㈡埛濮撳悕 +CThostFtdcOpenAccountField["CustomerName"] = "string" +#璇佷欢绫诲瀷 +CThostFtdcOpenAccountField["IdCardType"] = "string" +#璇佷欢鍙风爜 +CThostFtdcOpenAccountField["IdentifiedCardNo"] = "string" +#鎬у埆 +CThostFtdcOpenAccountField["Gender"] = "string" +#鍥藉浠g爜 +CThostFtdcOpenAccountField["CountryCode"] = "string" +#瀹㈡埛绫诲瀷 +CThostFtdcOpenAccountField["CustType"] = "string" +#鍦板潃 +CThostFtdcOpenAccountField["Address"] = "string" +#閭紪 +CThostFtdcOpenAccountField["ZipCode"] = "string" +#鐢佃瘽鍙风爜 +CThostFtdcOpenAccountField["Telephone"] = "string" +#鎵嬫満 +CThostFtdcOpenAccountField["MobilePhone"] = "string" +#浼犵湡 +CThostFtdcOpenAccountField["Fax"] = "string" +#鐢靛瓙閭欢 +CThostFtdcOpenAccountField["EMail"] = "string" +#璧勯噾璐︽埛鐘舵 +CThostFtdcOpenAccountField["MoneyAccountStatus"] = "string" +#閾惰甯愬彿 +CThostFtdcOpenAccountField["BankAccount"] = "string" +#閾惰瀵嗙爜 +CThostFtdcOpenAccountField["BankPassWord"] = "string" +#鎶曡祫鑰呭笎鍙 +CThostFtdcOpenAccountField["AccountID"] = "string" +#鏈熻揣瀵嗙爜 +CThostFtdcOpenAccountField["Password"] = "string" +#瀹夎缂栧彿 +CThostFtdcOpenAccountField["InstallID"] = "int" +#楠岃瘉瀹㈡埛璇佷欢鍙风爜鏍囧織 +CThostFtdcOpenAccountField["VerifyCertNoFlag"] = "string" +#甯佺浠g爜 +CThostFtdcOpenAccountField["CurrencyID"] = "string" +#姹囬挒鏍囧織 +CThostFtdcOpenAccountField["CashExchangeCode"] = "string" +#鎽樿 +CThostFtdcOpenAccountField["Digest"] = "string" +#閾惰甯愬彿绫诲瀷 +CThostFtdcOpenAccountField["BankAccType"] = "string" +#娓犻亾鏍囧織 +CThostFtdcOpenAccountField["DeviceID"] = "string" +#鏈熻揣鍗曚綅甯愬彿绫诲瀷 +CThostFtdcOpenAccountField["BankSecuAccType"] = "string" +#鏈熻揣鍏徃閾惰缂栫爜 +CThostFtdcOpenAccountField["BrokerIDByBank"] = "string" +#鏈熻揣鍗曚綅甯愬彿 +CThostFtdcOpenAccountField["BankSecuAcc"] = "string" +#閾惰瀵嗙爜鏍囧織 +CThostFtdcOpenAccountField["BankPwdFlag"] = "string" +#鏈熻揣璧勯噾瀵嗙爜鏍稿鏍囧織 +CThostFtdcOpenAccountField["SecuPwdFlag"] = "string" +#浜ゆ槗鏌滃憳 +CThostFtdcOpenAccountField["OperNo"] = "string" +#浜ゆ槗ID +CThostFtdcOpenAccountField["TID"] = "int" +#鐢ㄦ埛鏍囪瘑 +CThostFtdcOpenAccountField["UserID"] = "string" +#閿欒浠g爜 +CThostFtdcOpenAccountField["ErrorID"] = "int" +#閿欒淇℃伅 +CThostFtdcOpenAccountField["ErrorMsg"] = "string" +structDict['CThostFtdcOpenAccountField'] = CThostFtdcOpenAccountField + + +#閾舵湡閿鎴蜂俊鎭 +CThostFtdcCancelAccountField = {} +#涓氬姟鍔熻兘鐮 +CThostFtdcCancelAccountField["TradeCode"] = "string" +#閾惰浠g爜 +CThostFtdcCancelAccountField["BankID"] = "string" +#閾惰鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcCancelAccountField["BankBranchID"] = "string" +#鏈熷晢浠g爜 +CThostFtdcCancelAccountField["BrokerID"] = "string" +#鏈熷晢鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcCancelAccountField["BrokerBranchID"] = "string" +#浜ゆ槗鏃ユ湡 +CThostFtdcCancelAccountField["TradeDate"] = "string" +#浜ゆ槗鏃堕棿 +CThostFtdcCancelAccountField["TradeTime"] = "string" +#閾惰娴佹按鍙 +CThostFtdcCancelAccountField["BankSerial"] = "string" +#浜ゆ槗绯荤粺鏃ユ湡 +CThostFtdcCancelAccountField["TradingDay"] = "string" +#閾舵湡骞冲彴娑堟伅娴佹按鍙 +CThostFtdcCancelAccountField["PlateSerial"] = "int" +#鏈鍚庡垎鐗囨爣蹇 +CThostFtdcCancelAccountField["LastFragment"] = "string" +#浼氳瘽鍙 +CThostFtdcCancelAccountField["SessionID"] = "int" +#瀹㈡埛濮撳悕 +CThostFtdcCancelAccountField["CustomerName"] = "string" +#璇佷欢绫诲瀷 +CThostFtdcCancelAccountField["IdCardType"] = "string" +#璇佷欢鍙风爜 +CThostFtdcCancelAccountField["IdentifiedCardNo"] = "string" +#鎬у埆 +CThostFtdcCancelAccountField["Gender"] = "string" +#鍥藉浠g爜 +CThostFtdcCancelAccountField["CountryCode"] = "string" +#瀹㈡埛绫诲瀷 +CThostFtdcCancelAccountField["CustType"] = "string" +#鍦板潃 +CThostFtdcCancelAccountField["Address"] = "string" +#閭紪 +CThostFtdcCancelAccountField["ZipCode"] = "string" +#鐢佃瘽鍙风爜 +CThostFtdcCancelAccountField["Telephone"] = "string" +#鎵嬫満 +CThostFtdcCancelAccountField["MobilePhone"] = "string" +#浼犵湡 +CThostFtdcCancelAccountField["Fax"] = "string" +#鐢靛瓙閭欢 +CThostFtdcCancelAccountField["EMail"] = "string" +#璧勯噾璐︽埛鐘舵 +CThostFtdcCancelAccountField["MoneyAccountStatus"] = "string" +#閾惰甯愬彿 +CThostFtdcCancelAccountField["BankAccount"] = "string" +#閾惰瀵嗙爜 +CThostFtdcCancelAccountField["BankPassWord"] = "string" +#鎶曡祫鑰呭笎鍙 +CThostFtdcCancelAccountField["AccountID"] = "string" +#鏈熻揣瀵嗙爜 +CThostFtdcCancelAccountField["Password"] = "string" +#瀹夎缂栧彿 +CThostFtdcCancelAccountField["InstallID"] = "int" +#楠岃瘉瀹㈡埛璇佷欢鍙风爜鏍囧織 +CThostFtdcCancelAccountField["VerifyCertNoFlag"] = "string" +#甯佺浠g爜 +CThostFtdcCancelAccountField["CurrencyID"] = "string" +#姹囬挒鏍囧織 +CThostFtdcCancelAccountField["CashExchangeCode"] = "string" +#鎽樿 +CThostFtdcCancelAccountField["Digest"] = "string" +#閾惰甯愬彿绫诲瀷 +CThostFtdcCancelAccountField["BankAccType"] = "string" +#娓犻亾鏍囧織 +CThostFtdcCancelAccountField["DeviceID"] = "string" +#鏈熻揣鍗曚綅甯愬彿绫诲瀷 +CThostFtdcCancelAccountField["BankSecuAccType"] = "string" +#鏈熻揣鍏徃閾惰缂栫爜 +CThostFtdcCancelAccountField["BrokerIDByBank"] = "string" +#鏈熻揣鍗曚綅甯愬彿 +CThostFtdcCancelAccountField["BankSecuAcc"] = "string" +#閾惰瀵嗙爜鏍囧織 +CThostFtdcCancelAccountField["BankPwdFlag"] = "string" +#鏈熻揣璧勯噾瀵嗙爜鏍稿鏍囧織 +CThostFtdcCancelAccountField["SecuPwdFlag"] = "string" +#浜ゆ槗鏌滃憳 +CThostFtdcCancelAccountField["OperNo"] = "string" +#浜ゆ槗ID +CThostFtdcCancelAccountField["TID"] = "int" +#鐢ㄦ埛鏍囪瘑 +CThostFtdcCancelAccountField["UserID"] = "string" +#閿欒浠g爜 +CThostFtdcCancelAccountField["ErrorID"] = "int" +#閿欒淇℃伅 +CThostFtdcCancelAccountField["ErrorMsg"] = "string" +structDict['CThostFtdcCancelAccountField'] = CThostFtdcCancelAccountField + + +#閾舵湡鍙樻洿閾惰璐﹀彿淇℃伅 +CThostFtdcChangeAccountField = {} +#涓氬姟鍔熻兘鐮 +CThostFtdcChangeAccountField["TradeCode"] = "string" +#閾惰浠g爜 +CThostFtdcChangeAccountField["BankID"] = "string" +#閾惰鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcChangeAccountField["BankBranchID"] = "string" +#鏈熷晢浠g爜 +CThostFtdcChangeAccountField["BrokerID"] = "string" +#鏈熷晢鍒嗘敮鏈烘瀯浠g爜 +CThostFtdcChangeAccountField["BrokerBranchID"] = "string" +#浜ゆ槗鏃ユ湡 +CThostFtdcChangeAccountField["TradeDate"] = "string" +#浜ゆ槗鏃堕棿 +CThostFtdcChangeAccountField["TradeTime"] = "string" +#閾惰娴佹按鍙 +CThostFtdcChangeAccountField["BankSerial"] = "string" +#浜ゆ槗绯荤粺鏃ユ湡 +CThostFtdcChangeAccountField["TradingDay"] = "string" +#閾舵湡骞冲彴娑堟伅娴佹按鍙 +CThostFtdcChangeAccountField["PlateSerial"] = "int" +#鏈鍚庡垎鐗囨爣蹇 +CThostFtdcChangeAccountField["LastFragment"] = "string" +#浼氳瘽鍙 +CThostFtdcChangeAccountField["SessionID"] = "int" +#瀹㈡埛濮撳悕 +CThostFtdcChangeAccountField["CustomerName"] = "string" +#璇佷欢绫诲瀷 +CThostFtdcChangeAccountField["IdCardType"] = "string" +#璇佷欢鍙风爜 +CThostFtdcChangeAccountField["IdentifiedCardNo"] = "string" +#鎬у埆 +CThostFtdcChangeAccountField["Gender"] = "string" +#鍥藉浠g爜 +CThostFtdcChangeAccountField["CountryCode"] = "string" +#瀹㈡埛绫诲瀷 +CThostFtdcChangeAccountField["CustType"] = "string" +#鍦板潃 +CThostFtdcChangeAccountField["Address"] = "string" +#閭紪 +CThostFtdcChangeAccountField["ZipCode"] = "string" +#鐢佃瘽鍙风爜 +CThostFtdcChangeAccountField["Telephone"] = "string" +#鎵嬫満 +CThostFtdcChangeAccountField["MobilePhone"] = "string" +#浼犵湡 +CThostFtdcChangeAccountField["Fax"] = "string" +#鐢靛瓙閭欢 +CThostFtdcChangeAccountField["EMail"] = "string" +#璧勯噾璐︽埛鐘舵 +CThostFtdcChangeAccountField["MoneyAccountStatus"] = "string" +#閾惰甯愬彿 +CThostFtdcChangeAccountField["BankAccount"] = "string" +#閾惰瀵嗙爜 +CThostFtdcChangeAccountField["BankPassWord"] = "string" +#鏂伴摱琛屽笎鍙 +CThostFtdcChangeAccountField["NewBankAccount"] = "string" +#鏂伴摱琛屽瘑鐮 +CThostFtdcChangeAccountField["NewBankPassWord"] = "string" +#鎶曡祫鑰呭笎鍙 +CThostFtdcChangeAccountField["AccountID"] = "string" +#鏈熻揣瀵嗙爜 +CThostFtdcChangeAccountField["Password"] = "string" +#閾惰甯愬彿绫诲瀷 +CThostFtdcChangeAccountField["BankAccType"] = "string" +#瀹夎缂栧彿 +CThostFtdcChangeAccountField["InstallID"] = "int" +#楠岃瘉瀹㈡埛璇佷欢鍙风爜鏍囧織 +CThostFtdcChangeAccountField["VerifyCertNoFlag"] = "string" +#甯佺浠g爜 +CThostFtdcChangeAccountField["CurrencyID"] = "string" +#鏈熻揣鍏徃閾惰缂栫爜 +CThostFtdcChangeAccountField["BrokerIDByBank"] = "string" +#閾惰瀵嗙爜鏍囧織 +CThostFtdcChangeAccountField["BankPwdFlag"] = "string" +#鏈熻揣璧勯噾瀵嗙爜鏍稿鏍囧織 +CThostFtdcChangeAccountField["SecuPwdFlag"] = "string" +#浜ゆ槗ID +CThostFtdcChangeAccountField["TID"] = "int" +#鎽樿 +CThostFtdcChangeAccountField["Digest"] = "string" +#閿欒浠g爜 +CThostFtdcChangeAccountField["ErrorID"] = "int" +#閿欒淇℃伅 +CThostFtdcChangeAccountField["ErrorMsg"] = "string" +structDict['CThostFtdcChangeAccountField'] = CThostFtdcChangeAccountField + + +#浜岀骇浠g悊鎿嶄綔鍛橀摱鏈熸潈闄 +CThostFtdcSecAgentACIDMapField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcSecAgentACIDMapField["BrokerID"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcSecAgentACIDMapField["UserID"] = "string" +#璧勯噾璐︽埛 +CThostFtdcSecAgentACIDMapField["AccountID"] = "string" +#甯佺 +CThostFtdcSecAgentACIDMapField["CurrencyID"] = "string" +#澧冨涓粙鏈烘瀯璧勯噾甯愬彿 +CThostFtdcSecAgentACIDMapField["BrokerSecAgentID"] = "string" +structDict['CThostFtdcSecAgentACIDMapField'] = CThostFtdcSecAgentACIDMapField + + +#浜岀骇浠g悊鎿嶄綔鍛橀摱鏈熸潈闄愭煡璇 +CThostFtdcQrySecAgentACIDMapField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQrySecAgentACIDMapField["BrokerID"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcQrySecAgentACIDMapField["UserID"] = "string" +#璧勯噾璐︽埛 +CThostFtdcQrySecAgentACIDMapField["AccountID"] = "string" +#甯佺 +CThostFtdcQrySecAgentACIDMapField["CurrencyID"] = "string" +structDict['CThostFtdcQrySecAgentACIDMapField'] = CThostFtdcQrySecAgentACIDMapField + + +#鐏惧涓績浜ゆ槗鏉冮檺 +CThostFtdcUserRightsAssignField = {} +#搴旂敤鍗曞厓浠g爜 +CThostFtdcUserRightsAssignField["BrokerID"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcUserRightsAssignField["UserID"] = "string" +#浜ゆ槗涓績浠g爜 +CThostFtdcUserRightsAssignField["DRIdentityID"] = "int" +structDict['CThostFtdcUserRightsAssignField'] = CThostFtdcUserRightsAssignField + + +#缁忔祹鍏徃鏄惁鏈夊湪鏈爣绀虹殑浜ゆ槗鏉冮檺 +CThostFtdcBrokerUserRightAssignField = {} +#搴旂敤鍗曞厓浠g爜 +CThostFtdcBrokerUserRightAssignField["BrokerID"] = "string" +#浜ゆ槗涓績浠g爜 +CThostFtdcBrokerUserRightAssignField["DRIdentityID"] = "int" +#鑳藉惁浜ゆ槗 +CThostFtdcBrokerUserRightAssignField["Tradeable"] = "int" +structDict['CThostFtdcBrokerUserRightAssignField'] = CThostFtdcBrokerUserRightAssignField + + +#鐏惧浜ゆ槗杞崲鎶ユ枃 +CThostFtdcDRTransferField = {} +#鍘熶氦鏄撲腑蹇冧唬鐮 +CThostFtdcDRTransferField["OrigDRIdentityID"] = "int" +#鐩爣浜ゆ槗涓績浠g爜 +CThostFtdcDRTransferField["DestDRIdentityID"] = "int" +#鍘熷簲鐢ㄥ崟鍏冧唬鐮 +CThostFtdcDRTransferField["OrigBrokerID"] = "string" +#鐩爣鏄撶敤鍗曞厓浠g爜 +CThostFtdcDRTransferField["DestBrokerID"] = "string" +structDict['CThostFtdcDRTransferField'] = CThostFtdcDRTransferField + + +#Fens鐢ㄦ埛淇℃伅 +CThostFtdcFensUserInfoField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcFensUserInfoField["BrokerID"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcFensUserInfoField["UserID"] = "string" +#鐧诲綍妯″紡 +CThostFtdcFensUserInfoField["LoginMode"] = "string" +structDict['CThostFtdcFensUserInfoField'] = CThostFtdcFensUserInfoField + + +#褰撳墠閾舵湡鎵灞炰氦鏄撲腑蹇 +CThostFtdcCurrTransferIdentityField = {} +#浜ゆ槗涓績浠g爜 +CThostFtdcCurrTransferIdentityField["IdentityID"] = "int" +structDict['CThostFtdcCurrTransferIdentityField'] = CThostFtdcCurrTransferIdentityField + + +#绂佹鐧诲綍鐢ㄦ埛 +CThostFtdcLoginForbiddenUserField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcLoginForbiddenUserField["BrokerID"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcLoginForbiddenUserField["UserID"] = "string" +structDict['CThostFtdcLoginForbiddenUserField'] = CThostFtdcLoginForbiddenUserField + + +#鏌ヨ绂佹鐧诲綍鐢ㄦ埛 +CThostFtdcQryLoginForbiddenUserField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcQryLoginForbiddenUserField["BrokerID"] = "string" +#鐢ㄦ埛浠g爜 +CThostFtdcQryLoginForbiddenUserField["UserID"] = "string" +structDict['CThostFtdcQryLoginForbiddenUserField'] = CThostFtdcQryLoginForbiddenUserField + + +#UDP缁勬挱缁勪俊鎭 +CThostFtdcMulticastGroupInfoField = {} +#缁勬挱缁処P鍦板潃 +CThostFtdcMulticastGroupInfoField["GroupIP"] = "string" +#缁勬挱缁処P绔彛 +CThostFtdcMulticastGroupInfoField["GroupPort"] = "int" +#婧愬湴鍧 +CThostFtdcMulticastGroupInfoField["SourceIP"] = "string" +structDict['CThostFtdcMulticastGroupInfoField'] = CThostFtdcMulticastGroupInfoField + + +#璧勯噾璐︽埛鍩烘湰鍑嗗閲 +CThostFtdcTradingAccountReserveField = {} +#缁忕邯鍏徃浠g爜 +CThostFtdcTradingAccountReserveField["BrokerID"] = "string" +#鎶曡祫鑰呭笎鍙 +CThostFtdcTradingAccountReserveField["AccountID"] = "string" +#鍩烘湰鍑嗗閲 +CThostFtdcTradingAccountReserveField["Reserve"] = "float" +#甯佺浠g爜 +CThostFtdcTradingAccountReserveField["CurrencyID"] = "string" +structDict['CThostFtdcTradingAccountReserveField'] = CThostFtdcTradingAccountReserveField + + + + + diff --git a/vn.ctp/pyscript/ctp_td_define.cpp b/vn.ctp/pyscript/ctp_td_define.cpp new file mode 100644 index 00000000..1b03e346 --- /dev/null +++ b/vn.ctp/pyscript/ctp_td_define.cpp @@ -0,0 +1,97 @@ +#define ONFRONTCONNECTED 1 +#define ONFRONTDISCONNECTED 2 +#define ONHEARTBEATWARNING 3 +#define ONRSPAUTHENTICATE 4 +#define ONRSPUSERLOGIN 5 +#define ONRSPUSERLOGOUT 6 +#define ONRSPUSERPASSWORDUPDATE 7 +#define ONRSPTRADINGACCOUNTPASSWORDUPDATE 8 +#define ONRSPORDERINSERT 9 +#define ONRSPPARKEDORDERINSERT 10 +#define ONRSPPARKEDORDERACTION 11 +#define ONRSPORDERACTION 12 +#define ONRSPQUERYMAXORDERVOLUME 13 +#define ONRSPSETTLEMENTINFOCONFIRM 14 +#define ONRSPREMOVEPARKEDORDER 15 +#define ONRSPREMOVEPARKEDORDERACTION 16 +#define ONRSPEXECORDERINSERT 17 +#define ONRSPEXECORDERACTION 18 +#define ONRSPFORQUOTEINSERT 19 +#define ONRSPQUOTEINSERT 20 +#define ONRSPQUOTEACTION 21 +#define ONRSPQRYORDER 22 +#define ONRSPQRYTRADE 23 +#define ONRSPQRYINVESTORPOSITION 24 +#define ONRSPQRYTRADINGACCOUNT 25 +#define ONRSPQRYINVESTOR 26 +#define ONRSPQRYTRADINGCODE 27 +#define ONRSPQRYINSTRUMENTMARGINRATE 28 +#define ONRSPQRYINSTRUMENTCOMMISSIONRATE 29 +#define ONRSPQRYEXCHANGE 30 +#define ONRSPQRYPRODUCT 31 +#define ONRSPQRYINSTRUMENT 32 +#define ONRSPQRYDEPTHMARKETDATA 33 +#define ONRSPQRYSETTLEMENTINFO 34 +#define ONRSPQRYTRANSFERBANK 35 +#define ONRSPQRYINVESTORPOSITIONDETAIL 36 +#define ONRSPQRYNOTICE 37 +#define ONRSPQRYSETTLEMENTINFOCONFIRM 38 +#define ONRSPQRYINVESTORPOSITIONCOMBINEDETAIL 39 +#define ONRSPQRYCFMMCTRADINGACCOUNTKEY 40 +#define ONRSPQRYEWARRANTOFFSET 41 +#define ONRSPQRYINVESTORPRODUCTGROUPMARGIN 42 +#define ONRSPQRYEXCHANGEMARGINRATE 43 +#define ONRSPQRYEXCHANGEMARGINRATEADJUST 44 +#define ONRSPQRYEXCHANGERATE 45 +#define ONRSPQRYSECAGENTACIDMAP 46 +#define ONRSPQRYOPTIONINSTRTRADECOST 47 +#define ONRSPQRYOPTIONINSTRCOMMRATE 48 +#define ONRSPQRYEXECORDER 49 +#define ONRSPQRYFORQUOTE 50 +#define ONRSPQRYQUOTE 51 +#define ONRSPQRYTRANSFERSERIAL 52 +#define ONRSPQRYACCOUNTREGISTER 53 +#define ONRSPERROR 54 +#define ONRTNORDER 55 +#define ONRTNTRADE 56 +#define ONERRRTNORDERINSERT 57 +#define ONERRRTNORDERACTION 58 +#define ONRTNINSTRUMENTSTATUS 59 +#define ONRTNTRADINGNOTICE 60 +#define ONRTNERRORCONDITIONALORDER 61 +#define ONRTNEXECORDER 62 +#define ONERRRTNEXECORDERINSERT 63 +#define ONERRRTNEXECORDERACTION 64 +#define ONERRRTNFORQUOTEINSERT 65 +#define ONRTNQUOTE 66 +#define ONERRRTNQUOTEINSERT 67 +#define ONERRRTNQUOTEACTION 68 +#define ONRTNFORQUOTERSP 69 +#define ONRSPQRYCONTRACTBANK 70 +#define ONRSPQRYPARKEDORDER 71 +#define ONRSPQRYPARKEDORDERACTION 72 +#define ONRSPQRYTRADINGNOTICE 73 +#define ONRSPQRYBROKERTRADINGPARAMS 74 +#define ONRSPQRYBROKERTRADINGALGOS 75 +#define ONRTNFROMBANKTOFUTUREBYBANK 76 +#define ONRTNFROMFUTURETOBANKBYBANK 77 +#define ONRTNREPEALFROMBANKTOFUTUREBYBANK 78 +#define ONRTNREPEALFROMFUTURETOBANKBYBANK 79 +#define ONRTNFROMBANKTOFUTUREBYFUTURE 80 +#define ONRTNFROMFUTURETOBANKBYFUTURE 81 +#define ONRTNREPEALFROMBANKTOFUTUREBYFUTUREMANUAL 82 +#define ONRTNREPEALFROMFUTURETOBANKBYFUTUREMANUAL 83 +#define ONRTNQUERYBANKBALANCEBYFUTURE 84 +#define ONERRRTNBANKTOFUTUREBYFUTURE 85 +#define ONERRRTNFUTURETOBANKBYFUTURE 86 +#define ONERRRTNREPEALBANKTOFUTUREBYFUTUREMANUAL 87 +#define ONERRRTNREPEALFUTURETOBANKBYFUTUREMANUAL 88 +#define ONERRRTNQUERYBANKBALANCEBYFUTURE 89 +#define ONRTNREPEALFROMBANKTOFUTUREBYFUTURE 90 +#define ONRTNREPEALFROMFUTURETOBANKBYFUTURE 91 +#define ONRSPFROMBANKTOFUTUREBYFUTURE 92 +#define ONRSPFROMFUTURETOBANKBYFUTURE 93 +#define ONRSPQUERYBANKACCOUNTMONEYBYFUTURE 94 +#define ONRTNOPENACCOUNTBYBANK 95 +#define ONRTNCANCELACCOUNTBYBANK 96 +#define ONRTNCHANGEACCOUNTBYBANK 97 diff --git a/vn.ctp/pyscript/ctp_td_function.cpp b/vn.ctp/pyscript/ctp_td_function.cpp new file mode 100644 index 00000000..16b05f8e --- /dev/null +++ b/vn.ctp/pyscript/ctp_td_function.cpp @@ -0,0 +1,915 @@ +int TdApi::reqAuthenticate(dict req, int nRequestID) +{ + CThostFtdcReqAuthenticateField myreq = CThostFtdcReqAuthenticateField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "UserID", myreq.UserID); + getChar(req, "AuthCode", myreq.AuthCode); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "UserProductInfo", myreq.UserProductInfo); + int i = this->api->ReqAuthenticate(&myreq, nRequestID); + return i; +}; + +int TdApi::reqUserLogin(dict req, int nRequestID) +{ + CThostFtdcReqUserLoginField myreq = CThostFtdcReqUserLoginField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "MacAddress", myreq.MacAddress); + getChar(req, "UserProductInfo", myreq.UserProductInfo); + getChar(req, "UserID", myreq.UserID); + getChar(req, "TradingDay", myreq.TradingDay); + getChar(req, "InterfaceProductInfo", myreq.InterfaceProductInfo); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "ClientIPAddress", myreq.ClientIPAddress); + getChar(req, "OneTimePassword", myreq.OneTimePassword); + getChar(req, "ProtocolInfo", myreq.ProtocolInfo); + getChar(req, "Password", myreq.Password); + int i = this->api->ReqUserLogin(&myreq, nRequestID); + return i; +}; + +int TdApi::reqUserLogout(dict req, int nRequestID) +{ + CThostFtdcUserLogoutField myreq = CThostFtdcUserLogoutField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "UserID", myreq.UserID); + getChar(req, "BrokerID", myreq.BrokerID); + int i = this->api->ReqUserLogout(&myreq, nRequestID); + return i; +}; + +int TdApi::reqUserPasswordUpdate(dict req, int nRequestID) +{ + CThostFtdcUserPasswordUpdateField myreq = CThostFtdcUserPasswordUpdateField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "UserID", myreq.UserID); + getChar(req, "NewPassword", myreq.NewPassword); + getChar(req, "OldPassword", myreq.OldPassword); + getChar(req, "BrokerID", myreq.BrokerID); + int i = this->api->ReqUserPasswordUpdate(&myreq, nRequestID); + return i; +}; + +int TdApi::reqTradingAccountPasswordUpdate(dict req, int nRequestID) +{ + CThostFtdcTradingAccountPasswordUpdateField myreq = CThostFtdcTradingAccountPasswordUpdateField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "CurrencyID", myreq.CurrencyID); + getChar(req, "NewPassword", myreq.NewPassword); + getChar(req, "OldPassword", myreq.OldPassword); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "AccountID", myreq.AccountID); + int i = this->api->ReqTradingAccountPasswordUpdate(&myreq, nRequestID); + return i; +}; + +int TdApi::reqOrderInsert(dict req, int nRequestID) +{ + CThostFtdcInputOrderField myreq = CThostFtdcInputOrderField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "ContingentCondition", myreq.ContingentCondition); + getChar(req, "CombOffsetFlag", myreq.CombOffsetFlag); + getChar(req, "UserID", myreq.UserID); + getChar(req, "UserID", myreq.UserID); + getInt(req, "UserForceClose", &myreq.UserForceClose); + getChar(req, "Direction", myreq.Direction); + getInt(req, "IsSwapOrder", &myreq.IsSwapOrder); + getInt(req, "VolumeTotalOriginal", &myreq.VolumeTotalOriginal); + getChar(req, "OrderPriceType", myreq.OrderPriceType); + getChar(req, "TimeCondition", myreq.TimeCondition); + getInt(req, "IsAutoSuspend", &myreq.IsAutoSuspend); + getInt(req, "IsAutoSuspend", &myreq.IsAutoSuspend); + getChar(req, "InstrumentID", myreq.InstrumentID); + getInt(req, "MinVolume", &myreq.MinVolume); + getChar(req, "ForceCloseReason", myreq.ForceCloseReason); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "CombHedgeFlag", myreq.CombHedgeFlag); + getChar(req, "GTDDate", myreq.GTDDate); + getChar(req, "BusinessUnit", myreq.BusinessUnit); + getChar(req, "OrderRef", myreq.OrderRef); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "VolumeCondition", myreq.VolumeCondition); + getInt(req, "RequestID", &myreq.RequestID); + int i = this->api->ReqOrderInsert(&myreq, nRequestID); + return i; +}; + +int TdApi::reqParkedOrderInsert(dict req, int nRequestID) +{ + CThostFtdcParkedOrderField myreq = CThostFtdcParkedOrderField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "ContingentCondition", myreq.ContingentCondition); + getChar(req, "CombOffsetFlag", myreq.CombOffsetFlag); + getChar(req, "UserID", myreq.UserID); + getChar(req, "UserID", myreq.UserID); + getInt(req, "UserForceClose", &myreq.UserForceClose); + getChar(req, "Status", myreq.Status); + getChar(req, "Direction", myreq.Direction); + getInt(req, "IsSwapOrder", &myreq.IsSwapOrder); + getChar(req, "UserType", myreq.UserType); + getInt(req, "VolumeTotalOriginal", &myreq.VolumeTotalOriginal); + getChar(req, "OrderPriceType", myreq.OrderPriceType); + getChar(req, "TimeCondition", myreq.TimeCondition); + getInt(req, "IsAutoSuspend", &myreq.IsAutoSuspend); + getInt(req, "IsAutoSuspend", &myreq.IsAutoSuspend); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "ExchangeID", myreq.ExchangeID); + getInt(req, "MinVolume", &myreq.MinVolume); + getChar(req, "ForceCloseReason", myreq.ForceCloseReason); + getInt(req, "ErrorID", &myreq.ErrorID); + getChar(req, "ParkedOrderID", myreq.ParkedOrderID); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "CombHedgeFlag", myreq.CombHedgeFlag); + getChar(req, "GTDDate", myreq.GTDDate); + getChar(req, "BusinessUnit", myreq.BusinessUnit); + getChar(req, "ErrorMsg", myreq.ErrorMsg); + getChar(req, "OrderRef", myreq.OrderRef); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "VolumeCondition", myreq.VolumeCondition); + getInt(req, "RequestID", &myreq.RequestID); + int i = this->api->ReqParkedOrderInsert(&myreq, nRequestID); + return i; +}; + +int TdApi::reqParkedOrderAction(dict req, int nRequestID) +{ + CThostFtdcParkedOrderActionField myreq = CThostFtdcParkedOrderActionField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "Status", myreq.Status); + getChar(req, "ExchangeID", myreq.ExchangeID); + getChar(req, "ActionFlag", myreq.ActionFlag); + getInt(req, "OrderActionRef", &myreq.OrderActionRef); + getChar(req, "UserType", myreq.UserType); + getChar(req, "ErrorMsg", myreq.ErrorMsg); + getChar(req, "UserID", myreq.UserID); + getChar(req, "UserID", myreq.UserID); + getChar(req, "OrderRef", myreq.OrderRef); + getChar(req, "InvestorID", myreq.InvestorID); + getInt(req, "SessionID", &myreq.SessionID); + getInt(req, "VolumeChange", &myreq.VolumeChange); + getChar(req, "BrokerID", myreq.BrokerID); + getInt(req, "RequestID", &myreq.RequestID); + getChar(req, "OrderSysID", myreq.OrderSysID); + getChar(req, "ParkedOrderActionID", myreq.ParkedOrderActionID); + getInt(req, "FrontID", &myreq.FrontID); + getInt(req, "ErrorID", &myreq.ErrorID); + int i = this->api->ReqParkedOrderAction(&myreq, nRequestID); + return i; +}; + +int TdApi::reqOrderAction(dict req, int nRequestID) +{ + CThostFtdcInputOrderActionField myreq = CThostFtdcInputOrderActionField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "ExchangeID", myreq.ExchangeID); + getChar(req, "ActionFlag", myreq.ActionFlag); + getInt(req, "OrderActionRef", &myreq.OrderActionRef); + getChar(req, "UserID", myreq.UserID); + getChar(req, "UserID", myreq.UserID); + getChar(req, "OrderRef", myreq.OrderRef); + getChar(req, "InvestorID", myreq.InvestorID); + getInt(req, "SessionID", &myreq.SessionID); + getInt(req, "VolumeChange", &myreq.VolumeChange); + getChar(req, "BrokerID", myreq.BrokerID); + getInt(req, "RequestID", &myreq.RequestID); + getChar(req, "OrderSysID", myreq.OrderSysID); + getInt(req, "FrontID", &myreq.FrontID); + int i = this->api->ReqOrderAction(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQueryMaxOrderVolume(dict req, int nRequestID) +{ + CThostFtdcQueryMaxOrderVolumeField myreq = CThostFtdcQueryMaxOrderVolumeField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "Direction", myreq.Direction); + getChar(req, "OffsetFlag", myreq.OffsetFlag); + getChar(req, "HedgeFlag", myreq.HedgeFlag); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + getInt(req, "MaxVolume", &myreq.MaxVolume); + int i = this->api->ReqQueryMaxOrderVolume(&myreq, nRequestID); + return i; +}; + +int TdApi::reqSettlementInfoConfirm(dict req, int nRequestID) +{ + CThostFtdcSettlementInfoConfirmField myreq = CThostFtdcSettlementInfoConfirmField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "ConfirmTime", myreq.ConfirmTime); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "ConfirmDate", myreq.ConfirmDate); + int i = this->api->ReqSettlementInfoConfirm(&myreq, nRequestID); + return i; +}; + +int TdApi::reqRemoveParkedOrder(dict req, int nRequestID) +{ + CThostFtdcRemoveParkedOrderField myreq = CThostFtdcRemoveParkedOrderField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "ParkedOrderID", myreq.ParkedOrderID); + int i = this->api->ReqRemoveParkedOrder(&myreq, nRequestID); + return i; +}; + +int TdApi::reqRemoveParkedOrderAction(dict req, int nRequestID) +{ + CThostFtdcRemoveParkedOrderActionField myreq = CThostFtdcRemoveParkedOrderActionField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "ParkedOrderActionID", myreq.ParkedOrderActionID); + int i = this->api->ReqRemoveParkedOrderAction(&myreq, nRequestID); + return i; +}; + +int TdApi::reqExecOrderInsert(dict req, int nRequestID) +{ + CThostFtdcInputExecOrderField myreq = CThostFtdcInputExecOrderField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "ExecOrderRef", myreq.ExecOrderRef); + getChar(req, "CloseFlag", myreq.CloseFlag); + getChar(req, "OffsetFlag", myreq.OffsetFlag); + getChar(req, "PosiDirection", myreq.PosiDirection); + getChar(req, "BusinessUnit", myreq.BusinessUnit); + getChar(req, "HedgeFlag", myreq.HedgeFlag); + getChar(req, "UserID", myreq.UserID); + getInt(req, "Volume", &myreq.Volume); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + getInt(req, "RequestID", &myreq.RequestID); + getChar(req, "ActionType", myreq.ActionType); + getChar(req, "ReservePositionFlag", myreq.ReservePositionFlag); + int i = this->api->ReqExecOrderInsert(&myreq, nRequestID); + return i; +}; + +int TdApi::reqExecOrderAction(dict req, int nRequestID) +{ + CThostFtdcInputExecOrderActionField myreq = CThostFtdcInputExecOrderActionField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "ExecOrderSysID", myreq.ExecOrderSysID); + getChar(req, "ExchangeID", myreq.ExchangeID); + getChar(req, "UserID", myreq.UserID); + getChar(req, "ExecOrderRef", myreq.ExecOrderRef); + getChar(req, "InvestorID", myreq.InvestorID); + getInt(req, "SessionID", &myreq.SessionID); + getChar(req, "BrokerID", myreq.BrokerID); + getInt(req, "RequestID", &myreq.RequestID); + getChar(req, "ActionFlag", myreq.ActionFlag); + getInt(req, "ExecOrderActionRef", &myreq.ExecOrderActionRef); + getInt(req, "FrontID", &myreq.FrontID); + int i = this->api->ReqExecOrderAction(&myreq, nRequestID); + return i; +}; + +int TdApi::reqForQuoteInsert(dict req, int nRequestID) +{ + CThostFtdcInputForQuoteField myreq = CThostFtdcInputForQuoteField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "UserID", myreq.UserID); + getChar(req, "ForQuoteRef", myreq.ForQuoteRef); + int i = this->api->ReqForQuoteInsert(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQuoteInsert(dict req, int nRequestID) +{ + CThostFtdcInputQuoteField myreq = CThostFtdcInputQuoteField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "AskHedgeFlag", myreq.AskHedgeFlag); + getChar(req, "BusinessUnit", myreq.BusinessUnit); + getChar(req, "BusinessUnit", myreq.BusinessUnit); + getChar(req, "UserID", myreq.UserID); + getChar(req, "AskOffsetFlag", myreq.AskOffsetFlag); + getInt(req, "BidVolume", &myreq.BidVolume); + getInt(req, "AskVolume", &myreq.AskVolume); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BidOffsetFlag", myreq.BidOffsetFlag); + getChar(req, "BrokerID", myreq.BrokerID); + getInt(req, "RequestID", &myreq.RequestID); + getInt(req, "RequestID", &myreq.RequestID); + getChar(req, "BidHedgeFlag", myreq.BidHedgeFlag); + getChar(req, "QuoteRef", myreq.QuoteRef); + int i = this->api->ReqQuoteInsert(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQuoteAction(dict req, int nRequestID) +{ + CThostFtdcInputQuoteActionField myreq = CThostFtdcInputQuoteActionField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "ExchangeID", myreq.ExchangeID); + getInt(req, "QuoteActionRef", &myreq.QuoteActionRef); + getChar(req, "UserID", myreq.UserID); + getChar(req, "InvestorID", myreq.InvestorID); + getInt(req, "SessionID", &myreq.SessionID); + getChar(req, "BrokerID", myreq.BrokerID); + getInt(req, "RequestID", &myreq.RequestID); + getChar(req, "ActionFlag", myreq.ActionFlag); + getInt(req, "FrontID", &myreq.FrontID); + getChar(req, "QuoteSysID", myreq.QuoteSysID); + getChar(req, "QuoteRef", myreq.QuoteRef); + int i = this->api->ReqQuoteAction(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryOrder(dict req, int nRequestID) +{ + CThostFtdcQryOrderField myreq = CThostFtdcQryOrderField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "ExchangeID", myreq.ExchangeID); + getChar(req, "InsertTimeStart", myreq.InsertTimeStart); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "OrderSysID", myreq.OrderSysID); + getChar(req, "InsertTimeEnd", myreq.InsertTimeEnd); + int i = this->api->ReqQryOrder(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryTrade(dict req, int nRequestID) +{ + CThostFtdcQryTradeField myreq = CThostFtdcQryTradeField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "TradeTimeStart", myreq.TradeTimeStart); + getChar(req, "ExchangeID", myreq.ExchangeID); + getChar(req, "TradeID", myreq.TradeID); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "TradeTimeEnd", myreq.TradeTimeEnd); + int i = this->api->ReqQryTrade(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryInvestorPosition(dict req, int nRequestID) +{ + CThostFtdcQryInvestorPositionField myreq = CThostFtdcQryInvestorPositionField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + int i = this->api->ReqQryInvestorPosition(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryTradingAccount(dict req, int nRequestID) +{ + CThostFtdcQryTradingAccountField myreq = CThostFtdcQryTradingAccountField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "CurrencyID", myreq.CurrencyID); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + int i = this->api->ReqQryTradingAccount(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryInvestor(dict req, int nRequestID) +{ + CThostFtdcQryInvestorField myreq = CThostFtdcQryInvestorField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + int i = this->api->ReqQryInvestor(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryTradingCode(dict req, int nRequestID) +{ + CThostFtdcQryTradingCodeField myreq = CThostFtdcQryTradingCodeField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "ExchangeID", myreq.ExchangeID); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "ClientIDType", myreq.ClientIDType); + getChar(req, "ClientID", myreq.ClientID); + int i = this->api->ReqQryTradingCode(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryInstrumentMarginRate(dict req, int nRequestID) +{ + CThostFtdcQryInstrumentMarginRateField myreq = CThostFtdcQryInstrumentMarginRateField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "HedgeFlag", myreq.HedgeFlag); + int i = this->api->ReqQryInstrumentMarginRate(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryInstrumentCommissionRate(dict req, int nRequestID) +{ + CThostFtdcQryInstrumentCommissionRateField myreq = CThostFtdcQryInstrumentCommissionRateField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + int i = this->api->ReqQryInstrumentCommissionRate(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryExchange(dict req, int nRequestID) +{ + CThostFtdcQryExchangeField myreq = CThostFtdcQryExchangeField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "ExchangeID", myreq.ExchangeID); + int i = this->api->ReqQryExchange(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryProduct(dict req, int nRequestID) +{ + CThostFtdcQryProductField myreq = CThostFtdcQryProductField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "ProductClass", myreq.ProductClass); + getChar(req, "ProductID", myreq.ProductID); + int i = this->api->ReqQryProduct(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryInstrument(dict req, int nRequestID) +{ + CThostFtdcQryInstrumentField myreq = CThostFtdcQryInstrumentField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "ExchangeID", myreq.ExchangeID); + getChar(req, "ExchangeInstID", myreq.ExchangeInstID); + getChar(req, "ProductID", myreq.ProductID); + int i = this->api->ReqQryInstrument(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryDepthMarketData(dict req, int nRequestID) +{ + CThostFtdcQryDepthMarketDataField myreq = CThostFtdcQryDepthMarketDataField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + int i = this->api->ReqQryDepthMarketData(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQrySettlementInfo(dict req, int nRequestID) +{ + CThostFtdcQrySettlementInfoField myreq = CThostFtdcQrySettlementInfoField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "TradingDay", myreq.TradingDay); + int i = this->api->ReqQrySettlementInfo(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryTransferBank(dict req, int nRequestID) +{ + CThostFtdcQryTransferBankField myreq = CThostFtdcQryTransferBankField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "BankBrchID", myreq.BankBrchID); + getChar(req, "BankID", myreq.BankID); + int i = this->api->ReqQryTransferBank(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryInvestorPositionDetail(dict req, int nRequestID) +{ + CThostFtdcQryInvestorPositionDetailField myreq = CThostFtdcQryInvestorPositionDetailField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + int i = this->api->ReqQryInvestorPositionDetail(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryNotice(dict req, int nRequestID) +{ + CThostFtdcQryNoticeField myreq = CThostFtdcQryNoticeField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "BrokerID", myreq.BrokerID); + int i = this->api->ReqQryNotice(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQrySettlementInfoConfirm(dict req, int nRequestID) +{ + CThostFtdcQrySettlementInfoConfirmField myreq = CThostFtdcQrySettlementInfoConfirmField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + int i = this->api->ReqQrySettlementInfoConfirm(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryInvestorPositionCombineDetail(dict req, int nRequestID) +{ + CThostFtdcQryInvestorPositionCombineDetailField myreq = CThostFtdcQryInvestorPositionCombineDetailField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "CombInstrumentID", myreq.CombInstrumentID); + int i = this->api->ReqQryInvestorPositionCombineDetail(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryCFMMCTradingAccountKey(dict req, int nRequestID) +{ + CThostFtdcQryCFMMCTradingAccountKeyField myreq = CThostFtdcQryCFMMCTradingAccountKeyField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + int i = this->api->ReqQryCFMMCTradingAccountKey(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryEWarrantOffset(dict req, int nRequestID) +{ + CThostFtdcQryEWarrantOffsetField myreq = CThostFtdcQryEWarrantOffsetField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "ExchangeID", myreq.ExchangeID); + getChar(req, "BrokerID", myreq.BrokerID); + int i = this->api->ReqQryEWarrantOffset(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryInvestorProductGroupMargin(dict req, int nRequestID) +{ + CThostFtdcQryInvestorProductGroupMarginField myreq = CThostFtdcQryInvestorProductGroupMarginField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "HedgeFlag", myreq.HedgeFlag); + getChar(req, "ProductGroupID", myreq.ProductGroupID); + int i = this->api->ReqQryInvestorProductGroupMargin(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryExchangeMarginRate(dict req, int nRequestID) +{ + CThostFtdcQryExchangeMarginRateField myreq = CThostFtdcQryExchangeMarginRateField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "HedgeFlag", myreq.HedgeFlag); + getChar(req, "BrokerID", myreq.BrokerID); + int i = this->api->ReqQryExchangeMarginRate(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryExchangeMarginRateAdjust(dict req, int nRequestID) +{ + CThostFtdcQryExchangeMarginRateAdjustField myreq = CThostFtdcQryExchangeMarginRateAdjustField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "HedgeFlag", myreq.HedgeFlag); + getChar(req, "BrokerID", myreq.BrokerID); + int i = this->api->ReqQryExchangeMarginRateAdjust(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryExchangeRate(dict req, int nRequestID) +{ + CThostFtdcQryExchangeRateField myreq = CThostFtdcQryExchangeRateField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "FromCurrencyID", myreq.FromCurrencyID); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "ToCurrencyID", myreq.ToCurrencyID); + int i = this->api->ReqQryExchangeRate(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQrySecAgentACIDMap(dict req, int nRequestID) +{ + CThostFtdcQrySecAgentACIDMapField myreq = CThostFtdcQrySecAgentACIDMapField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "CurrencyID", myreq.CurrencyID); + getChar(req, "UserID", myreq.UserID); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "AccountID", myreq.AccountID); + int i = this->api->ReqQrySecAgentACIDMap(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryOptionInstrTradeCost(dict req, int nRequestID) +{ + CThostFtdcQryOptionInstrTradeCostField myreq = CThostFtdcQryOptionInstrTradeCostField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "HedgeFlag", myreq.HedgeFlag); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + int i = this->api->ReqQryOptionInstrTradeCost(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryOptionInstrCommRate(dict req, int nRequestID) +{ + CThostFtdcQryOptionInstrCommRateField myreq = CThostFtdcQryOptionInstrCommRateField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + int i = this->api->ReqQryOptionInstrCommRate(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryExecOrder(dict req, int nRequestID) +{ + CThostFtdcQryExecOrderField myreq = CThostFtdcQryExecOrderField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "ExecOrderSysID", myreq.ExecOrderSysID); + getChar(req, "ExchangeID", myreq.ExchangeID); + getChar(req, "InsertTimeStart", myreq.InsertTimeStart); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "InsertTimeEnd", myreq.InsertTimeEnd); + int i = this->api->ReqQryExecOrder(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryForQuote(dict req, int nRequestID) +{ + CThostFtdcQryForQuoteField myreq = CThostFtdcQryForQuoteField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "ExchangeID", myreq.ExchangeID); + getChar(req, "InsertTimeStart", myreq.InsertTimeStart); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "InsertTimeEnd", myreq.InsertTimeEnd); + int i = this->api->ReqQryForQuote(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryQuote(dict req, int nRequestID) +{ + CThostFtdcQryQuoteField myreq = CThostFtdcQryQuoteField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "ExchangeID", myreq.ExchangeID); + getChar(req, "InsertTimeStart", myreq.InsertTimeStart); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "QuoteSysID", myreq.QuoteSysID); + getChar(req, "InsertTimeEnd", myreq.InsertTimeEnd); + int i = this->api->ReqQryQuote(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryTransferSerial(dict req, int nRequestID) +{ + CThostFtdcQryTransferSerialField myreq = CThostFtdcQryTransferSerialField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "CurrencyID", myreq.CurrencyID); + getChar(req, "BankID", myreq.BankID); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "AccountID", myreq.AccountID); + int i = this->api->ReqQryTransferSerial(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryAccountregister(dict req, int nRequestID) +{ + CThostFtdcQryAccountregisterField myreq = CThostFtdcQryAccountregisterField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "CurrencyID", myreq.CurrencyID); + getChar(req, "BankID", myreq.BankID); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "BankBranchID", myreq.BankBranchID); + getChar(req, "AccountID", myreq.AccountID); + int i = this->api->ReqQryAccountregister(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryContractBank(dict req, int nRequestID) +{ + CThostFtdcQryContractBankField myreq = CThostFtdcQryContractBankField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "BankBrchID", myreq.BankBrchID); + getChar(req, "BankID", myreq.BankID); + int i = this->api->ReqQryContractBank(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryParkedOrder(dict req, int nRequestID) +{ + CThostFtdcQryParkedOrderField myreq = CThostFtdcQryParkedOrderField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "ExchangeID", myreq.ExchangeID); + getChar(req, "BrokerID", myreq.BrokerID); + int i = this->api->ReqQryParkedOrder(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryParkedOrderAction(dict req, int nRequestID) +{ + CThostFtdcQryParkedOrderActionField myreq = CThostFtdcQryParkedOrderActionField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "ExchangeID", myreq.ExchangeID); + getChar(req, "BrokerID", myreq.BrokerID); + int i = this->api->ReqQryParkedOrderAction(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryTradingNotice(dict req, int nRequestID) +{ + CThostFtdcQryTradingNoticeField myreq = CThostFtdcQryTradingNoticeField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + int i = this->api->ReqQryTradingNotice(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryBrokerTradingParams(dict req, int nRequestID) +{ + CThostFtdcQryBrokerTradingParamsField myreq = CThostFtdcQryBrokerTradingParamsField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "CurrencyID", myreq.CurrencyID); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + int i = this->api->ReqQryBrokerTradingParams(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryBrokerTradingAlgos(dict req, int nRequestID) +{ + CThostFtdcQryBrokerTradingAlgosField myreq = CThostFtdcQryBrokerTradingAlgosField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "ExchangeID", myreq.ExchangeID); + getChar(req, "BrokerID", myreq.BrokerID); + int i = this->api->ReqQryBrokerTradingAlgos(&myreq, nRequestID); + return i; +}; + +int TdApi::reqFromBankToFutureByFuture(dict req, int nRequestID) +{ + CThostFtdcReqTransferField myreq = CThostFtdcReqTransferField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "BrokerBranchID", myreq.BrokerBranchID); + getChar(req, "UserID", myreq.UserID); + getChar(req, "BankPassWord", myreq.BankPassWord); + getChar(req, "TradeTime", myreq.TradeTime); + getChar(req, "VerifyCertNoFlag", myreq.VerifyCertNoFlag); + getInt(req, "TID", &myreq.TID); + getChar(req, "AccountID", myreq.AccountID); + getChar(req, "BankAccount", myreq.BankAccount); + getInt(req, "InstallID", &myreq.InstallID); + getChar(req, "CustomerName", myreq.CustomerName); + getChar(req, "TradeCode", myreq.TradeCode); + getChar(req, "BankBranchID", myreq.BankBranchID); + getInt(req, "SessionID", &myreq.SessionID); + getChar(req, "BankID", myreq.BankID); + getChar(req, "Password", myreq.Password); + getChar(req, "BankPwdFlag", myreq.BankPwdFlag); + getInt(req, "RequestID", &myreq.RequestID); + getChar(req, "CustType", myreq.CustType); + getChar(req, "IdentifiedCardNo", myreq.IdentifiedCardNo); + getChar(req, "FeePayFlag", myreq.FeePayFlag); + getChar(req, "BankSerial", myreq.BankSerial); + getChar(req, "OperNo", myreq.OperNo); + getChar(req, "TradingDay", myreq.TradingDay); + getChar(req, "BankSecuAcc", myreq.BankSecuAcc); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "DeviceID", myreq.DeviceID); + getChar(req, "TransferStatus", myreq.TransferStatus); + getChar(req, "IdCardType", myreq.IdCardType); + getInt(req, "PlateSerial", &myreq.PlateSerial); + getInt(req, "PlateSerial", &myreq.PlateSerial); + getChar(req, "TradeDate", myreq.TradeDate); + getChar(req, "CurrencyID", myreq.CurrencyID); + getChar(req, "CurrencyID", myreq.CurrencyID); + getChar(req, "BankAccType", myreq.BankAccType); + getChar(req, "LastFragment", myreq.LastFragment); + getInt(req, "FutureSerial", &myreq.FutureSerial); + getChar(req, "BankSecuAccType", myreq.BankSecuAccType); + getChar(req, "BrokerIDByBank", myreq.BrokerIDByBank); + getChar(req, "SecuPwdFlag", myreq.SecuPwdFlag); + getChar(req, "Message", myreq.Message); + getChar(req, "Message", myreq.Message); + getChar(req, "Message", myreq.Message); + getChar(req, "Digest", myreq.Digest); + int i = this->api->ReqFromBankToFutureByFuture(&myreq, nRequestID); + return i; +}; + +int TdApi::reqFromFutureToBankByFuture(dict req, int nRequestID) +{ + CThostFtdcReqTransferField myreq = CThostFtdcReqTransferField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "BrokerBranchID", myreq.BrokerBranchID); + getChar(req, "UserID", myreq.UserID); + getChar(req, "BankPassWord", myreq.BankPassWord); + getChar(req, "TradeTime", myreq.TradeTime); + getChar(req, "VerifyCertNoFlag", myreq.VerifyCertNoFlag); + getInt(req, "TID", &myreq.TID); + getChar(req, "AccountID", myreq.AccountID); + getChar(req, "BankAccount", myreq.BankAccount); + getInt(req, "InstallID", &myreq.InstallID); + getChar(req, "CustomerName", myreq.CustomerName); + getChar(req, "TradeCode", myreq.TradeCode); + getChar(req, "BankBranchID", myreq.BankBranchID); + getInt(req, "SessionID", &myreq.SessionID); + getChar(req, "BankID", myreq.BankID); + getChar(req, "Password", myreq.Password); + getChar(req, "BankPwdFlag", myreq.BankPwdFlag); + getInt(req, "RequestID", &myreq.RequestID); + getChar(req, "CustType", myreq.CustType); + getChar(req, "IdentifiedCardNo", myreq.IdentifiedCardNo); + getChar(req, "FeePayFlag", myreq.FeePayFlag); + getChar(req, "BankSerial", myreq.BankSerial); + getChar(req, "OperNo", myreq.OperNo); + getChar(req, "TradingDay", myreq.TradingDay); + getChar(req, "BankSecuAcc", myreq.BankSecuAcc); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "DeviceID", myreq.DeviceID); + getChar(req, "TransferStatus", myreq.TransferStatus); + getChar(req, "IdCardType", myreq.IdCardType); + getInt(req, "PlateSerial", &myreq.PlateSerial); + getInt(req, "PlateSerial", &myreq.PlateSerial); + getChar(req, "TradeDate", myreq.TradeDate); + getChar(req, "CurrencyID", myreq.CurrencyID); + getChar(req, "CurrencyID", myreq.CurrencyID); + getChar(req, "BankAccType", myreq.BankAccType); + getChar(req, "LastFragment", myreq.LastFragment); + getInt(req, "FutureSerial", &myreq.FutureSerial); + getChar(req, "BankSecuAccType", myreq.BankSecuAccType); + getChar(req, "BrokerIDByBank", myreq.BrokerIDByBank); + getChar(req, "SecuPwdFlag", myreq.SecuPwdFlag); + getChar(req, "Message", myreq.Message); + getChar(req, "Message", myreq.Message); + getChar(req, "Message", myreq.Message); + getChar(req, "Digest", myreq.Digest); + int i = this->api->ReqFromFutureToBankByFuture(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQueryBankAccountMoneyByFuture(dict req, int nRequestID) +{ + CThostFtdcReqQueryAccountField myreq = CThostFtdcReqQueryAccountField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "BrokerBranchID", myreq.BrokerBranchID); + getChar(req, "UserID", myreq.UserID); + getChar(req, "BankPassWord", myreq.BankPassWord); + getChar(req, "TradeTime", myreq.TradeTime); + getChar(req, "VerifyCertNoFlag", myreq.VerifyCertNoFlag); + getInt(req, "TID", &myreq.TID); + getChar(req, "AccountID", myreq.AccountID); + getChar(req, "BankAccount", myreq.BankAccount); + getInt(req, "InstallID", &myreq.InstallID); + getChar(req, "CustomerName", myreq.CustomerName); + getChar(req, "TradeCode", myreq.TradeCode); + getChar(req, "BankBranchID", myreq.BankBranchID); + getInt(req, "SessionID", &myreq.SessionID); + getChar(req, "BankID", myreq.BankID); + getChar(req, "Password", myreq.Password); + getChar(req, "BankPwdFlag", myreq.BankPwdFlag); + getInt(req, "RequestID", &myreq.RequestID); + getChar(req, "CustType", myreq.CustType); + getChar(req, "IdentifiedCardNo", myreq.IdentifiedCardNo); + getChar(req, "BankSerial", myreq.BankSerial); + getChar(req, "OperNo", myreq.OperNo); + getChar(req, "TradingDay", myreq.TradingDay); + getChar(req, "BankSecuAcc", myreq.BankSecuAcc); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "DeviceID", myreq.DeviceID); + getChar(req, "IdCardType", myreq.IdCardType); + getInt(req, "PlateSerial", &myreq.PlateSerial); + getChar(req, "TradeDate", myreq.TradeDate); + getChar(req, "CurrencyID", myreq.CurrencyID); + getChar(req, "BankAccType", myreq.BankAccType); + getChar(req, "LastFragment", myreq.LastFragment); + getInt(req, "FutureSerial", &myreq.FutureSerial); + getChar(req, "BankSecuAccType", myreq.BankSecuAccType); + getChar(req, "BrokerIDByBank", myreq.BrokerIDByBank); + getChar(req, "SecuPwdFlag", myreq.SecuPwdFlag); + getChar(req, "Digest", myreq.Digest); + int i = this->api->ReqQueryBankAccountMoneyByFuture(&myreq, nRequestID); + return i; +}; + diff --git a/vn.ctp/pyscript/ctp_td_header_function.h b/vn.ctp/pyscript/ctp_td_header_function.h new file mode 100644 index 00000000..76be5adc --- /dev/null +++ b/vn.ctp/pyscript/ctp_td_header_function.h @@ -0,0 +1,118 @@ +int reqAuthenticate(dict req, int nRequestID); + +int reqUserLogin(dict req, int nRequestID); + +int reqUserLogout(dict req, int nRequestID); + +int reqUserPasswordUpdate(dict req, int nRequestID); + +int reqTradingAccountPasswordUpdate(dict req, int nRequestID); + +int reqOrderInsert(dict req, int nRequestID); + +int reqParkedOrderInsert(dict req, int nRequestID); + +int reqParkedOrderAction(dict req, int nRequestID); + +int reqOrderAction(dict req, int nRequestID); + +int reqQueryMaxOrderVolume(dict req, int nRequestID); + +int reqSettlementInfoConfirm(dict req, int nRequestID); + +int reqRemoveParkedOrder(dict req, int nRequestID); + +int reqRemoveParkedOrderAction(dict req, int nRequestID); + +int reqExecOrderInsert(dict req, int nRequestID); + +int reqExecOrderAction(dict req, int nRequestID); + +int reqForQuoteInsert(dict req, int nRequestID); + +int reqQuoteInsert(dict req, int nRequestID); + +int reqQuoteAction(dict req, int nRequestID); + +int reqQryOrder(dict req, int nRequestID); + +int reqQryTrade(dict req, int nRequestID); + +int reqQryInvestorPosition(dict req, int nRequestID); + +int reqQryTradingAccount(dict req, int nRequestID); + +int reqQryInvestor(dict req, int nRequestID); + +int reqQryTradingCode(dict req, int nRequestID); + +int reqQryInstrumentMarginRate(dict req, int nRequestID); + +int reqQryInstrumentCommissionRate(dict req, int nRequestID); + +int reqQryExchange(dict req, int nRequestID); + +int reqQryProduct(dict req, int nRequestID); + +int reqQryInstrument(dict req, int nRequestID); + +int reqQryDepthMarketData(dict req, int nRequestID); + +int reqQrySettlementInfo(dict req, int nRequestID); + +int reqQryTransferBank(dict req, int nRequestID); + +int reqQryInvestorPositionDetail(dict req, int nRequestID); + +int reqQryNotice(dict req, int nRequestID); + +int reqQrySettlementInfoConfirm(dict req, int nRequestID); + +int reqQryInvestorPositionCombineDetail(dict req, int nRequestID); + +int reqQryCFMMCTradingAccountKey(dict req, int nRequestID); + +int reqQryEWarrantOffset(dict req, int nRequestID); + +int reqQryInvestorProductGroupMargin(dict req, int nRequestID); + +int reqQryExchangeMarginRate(dict req, int nRequestID); + +int reqQryExchangeMarginRateAdjust(dict req, int nRequestID); + +int reqQryExchangeRate(dict req, int nRequestID); + +int reqQrySecAgentACIDMap(dict req, int nRequestID); + +int reqQryOptionInstrTradeCost(dict req, int nRequestID); + +int reqQryOptionInstrCommRate(dict req, int nRequestID); + +int reqQryExecOrder(dict req, int nRequestID); + +int reqQryForQuote(dict req, int nRequestID); + +int reqQryQuote(dict req, int nRequestID); + +int reqQryTransferSerial(dict req, int nRequestID); + +int reqQryAccountregister(dict req, int nRequestID); + +int reqQryContractBank(dict req, int nRequestID); + +int reqQryParkedOrder(dict req, int nRequestID); + +int reqQryParkedOrderAction(dict req, int nRequestID); + +int reqQryTradingNotice(dict req, int nRequestID); + +int reqQryBrokerTradingParams(dict req, int nRequestID); + +int reqQryBrokerTradingAlgos(dict req, int nRequestID); + +int reqFromBankToFutureByFuture(dict req, int nRequestID); + +int reqFromFutureToBankByFuture(dict req, int nRequestID); + +int reqQueryBankAccountMoneyByFuture(dict req, int nRequestID); + diff --git a/vn.ctp/pyscript/ctp_td_header_on.h b/vn.ctp/pyscript/ctp_td_header_on.h new file mode 100644 index 00000000..aab83f25 --- /dev/null +++ b/vn.ctp/pyscript/ctp_td_header_on.h @@ -0,0 +1,191 @@ + + + +virtual void onRspAuthenticate(dict data, dict error, int id, bool last) {}; + +virtual void onRspUserLogin(dict data, dict error, int id, bool last) {}; + +virtual void onRspUserLogout(dict data, dict error, int id, bool last) {}; + +virtual void onRspUserPasswordUpdate(dict data, dict error, int id, bool last) {}; + +virtual void onRspTradingAccountPasswordUpdate(dict data, dict error, int id, bool last) {}; + +virtual void onRspOrderInsert(dict data, dict error, int id, bool last) {}; + +virtual void onRspParkedOrderInsert(dict data, dict error, int id, bool last) {}; + +virtual void onRspParkedOrderAction(dict data, dict error, int id, bool last) {}; + +virtual void onRspOrderAction(dict data, dict error, int id, bool last) {}; + +virtual void onRspQueryMaxOrderVolume(dict data, dict error, int id, bool last) {}; + +virtual void onRspSettlementInfoConfirm(dict data, dict error, int id, bool last) {}; + +virtual void onRspRemoveParkedOrder(dict data, dict error, int id, bool last) {}; + +virtual void onRspRemoveParkedOrderAction(dict data, dict error, int id, bool last) {}; + +virtual void onRspExecOrderInsert(dict data, dict error, int id, bool last) {}; + +virtual void onRspExecOrderAction(dict data, dict error, int id, bool last) {}; + +virtual void onRspForQuoteInsert(dict data, dict error, int id, bool last) {}; + +virtual void onRspQuoteInsert(dict data, dict error, int id, bool last) {}; + +virtual void onRspQuoteAction(dict data, dict error, int id, bool last) {}; + +virtual void onRspQryOrder(dict data, dict error, int id, bool last) {}; + +virtual void onRspQryTrade(dict data, dict error, int id, bool last) {}; + +virtual void onRspQryInvestorPosition(dict data, dict error, int id, bool last) {}; + +virtual void onRspQryTradingAccount(dict data, dict error, int id, bool last) {}; + +virtual void onRspQryInvestor(dict data, dict error, int id, bool last) {}; + +virtual void onRspQryTradingCode(dict data, dict error, int id, bool last) {}; + +virtual void onRspQryInstrumentMarginRate(dict data, dict error, int id, bool last) {}; + +virtual void onRspQryInstrumentCommissionRate(dict data, dict error, int id, bool last) {}; + +virtual void onRspQryExchange(dict data, dict error, int id, bool last) {}; + +virtual void onRspQryProduct(dict data, dict error, int id, bool last) {}; + +virtual void onRspQryInstrument(dict data, dict error, int id, bool last) {}; + +virtual void onRspQryDepthMarketData(dict data, dict error, int id, bool last) {}; + +virtual void onRspQrySettlementInfo(dict data, dict error, int id, bool last) {}; + +virtual void onRspQryTransferBank(dict data, dict error, int id, bool last) {}; + +virtual void onRspQryInvestorPositionDetail(dict data, dict error, int id, bool last) {}; + +virtual void onRspQryNotice(dict data, dict error, int id, bool last) {}; + +virtual void onRspQrySettlementInfoConfirm(dict data, dict error, int id, bool last) {}; + +virtual void onRspQryInvestorPositionCombineDetail(dict data, dict error, int id, bool last) {}; + +virtual void onRspQryCFMMCTradingAccountKey(dict data, dict error, int id, bool last) {}; + +virtual void onRspQryEWarrantOffset(dict data, dict error, int id, bool last) {}; + +virtual void onRspQryInvestorProductGroupMargin(dict data, dict error, int id, bool last) {}; + +virtual void onRspQryExchangeMarginRate(dict data, dict error, int id, bool last) {}; + +virtual void onRspQryExchangeMarginRateAdjust(dict data, dict error, int id, bool last) {}; + +virtual void onRspQryExchangeRate(dict data, dict error, int id, bool last) {}; + +virtual void onRspQrySecAgentACIDMap(dict data, dict error, int id, bool last) {}; + +virtual void onRspQryOptionInstrTradeCost(dict data, dict error, int id, bool last) {}; + +virtual void onRspQryOptionInstrCommRate(dict data, dict error, int id, bool last) {}; + +virtual void onRspQryExecOrder(dict data, dict error, int id, bool last) {}; + +virtual void onRspQryForQuote(dict data, dict error, int id, bool last) {}; + +virtual void onRspQryQuote(dict data, dict error, int id, bool last) {}; + +virtual void onRspQryTransferSerial(dict data, dict error, int id, bool last) {}; + +virtual void onRspQryAccountregister(dict data, dict error, int id, bool last) {}; + +virtual void onRspError(dict error, int id, bool last) {}; + +virtual void onRtnOrder(dict data) {}; + +virtual void onRtnTrade(dict data) {}; + +virtual void onErrRtnOrderInsert(dict data, dict error) {}; + +virtual void onErrRtnOrderAction(dict data, dict error) {}; + +virtual void onRtnInstrumentStatus(dict data) {}; + +virtual void onRtnTradingNotice(dict data) {}; + +virtual void onRtnErrorConditionalOrder(dict data) {}; + +virtual void onRtnExecOrder(dict data) {}; + +virtual void onErrRtnExecOrderInsert(dict data, dict error) {}; + +virtual void onErrRtnExecOrderAction(dict data, dict error) {}; + +virtual void onErrRtnForQuoteInsert(dict data, dict error) {}; + +virtual void onRtnQuote(dict data) {}; + +virtual void onErrRtnQuoteInsert(dict data, dict error) {}; + +virtual void onErrRtnQuoteAction(dict data, dict error) {}; + +virtual void onRtnForQuoteRsp(dict data) {}; + +virtual void onRspQryContractBank(dict data, dict error, int id, bool last) {}; + +virtual void onRspQryParkedOrder(dict data, dict error, int id, bool last) {}; + +virtual void onRspQryParkedOrderAction(dict data, dict error, int id, bool last) {}; + +virtual void onRspQryTradingNotice(dict data, dict error, int id, bool last) {}; + +virtual void onRspQryBrokerTradingParams(dict data, dict error, int id, bool last) {}; + +virtual void onRspQryBrokerTradingAlgos(dict data, dict error, int id, bool last) {}; + +virtual void onRtnFromBankToFutureByBank(dict data) {}; + +virtual void onRtnFromFutureToBankByBank(dict data) {}; + +virtual void onRtnRepealFromBankToFutureByBank(dict data) {}; + +virtual void onRtnRepealFromFutureToBankByBank(dict data) {}; + +virtual void onRtnFromBankToFutureByFuture(dict data) {}; + +virtual void onRtnFromFutureToBankByFuture(dict data) {}; + +virtual void onRtnRepealFromBankToFutureByFutureManual(dict data) {}; + +virtual void onRtnRepealFromFutureToBankByFutureManual(dict data) {}; + +virtual void onRtnQueryBankBalanceByFuture(dict data) {}; + +virtual void onErrRtnBankToFutureByFuture(dict data, dict error) {}; + +virtual void onErrRtnFutureToBankByFuture(dict data, dict error) {}; + +virtual void onErrRtnRepealBankToFutureByFutureManual(dict data, dict error) {}; + +virtual void onErrRtnRepealFutureToBankByFutureManual(dict data, dict error) {}; + +virtual void onErrRtnQueryBankBalanceByFuture(dict data, dict error) {}; + +virtual void onRtnRepealFromBankToFutureByFuture(dict data) {}; + +virtual void onRtnRepealFromFutureToBankByFuture(dict data) {}; + +virtual void onRspFromBankToFutureByFuture(dict data, dict error, int id, bool last) {}; + +virtual void onRspFromFutureToBankByFuture(dict data, dict error, int id, bool last) {}; + +virtual void onRspQueryBankAccountMoneyByFuture(dict data, dict error, int id, bool last) {}; + +virtual void onRtnOpenAccountByBank(dict data) {}; + +virtual void onRtnCancelAccountByBank(dict data) {}; + +virtual void onRtnChangeAccountByBank(dict data) {}; + diff --git a/vn.ctp/pyscript/ctp_td_header_process.h b/vn.ctp/pyscript/ctp_td_header_process.h new file mode 100644 index 00000000..84327967 --- /dev/null +++ b/vn.ctp/pyscript/ctp_td_header_process.h @@ -0,0 +1,194 @@ +void processFrontConnected(Task task); + +void processFrontDisconnected(Task task); + +void processHeartBeatWarning(Task task); + +void processRspAuthenticate(Task task); + +void processRspUserLogin(Task task); + +void processRspUserLogout(Task task); + +void processRspUserPasswordUpdate(Task task); + +void processRspTradingAccountPasswordUpdate(Task task); + +void processRspOrderInsert(Task task); + +void processRspParkedOrderInsert(Task task); + +void processRspParkedOrderAction(Task task); + +void processRspOrderAction(Task task); + +void processRspQueryMaxOrderVolume(Task task); + +void processRspSettlementInfoConfirm(Task task); + +void processRspRemoveParkedOrder(Task task); + +void processRspRemoveParkedOrderAction(Task task); + +void processRspExecOrderInsert(Task task); + +void processRspExecOrderAction(Task task); + +void processRspForQuoteInsert(Task task); + +void processRspQuoteInsert(Task task); + +void processRspQuoteAction(Task task); + +void processRspQryOrder(Task task); + +void processRspQryTrade(Task task); + +void processRspQryInvestorPosition(Task task); + +void processRspQryTradingAccount(Task task); + +void processRspQryInvestor(Task task); + +void processRspQryTradingCode(Task task); + +void processRspQryInstrumentMarginRate(Task task); + +void processRspQryInstrumentCommissionRate(Task task); + +void processRspQryExchange(Task task); + +void processRspQryProduct(Task task); + +void processRspQryInstrument(Task task); + +void processRspQryDepthMarketData(Task task); + +void processRspQrySettlementInfo(Task task); + +void processRspQryTransferBank(Task task); + +void processRspQryInvestorPositionDetail(Task task); + +void processRspQryNotice(Task task); + +void processRspQrySettlementInfoConfirm(Task task); + +void processRspQryInvestorPositionCombineDetail(Task task); + +void processRspQryCFMMCTradingAccountKey(Task task); + +void processRspQryEWarrantOffset(Task task); + +void processRspQryInvestorProductGroupMargin(Task task); + +void processRspQryExchangeMarginRate(Task task); + +void processRspQryExchangeMarginRateAdjust(Task task); + +void processRspQryExchangeRate(Task task); + +void processRspQrySecAgentACIDMap(Task task); + +void processRspQryOptionInstrTradeCost(Task task); + +void processRspQryOptionInstrCommRate(Task task); + +void processRspQryExecOrder(Task task); + +void processRspQryForQuote(Task task); + +void processRspQryQuote(Task task); + +void processRspQryTransferSerial(Task task); + +void processRspQryAccountregister(Task task); + +void processRspError(Task task); + +void processRtnOrder(Task task); + +void processRtnTrade(Task task); + +void processErrRtnOrderInsert(Task task); + +void processErrRtnOrderAction(Task task); + +void processRtnInstrumentStatus(Task task); + +void processRtnTradingNotice(Task task); + +void processRtnErrorConditionalOrder(Task task); + +void processRtnExecOrder(Task task); + +void processErrRtnExecOrderInsert(Task task); + +void processErrRtnExecOrderAction(Task task); + +void processErrRtnForQuoteInsert(Task task); + +void processRtnQuote(Task task); + +void processErrRtnQuoteInsert(Task task); + +void processErrRtnQuoteAction(Task task); + +void processRtnForQuoteRsp(Task task); + +void processRspQryContractBank(Task task); + +void processRspQryParkedOrder(Task task); + +void processRspQryParkedOrderAction(Task task); + +void processRspQryTradingNotice(Task task); + +void processRspQryBrokerTradingParams(Task task); + +void processRspQryBrokerTradingAlgos(Task task); + +void processRtnFromBankToFutureByBank(Task task); + +void processRtnFromFutureToBankByBank(Task task); + +void processRtnRepealFromBankToFutureByBank(Task task); + +void processRtnRepealFromFutureToBankByBank(Task task); + +void processRtnFromBankToFutureByFuture(Task task); + +void processRtnFromFutureToBankByFuture(Task task); + +void processRtnRepealFromBankToFutureByFutureManual(Task task); + +void processRtnRepealFromFutureToBankByFutureManual(Task task); + +void processRtnQueryBankBalanceByFuture(Task task); + +void processErrRtnBankToFutureByFuture(Task task); + +void processErrRtnFutureToBankByFuture(Task task); + +void processErrRtnRepealBankToFutureByFutureManual(Task task); + +void processErrRtnRepealFutureToBankByFutureManual(Task task); + +void processErrRtnQueryBankBalanceByFuture(Task task); + +void processRtnRepealFromBankToFutureByFuture(Task task); + +void processRtnRepealFromFutureToBankByFuture(Task task); + +void processRspFromBankToFutureByFuture(Task task); + +void processRspFromFutureToBankByFuture(Task task); + +void processRspQueryBankAccountMoneyByFuture(Task task); + +void processRtnOpenAccountByBank(Task task); + +void processRtnCancelAccountByBank(Task task); + +void processRtnChangeAccountByBank(Task task); + diff --git a/vn.ctp/pyscript/ctp_td_process.cpp b/vn.ctp/pyscript/ctp_td_process.cpp new file mode 100644 index 00000000..b0a7ee32 --- /dev/null +++ b/vn.ctp/pyscript/ctp_td_process.cpp @@ -0,0 +1,3380 @@ +void TdApi::processFrontConnected(Task task) +{ + this->onFrontConnected(); +}; + +void TdApi::processFrontDisconnected(Task task) +{ + this->onFrontDisconnected(task.task_id); +}; + +void TdApi::processHeartBeatWarning(Task task) +{ + this->onHeartBeatWarning(task.task_id); +}; + +void TdApi::processRspAuthenticate(Task task) +{ + CThostFtdcRspAuthenticateField task_data = any_cast(task.task_data); + dict data; + data["UserID"] = task_data.UserID; + data["BrokerID"] = task_data.BrokerID; + data["UserProductInfo"] = task_data.UserProductInfo; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspAuthenticate(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspUserLogin(Task task) +{ + CThostFtdcRspUserLoginField task_data = any_cast(task.task_data); + dict data; + data["CZCETime"] = task_data.CZCETime; + data["SHFETime"] = task_data.SHFETime; + data["MaxOrderRef"] = task_data.MaxOrderRef; + data["INETime"] = task_data.INETime; + data["UserID"] = task_data.UserID; + data["TradingDay"] = task_data.TradingDay; + data["SessionID"] = task_data.SessionID; + data["SystemName"] = task_data.SystemName; + data["FrontID"] = task_data.FrontID; + data["FFEXTime"] = task_data.FFEXTime; + data["BrokerID"] = task_data.BrokerID; + data["DCETime"] = task_data.DCETime; + data["LoginTime"] = task_data.LoginTime; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspUserLogin(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspUserLogout(Task task) +{ + CThostFtdcUserLogoutField task_data = any_cast(task.task_data); + dict data; + data["UserID"] = task_data.UserID; + data["BrokerID"] = task_data.BrokerID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspUserLogout(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspUserPasswordUpdate(Task task) +{ + CThostFtdcUserPasswordUpdateField task_data = any_cast(task.task_data); + dict data; + data["UserID"] = task_data.UserID; + data["NewPassword"] = task_data.NewPassword; + data["OldPassword"] = task_data.OldPassword; + data["BrokerID"] = task_data.BrokerID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspUserPasswordUpdate(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspTradingAccountPasswordUpdate(Task task) +{ + CThostFtdcTradingAccountPasswordUpdateField task_data = any_cast(task.task_data); + dict data; + data["CurrencyID"] = task_data.CurrencyID; + data["NewPassword"] = task_data.NewPassword; + data["OldPassword"] = task_data.OldPassword; + data["BrokerID"] = task_data.BrokerID; + data["AccountID"] = task_data.AccountID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspTradingAccountPasswordUpdate(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspOrderInsert(Task task) +{ + CThostFtdcInputOrderField task_data = any_cast(task.task_data); + dict data; + data["ContingentCondition"] = task_data.ContingentCondition; + data["CombOffsetFlag"] = task_data.CombOffsetFlag; + data["UserID"] = task_data.UserID; + data["LimitPrice"] = task_data.LimitPrice; + data["UserForceClose"] = task_data.UserForceClose; + data["Direction"] = task_data.Direction; + data["IsSwapOrder"] = task_data.IsSwapOrder; + data["VolumeTotalOriginal"] = task_data.VolumeTotalOriginal; + data["OrderPriceType"] = task_data.OrderPriceType; + data["TimeCondition"] = task_data.TimeCondition; + data["IsAutoSuspend"] = task_data.IsAutoSuspend; + data["StopPrice"] = task_data.StopPrice; + data["InstrumentID"] = task_data.InstrumentID; + data["MinVolume"] = task_data.MinVolume; + data["ForceCloseReason"] = task_data.ForceCloseReason; + data["BrokerID"] = task_data.BrokerID; + data["CombHedgeFlag"] = task_data.CombHedgeFlag; + data["GTDDate"] = task_data.GTDDate; + data["BusinessUnit"] = task_data.BusinessUnit; + data["OrderRef"] = task_data.OrderRef; + data["InvestorID"] = task_data.InvestorID; + data["VolumeCondition"] = task_data.VolumeCondition; + data["RequestID"] = task_data.RequestID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspOrderInsert(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspParkedOrderInsert(Task task) +{ + CThostFtdcParkedOrderField task_data = any_cast(task.task_data); + dict data; + data["ContingentCondition"] = task_data.ContingentCondition; + data["CombOffsetFlag"] = task_data.CombOffsetFlag; + data["UserID"] = task_data.UserID; + data["LimitPrice"] = task_data.LimitPrice; + data["UserForceClose"] = task_data.UserForceClose; + data["Status"] = task_data.Status; + data["Direction"] = task_data.Direction; + data["IsSwapOrder"] = task_data.IsSwapOrder; + data["UserType"] = task_data.UserType; + data["VolumeTotalOriginal"] = task_data.VolumeTotalOriginal; + data["OrderPriceType"] = task_data.OrderPriceType; + data["TimeCondition"] = task_data.TimeCondition; + data["IsAutoSuspend"] = task_data.IsAutoSuspend; + data["StopPrice"] = task_data.StopPrice; + data["InstrumentID"] = task_data.InstrumentID; + data["ExchangeID"] = task_data.ExchangeID; + data["MinVolume"] = task_data.MinVolume; + data["ForceCloseReason"] = task_data.ForceCloseReason; + data["ErrorID"] = task_data.ErrorID; + data["ParkedOrderID"] = task_data.ParkedOrderID; + data["BrokerID"] = task_data.BrokerID; + data["CombHedgeFlag"] = task_data.CombHedgeFlag; + data["GTDDate"] = task_data.GTDDate; + data["BusinessUnit"] = task_data.BusinessUnit; + data["ErrorMsg"] = task_data.ErrorMsg; + data["OrderRef"] = task_data.OrderRef; + data["InvestorID"] = task_data.InvestorID; + data["VolumeCondition"] = task_data.VolumeCondition; + data["RequestID"] = task_data.RequestID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspParkedOrderInsert(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspParkedOrderAction(Task task) +{ + CThostFtdcParkedOrderActionField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["Status"] = task_data.Status; + data["ExchangeID"] = task_data.ExchangeID; + data["ActionFlag"] = task_data.ActionFlag; + data["OrderActionRef"] = task_data.OrderActionRef; + data["UserType"] = task_data.UserType; + data["ErrorMsg"] = task_data.ErrorMsg; + data["UserID"] = task_data.UserID; + data["LimitPrice"] = task_data.LimitPrice; + data["OrderRef"] = task_data.OrderRef; + data["InvestorID"] = task_data.InvestorID; + data["SessionID"] = task_data.SessionID; + data["VolumeChange"] = task_data.VolumeChange; + data["BrokerID"] = task_data.BrokerID; + data["RequestID"] = task_data.RequestID; + data["OrderSysID"] = task_data.OrderSysID; + data["ParkedOrderActionID"] = task_data.ParkedOrderActionID; + data["FrontID"] = task_data.FrontID; + data["ErrorID"] = task_data.ErrorID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspParkedOrderAction(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspOrderAction(Task task) +{ + CThostFtdcInputOrderActionField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["ExchangeID"] = task_data.ExchangeID; + data["ActionFlag"] = task_data.ActionFlag; + data["OrderActionRef"] = task_data.OrderActionRef; + data["UserID"] = task_data.UserID; + data["LimitPrice"] = task_data.LimitPrice; + data["OrderRef"] = task_data.OrderRef; + data["InvestorID"] = task_data.InvestorID; + data["SessionID"] = task_data.SessionID; + data["VolumeChange"] = task_data.VolumeChange; + data["BrokerID"] = task_data.BrokerID; + data["RequestID"] = task_data.RequestID; + data["OrderSysID"] = task_data.OrderSysID; + data["FrontID"] = task_data.FrontID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspOrderAction(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQueryMaxOrderVolume(Task task) +{ + CThostFtdcQueryMaxOrderVolumeField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["Direction"] = task_data.Direction; + data["OffsetFlag"] = task_data.OffsetFlag; + data["HedgeFlag"] = task_data.HedgeFlag; + data["InvestorID"] = task_data.InvestorID; + data["BrokerID"] = task_data.BrokerID; + data["MaxVolume"] = task_data.MaxVolume; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQueryMaxOrderVolume(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspSettlementInfoConfirm(Task task) +{ + CThostFtdcSettlementInfoConfirmField task_data = any_cast(task.task_data); + dict data; + data["ConfirmTime"] = task_data.ConfirmTime; + data["InvestorID"] = task_data.InvestorID; + data["BrokerID"] = task_data.BrokerID; + data["ConfirmDate"] = task_data.ConfirmDate; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspSettlementInfoConfirm(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspRemoveParkedOrder(Task task) +{ + CThostFtdcRemoveParkedOrderField task_data = any_cast(task.task_data); + dict data; + data["InvestorID"] = task_data.InvestorID; + data["BrokerID"] = task_data.BrokerID; + data["ParkedOrderID"] = task_data.ParkedOrderID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspRemoveParkedOrder(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspRemoveParkedOrderAction(Task task) +{ + CThostFtdcRemoveParkedOrderActionField task_data = any_cast(task.task_data); + dict data; + data["InvestorID"] = task_data.InvestorID; + data["BrokerID"] = task_data.BrokerID; + data["ParkedOrderActionID"] = task_data.ParkedOrderActionID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspRemoveParkedOrderAction(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspExecOrderInsert(Task task) +{ + CThostFtdcInputExecOrderField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["ExecOrderRef"] = task_data.ExecOrderRef; + data["CloseFlag"] = task_data.CloseFlag; + data["OffsetFlag"] = task_data.OffsetFlag; + data["PosiDirection"] = task_data.PosiDirection; + data["BusinessUnit"] = task_data.BusinessUnit; + data["HedgeFlag"] = task_data.HedgeFlag; + data["UserID"] = task_data.UserID; + data["Volume"] = task_data.Volume; + data["InvestorID"] = task_data.InvestorID; + data["BrokerID"] = task_data.BrokerID; + data["RequestID"] = task_data.RequestID; + data["ActionType"] = task_data.ActionType; + data["ReservePositionFlag"] = task_data.ReservePositionFlag; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspExecOrderInsert(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspExecOrderAction(Task task) +{ + CThostFtdcInputExecOrderActionField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["ExecOrderSysID"] = task_data.ExecOrderSysID; + data["ExchangeID"] = task_data.ExchangeID; + data["UserID"] = task_data.UserID; + data["ExecOrderRef"] = task_data.ExecOrderRef; + data["InvestorID"] = task_data.InvestorID; + data["SessionID"] = task_data.SessionID; + data["BrokerID"] = task_data.BrokerID; + data["RequestID"] = task_data.RequestID; + data["ActionFlag"] = task_data.ActionFlag; + data["ExecOrderActionRef"] = task_data.ExecOrderActionRef; + data["FrontID"] = task_data.FrontID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspExecOrderAction(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspForQuoteInsert(Task task) +{ + CThostFtdcInputForQuoteField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["InvestorID"] = task_data.InvestorID; + data["BrokerID"] = task_data.BrokerID; + data["UserID"] = task_data.UserID; + data["ForQuoteRef"] = task_data.ForQuoteRef; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspForQuoteInsert(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQuoteInsert(Task task) +{ + CThostFtdcInputQuoteField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["AskHedgeFlag"] = task_data.AskHedgeFlag; + data["BusinessUnit"] = task_data.BusinessUnit; + data["AskPrice"] = task_data.AskPrice; + data["UserID"] = task_data.UserID; + data["AskOffsetFlag"] = task_data.AskOffsetFlag; + data["BidVolume"] = task_data.BidVolume; + data["AskVolume"] = task_data.AskVolume; + data["InvestorID"] = task_data.InvestorID; + data["BidOffsetFlag"] = task_data.BidOffsetFlag; + data["BrokerID"] = task_data.BrokerID; + data["RequestID"] = task_data.RequestID; + data["BidPrice"] = task_data.BidPrice; + data["BidHedgeFlag"] = task_data.BidHedgeFlag; + data["QuoteRef"] = task_data.QuoteRef; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQuoteInsert(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQuoteAction(Task task) +{ + CThostFtdcInputQuoteActionField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["ExchangeID"] = task_data.ExchangeID; + data["QuoteActionRef"] = task_data.QuoteActionRef; + data["UserID"] = task_data.UserID; + data["InvestorID"] = task_data.InvestorID; + data["SessionID"] = task_data.SessionID; + data["BrokerID"] = task_data.BrokerID; + data["RequestID"] = task_data.RequestID; + data["ActionFlag"] = task_data.ActionFlag; + data["FrontID"] = task_data.FrontID; + data["QuoteSysID"] = task_data.QuoteSysID; + data["QuoteRef"] = task_data.QuoteRef; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQuoteAction(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryOrder(Task task) +{ + CThostFtdcOrderField task_data = any_cast(task.task_data); + dict data; + data["ContingentCondition"] = task_data.ContingentCondition; + data["NotifySequence"] = task_data.NotifySequence; + data["ActiveUserID"] = task_data.ActiveUserID; + data["VolumeTraded"] = task_data.VolumeTraded; + data["UserProductInfo"] = task_data.UserProductInfo; + data["CombOffsetFlag"] = task_data.CombOffsetFlag; + data["TraderID"] = task_data.TraderID; + data["UserID"] = task_data.UserID; + data["LimitPrice"] = task_data.LimitPrice; + data["UserForceClose"] = task_data.UserForceClose; + data["RelativeOrderSysID"] = task_data.RelativeOrderSysID; + data["Direction"] = task_data.Direction; + data["InstallID"] = task_data.InstallID; + data["IsSwapOrder"] = task_data.IsSwapOrder; + data["ParticipantID"] = task_data.ParticipantID; + data["VolumeTotalOriginal"] = task_data.VolumeTotalOriginal; + data["ExchangeInstID"] = task_data.ExchangeInstID; + data["ClientID"] = task_data.ClientID; + data["VolumeTotal"] = task_data.VolumeTotal; + data["OrderPriceType"] = task_data.OrderPriceType; + data["SessionID"] = task_data.SessionID; + data["TimeCondition"] = task_data.TimeCondition; + data["OrderStatus"] = task_data.OrderStatus; + data["OrderSysID"] = task_data.OrderSysID; + data["OrderSubmitStatus"] = task_data.OrderSubmitStatus; + data["IsAutoSuspend"] = task_data.IsAutoSuspend; + data["StopPrice"] = task_data.StopPrice; + data["InstrumentID"] = task_data.InstrumentID; + data["ExchangeID"] = task_data.ExchangeID; + data["MinVolume"] = task_data.MinVolume; + data["StatusMsg"] = task_data.StatusMsg; + data["SettlementID"] = task_data.SettlementID; + data["ForceCloseReason"] = task_data.ForceCloseReason; + data["OrderType"] = task_data.OrderType; + data["UpdateTime"] = task_data.UpdateTime; + data["TradingDay"] = task_data.TradingDay; + data["ActiveTime"] = task_data.ActiveTime; + data["BrokerID"] = task_data.BrokerID; + data["InsertTime"] = task_data.InsertTime; + data["FrontID"] = task_data.FrontID; + data["SuspendTime"] = task_data.SuspendTime; + data["ClearingPartID"] = task_data.ClearingPartID; + data["CombHedgeFlag"] = task_data.CombHedgeFlag; + data["CancelTime"] = task_data.CancelTime; + data["GTDDate"] = task_data.GTDDate; + data["OrderLocalID"] = task_data.OrderLocalID; + data["BusinessUnit"] = task_data.BusinessUnit; + data["InsertDate"] = task_data.InsertDate; + data["SequenceNo"] = task_data.SequenceNo; + data["OrderRef"] = task_data.OrderRef; + data["BrokerOrderSeq"] = task_data.BrokerOrderSeq; + data["InvestorID"] = task_data.InvestorID; + data["VolumeCondition"] = task_data.VolumeCondition; + data["RequestID"] = task_data.RequestID; + data["OrderSource"] = task_data.OrderSource; + data["ZCETotalTradedVolume"] = task_data.ZCETotalTradedVolume; + data["ActiveTraderID"] = task_data.ActiveTraderID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryOrder(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryTrade(Task task) +{ + CThostFtdcTradeField task_data = any_cast(task.task_data); + dict data; + data["TradeType"] = task_data.TradeType; + data["TraderID"] = task_data.TraderID; + data["HedgeFlag"] = task_data.HedgeFlag; + data["TradeTime"] = task_data.TradeTime; + data["Direction"] = task_data.Direction; + data["ParticipantID"] = task_data.ParticipantID; + data["Price"] = task_data.Price; + data["ClientID"] = task_data.ClientID; + data["Volume"] = task_data.Volume; + data["OrderSysID"] = task_data.OrderSysID; + data["ClearingPartID"] = task_data.ClearingPartID; + data["InstrumentID"] = task_data.InstrumentID; + data["ExchangeID"] = task_data.ExchangeID; + data["SettlementID"] = task_data.SettlementID; + data["UserID"] = task_data.UserID; + data["TradingDay"] = task_data.TradingDay; + data["BrokerID"] = task_data.BrokerID; + data["OffsetFlag"] = task_data.OffsetFlag; + data["OrderLocalID"] = task_data.OrderLocalID; + data["TradeID"] = task_data.TradeID; + data["TradeDate"] = task_data.TradeDate; + data["BusinessUnit"] = task_data.BusinessUnit; + data["SequenceNo"] = task_data.SequenceNo; + data["OrderRef"] = task_data.OrderRef; + data["BrokerOrderSeq"] = task_data.BrokerOrderSeq; + data["InvestorID"] = task_data.InvestorID; + data["ExchangeInstID"] = task_data.ExchangeInstID; + data["TradeSource"] = task_data.TradeSource; + data["PriceSource"] = task_data.PriceSource; + data["TradingRole"] = task_data.TradingRole; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryTrade(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryInvestorPosition(Task task) +{ + CThostFtdcInvestorPositionField task_data = any_cast(task.task_data); + dict data; + data["ShortFrozenAmount"] = task_data.ShortFrozenAmount; + data["FrozenMargin"] = task_data.FrozenMargin; + data["HedgeFlag"] = task_data.HedgeFlag; + data["PositionProfit"] = task_data.PositionProfit; + data["Commission"] = task_data.Commission; + data["MarginRateByVolume"] = task_data.MarginRateByVolume; + data["StrikeFrozen"] = task_data.StrikeFrozen; + data["CombPosition"] = task_data.CombPosition; + data["CashIn"] = task_data.CashIn; + data["PreSettlementPrice"] = task_data.PreSettlementPrice; + data["CombLongFrozen"] = task_data.CombLongFrozen; + data["CloseAmount"] = task_data.CloseAmount; + data["PosiDirection"] = task_data.PosiDirection; + data["YdPosition"] = task_data.YdPosition; + data["MarginRateByMoney"] = task_data.MarginRateByMoney; + data["AbandonFrozen"] = task_data.AbandonFrozen; + data["OpenVolume"] = task_data.OpenVolume; + data["CloseVolume"] = task_data.CloseVolume; + data["ExchangeMargin"] = task_data.ExchangeMargin; + data["InstrumentID"] = task_data.InstrumentID; + data["PositionDate"] = task_data.PositionDate; + data["CloseProfitByTrade"] = task_data.CloseProfitByTrade; + data["PreMargin"] = task_data.PreMargin; + data["SettlementID"] = task_data.SettlementID; + data["ShortFrozen"] = task_data.ShortFrozen; + data["LongFrozen"] = task_data.LongFrozen; + data["TodayPosition"] = task_data.TodayPosition; + data["TradingDay"] = task_data.TradingDay; + data["PositionCost"] = task_data.PositionCost; + data["BrokerID"] = task_data.BrokerID; + data["FrozenCash"] = task_data.FrozenCash; + data["OpenAmount"] = task_data.OpenAmount; + data["OpenCost"] = task_data.OpenCost; + data["Position"] = task_data.Position; + data["FrozenCommission"] = task_data.FrozenCommission; + data["CombShortFrozen"] = task_data.CombShortFrozen; + data["OptionValue"] = task_data.OptionValue; + data["CloseProfitByDate"] = task_data.CloseProfitByDate; + data["SettlementPrice"] = task_data.SettlementPrice; + data["LongFrozenAmount"] = task_data.LongFrozenAmount; + data["InvestorID"] = task_data.InvestorID; + data["StrikeFrozenAmount"] = task_data.StrikeFrozenAmount; + data["CloseProfit"] = task_data.CloseProfit; + data["UseMargin"] = task_data.UseMargin; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryInvestorPosition(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryTradingAccount(Task task) +{ + CThostFtdcTradingAccountField task_data = any_cast(task.task_data); + dict data; + data["SpecProductFrozenCommission"] = task_data.SpecProductFrozenCommission; + data["FundMortgageOut"] = task_data.FundMortgageOut; + data["Mortgage"] = task_data.Mortgage; + data["ExchangeDeliveryMargin"] = task_data.ExchangeDeliveryMargin; + data["FrozenMargin"] = task_data.FrozenMargin; + data["WithdrawQuota"] = task_data.WithdrawQuota; + data["PositionProfit"] = task_data.PositionProfit; + data["Commission"] = task_data.Commission; + data["SpecProductCloseProfit"] = task_data.SpecProductCloseProfit; + data["Interest"] = task_data.Interest; + data["SpecProductCommission"] = task_data.SpecProductCommission; + data["CashIn"] = task_data.CashIn; + data["AccountID"] = task_data.AccountID; + data["Available"] = task_data.Available; + data["FundMortgageAvailable"] = task_data.FundMortgageAvailable; + data["OptionCloseProfit"] = task_data.OptionCloseProfit; + data["PreCredit"] = task_data.PreCredit; + data["PreMortgage"] = task_data.PreMortgage; + data["InterestBase"] = task_data.InterestBase; + data["ExchangeMargin"] = task_data.ExchangeMargin; + data["MortgageableFund"] = task_data.MortgageableFund; + data["PreFundMortgageIn"] = task_data.PreFundMortgageIn; + data["PreMargin"] = task_data.PreMargin; + data["SettlementID"] = task_data.SettlementID; + data["FundMortgageIn"] = task_data.FundMortgageIn; + data["DeliveryMargin"] = task_data.DeliveryMargin; + data["SpecProductFrozenMargin"] = task_data.SpecProductFrozenMargin; + data["TradingDay"] = task_data.TradingDay; + data["BrokerID"] = task_data.BrokerID; + data["FrozenCash"] = task_data.FrozenCash; + data["Withdraw"] = task_data.Withdraw; + data["OptionValue"] = task_data.OptionValue; + data["Balance"] = task_data.Balance; + data["SpecProductMargin"] = task_data.SpecProductMargin; + data["SpecProductPositionProfitByAlg"] = task_data.SpecProductPositionProfitByAlg; + data["Reserve"] = task_data.Reserve; + data["PreDeposit"] = task_data.PreDeposit; + data["Credit"] = task_data.Credit; + data["CurrencyID"] = task_data.CurrencyID; + data["ReserveBalance"] = task_data.ReserveBalance; + data["SpecProductPositionProfit"] = task_data.SpecProductPositionProfit; + data["SpecProductExchangeMargin"] = task_data.SpecProductExchangeMargin; + data["PreBalance"] = task_data.PreBalance; + data["CurrMargin"] = task_data.CurrMargin; + data["FrozenCommission"] = task_data.FrozenCommission; + data["CloseProfit"] = task_data.CloseProfit; + data["PreFundMortgageOut"] = task_data.PreFundMortgageOut; + data["Deposit"] = task_data.Deposit; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryTradingAccount(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryInvestor(Task task) +{ + CThostFtdcInvestorField task_data = any_cast(task.task_data); + dict data; + data["CommModelID"] = task_data.CommModelID; + data["InvestorName"] = task_data.InvestorName; + data["Mobile"] = task_data.Mobile; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["Telephone"] = task_data.Telephone; + data["MarginModelID"] = task_data.MarginModelID; + data["InvestorID"] = task_data.InvestorID; + data["BrokerID"] = task_data.BrokerID; + data["Address"] = task_data.Address; + data["InvestorGroupID"] = task_data.InvestorGroupID; + data["OpenDate"] = task_data.OpenDate; + data["IsActive"] = task_data.IsActive; + data["IdentifiedCardType"] = task_data.IdentifiedCardType; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryInvestor(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryTradingCode(Task task) +{ + CThostFtdcTradingCodeField task_data = any_cast(task.task_data); + dict data; + data["ExchangeID"] = task_data.ExchangeID; + data["ClientID"] = task_data.ClientID; + data["InvestorID"] = task_data.InvestorID; + data["BrokerID"] = task_data.BrokerID; + data["ClientIDType"] = task_data.ClientIDType; + data["IsActive"] = task_data.IsActive; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryTradingCode(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryInstrumentMarginRate(Task task) +{ + CThostFtdcInstrumentMarginRateField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["ShortMarginRatioByMoney"] = task_data.ShortMarginRatioByMoney; + data["LongMarginRatioByMoney"] = task_data.LongMarginRatioByMoney; + data["IsRelative"] = task_data.IsRelative; + data["HedgeFlag"] = task_data.HedgeFlag; + data["InvestorID"] = task_data.InvestorID; + data["BrokerID"] = task_data.BrokerID; + data["InvestorRange"] = task_data.InvestorRange; + data["ShortMarginRatioByVolume"] = task_data.ShortMarginRatioByVolume; + data["LongMarginRatioByVolume"] = task_data.LongMarginRatioByVolume; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryInstrumentMarginRate(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryInstrumentCommissionRate(Task task) +{ + CThostFtdcInstrumentCommissionRateField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["OpenRatioByMoney"] = task_data.OpenRatioByMoney; + data["CloseRatioByVolume"] = task_data.CloseRatioByVolume; + data["CloseTodayRatioByMoney"] = task_data.CloseTodayRatioByMoney; + data["InvestorID"] = task_data.InvestorID; + data["BrokerID"] = task_data.BrokerID; + data["InvestorRange"] = task_data.InvestorRange; + data["CloseRatioByMoney"] = task_data.CloseRatioByMoney; + data["OpenRatioByVolume"] = task_data.OpenRatioByVolume; + data["CloseTodayRatioByVolume"] = task_data.CloseTodayRatioByVolume; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryInstrumentCommissionRate(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryExchange(Task task) +{ + CThostFtdcExchangeField task_data = any_cast(task.task_data); + dict data; + data["ExchangeProperty"] = task_data.ExchangeProperty; + data["ExchangeID"] = task_data.ExchangeID; + data["ExchangeName"] = task_data.ExchangeName; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryExchange(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryProduct(Task task) +{ + CThostFtdcProductField task_data = any_cast(task.task_data); + dict data; + data["MaxLimitOrderVolume"] = task_data.MaxLimitOrderVolume; + data["ExchangeID"] = task_data.ExchangeID; + data["MortgageFundUseRange"] = task_data.MortgageFundUseRange; + data["PositionDateType"] = task_data.PositionDateType; + data["MinLimitOrderVolume"] = task_data.MinLimitOrderVolume; + data["CloseDealType"] = task_data.CloseDealType; + data["MaxMarketOrderVolume"] = task_data.MaxMarketOrderVolume; + data["PriceTick"] = task_data.PriceTick; + data["ProductName"] = task_data.ProductName; + data["ExchangeProductID"] = task_data.ExchangeProductID; + data["VolumeMultiple"] = task_data.VolumeMultiple; + data["PositionType"] = task_data.PositionType; + data["MinMarketOrderVolume"] = task_data.MinMarketOrderVolume; + data["ProductClass"] = task_data.ProductClass; + data["UnderlyingMultiple"] = task_data.UnderlyingMultiple; + data["TradeCurrencyID"] = task_data.TradeCurrencyID; + data["ProductID"] = task_data.ProductID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryProduct(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryInstrument(Task task) +{ + CThostFtdcInstrumentField task_data = any_cast(task.task_data); + dict data; + data["IsTrading"] = task_data.IsTrading; + data["ExpireDate"] = task_data.ExpireDate; + data["PositionDateType"] = task_data.PositionDateType; + data["LongMarginRatio"] = task_data.LongMarginRatio; + data["StrikePrice"] = task_data.StrikePrice; + data["UnderlyingMultiple"] = task_data.UnderlyingMultiple; + data["PositionType"] = task_data.PositionType; + data["ProductClass"] = task_data.ProductClass; + data["InstrumentName"] = task_data.InstrumentName; + data["ShortMarginRatio"] = task_data.ShortMarginRatio; + data["VolumeMultiple"] = task_data.VolumeMultiple; + data["MaxMarginSideAlgorithm"] = task_data.MaxMarginSideAlgorithm; + data["DeliveryYear"] = task_data.DeliveryYear; + data["CombinationType"] = task_data.CombinationType; + data["CreateDate"] = task_data.CreateDate; + data["InstrumentID"] = task_data.InstrumentID; + data["MaxLimitOrderVolume"] = task_data.MaxLimitOrderVolume; + data["ExchangeID"] = task_data.ExchangeID; + data["MinLimitOrderVolume"] = task_data.MinLimitOrderVolume; + data["MaxMarketOrderVolume"] = task_data.MaxMarketOrderVolume; + data["OptionsType"] = task_data.OptionsType; + data["StartDelivDate"] = task_data.StartDelivDate; + data["DeliveryMonth"] = task_data.DeliveryMonth; + data["PriceTick"] = task_data.PriceTick; + data["InstLifePhase"] = task_data.InstLifePhase; + data["ExchangeInstID"] = task_data.ExchangeInstID; + data["MinMarketOrderVolume"] = task_data.MinMarketOrderVolume; + data["EndDelivDate"] = task_data.EndDelivDate; + data["UnderlyingInstrID"] = task_data.UnderlyingInstrID; + data["OpenDate"] = task_data.OpenDate; + data["ProductID"] = task_data.ProductID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryInstrument(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryDepthMarketData(Task task) +{ + CThostFtdcDepthMarketDataField task_data = any_cast(task.task_data); + dict data; + data["HighestPrice"] = task_data.HighestPrice; + data["BidPrice5"] = task_data.BidPrice5; + data["BidPrice4"] = task_data.BidPrice4; + data["BidPrice1"] = task_data.BidPrice1; + data["BidPrice3"] = task_data.BidPrice3; + data["BidPrice2"] = task_data.BidPrice2; + data["LowerLimitPrice"] = task_data.LowerLimitPrice; + data["OpenPrice"] = task_data.OpenPrice; + data["AskPrice5"] = task_data.AskPrice5; + data["AskPrice4"] = task_data.AskPrice4; + data["AskPrice3"] = task_data.AskPrice3; + data["PreClosePrice"] = task_data.PreClosePrice; + data["AskPrice1"] = task_data.AskPrice1; + data["PreSettlementPrice"] = task_data.PreSettlementPrice; + data["AskVolume1"] = task_data.AskVolume1; + data["UpdateTime"] = task_data.UpdateTime; + data["UpdateMillisec"] = task_data.UpdateMillisec; + data["AveragePrice"] = task_data.AveragePrice; + data["BidVolume5"] = task_data.BidVolume5; + data["BidVolume4"] = task_data.BidVolume4; + data["BidVolume3"] = task_data.BidVolume3; + data["BidVolume2"] = task_data.BidVolume2; + data["PreOpenInterest"] = task_data.PreOpenInterest; + data["AskPrice2"] = task_data.AskPrice2; + data["Volume"] = task_data.Volume; + data["AskVolume3"] = task_data.AskVolume3; + data["AskVolume2"] = task_data.AskVolume2; + data["AskVolume5"] = task_data.AskVolume5; + data["AskVolume4"] = task_data.AskVolume4; + data["UpperLimitPrice"] = task_data.UpperLimitPrice; + data["BidVolume1"] = task_data.BidVolume1; + data["InstrumentID"] = task_data.InstrumentID; + data["ClosePrice"] = task_data.ClosePrice; + data["ExchangeID"] = task_data.ExchangeID; + data["TradingDay"] = task_data.TradingDay; + data["PreDelta"] = task_data.PreDelta; + data["OpenInterest"] = task_data.OpenInterest; + data["CurrDelta"] = task_data.CurrDelta; + data["Turnover"] = task_data.Turnover; + data["LastPrice"] = task_data.LastPrice; + data["SettlementPrice"] = task_data.SettlementPrice; + data["ExchangeInstID"] = task_data.ExchangeInstID; + data["LowestPrice"] = task_data.LowestPrice; + data["ActionDay"] = task_data.ActionDay; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryDepthMarketData(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQrySettlementInfo(Task task) +{ + CThostFtdcSettlementInfoField task_data = any_cast(task.task_data); + dict data; + data["SettlementID"] = task_data.SettlementID; + data["InvestorID"] = task_data.InvestorID; + data["SequenceNo"] = task_data.SequenceNo; + data["Content"] = task_data.Content; + data["TradingDay"] = task_data.TradingDay; + data["BrokerID"] = task_data.BrokerID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQrySettlementInfo(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryTransferBank(Task task) +{ + CThostFtdcTransferBankField task_data = any_cast(task.task_data); + dict data; + data["BankName"] = task_data.BankName; + data["IsActive"] = task_data.IsActive; + data["BankBrchID"] = task_data.BankBrchID; + data["BankID"] = task_data.BankID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryTransferBank(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryInvestorPositionDetail(Task task) +{ + CThostFtdcInvestorPositionDetailField task_data = any_cast(task.task_data); + dict data; + data["PositionProfitByDate"] = task_data.PositionProfitByDate; + data["ExchMargin"] = task_data.ExchMargin; + data["TradeType"] = task_data.TradeType; + data["MarginRateByMoney"] = task_data.MarginRateByMoney; + data["HedgeFlag"] = task_data.HedgeFlag; + data["MarginRateByVolume"] = task_data.MarginRateByVolume; + data["Direction"] = task_data.Direction; + data["CloseAmount"] = task_data.CloseAmount; + data["OpenPrice"] = task_data.OpenPrice; + data["Volume"] = task_data.Volume; + data["LastSettlementPrice"] = task_data.LastSettlementPrice; + data["CloseVolume"] = task_data.CloseVolume; + data["InstrumentID"] = task_data.InstrumentID; + data["ExchangeID"] = task_data.ExchangeID; + data["CloseProfitByTrade"] = task_data.CloseProfitByTrade; + data["SettlementID"] = task_data.SettlementID; + data["TradingDay"] = task_data.TradingDay; + data["BrokerID"] = task_data.BrokerID; + data["Margin"] = task_data.Margin; + data["TradeID"] = task_data.TradeID; + data["PositionProfitByTrade"] = task_data.PositionProfitByTrade; + data["CloseProfitByDate"] = task_data.CloseProfitByDate; + data["SettlementPrice"] = task_data.SettlementPrice; + data["InvestorID"] = task_data.InvestorID; + data["CombInstrumentID"] = task_data.CombInstrumentID; + data["OpenDate"] = task_data.OpenDate; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryInvestorPositionDetail(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryNotice(Task task) +{ + CThostFtdcNoticeField task_data = any_cast(task.task_data); + dict data; + data["Content"] = task_data.Content; + data["SequenceLabel"] = task_data.SequenceLabel; + data["BrokerID"] = task_data.BrokerID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryNotice(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQrySettlementInfoConfirm(Task task) +{ + CThostFtdcSettlementInfoConfirmField task_data = any_cast(task.task_data); + dict data; + data["ConfirmTime"] = task_data.ConfirmTime; + data["InvestorID"] = task_data.InvestorID; + data["BrokerID"] = task_data.BrokerID; + data["ConfirmDate"] = task_data.ConfirmDate; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQrySettlementInfoConfirm(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryInvestorPositionCombineDetail(Task task) +{ + CThostFtdcInvestorPositionCombineDetailField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["TradeGroupID"] = task_data.TradeGroupID; + data["ExchangeID"] = task_data.ExchangeID; + data["MarginRateByVolume"] = task_data.MarginRateByVolume; + data["ComTradeID"] = task_data.ComTradeID; + data["SettlementID"] = task_data.SettlementID; + data["InvestorID"] = task_data.InvestorID; + data["TotalAmt"] = task_data.TotalAmt; + data["Margin"] = task_data.Margin; + data["ExchMargin"] = task_data.ExchMargin; + data["LegMultiple"] = task_data.LegMultiple; + data["HedgeFlag"] = task_data.HedgeFlag; + data["TradeID"] = task_data.TradeID; + data["LegID"] = task_data.LegID; + data["TradingDay"] = task_data.TradingDay; + data["MarginRateByMoney"] = task_data.MarginRateByMoney; + data["Direction"] = task_data.Direction; + data["BrokerID"] = task_data.BrokerID; + data["CombInstrumentID"] = task_data.CombInstrumentID; + data["OpenDate"] = task_data.OpenDate; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryInvestorPositionCombineDetail(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryCFMMCTradingAccountKey(Task task) +{ + CThostFtdcCFMMCTradingAccountKeyField task_data = any_cast(task.task_data); + dict data; + data["KeyID"] = task_data.KeyID; + data["BrokerID"] = task_data.BrokerID; + data["ParticipantID"] = task_data.ParticipantID; + data["CurrentKey"] = task_data.CurrentKey; + data["AccountID"] = task_data.AccountID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryCFMMCTradingAccountKey(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryEWarrantOffset(Task task) +{ + CThostFtdcEWarrantOffsetField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["ExchangeID"] = task_data.ExchangeID; + data["InvestorID"] = task_data.InvestorID; + data["HedgeFlag"] = task_data.HedgeFlag; + data["Direction"] = task_data.Direction; + data["Volume"] = task_data.Volume; + data["TradingDay"] = task_data.TradingDay; + data["BrokerID"] = task_data.BrokerID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryEWarrantOffset(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryInvestorProductGroupMargin(Task task) +{ + CThostFtdcInvestorProductGroupMarginField task_data = any_cast(task.task_data); + dict data; + data["ExchMargin"] = task_data.ExchMargin; + data["ShortExchOffsetAmount"] = task_data.ShortExchOffsetAmount; + data["FrozenMargin"] = task_data.FrozenMargin; + data["ShortFrozenMargin"] = task_data.ShortFrozenMargin; + data["HedgeFlag"] = task_data.HedgeFlag; + data["PositionProfit"] = task_data.PositionProfit; + data["Commission"] = task_data.Commission; + data["LongOffsetAmount"] = task_data.LongOffsetAmount; + data["CashIn"] = task_data.CashIn; + data["ShortUseMargin"] = task_data.ShortUseMargin; + data["ShortOffsetAmount"] = task_data.ShortOffsetAmount; + data["SettlementID"] = task_data.SettlementID; + data["LongExchOffsetAmount"] = task_data.LongExchOffsetAmount; + data["LongUseMargin"] = task_data.LongUseMargin; + data["TradingDay"] = task_data.TradingDay; + data["BrokerID"] = task_data.BrokerID; + data["FrozenCash"] = task_data.FrozenCash; + data["LongFrozenMargin"] = task_data.LongFrozenMargin; + data["ShortExchMargin"] = task_data.ShortExchMargin; + data["FrozenCommission"] = task_data.FrozenCommission; + data["ProductGroupID"] = task_data.ProductGroupID; + data["ExchOffsetAmount"] = task_data.ExchOffsetAmount; + data["InvestorID"] = task_data.InvestorID; + data["LongExchMargin"] = task_data.LongExchMargin; + data["CloseProfit"] = task_data.CloseProfit; + data["OffsetAmount"] = task_data.OffsetAmount; + data["UseMargin"] = task_data.UseMargin; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryInvestorProductGroupMargin(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryExchangeMarginRate(Task task) +{ + CThostFtdcExchangeMarginRateField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["ShortMarginRatioByMoney"] = task_data.ShortMarginRatioByMoney; + data["LongMarginRatioByMoney"] = task_data.LongMarginRatioByMoney; + data["HedgeFlag"] = task_data.HedgeFlag; + data["BrokerID"] = task_data.BrokerID; + data["ShortMarginRatioByVolume"] = task_data.ShortMarginRatioByVolume; + data["LongMarginRatioByVolume"] = task_data.LongMarginRatioByVolume; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryExchangeMarginRate(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryExchangeMarginRateAdjust(Task task) +{ + CThostFtdcExchangeMarginRateAdjustField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["ShortMarginRatioByMoney"] = task_data.ShortMarginRatioByMoney; + data["ExchLongMarginRatioByMoney"] = task_data.ExchLongMarginRatioByMoney; + data["ExchShortMarginRatioByMoney"] = task_data.ExchShortMarginRatioByMoney; + data["LongMarginRatioByMoney"] = task_data.LongMarginRatioByMoney; + data["ExchShortMarginRatioByVolume"] = task_data.ExchShortMarginRatioByVolume; + data["ExchLongMarginRatioByVolume"] = task_data.ExchLongMarginRatioByVolume; + data["NoShortMarginRatioByMoney"] = task_data.NoShortMarginRatioByMoney; + data["NoLongMarginRatioByMoney"] = task_data.NoLongMarginRatioByMoney; + data["HedgeFlag"] = task_data.HedgeFlag; + data["NoLongMarginRatioByVolume"] = task_data.NoLongMarginRatioByVolume; + data["NoShortMarginRatioByVolume"] = task_data.NoShortMarginRatioByVolume; + data["BrokerID"] = task_data.BrokerID; + data["ShortMarginRatioByVolume"] = task_data.ShortMarginRatioByVolume; + data["LongMarginRatioByVolume"] = task_data.LongMarginRatioByVolume; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryExchangeMarginRateAdjust(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryExchangeRate(Task task) +{ + CThostFtdcExchangeRateField task_data = any_cast(task.task_data); + dict data; + data["FromCurrencyID"] = task_data.FromCurrencyID; + data["FromCurrencyUnit"] = task_data.FromCurrencyUnit; + data["BrokerID"] = task_data.BrokerID; + data["ExchangeRate"] = task_data.ExchangeRate; + data["ToCurrencyID"] = task_data.ToCurrencyID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryExchangeRate(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQrySecAgentACIDMap(Task task) +{ + CThostFtdcSecAgentACIDMapField task_data = any_cast(task.task_data); + dict data; + data["CurrencyID"] = task_data.CurrencyID; + data["UserID"] = task_data.UserID; + data["BrokerSecAgentID"] = task_data.BrokerSecAgentID; + data["BrokerID"] = task_data.BrokerID; + data["AccountID"] = task_data.AccountID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQrySecAgentACIDMap(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryOptionInstrTradeCost(Task task) +{ + CThostFtdcOptionInstrTradeCostField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["ExchMiniMargin"] = task_data.ExchMiniMargin; + data["HedgeFlag"] = task_data.HedgeFlag; + data["InvestorID"] = task_data.InvestorID; + data["Royalty"] = task_data.Royalty; + data["BrokerID"] = task_data.BrokerID; + data["MiniMargin"] = task_data.MiniMargin; + data["ExchFixedMargin"] = task_data.ExchFixedMargin; + data["FixedMargin"] = task_data.FixedMargin; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryOptionInstrTradeCost(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryOptionInstrCommRate(Task task) +{ + CThostFtdcOptionInstrCommRateField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["OpenRatioByMoney"] = task_data.OpenRatioByMoney; + data["StrikeRatioByMoney"] = task_data.StrikeRatioByMoney; + data["CloseRatioByVolume"] = task_data.CloseRatioByVolume; + data["CloseTodayRatioByMoney"] = task_data.CloseTodayRatioByMoney; + data["InvestorID"] = task_data.InvestorID; + data["BrokerID"] = task_data.BrokerID; + data["InvestorRange"] = task_data.InvestorRange; + data["CloseRatioByMoney"] = task_data.CloseRatioByMoney; + data["OpenRatioByVolume"] = task_data.OpenRatioByVolume; + data["StrikeRatioByVolume"] = task_data.StrikeRatioByVolume; + data["CloseTodayRatioByVolume"] = task_data.CloseTodayRatioByVolume; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryOptionInstrCommRate(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryExecOrder(Task task) +{ + CThostFtdcExecOrderField task_data = any_cast(task.task_data); + dict data; + data["NotifySequence"] = task_data.NotifySequence; + data["CloseFlag"] = task_data.CloseFlag; + data["ActiveUserID"] = task_data.ActiveUserID; + data["UserProductInfo"] = task_data.UserProductInfo; + data["TraderID"] = task_data.TraderID; + data["HedgeFlag"] = task_data.HedgeFlag; + data["ExecResult"] = task_data.ExecResult; + data["ReservePositionFlag"] = task_data.ReservePositionFlag; + data["Volume"] = task_data.Volume; + data["InstallID"] = task_data.InstallID; + data["OffsetFlag"] = task_data.OffsetFlag; + data["PosiDirection"] = task_data.PosiDirection; + data["ClientID"] = task_data.ClientID; + data["ExecOrderRef"] = task_data.ExecOrderRef; + data["SessionID"] = task_data.SessionID; + data["ActionType"] = task_data.ActionType; + data["OrderSubmitStatus"] = task_data.OrderSubmitStatus; + data["ClearingPartID"] = task_data.ClearingPartID; + data["InstrumentID"] = task_data.InstrumentID; + data["ExecOrderSysID"] = task_data.ExecOrderSysID; + data["ExchangeID"] = task_data.ExchangeID; + data["StatusMsg"] = task_data.StatusMsg; + data["SettlementID"] = task_data.SettlementID; + data["UserID"] = task_data.UserID; + data["TradingDay"] = task_data.TradingDay; + data["BrokerID"] = task_data.BrokerID; + data["InsertTime"] = task_data.InsertTime; + data["ExecOrderLocalID"] = task_data.ExecOrderLocalID; + data["ParticipantID"] = task_data.ParticipantID; + data["CancelTime"] = task_data.CancelTime; + data["BusinessUnit"] = task_data.BusinessUnit; + data["InsertDate"] = task_data.InsertDate; + data["SequenceNo"] = task_data.SequenceNo; + data["InvestorID"] = task_data.InvestorID; + data["ExchangeInstID"] = task_data.ExchangeInstID; + data["RequestID"] = task_data.RequestID; + data["BrokerExecOrderSeq"] = task_data.BrokerExecOrderSeq; + data["FrontID"] = task_data.FrontID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryExecOrder(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryForQuote(Task task) +{ + CThostFtdcForQuoteField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["ForQuoteRef"] = task_data.ForQuoteRef; + data["ExchangeID"] = task_data.ExchangeID; + data["InstallID"] = task_data.InstallID; + data["ForQuoteLocalID"] = task_data.ForQuoteLocalID; + data["ParticipantID"] = task_data.ParticipantID; + data["ActiveUserID"] = task_data.ActiveUserID; + data["InsertDate"] = task_data.InsertDate; + data["TraderID"] = task_data.TraderID; + data["UserID"] = task_data.UserID; + data["SessionID"] = task_data.SessionID; + data["ClientID"] = task_data.ClientID; + data["StatusMsg"] = task_data.StatusMsg; + data["InvestorID"] = task_data.InvestorID; + data["ExchangeInstID"] = task_data.ExchangeInstID; + data["BrokerID"] = task_data.BrokerID; + data["InsertTime"] = task_data.InsertTime; + data["ForQuoteStatus"] = task_data.ForQuoteStatus; + data["FrontID"] = task_data.FrontID; + data["BrokerForQutoSeq"] = task_data.BrokerForQutoSeq; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryForQuote(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryQuote(Task task) +{ + CThostFtdcQuoteField task_data = any_cast(task.task_data); + dict data; + data["NotifySequence"] = task_data.NotifySequence; + data["AskHedgeFlag"] = task_data.AskHedgeFlag; + data["BidOrderSysID"] = task_data.BidOrderSysID; + data["TraderID"] = task_data.TraderID; + data["UserID"] = task_data.UserID; + data["AskVolume"] = task_data.AskVolume; + data["ActiveUserID"] = task_data.ActiveUserID; + data["BidHedgeFlag"] = task_data.BidHedgeFlag; + data["QuoteRef"] = task_data.QuoteRef; + data["AskOrderSysID"] = task_data.AskOrderSysID; + data["InstallID"] = task_data.InstallID; + data["ParticipantID"] = task_data.ParticipantID; + data["UserProductInfo"] = task_data.UserProductInfo; + data["AskOffsetFlag"] = task_data.AskOffsetFlag; + data["ClientID"] = task_data.ClientID; + data["SessionID"] = task_data.SessionID; + data["BidOffsetFlag"] = task_data.BidOffsetFlag; + data["BidPrice"] = task_data.BidPrice; + data["OrderSubmitStatus"] = task_data.OrderSubmitStatus; + data["InstrumentID"] = task_data.InstrumentID; + data["QuoteStatus"] = task_data.QuoteStatus; + data["ExchangeID"] = task_data.ExchangeID; + data["StatusMsg"] = task_data.StatusMsg; + data["SettlementID"] = task_data.SettlementID; + data["QuoteLocalID"] = task_data.QuoteLocalID; + data["BidVolume"] = task_data.BidVolume; + data["TradingDay"] = task_data.TradingDay; + data["BrokerID"] = task_data.BrokerID; + data["InsertTime"] = task_data.InsertTime; + data["QuoteSysID"] = task_data.QuoteSysID; + data["ClearingPartID"] = task_data.ClearingPartID; + data["CancelTime"] = task_data.CancelTime; + data["BusinessUnit"] = task_data.BusinessUnit; + data["InsertDate"] = task_data.InsertDate; + data["AskPrice"] = task_data.AskPrice; + data["SequenceNo"] = task_data.SequenceNo; + data["InvestorID"] = task_data.InvestorID; + data["ExchangeInstID"] = task_data.ExchangeInstID; + data["RequestID"] = task_data.RequestID; + data["BrokerQuoteSeq"] = task_data.BrokerQuoteSeq; + data["FrontID"] = task_data.FrontID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryQuote(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryTransferSerial(Task task) +{ + CThostFtdcTransferSerialField task_data = any_cast(task.task_data); + dict data; + data["BankNewAccount"] = task_data.BankNewAccount; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["TradeTime"] = task_data.TradeTime; + data["OperatorCode"] = task_data.OperatorCode; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["BankID"] = task_data.BankID; + data["PlateSerial"] = task_data.PlateSerial; + data["FutureAccType"] = task_data.FutureAccType; + data["ErrorID"] = task_data.ErrorID; + data["BankSerial"] = task_data.BankSerial; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["TradingDay"] = task_data.TradingDay; + data["BrokerID"] = task_data.BrokerID; + data["IdCardType"] = task_data.IdCardType; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["BrokerFee"] = task_data.BrokerFee; + data["BankAccType"] = task_data.BankAccType; + data["FutureSerial"] = task_data.FutureSerial; + data["InvestorID"] = task_data.InvestorID; + data["ErrorMsg"] = task_data.ErrorMsg; + data["CustFee"] = task_data.CustFee; + data["TradeAmount"] = task_data.TradeAmount; + data["AvailabilityFlag"] = task_data.AvailabilityFlag; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryTransferSerial(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryAccountregister(Task task) +{ + CThostFtdcAccountregisterField task_data = any_cast(task.task_data); + dict data; + data["BankAccount"] = task_data.BankAccount; + data["CustType"] = task_data.CustType; + data["CustomerName"] = task_data.CustomerName; + data["CurrencyID"] = task_data.CurrencyID; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["OutDate"] = task_data.OutDate; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["BankBranchID"] = task_data.BankBranchID; + data["RegDate"] = task_data.RegDate; + data["BrokerID"] = task_data.BrokerID; + data["BankID"] = task_data.BankID; + data["TID"] = task_data.TID; + data["OpenOrDestroy"] = task_data.OpenOrDestroy; + data["IdCardType"] = task_data.IdCardType; + data["TradeDay"] = task_data.TradeDay; + data["BankAccType"] = task_data.BankAccType; + data["AccountID"] = task_data.AccountID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryAccountregister(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspError(Task task) +{ + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspError(error, task.task_id, task.task_last); +}; + +void TdApi::processRtnOrder(Task task) +{ + CThostFtdcOrderField task_data = any_cast(task.task_data); + dict data; + data["ContingentCondition"] = task_data.ContingentCondition; + data["NotifySequence"] = task_data.NotifySequence; + data["ActiveUserID"] = task_data.ActiveUserID; + data["VolumeTraded"] = task_data.VolumeTraded; + data["UserProductInfo"] = task_data.UserProductInfo; + data["CombOffsetFlag"] = task_data.CombOffsetFlag; + data["TraderID"] = task_data.TraderID; + data["UserID"] = task_data.UserID; + data["LimitPrice"] = task_data.LimitPrice; + data["UserForceClose"] = task_data.UserForceClose; + data["RelativeOrderSysID"] = task_data.RelativeOrderSysID; + data["Direction"] = task_data.Direction; + data["InstallID"] = task_data.InstallID; + data["IsSwapOrder"] = task_data.IsSwapOrder; + data["ParticipantID"] = task_data.ParticipantID; + data["VolumeTotalOriginal"] = task_data.VolumeTotalOriginal; + data["ExchangeInstID"] = task_data.ExchangeInstID; + data["ClientID"] = task_data.ClientID; + data["VolumeTotal"] = task_data.VolumeTotal; + data["OrderPriceType"] = task_data.OrderPriceType; + data["SessionID"] = task_data.SessionID; + data["TimeCondition"] = task_data.TimeCondition; + data["OrderStatus"] = task_data.OrderStatus; + data["OrderSysID"] = task_data.OrderSysID; + data["OrderSubmitStatus"] = task_data.OrderSubmitStatus; + data["IsAutoSuspend"] = task_data.IsAutoSuspend; + data["StopPrice"] = task_data.StopPrice; + data["InstrumentID"] = task_data.InstrumentID; + data["ExchangeID"] = task_data.ExchangeID; + data["MinVolume"] = task_data.MinVolume; + data["StatusMsg"] = task_data.StatusMsg; + data["SettlementID"] = task_data.SettlementID; + data["ForceCloseReason"] = task_data.ForceCloseReason; + data["OrderType"] = task_data.OrderType; + data["UpdateTime"] = task_data.UpdateTime; + data["TradingDay"] = task_data.TradingDay; + data["ActiveTime"] = task_data.ActiveTime; + data["BrokerID"] = task_data.BrokerID; + data["InsertTime"] = task_data.InsertTime; + data["FrontID"] = task_data.FrontID; + data["SuspendTime"] = task_data.SuspendTime; + data["ClearingPartID"] = task_data.ClearingPartID; + data["CombHedgeFlag"] = task_data.CombHedgeFlag; + data["CancelTime"] = task_data.CancelTime; + data["GTDDate"] = task_data.GTDDate; + data["OrderLocalID"] = task_data.OrderLocalID; + data["BusinessUnit"] = task_data.BusinessUnit; + data["InsertDate"] = task_data.InsertDate; + data["SequenceNo"] = task_data.SequenceNo; + data["OrderRef"] = task_data.OrderRef; + data["BrokerOrderSeq"] = task_data.BrokerOrderSeq; + data["InvestorID"] = task_data.InvestorID; + data["VolumeCondition"] = task_data.VolumeCondition; + data["RequestID"] = task_data.RequestID; + data["OrderSource"] = task_data.OrderSource; + data["ZCETotalTradedVolume"] = task_data.ZCETotalTradedVolume; + data["ActiveTraderID"] = task_data.ActiveTraderID; + + this->onRtnOrder(data); +}; + +void TdApi::processRtnTrade(Task task) +{ + CThostFtdcTradeField task_data = any_cast(task.task_data); + dict data; + data["TradeType"] = task_data.TradeType; + data["TraderID"] = task_data.TraderID; + data["HedgeFlag"] = task_data.HedgeFlag; + data["TradeTime"] = task_data.TradeTime; + data["Direction"] = task_data.Direction; + data["ParticipantID"] = task_data.ParticipantID; + data["Price"] = task_data.Price; + data["ClientID"] = task_data.ClientID; + data["Volume"] = task_data.Volume; + data["OrderSysID"] = task_data.OrderSysID; + data["ClearingPartID"] = task_data.ClearingPartID; + data["InstrumentID"] = task_data.InstrumentID; + data["ExchangeID"] = task_data.ExchangeID; + data["SettlementID"] = task_data.SettlementID; + data["UserID"] = task_data.UserID; + data["TradingDay"] = task_data.TradingDay; + data["BrokerID"] = task_data.BrokerID; + data["OffsetFlag"] = task_data.OffsetFlag; + data["OrderLocalID"] = task_data.OrderLocalID; + data["TradeID"] = task_data.TradeID; + data["TradeDate"] = task_data.TradeDate; + data["BusinessUnit"] = task_data.BusinessUnit; + data["SequenceNo"] = task_data.SequenceNo; + data["OrderRef"] = task_data.OrderRef; + data["BrokerOrderSeq"] = task_data.BrokerOrderSeq; + data["InvestorID"] = task_data.InvestorID; + data["ExchangeInstID"] = task_data.ExchangeInstID; + data["TradeSource"] = task_data.TradeSource; + data["PriceSource"] = task_data.PriceSource; + data["TradingRole"] = task_data.TradingRole; + + this->onRtnTrade(data); +}; + +void TdApi::processErrRtnOrderInsert(Task task) +{ + CThostFtdcInputOrderField task_data = any_cast(task.task_data); + dict data; + data["ContingentCondition"] = task_data.ContingentCondition; + data["CombOffsetFlag"] = task_data.CombOffsetFlag; + data["UserID"] = task_data.UserID; + data["LimitPrice"] = task_data.LimitPrice; + data["UserForceClose"] = task_data.UserForceClose; + data["Direction"] = task_data.Direction; + data["IsSwapOrder"] = task_data.IsSwapOrder; + data["VolumeTotalOriginal"] = task_data.VolumeTotalOriginal; + data["OrderPriceType"] = task_data.OrderPriceType; + data["TimeCondition"] = task_data.TimeCondition; + data["IsAutoSuspend"] = task_data.IsAutoSuspend; + data["StopPrice"] = task_data.StopPrice; + data["InstrumentID"] = task_data.InstrumentID; + data["MinVolume"] = task_data.MinVolume; + data["ForceCloseReason"] = task_data.ForceCloseReason; + data["BrokerID"] = task_data.BrokerID; + data["CombHedgeFlag"] = task_data.CombHedgeFlag; + data["GTDDate"] = task_data.GTDDate; + data["BusinessUnit"] = task_data.BusinessUnit; + data["OrderRef"] = task_data.OrderRef; + data["InvestorID"] = task_data.InvestorID; + data["VolumeCondition"] = task_data.VolumeCondition; + data["RequestID"] = task_data.RequestID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onErrRtnOrderInsert(data, error); +}; + +void TdApi::processErrRtnOrderAction(Task task) +{ + CThostFtdcOrderActionField task_data = any_cast(task.task_data); + dict data; + data["ActionTime"] = task_data.ActionTime; + data["InvestorID"] = task_data.InvestorID; + data["TraderID"] = task_data.TraderID; + data["UserID"] = task_data.UserID; + data["LimitPrice"] = task_data.LimitPrice; + data["OrderActionStatus"] = task_data.OrderActionStatus; + data["InstallID"] = task_data.InstallID; + data["ParticipantID"] = task_data.ParticipantID; + data["OrderActionRef"] = task_data.OrderActionRef; + data["VolumeChange"] = task_data.VolumeChange; + data["SessionID"] = task_data.SessionID; + data["ActionFlag"] = task_data.ActionFlag; + data["InstrumentID"] = task_data.InstrumentID; + data["ExchangeID"] = task_data.ExchangeID; + data["StatusMsg"] = task_data.StatusMsg; + data["OrderSysID"] = task_data.OrderSysID; + data["BrokerID"] = task_data.BrokerID; + data["ClientID"] = task_data.ClientID; + data["ActionDate"] = task_data.ActionDate; + data["OrderLocalID"] = task_data.OrderLocalID; + data["BusinessUnit"] = task_data.BusinessUnit; + data["OrderRef"] = task_data.OrderRef; + data["ActionLocalID"] = task_data.ActionLocalID; + data["RequestID"] = task_data.RequestID; + data["FrontID"] = task_data.FrontID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onErrRtnOrderAction(data, error); +}; + +void TdApi::processRtnInstrumentStatus(Task task) +{ + CThostFtdcInstrumentStatusField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["ExchangeID"] = task_data.ExchangeID; + data["EnterTime"] = task_data.EnterTime; + data["SettlementGroupID"] = task_data.SettlementGroupID; + data["TradingSegmentSN"] = task_data.TradingSegmentSN; + data["EnterReason"] = task_data.EnterReason; + data["InstrumentStatus"] = task_data.InstrumentStatus; + data["ExchangeInstID"] = task_data.ExchangeInstID; + + this->onRtnInstrumentStatus(data); +}; + +void TdApi::processRtnTradingNotice(Task task) +{ + CThostFtdcTradingNoticeInfoField task_data = any_cast(task.task_data); + dict data; + data["SequenceSeries"] = task_data.SequenceSeries; + data["SequenceNo"] = task_data.SequenceNo; + data["FieldContent"] = task_data.FieldContent; + data["InvestorID"] = task_data.InvestorID; + data["BrokerID"] = task_data.BrokerID; + data["SendTime"] = task_data.SendTime; + + this->onRtnTradingNotice(data); +}; + +void TdApi::processRtnErrorConditionalOrder(Task task) +{ + CThostFtdcErrorConditionalOrderField task_data = any_cast(task.task_data); + dict data; + data["ContingentCondition"] = task_data.ContingentCondition; + data["NotifySequence"] = task_data.NotifySequence; + data["ActiveUserID"] = task_data.ActiveUserID; + data["VolumeTraded"] = task_data.VolumeTraded; + data["UserProductInfo"] = task_data.UserProductInfo; + data["CombOffsetFlag"] = task_data.CombOffsetFlag; + data["TraderID"] = task_data.TraderID; + data["UserID"] = task_data.UserID; + data["LimitPrice"] = task_data.LimitPrice; + data["UserForceClose"] = task_data.UserForceClose; + data["RelativeOrderSysID"] = task_data.RelativeOrderSysID; + data["Direction"] = task_data.Direction; + data["InstallID"] = task_data.InstallID; + data["IsSwapOrder"] = task_data.IsSwapOrder; + data["ParticipantID"] = task_data.ParticipantID; + data["VolumeTotalOriginal"] = task_data.VolumeTotalOriginal; + data["ExchangeInstID"] = task_data.ExchangeInstID; + data["ClientID"] = task_data.ClientID; + data["VolumeTotal"] = task_data.VolumeTotal; + data["OrderPriceType"] = task_data.OrderPriceType; + data["SessionID"] = task_data.SessionID; + data["TimeCondition"] = task_data.TimeCondition; + data["OrderStatus"] = task_data.OrderStatus; + data["OrderSysID"] = task_data.OrderSysID; + data["OrderSubmitStatus"] = task_data.OrderSubmitStatus; + data["IsAutoSuspend"] = task_data.IsAutoSuspend; + data["StopPrice"] = task_data.StopPrice; + data["InstrumentID"] = task_data.InstrumentID; + data["ExchangeID"] = task_data.ExchangeID; + data["MinVolume"] = task_data.MinVolume; + data["StatusMsg"] = task_data.StatusMsg; + data["SettlementID"] = task_data.SettlementID; + data["ForceCloseReason"] = task_data.ForceCloseReason; + data["OrderType"] = task_data.OrderType; + data["ErrorID"] = task_data.ErrorID; + data["UpdateTime"] = task_data.UpdateTime; + data["TradingDay"] = task_data.TradingDay; + data["ActiveTime"] = task_data.ActiveTime; + data["BrokerID"] = task_data.BrokerID; + data["InsertTime"] = task_data.InsertTime; + data["FrontID"] = task_data.FrontID; + data["SuspendTime"] = task_data.SuspendTime; + data["ClearingPartID"] = task_data.ClearingPartID; + data["CombHedgeFlag"] = task_data.CombHedgeFlag; + data["CancelTime"] = task_data.CancelTime; + data["GTDDate"] = task_data.GTDDate; + data["OrderLocalID"] = task_data.OrderLocalID; + data["BusinessUnit"] = task_data.BusinessUnit; + data["InsertDate"] = task_data.InsertDate; + data["SequenceNo"] = task_data.SequenceNo; + data["OrderRef"] = task_data.OrderRef; + data["BrokerOrderSeq"] = task_data.BrokerOrderSeq; + data["InvestorID"] = task_data.InvestorID; + data["VolumeCondition"] = task_data.VolumeCondition; + data["RequestID"] = task_data.RequestID; + data["ErrorMsg"] = task_data.ErrorMsg; + data["OrderSource"] = task_data.OrderSource; + data["ZCETotalTradedVolume"] = task_data.ZCETotalTradedVolume; + data["ActiveTraderID"] = task_data.ActiveTraderID; + + this->onRtnErrorConditionalOrder(data); +}; + +void TdApi::processRtnExecOrder(Task task) +{ + CThostFtdcExecOrderField task_data = any_cast(task.task_data); + dict data; + data["NotifySequence"] = task_data.NotifySequence; + data["CloseFlag"] = task_data.CloseFlag; + data["ActiveUserID"] = task_data.ActiveUserID; + data["UserProductInfo"] = task_data.UserProductInfo; + data["TraderID"] = task_data.TraderID; + data["HedgeFlag"] = task_data.HedgeFlag; + data["ExecResult"] = task_data.ExecResult; + data["ReservePositionFlag"] = task_data.ReservePositionFlag; + data["Volume"] = task_data.Volume; + data["InstallID"] = task_data.InstallID; + data["OffsetFlag"] = task_data.OffsetFlag; + data["PosiDirection"] = task_data.PosiDirection; + data["ClientID"] = task_data.ClientID; + data["ExecOrderRef"] = task_data.ExecOrderRef; + data["SessionID"] = task_data.SessionID; + data["ActionType"] = task_data.ActionType; + data["OrderSubmitStatus"] = task_data.OrderSubmitStatus; + data["ClearingPartID"] = task_data.ClearingPartID; + data["InstrumentID"] = task_data.InstrumentID; + data["ExecOrderSysID"] = task_data.ExecOrderSysID; + data["ExchangeID"] = task_data.ExchangeID; + data["StatusMsg"] = task_data.StatusMsg; + data["SettlementID"] = task_data.SettlementID; + data["UserID"] = task_data.UserID; + data["TradingDay"] = task_data.TradingDay; + data["BrokerID"] = task_data.BrokerID; + data["InsertTime"] = task_data.InsertTime; + data["ExecOrderLocalID"] = task_data.ExecOrderLocalID; + data["ParticipantID"] = task_data.ParticipantID; + data["CancelTime"] = task_data.CancelTime; + data["BusinessUnit"] = task_data.BusinessUnit; + data["InsertDate"] = task_data.InsertDate; + data["SequenceNo"] = task_data.SequenceNo; + data["InvestorID"] = task_data.InvestorID; + data["ExchangeInstID"] = task_data.ExchangeInstID; + data["RequestID"] = task_data.RequestID; + data["BrokerExecOrderSeq"] = task_data.BrokerExecOrderSeq; + data["FrontID"] = task_data.FrontID; + + this->onRtnExecOrder(data); +}; + +void TdApi::processErrRtnExecOrderInsert(Task task) +{ + CThostFtdcInputExecOrderField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["ExecOrderRef"] = task_data.ExecOrderRef; + data["CloseFlag"] = task_data.CloseFlag; + data["OffsetFlag"] = task_data.OffsetFlag; + data["PosiDirection"] = task_data.PosiDirection; + data["BusinessUnit"] = task_data.BusinessUnit; + data["HedgeFlag"] = task_data.HedgeFlag; + data["UserID"] = task_data.UserID; + data["Volume"] = task_data.Volume; + data["InvestorID"] = task_data.InvestorID; + data["BrokerID"] = task_data.BrokerID; + data["RequestID"] = task_data.RequestID; + data["ActionType"] = task_data.ActionType; + data["ReservePositionFlag"] = task_data.ReservePositionFlag; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onErrRtnExecOrderInsert(data, error); +}; + +void TdApi::processErrRtnExecOrderAction(Task task) +{ + CThostFtdcExecOrderActionField task_data = any_cast(task.task_data); + dict data; + data["ActionTime"] = task_data.ActionTime; + data["TraderID"] = task_data.TraderID; + data["UserID"] = task_data.UserID; + data["OrderActionStatus"] = task_data.OrderActionStatus; + data["InstallID"] = task_data.InstallID; + data["ParticipantID"] = task_data.ParticipantID; + data["InvestorID"] = task_data.InvestorID; + data["ClientID"] = task_data.ClientID; + data["ExecOrderRef"] = task_data.ExecOrderRef; + data["SessionID"] = task_data.SessionID; + data["ActionType"] = task_data.ActionType; + data["ActionFlag"] = task_data.ActionFlag; + data["InstrumentID"] = task_data.InstrumentID; + data["ExecOrderSysID"] = task_data.ExecOrderSysID; + data["ExchangeID"] = task_data.ExchangeID; + data["StatusMsg"] = task_data.StatusMsg; + data["BrokerID"] = task_data.BrokerID; + data["ExecOrderLocalID"] = task_data.ExecOrderLocalID; + data["ActionDate"] = task_data.ActionDate; + data["BusinessUnit"] = task_data.BusinessUnit; + data["ActionLocalID"] = task_data.ActionLocalID; + data["RequestID"] = task_data.RequestID; + data["ExecOrderActionRef"] = task_data.ExecOrderActionRef; + data["FrontID"] = task_data.FrontID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onErrRtnExecOrderAction(data, error); +}; + +void TdApi::processErrRtnForQuoteInsert(Task task) +{ + CThostFtdcInputForQuoteField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["InvestorID"] = task_data.InvestorID; + data["BrokerID"] = task_data.BrokerID; + data["UserID"] = task_data.UserID; + data["ForQuoteRef"] = task_data.ForQuoteRef; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onErrRtnForQuoteInsert(data, error); +}; + +void TdApi::processRtnQuote(Task task) +{ + CThostFtdcQuoteField task_data = any_cast(task.task_data); + dict data; + data["NotifySequence"] = task_data.NotifySequence; + data["AskHedgeFlag"] = task_data.AskHedgeFlag; + data["BidOrderSysID"] = task_data.BidOrderSysID; + data["TraderID"] = task_data.TraderID; + data["UserID"] = task_data.UserID; + data["AskVolume"] = task_data.AskVolume; + data["ActiveUserID"] = task_data.ActiveUserID; + data["BidHedgeFlag"] = task_data.BidHedgeFlag; + data["QuoteRef"] = task_data.QuoteRef; + data["AskOrderSysID"] = task_data.AskOrderSysID; + data["InstallID"] = task_data.InstallID; + data["ParticipantID"] = task_data.ParticipantID; + data["UserProductInfo"] = task_data.UserProductInfo; + data["AskOffsetFlag"] = task_data.AskOffsetFlag; + data["ClientID"] = task_data.ClientID; + data["SessionID"] = task_data.SessionID; + data["BidOffsetFlag"] = task_data.BidOffsetFlag; + data["BidPrice"] = task_data.BidPrice; + data["OrderSubmitStatus"] = task_data.OrderSubmitStatus; + data["InstrumentID"] = task_data.InstrumentID; + data["QuoteStatus"] = task_data.QuoteStatus; + data["ExchangeID"] = task_data.ExchangeID; + data["StatusMsg"] = task_data.StatusMsg; + data["SettlementID"] = task_data.SettlementID; + data["QuoteLocalID"] = task_data.QuoteLocalID; + data["BidVolume"] = task_data.BidVolume; + data["TradingDay"] = task_data.TradingDay; + data["BrokerID"] = task_data.BrokerID; + data["InsertTime"] = task_data.InsertTime; + data["QuoteSysID"] = task_data.QuoteSysID; + data["ClearingPartID"] = task_data.ClearingPartID; + data["CancelTime"] = task_data.CancelTime; + data["BusinessUnit"] = task_data.BusinessUnit; + data["InsertDate"] = task_data.InsertDate; + data["AskPrice"] = task_data.AskPrice; + data["SequenceNo"] = task_data.SequenceNo; + data["InvestorID"] = task_data.InvestorID; + data["ExchangeInstID"] = task_data.ExchangeInstID; + data["RequestID"] = task_data.RequestID; + data["BrokerQuoteSeq"] = task_data.BrokerQuoteSeq; + data["FrontID"] = task_data.FrontID; + + this->onRtnQuote(data); +}; + +void TdApi::processErrRtnQuoteInsert(Task task) +{ + CThostFtdcInputQuoteField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["AskHedgeFlag"] = task_data.AskHedgeFlag; + data["BusinessUnit"] = task_data.BusinessUnit; + data["AskPrice"] = task_data.AskPrice; + data["UserID"] = task_data.UserID; + data["AskOffsetFlag"] = task_data.AskOffsetFlag; + data["BidVolume"] = task_data.BidVolume; + data["AskVolume"] = task_data.AskVolume; + data["InvestorID"] = task_data.InvestorID; + data["BidOffsetFlag"] = task_data.BidOffsetFlag; + data["BrokerID"] = task_data.BrokerID; + data["RequestID"] = task_data.RequestID; + data["BidPrice"] = task_data.BidPrice; + data["BidHedgeFlag"] = task_data.BidHedgeFlag; + data["QuoteRef"] = task_data.QuoteRef; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onErrRtnQuoteInsert(data, error); +}; + +void TdApi::processErrRtnQuoteAction(Task task) +{ + CThostFtdcQuoteActionField task_data = any_cast(task.task_data); + dict data; + data["ActionTime"] = task_data.ActionTime; + data["TraderID"] = task_data.TraderID; + data["UserID"] = task_data.UserID; + data["OrderActionStatus"] = task_data.OrderActionStatus; + data["QuoteRef"] = task_data.QuoteRef; + data["InstallID"] = task_data.InstallID; + data["ParticipantID"] = task_data.ParticipantID; + data["InvestorID"] = task_data.InvestorID; + data["ClientID"] = task_data.ClientID; + data["SessionID"] = task_data.SessionID; + data["ActionFlag"] = task_data.ActionFlag; + data["InstrumentID"] = task_data.InstrumentID; + data["ExchangeID"] = task_data.ExchangeID; + data["QuoteActionRef"] = task_data.QuoteActionRef; + data["StatusMsg"] = task_data.StatusMsg; + data["QuoteLocalID"] = task_data.QuoteLocalID; + data["BrokerID"] = task_data.BrokerID; + data["QuoteSysID"] = task_data.QuoteSysID; + data["ActionDate"] = task_data.ActionDate; + data["BusinessUnit"] = task_data.BusinessUnit; + data["ActionLocalID"] = task_data.ActionLocalID; + data["RequestID"] = task_data.RequestID; + data["FrontID"] = task_data.FrontID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onErrRtnQuoteAction(data, error); +}; + +void TdApi::processRtnForQuoteRsp(Task task) +{ + CThostFtdcForQuoteRspField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["TradingDay"] = task_data.TradingDay; + data["ForQuoteTime"] = task_data.ForQuoteTime; + data["ForQuoteSysID"] = task_data.ForQuoteSysID; + data["ActionDay"] = task_data.ActionDay; + + this->onRtnForQuoteRsp(data); +}; + +void TdApi::processRspQryContractBank(Task task) +{ + CThostFtdcContractBankField task_data = any_cast(task.task_data); + dict data; + data["BankName"] = task_data.BankName; + data["BrokerID"] = task_data.BrokerID; + data["BankBrchID"] = task_data.BankBrchID; + data["BankID"] = task_data.BankID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryContractBank(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryParkedOrder(Task task) +{ + CThostFtdcParkedOrderField task_data = any_cast(task.task_data); + dict data; + data["ContingentCondition"] = task_data.ContingentCondition; + data["CombOffsetFlag"] = task_data.CombOffsetFlag; + data["UserID"] = task_data.UserID; + data["LimitPrice"] = task_data.LimitPrice; + data["UserForceClose"] = task_data.UserForceClose; + data["Status"] = task_data.Status; + data["Direction"] = task_data.Direction; + data["IsSwapOrder"] = task_data.IsSwapOrder; + data["UserType"] = task_data.UserType; + data["VolumeTotalOriginal"] = task_data.VolumeTotalOriginal; + data["OrderPriceType"] = task_data.OrderPriceType; + data["TimeCondition"] = task_data.TimeCondition; + data["IsAutoSuspend"] = task_data.IsAutoSuspend; + data["StopPrice"] = task_data.StopPrice; + data["InstrumentID"] = task_data.InstrumentID; + data["ExchangeID"] = task_data.ExchangeID; + data["MinVolume"] = task_data.MinVolume; + data["ForceCloseReason"] = task_data.ForceCloseReason; + data["ErrorID"] = task_data.ErrorID; + data["ParkedOrderID"] = task_data.ParkedOrderID; + data["BrokerID"] = task_data.BrokerID; + data["CombHedgeFlag"] = task_data.CombHedgeFlag; + data["GTDDate"] = task_data.GTDDate; + data["BusinessUnit"] = task_data.BusinessUnit; + data["ErrorMsg"] = task_data.ErrorMsg; + data["OrderRef"] = task_data.OrderRef; + data["InvestorID"] = task_data.InvestorID; + data["VolumeCondition"] = task_data.VolumeCondition; + data["RequestID"] = task_data.RequestID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryParkedOrder(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryParkedOrderAction(Task task) +{ + CThostFtdcParkedOrderActionField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["Status"] = task_data.Status; + data["ExchangeID"] = task_data.ExchangeID; + data["ActionFlag"] = task_data.ActionFlag; + data["OrderActionRef"] = task_data.OrderActionRef; + data["UserType"] = task_data.UserType; + data["ErrorMsg"] = task_data.ErrorMsg; + data["UserID"] = task_data.UserID; + data["LimitPrice"] = task_data.LimitPrice; + data["OrderRef"] = task_data.OrderRef; + data["InvestorID"] = task_data.InvestorID; + data["SessionID"] = task_data.SessionID; + data["VolumeChange"] = task_data.VolumeChange; + data["BrokerID"] = task_data.BrokerID; + data["RequestID"] = task_data.RequestID; + data["OrderSysID"] = task_data.OrderSysID; + data["ParkedOrderActionID"] = task_data.ParkedOrderActionID; + data["FrontID"] = task_data.FrontID; + data["ErrorID"] = task_data.ErrorID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryParkedOrderAction(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryTradingNotice(Task task) +{ + CThostFtdcTradingNoticeField task_data = any_cast(task.task_data); + dict data; + data["SequenceSeries"] = task_data.SequenceSeries; + data["SequenceNo"] = task_data.SequenceNo; + data["UserID"] = task_data.UserID; + data["FieldContent"] = task_data.FieldContent; + data["InvestorID"] = task_data.InvestorID; + data["BrokerID"] = task_data.BrokerID; + data["SendTime"] = task_data.SendTime; + data["InvestorRange"] = task_data.InvestorRange; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryTradingNotice(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryBrokerTradingParams(Task task) +{ + CThostFtdcBrokerTradingParamsField task_data = any_cast(task.task_data); + dict data; + data["MarginPriceType"] = task_data.MarginPriceType; + data["Algorithm"] = task_data.Algorithm; + data["CurrencyID"] = task_data.CurrencyID; + data["OptionRoyaltyPriceType"] = task_data.OptionRoyaltyPriceType; + data["InvestorID"] = task_data.InvestorID; + data["BrokerID"] = task_data.BrokerID; + data["AvailIncludeCloseProfit"] = task_data.AvailIncludeCloseProfit; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryBrokerTradingParams(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryBrokerTradingAlgos(Task task) +{ + CThostFtdcBrokerTradingAlgosField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["HandlePositionAlgoID"] = task_data.HandlePositionAlgoID; + data["ExchangeID"] = task_data.ExchangeID; + data["FindMarginRateAlgoID"] = task_data.FindMarginRateAlgoID; + data["BrokerID"] = task_data.BrokerID; + data["HandleTradingAccountAlgoID"] = task_data.HandleTradingAccountAlgoID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryBrokerTradingAlgos(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRtnFromBankToFutureByBank(Task task) +{ + CThostFtdcRspTransferField task_data = any_cast(task.task_data); + dict data; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["UserID"] = task_data.UserID; + data["BankPassWord"] = task_data.BankPassWord; + data["TradeTime"] = task_data.TradeTime; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["InstallID"] = task_data.InstallID; + data["CustomerName"] = task_data.CustomerName; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["BankID"] = task_data.BankID; + data["Password"] = task_data.Password; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["ErrorID"] = task_data.ErrorID; + data["RequestID"] = task_data.RequestID; + data["CustType"] = task_data.CustType; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["FeePayFlag"] = task_data.FeePayFlag; + data["BankSerial"] = task_data.BankSerial; + data["OperNo"] = task_data.OperNo; + data["TradingDay"] = task_data.TradingDay; + data["BankSecuAcc"] = task_data.BankSecuAcc; + data["BrokerID"] = task_data.BrokerID; + data["DeviceID"] = task_data.DeviceID; + data["TransferStatus"] = task_data.TransferStatus; + data["IdCardType"] = task_data.IdCardType; + data["PlateSerial"] = task_data.PlateSerial; + data["FutureFetchAmount"] = task_data.FutureFetchAmount; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["BrokerFee"] = task_data.BrokerFee; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["FutureSerial"] = task_data.FutureSerial; + data["ErrorMsg"] = task_data.ErrorMsg; + data["BankSecuAccType"] = task_data.BankSecuAccType; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["Message"] = task_data.Message; + data["CustFee"] = task_data.CustFee; + data["TradeAmount"] = task_data.TradeAmount; + data["Digest"] = task_data.Digest; + + this->onRtnFromBankToFutureByBank(data); +}; + +void TdApi::processRtnFromFutureToBankByBank(Task task) +{ + CThostFtdcRspTransferField task_data = any_cast(task.task_data); + dict data; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["UserID"] = task_data.UserID; + data["BankPassWord"] = task_data.BankPassWord; + data["TradeTime"] = task_data.TradeTime; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["InstallID"] = task_data.InstallID; + data["CustomerName"] = task_data.CustomerName; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["BankID"] = task_data.BankID; + data["Password"] = task_data.Password; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["ErrorID"] = task_data.ErrorID; + data["RequestID"] = task_data.RequestID; + data["CustType"] = task_data.CustType; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["FeePayFlag"] = task_data.FeePayFlag; + data["BankSerial"] = task_data.BankSerial; + data["OperNo"] = task_data.OperNo; + data["TradingDay"] = task_data.TradingDay; + data["BankSecuAcc"] = task_data.BankSecuAcc; + data["BrokerID"] = task_data.BrokerID; + data["DeviceID"] = task_data.DeviceID; + data["TransferStatus"] = task_data.TransferStatus; + data["IdCardType"] = task_data.IdCardType; + data["PlateSerial"] = task_data.PlateSerial; + data["FutureFetchAmount"] = task_data.FutureFetchAmount; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["BrokerFee"] = task_data.BrokerFee; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["FutureSerial"] = task_data.FutureSerial; + data["ErrorMsg"] = task_data.ErrorMsg; + data["BankSecuAccType"] = task_data.BankSecuAccType; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["Message"] = task_data.Message; + data["CustFee"] = task_data.CustFee; + data["TradeAmount"] = task_data.TradeAmount; + data["Digest"] = task_data.Digest; + + this->onRtnFromFutureToBankByBank(data); +}; + +void TdApi::processRtnRepealFromBankToFutureByBank(Task task) +{ + CThostFtdcRspRepealField task_data = any_cast(task.task_data); + dict data; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["UserID"] = task_data.UserID; + data["BankPassWord"] = task_data.BankPassWord; + data["BankRepealFlag"] = task_data.BankRepealFlag; + data["RepealedTimes"] = task_data.RepealedTimes; + data["TradeTime"] = task_data.TradeTime; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["FutureRepealSerial"] = task_data.FutureRepealSerial; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["InstallID"] = task_data.InstallID; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["CustomerName"] = task_data.CustomerName; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["BankID"] = task_data.BankID; + data["PlateSerial"] = task_data.PlateSerial; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["ErrorID"] = task_data.ErrorID; + data["RequestID"] = task_data.RequestID; + data["CustType"] = task_data.CustType; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["FeePayFlag"] = task_data.FeePayFlag; + data["BankSerial"] = task_data.BankSerial; + data["OperNo"] = task_data.OperNo; + data["TradingDay"] = task_data.TradingDay; + data["BankSecuAcc"] = task_data.BankSecuAcc; + data["BrokerID"] = task_data.BrokerID; + data["DeviceID"] = task_data.DeviceID; + data["TransferStatus"] = task_data.TransferStatus; + data["BrokerRepealFlag"] = task_data.BrokerRepealFlag; + data["IdCardType"] = task_data.IdCardType; + data["Password"] = task_data.Password; + data["FutureFetchAmount"] = task_data.FutureFetchAmount; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["BrokerFee"] = task_data.BrokerFee; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["FutureSerial"] = task_data.FutureSerial; + data["BankRepealSerial"] = task_data.BankRepealSerial; + data["ErrorMsg"] = task_data.ErrorMsg; + data["RepealTimeInterval"] = task_data.RepealTimeInterval; + data["BankSecuAccType"] = task_data.BankSecuAccType; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["PlateRepealSerial"] = task_data.PlateRepealSerial; + data["Message"] = task_data.Message; + data["CustFee"] = task_data.CustFee; + data["TradeAmount"] = task_data.TradeAmount; + data["Digest"] = task_data.Digest; + + this->onRtnRepealFromBankToFutureByBank(data); +}; + +void TdApi::processRtnRepealFromFutureToBankByBank(Task task) +{ + CThostFtdcRspRepealField task_data = any_cast(task.task_data); + dict data; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["UserID"] = task_data.UserID; + data["BankPassWord"] = task_data.BankPassWord; + data["BankRepealFlag"] = task_data.BankRepealFlag; + data["RepealedTimes"] = task_data.RepealedTimes; + data["TradeTime"] = task_data.TradeTime; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["FutureRepealSerial"] = task_data.FutureRepealSerial; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["InstallID"] = task_data.InstallID; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["CustomerName"] = task_data.CustomerName; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["BankID"] = task_data.BankID; + data["PlateSerial"] = task_data.PlateSerial; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["ErrorID"] = task_data.ErrorID; + data["RequestID"] = task_data.RequestID; + data["CustType"] = task_data.CustType; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["FeePayFlag"] = task_data.FeePayFlag; + data["BankSerial"] = task_data.BankSerial; + data["OperNo"] = task_data.OperNo; + data["TradingDay"] = task_data.TradingDay; + data["BankSecuAcc"] = task_data.BankSecuAcc; + data["BrokerID"] = task_data.BrokerID; + data["DeviceID"] = task_data.DeviceID; + data["TransferStatus"] = task_data.TransferStatus; + data["BrokerRepealFlag"] = task_data.BrokerRepealFlag; + data["IdCardType"] = task_data.IdCardType; + data["Password"] = task_data.Password; + data["FutureFetchAmount"] = task_data.FutureFetchAmount; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["BrokerFee"] = task_data.BrokerFee; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["FutureSerial"] = task_data.FutureSerial; + data["BankRepealSerial"] = task_data.BankRepealSerial; + data["ErrorMsg"] = task_data.ErrorMsg; + data["RepealTimeInterval"] = task_data.RepealTimeInterval; + data["BankSecuAccType"] = task_data.BankSecuAccType; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["PlateRepealSerial"] = task_data.PlateRepealSerial; + data["Message"] = task_data.Message; + data["CustFee"] = task_data.CustFee; + data["TradeAmount"] = task_data.TradeAmount; + data["Digest"] = task_data.Digest; + + this->onRtnRepealFromFutureToBankByBank(data); +}; + +void TdApi::processRtnFromBankToFutureByFuture(Task task) +{ + CThostFtdcRspTransferField task_data = any_cast(task.task_data); + dict data; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["UserID"] = task_data.UserID; + data["BankPassWord"] = task_data.BankPassWord; + data["TradeTime"] = task_data.TradeTime; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["InstallID"] = task_data.InstallID; + data["CustomerName"] = task_data.CustomerName; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["BankID"] = task_data.BankID; + data["Password"] = task_data.Password; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["ErrorID"] = task_data.ErrorID; + data["RequestID"] = task_data.RequestID; + data["CustType"] = task_data.CustType; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["FeePayFlag"] = task_data.FeePayFlag; + data["BankSerial"] = task_data.BankSerial; + data["OperNo"] = task_data.OperNo; + data["TradingDay"] = task_data.TradingDay; + data["BankSecuAcc"] = task_data.BankSecuAcc; + data["BrokerID"] = task_data.BrokerID; + data["DeviceID"] = task_data.DeviceID; + data["TransferStatus"] = task_data.TransferStatus; + data["IdCardType"] = task_data.IdCardType; + data["PlateSerial"] = task_data.PlateSerial; + data["FutureFetchAmount"] = task_data.FutureFetchAmount; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["BrokerFee"] = task_data.BrokerFee; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["FutureSerial"] = task_data.FutureSerial; + data["ErrorMsg"] = task_data.ErrorMsg; + data["BankSecuAccType"] = task_data.BankSecuAccType; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["Message"] = task_data.Message; + data["CustFee"] = task_data.CustFee; + data["TradeAmount"] = task_data.TradeAmount; + data["Digest"] = task_data.Digest; + + this->onRtnFromBankToFutureByFuture(data); +}; + +void TdApi::processRtnFromFutureToBankByFuture(Task task) +{ + CThostFtdcRspTransferField task_data = any_cast(task.task_data); + dict data; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["UserID"] = task_data.UserID; + data["BankPassWord"] = task_data.BankPassWord; + data["TradeTime"] = task_data.TradeTime; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["InstallID"] = task_data.InstallID; + data["CustomerName"] = task_data.CustomerName; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["BankID"] = task_data.BankID; + data["Password"] = task_data.Password; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["ErrorID"] = task_data.ErrorID; + data["RequestID"] = task_data.RequestID; + data["CustType"] = task_data.CustType; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["FeePayFlag"] = task_data.FeePayFlag; + data["BankSerial"] = task_data.BankSerial; + data["OperNo"] = task_data.OperNo; + data["TradingDay"] = task_data.TradingDay; + data["BankSecuAcc"] = task_data.BankSecuAcc; + data["BrokerID"] = task_data.BrokerID; + data["DeviceID"] = task_data.DeviceID; + data["TransferStatus"] = task_data.TransferStatus; + data["IdCardType"] = task_data.IdCardType; + data["PlateSerial"] = task_data.PlateSerial; + data["FutureFetchAmount"] = task_data.FutureFetchAmount; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["BrokerFee"] = task_data.BrokerFee; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["FutureSerial"] = task_data.FutureSerial; + data["ErrorMsg"] = task_data.ErrorMsg; + data["BankSecuAccType"] = task_data.BankSecuAccType; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["Message"] = task_data.Message; + data["CustFee"] = task_data.CustFee; + data["TradeAmount"] = task_data.TradeAmount; + data["Digest"] = task_data.Digest; + + this->onRtnFromFutureToBankByFuture(data); +}; + +void TdApi::processRtnRepealFromBankToFutureByFutureManual(Task task) +{ + CThostFtdcRspRepealField task_data = any_cast(task.task_data); + dict data; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["UserID"] = task_data.UserID; + data["BankPassWord"] = task_data.BankPassWord; + data["BankRepealFlag"] = task_data.BankRepealFlag; + data["RepealedTimes"] = task_data.RepealedTimes; + data["TradeTime"] = task_data.TradeTime; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["FutureRepealSerial"] = task_data.FutureRepealSerial; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["InstallID"] = task_data.InstallID; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["CustomerName"] = task_data.CustomerName; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["BankID"] = task_data.BankID; + data["PlateSerial"] = task_data.PlateSerial; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["ErrorID"] = task_data.ErrorID; + data["RequestID"] = task_data.RequestID; + data["CustType"] = task_data.CustType; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["FeePayFlag"] = task_data.FeePayFlag; + data["BankSerial"] = task_data.BankSerial; + data["OperNo"] = task_data.OperNo; + data["TradingDay"] = task_data.TradingDay; + data["BankSecuAcc"] = task_data.BankSecuAcc; + data["BrokerID"] = task_data.BrokerID; + data["DeviceID"] = task_data.DeviceID; + data["TransferStatus"] = task_data.TransferStatus; + data["BrokerRepealFlag"] = task_data.BrokerRepealFlag; + data["IdCardType"] = task_data.IdCardType; + data["Password"] = task_data.Password; + data["FutureFetchAmount"] = task_data.FutureFetchAmount; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["BrokerFee"] = task_data.BrokerFee; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["FutureSerial"] = task_data.FutureSerial; + data["BankRepealSerial"] = task_data.BankRepealSerial; + data["ErrorMsg"] = task_data.ErrorMsg; + data["RepealTimeInterval"] = task_data.RepealTimeInterval; + data["BankSecuAccType"] = task_data.BankSecuAccType; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["PlateRepealSerial"] = task_data.PlateRepealSerial; + data["Message"] = task_data.Message; + data["CustFee"] = task_data.CustFee; + data["TradeAmount"] = task_data.TradeAmount; + data["Digest"] = task_data.Digest; + + this->onRtnRepealFromBankToFutureByFutureManual(data); +}; + +void TdApi::processRtnRepealFromFutureToBankByFutureManual(Task task) +{ + CThostFtdcRspRepealField task_data = any_cast(task.task_data); + dict data; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["UserID"] = task_data.UserID; + data["BankPassWord"] = task_data.BankPassWord; + data["BankRepealFlag"] = task_data.BankRepealFlag; + data["RepealedTimes"] = task_data.RepealedTimes; + data["TradeTime"] = task_data.TradeTime; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["FutureRepealSerial"] = task_data.FutureRepealSerial; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["InstallID"] = task_data.InstallID; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["CustomerName"] = task_data.CustomerName; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["BankID"] = task_data.BankID; + data["PlateSerial"] = task_data.PlateSerial; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["ErrorID"] = task_data.ErrorID; + data["RequestID"] = task_data.RequestID; + data["CustType"] = task_data.CustType; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["FeePayFlag"] = task_data.FeePayFlag; + data["BankSerial"] = task_data.BankSerial; + data["OperNo"] = task_data.OperNo; + data["TradingDay"] = task_data.TradingDay; + data["BankSecuAcc"] = task_data.BankSecuAcc; + data["BrokerID"] = task_data.BrokerID; + data["DeviceID"] = task_data.DeviceID; + data["TransferStatus"] = task_data.TransferStatus; + data["BrokerRepealFlag"] = task_data.BrokerRepealFlag; + data["IdCardType"] = task_data.IdCardType; + data["Password"] = task_data.Password; + data["FutureFetchAmount"] = task_data.FutureFetchAmount; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["BrokerFee"] = task_data.BrokerFee; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["FutureSerial"] = task_data.FutureSerial; + data["BankRepealSerial"] = task_data.BankRepealSerial; + data["ErrorMsg"] = task_data.ErrorMsg; + data["RepealTimeInterval"] = task_data.RepealTimeInterval; + data["BankSecuAccType"] = task_data.BankSecuAccType; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["PlateRepealSerial"] = task_data.PlateRepealSerial; + data["Message"] = task_data.Message; + data["CustFee"] = task_data.CustFee; + data["TradeAmount"] = task_data.TradeAmount; + data["Digest"] = task_data.Digest; + + this->onRtnRepealFromFutureToBankByFutureManual(data); +}; + +void TdApi::processRtnQueryBankBalanceByFuture(Task task) +{ + CThostFtdcNotifyQueryAccountField task_data = any_cast(task.task_data); + dict data; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["UserID"] = task_data.UserID; + data["BankPassWord"] = task_data.BankPassWord; + data["TradeTime"] = task_data.TradeTime; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["InstallID"] = task_data.InstallID; + data["CustomerName"] = task_data.CustomerName; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["BankID"] = task_data.BankID; + data["Password"] = task_data.Password; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["ErrorID"] = task_data.ErrorID; + data["RequestID"] = task_data.RequestID; + data["CustType"] = task_data.CustType; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["BankSerial"] = task_data.BankSerial; + data["OperNo"] = task_data.OperNo; + data["TradingDay"] = task_data.TradingDay; + data["BankSecuAcc"] = task_data.BankSecuAcc; + data["BrokerID"] = task_data.BrokerID; + data["DeviceID"] = task_data.DeviceID; + data["BankUseAmount"] = task_data.BankUseAmount; + data["IdCardType"] = task_data.IdCardType; + data["PlateSerial"] = task_data.PlateSerial; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["ErrorMsg"] = task_data.ErrorMsg; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["FutureSerial"] = task_data.FutureSerial; + data["BankSecuAccType"] = task_data.BankSecuAccType; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["Digest"] = task_data.Digest; + data["BankFetchAmount"] = task_data.BankFetchAmount; + + this->onRtnQueryBankBalanceByFuture(data); +}; + +void TdApi::processErrRtnBankToFutureByFuture(Task task) +{ + CThostFtdcReqTransferField task_data = any_cast(task.task_data); + dict data; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["UserID"] = task_data.UserID; + data["BankPassWord"] = task_data.BankPassWord; + data["TradeTime"] = task_data.TradeTime; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["InstallID"] = task_data.InstallID; + data["CustomerName"] = task_data.CustomerName; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["BankID"] = task_data.BankID; + data["Password"] = task_data.Password; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["RequestID"] = task_data.RequestID; + data["CustType"] = task_data.CustType; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["FeePayFlag"] = task_data.FeePayFlag; + data["BankSerial"] = task_data.BankSerial; + data["OperNo"] = task_data.OperNo; + data["TradingDay"] = task_data.TradingDay; + data["BankSecuAcc"] = task_data.BankSecuAcc; + data["BrokerID"] = task_data.BrokerID; + data["DeviceID"] = task_data.DeviceID; + data["TransferStatus"] = task_data.TransferStatus; + data["IdCardType"] = task_data.IdCardType; + data["PlateSerial"] = task_data.PlateSerial; + data["FutureFetchAmount"] = task_data.FutureFetchAmount; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["BrokerFee"] = task_data.BrokerFee; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["FutureSerial"] = task_data.FutureSerial; + data["BankSecuAccType"] = task_data.BankSecuAccType; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["Message"] = task_data.Message; + data["CustFee"] = task_data.CustFee; + data["TradeAmount"] = task_data.TradeAmount; + data["Digest"] = task_data.Digest; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onErrRtnBankToFutureByFuture(data, error); +}; + +void TdApi::processErrRtnFutureToBankByFuture(Task task) +{ + CThostFtdcReqTransferField task_data = any_cast(task.task_data); + dict data; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["UserID"] = task_data.UserID; + data["BankPassWord"] = task_data.BankPassWord; + data["TradeTime"] = task_data.TradeTime; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["InstallID"] = task_data.InstallID; + data["CustomerName"] = task_data.CustomerName; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["BankID"] = task_data.BankID; + data["Password"] = task_data.Password; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["RequestID"] = task_data.RequestID; + data["CustType"] = task_data.CustType; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["FeePayFlag"] = task_data.FeePayFlag; + data["BankSerial"] = task_data.BankSerial; + data["OperNo"] = task_data.OperNo; + data["TradingDay"] = task_data.TradingDay; + data["BankSecuAcc"] = task_data.BankSecuAcc; + data["BrokerID"] = task_data.BrokerID; + data["DeviceID"] = task_data.DeviceID; + data["TransferStatus"] = task_data.TransferStatus; + data["IdCardType"] = task_data.IdCardType; + data["PlateSerial"] = task_data.PlateSerial; + data["FutureFetchAmount"] = task_data.FutureFetchAmount; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["BrokerFee"] = task_data.BrokerFee; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["FutureSerial"] = task_data.FutureSerial; + data["BankSecuAccType"] = task_data.BankSecuAccType; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["Message"] = task_data.Message; + data["CustFee"] = task_data.CustFee; + data["TradeAmount"] = task_data.TradeAmount; + data["Digest"] = task_data.Digest; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onErrRtnFutureToBankByFuture(data, error); +}; + +void TdApi::processErrRtnRepealBankToFutureByFutureManual(Task task) +{ + CThostFtdcReqRepealField task_data = any_cast(task.task_data); + dict data; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["UserID"] = task_data.UserID; + data["BankPassWord"] = task_data.BankPassWord; + data["BankRepealFlag"] = task_data.BankRepealFlag; + data["RepealedTimes"] = task_data.RepealedTimes; + data["TradeTime"] = task_data.TradeTime; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["FutureRepealSerial"] = task_data.FutureRepealSerial; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["InstallID"] = task_data.InstallID; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["CustomerName"] = task_data.CustomerName; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["BankID"] = task_data.BankID; + data["PlateSerial"] = task_data.PlateSerial; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["RequestID"] = task_data.RequestID; + data["CustType"] = task_data.CustType; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["FeePayFlag"] = task_data.FeePayFlag; + data["BankSerial"] = task_data.BankSerial; + data["OperNo"] = task_data.OperNo; + data["TradingDay"] = task_data.TradingDay; + data["BankSecuAcc"] = task_data.BankSecuAcc; + data["BrokerID"] = task_data.BrokerID; + data["DeviceID"] = task_data.DeviceID; + data["TransferStatus"] = task_data.TransferStatus; + data["BrokerRepealFlag"] = task_data.BrokerRepealFlag; + data["IdCardType"] = task_data.IdCardType; + data["Password"] = task_data.Password; + data["FutureFetchAmount"] = task_data.FutureFetchAmount; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["BrokerFee"] = task_data.BrokerFee; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["FutureSerial"] = task_data.FutureSerial; + data["BankRepealSerial"] = task_data.BankRepealSerial; + data["RepealTimeInterval"] = task_data.RepealTimeInterval; + data["BankSecuAccType"] = task_data.BankSecuAccType; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["PlateRepealSerial"] = task_data.PlateRepealSerial; + data["Message"] = task_data.Message; + data["CustFee"] = task_data.CustFee; + data["TradeAmount"] = task_data.TradeAmount; + data["Digest"] = task_data.Digest; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onErrRtnRepealBankToFutureByFutureManual(data, error); +}; + +void TdApi::processErrRtnRepealFutureToBankByFutureManual(Task task) +{ + CThostFtdcReqRepealField task_data = any_cast(task.task_data); + dict data; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["UserID"] = task_data.UserID; + data["BankPassWord"] = task_data.BankPassWord; + data["BankRepealFlag"] = task_data.BankRepealFlag; + data["RepealedTimes"] = task_data.RepealedTimes; + data["TradeTime"] = task_data.TradeTime; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["FutureRepealSerial"] = task_data.FutureRepealSerial; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["InstallID"] = task_data.InstallID; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["CustomerName"] = task_data.CustomerName; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["BankID"] = task_data.BankID; + data["PlateSerial"] = task_data.PlateSerial; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["RequestID"] = task_data.RequestID; + data["CustType"] = task_data.CustType; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["FeePayFlag"] = task_data.FeePayFlag; + data["BankSerial"] = task_data.BankSerial; + data["OperNo"] = task_data.OperNo; + data["TradingDay"] = task_data.TradingDay; + data["BankSecuAcc"] = task_data.BankSecuAcc; + data["BrokerID"] = task_data.BrokerID; + data["DeviceID"] = task_data.DeviceID; + data["TransferStatus"] = task_data.TransferStatus; + data["BrokerRepealFlag"] = task_data.BrokerRepealFlag; + data["IdCardType"] = task_data.IdCardType; + data["Password"] = task_data.Password; + data["FutureFetchAmount"] = task_data.FutureFetchAmount; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["BrokerFee"] = task_data.BrokerFee; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["FutureSerial"] = task_data.FutureSerial; + data["BankRepealSerial"] = task_data.BankRepealSerial; + data["RepealTimeInterval"] = task_data.RepealTimeInterval; + data["BankSecuAccType"] = task_data.BankSecuAccType; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["PlateRepealSerial"] = task_data.PlateRepealSerial; + data["Message"] = task_data.Message; + data["CustFee"] = task_data.CustFee; + data["TradeAmount"] = task_data.TradeAmount; + data["Digest"] = task_data.Digest; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onErrRtnRepealFutureToBankByFutureManual(data, error); +}; + +void TdApi::processErrRtnQueryBankBalanceByFuture(Task task) +{ + CThostFtdcReqQueryAccountField task_data = any_cast(task.task_data); + dict data; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["UserID"] = task_data.UserID; + data["BankPassWord"] = task_data.BankPassWord; + data["TradeTime"] = task_data.TradeTime; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["InstallID"] = task_data.InstallID; + data["CustomerName"] = task_data.CustomerName; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["BankID"] = task_data.BankID; + data["Password"] = task_data.Password; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["RequestID"] = task_data.RequestID; + data["CustType"] = task_data.CustType; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["BankSerial"] = task_data.BankSerial; + data["OperNo"] = task_data.OperNo; + data["TradingDay"] = task_data.TradingDay; + data["BankSecuAcc"] = task_data.BankSecuAcc; + data["BrokerID"] = task_data.BrokerID; + data["DeviceID"] = task_data.DeviceID; + data["IdCardType"] = task_data.IdCardType; + data["PlateSerial"] = task_data.PlateSerial; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["FutureSerial"] = task_data.FutureSerial; + data["BankSecuAccType"] = task_data.BankSecuAccType; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["Digest"] = task_data.Digest; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onErrRtnQueryBankBalanceByFuture(data, error); +}; + +void TdApi::processRtnRepealFromBankToFutureByFuture(Task task) +{ + CThostFtdcRspRepealField task_data = any_cast(task.task_data); + dict data; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["UserID"] = task_data.UserID; + data["BankPassWord"] = task_data.BankPassWord; + data["BankRepealFlag"] = task_data.BankRepealFlag; + data["RepealedTimes"] = task_data.RepealedTimes; + data["TradeTime"] = task_data.TradeTime; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["FutureRepealSerial"] = task_data.FutureRepealSerial; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["InstallID"] = task_data.InstallID; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["CustomerName"] = task_data.CustomerName; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["BankID"] = task_data.BankID; + data["PlateSerial"] = task_data.PlateSerial; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["ErrorID"] = task_data.ErrorID; + data["RequestID"] = task_data.RequestID; + data["CustType"] = task_data.CustType; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["FeePayFlag"] = task_data.FeePayFlag; + data["BankSerial"] = task_data.BankSerial; + data["OperNo"] = task_data.OperNo; + data["TradingDay"] = task_data.TradingDay; + data["BankSecuAcc"] = task_data.BankSecuAcc; + data["BrokerID"] = task_data.BrokerID; + data["DeviceID"] = task_data.DeviceID; + data["TransferStatus"] = task_data.TransferStatus; + data["BrokerRepealFlag"] = task_data.BrokerRepealFlag; + data["IdCardType"] = task_data.IdCardType; + data["Password"] = task_data.Password; + data["FutureFetchAmount"] = task_data.FutureFetchAmount; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["BrokerFee"] = task_data.BrokerFee; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["FutureSerial"] = task_data.FutureSerial; + data["BankRepealSerial"] = task_data.BankRepealSerial; + data["ErrorMsg"] = task_data.ErrorMsg; + data["RepealTimeInterval"] = task_data.RepealTimeInterval; + data["BankSecuAccType"] = task_data.BankSecuAccType; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["PlateRepealSerial"] = task_data.PlateRepealSerial; + data["Message"] = task_data.Message; + data["CustFee"] = task_data.CustFee; + data["TradeAmount"] = task_data.TradeAmount; + data["Digest"] = task_data.Digest; + + this->onRtnRepealFromBankToFutureByFuture(data); +}; + +void TdApi::processRtnRepealFromFutureToBankByFuture(Task task) +{ + CThostFtdcRspRepealField task_data = any_cast(task.task_data); + dict data; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["UserID"] = task_data.UserID; + data["BankPassWord"] = task_data.BankPassWord; + data["BankRepealFlag"] = task_data.BankRepealFlag; + data["RepealedTimes"] = task_data.RepealedTimes; + data["TradeTime"] = task_data.TradeTime; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["FutureRepealSerial"] = task_data.FutureRepealSerial; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["InstallID"] = task_data.InstallID; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["CustomerName"] = task_data.CustomerName; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["BankID"] = task_data.BankID; + data["PlateSerial"] = task_data.PlateSerial; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["ErrorID"] = task_data.ErrorID; + data["RequestID"] = task_data.RequestID; + data["CustType"] = task_data.CustType; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["FeePayFlag"] = task_data.FeePayFlag; + data["BankSerial"] = task_data.BankSerial; + data["OperNo"] = task_data.OperNo; + data["TradingDay"] = task_data.TradingDay; + data["BankSecuAcc"] = task_data.BankSecuAcc; + data["BrokerID"] = task_data.BrokerID; + data["DeviceID"] = task_data.DeviceID; + data["TransferStatus"] = task_data.TransferStatus; + data["BrokerRepealFlag"] = task_data.BrokerRepealFlag; + data["IdCardType"] = task_data.IdCardType; + data["Password"] = task_data.Password; + data["FutureFetchAmount"] = task_data.FutureFetchAmount; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["BrokerFee"] = task_data.BrokerFee; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["FutureSerial"] = task_data.FutureSerial; + data["BankRepealSerial"] = task_data.BankRepealSerial; + data["ErrorMsg"] = task_data.ErrorMsg; + data["RepealTimeInterval"] = task_data.RepealTimeInterval; + data["BankSecuAccType"] = task_data.BankSecuAccType; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["PlateRepealSerial"] = task_data.PlateRepealSerial; + data["Message"] = task_data.Message; + data["CustFee"] = task_data.CustFee; + data["TradeAmount"] = task_data.TradeAmount; + data["Digest"] = task_data.Digest; + + this->onRtnRepealFromFutureToBankByFuture(data); +}; + +void TdApi::processRspFromBankToFutureByFuture(Task task) +{ + CThostFtdcReqTransferField task_data = any_cast(task.task_data); + dict data; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["UserID"] = task_data.UserID; + data["BankPassWord"] = task_data.BankPassWord; + data["TradeTime"] = task_data.TradeTime; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["InstallID"] = task_data.InstallID; + data["CustomerName"] = task_data.CustomerName; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["BankID"] = task_data.BankID; + data["Password"] = task_data.Password; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["RequestID"] = task_data.RequestID; + data["CustType"] = task_data.CustType; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["FeePayFlag"] = task_data.FeePayFlag; + data["BankSerial"] = task_data.BankSerial; + data["OperNo"] = task_data.OperNo; + data["TradingDay"] = task_data.TradingDay; + data["BankSecuAcc"] = task_data.BankSecuAcc; + data["BrokerID"] = task_data.BrokerID; + data["DeviceID"] = task_data.DeviceID; + data["TransferStatus"] = task_data.TransferStatus; + data["IdCardType"] = task_data.IdCardType; + data["PlateSerial"] = task_data.PlateSerial; + data["FutureFetchAmount"] = task_data.FutureFetchAmount; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["BrokerFee"] = task_data.BrokerFee; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["FutureSerial"] = task_data.FutureSerial; + data["BankSecuAccType"] = task_data.BankSecuAccType; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["Message"] = task_data.Message; + data["CustFee"] = task_data.CustFee; + data["TradeAmount"] = task_data.TradeAmount; + data["Digest"] = task_data.Digest; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspFromBankToFutureByFuture(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspFromFutureToBankByFuture(Task task) +{ + CThostFtdcReqTransferField task_data = any_cast(task.task_data); + dict data; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["UserID"] = task_data.UserID; + data["BankPassWord"] = task_data.BankPassWord; + data["TradeTime"] = task_data.TradeTime; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["InstallID"] = task_data.InstallID; + data["CustomerName"] = task_data.CustomerName; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["BankID"] = task_data.BankID; + data["Password"] = task_data.Password; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["RequestID"] = task_data.RequestID; + data["CustType"] = task_data.CustType; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["FeePayFlag"] = task_data.FeePayFlag; + data["BankSerial"] = task_data.BankSerial; + data["OperNo"] = task_data.OperNo; + data["TradingDay"] = task_data.TradingDay; + data["BankSecuAcc"] = task_data.BankSecuAcc; + data["BrokerID"] = task_data.BrokerID; + data["DeviceID"] = task_data.DeviceID; + data["TransferStatus"] = task_data.TransferStatus; + data["IdCardType"] = task_data.IdCardType; + data["PlateSerial"] = task_data.PlateSerial; + data["FutureFetchAmount"] = task_data.FutureFetchAmount; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["BrokerFee"] = task_data.BrokerFee; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["FutureSerial"] = task_data.FutureSerial; + data["BankSecuAccType"] = task_data.BankSecuAccType; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["Message"] = task_data.Message; + data["CustFee"] = task_data.CustFee; + data["TradeAmount"] = task_data.TradeAmount; + data["Digest"] = task_data.Digest; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspFromFutureToBankByFuture(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQueryBankAccountMoneyByFuture(Task task) +{ + CThostFtdcReqQueryAccountField task_data = any_cast(task.task_data); + dict data; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["UserID"] = task_data.UserID; + data["BankPassWord"] = task_data.BankPassWord; + data["TradeTime"] = task_data.TradeTime; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["InstallID"] = task_data.InstallID; + data["CustomerName"] = task_data.CustomerName; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["BankID"] = task_data.BankID; + data["Password"] = task_data.Password; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["RequestID"] = task_data.RequestID; + data["CustType"] = task_data.CustType; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["BankSerial"] = task_data.BankSerial; + data["OperNo"] = task_data.OperNo; + data["TradingDay"] = task_data.TradingDay; + data["BankSecuAcc"] = task_data.BankSecuAcc; + data["BrokerID"] = task_data.BrokerID; + data["DeviceID"] = task_data.DeviceID; + data["IdCardType"] = task_data.IdCardType; + data["PlateSerial"] = task_data.PlateSerial; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["FutureSerial"] = task_data.FutureSerial; + data["BankSecuAccType"] = task_data.BankSecuAccType; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["Digest"] = task_data.Digest; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQueryBankAccountMoneyByFuture(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRtnOpenAccountByBank(Task task) +{ + CThostFtdcOpenAccountField task_data = any_cast(task.task_data); + dict data; + data["MoneyAccountStatus"] = task_data.MoneyAccountStatus; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["UserID"] = task_data.UserID; + data["BankPassWord"] = task_data.BankPassWord; + data["Telephone"] = task_data.Telephone; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["Fax"] = task_data.Fax; + data["InstallID"] = task_data.InstallID; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["CustomerName"] = task_data.CustomerName; + data["CountryCode"] = task_data.CountryCode; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["Address"] = task_data.Address; + data["PlateSerial"] = task_data.PlateSerial; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["ErrorID"] = task_data.ErrorID; + data["CustType"] = task_data.CustType; + data["Gender"] = task_data.Gender; + data["BankID"] = task_data.BankID; + data["BankSerial"] = task_data.BankSerial; + data["OperNo"] = task_data.OperNo; + data["TradingDay"] = task_data.TradingDay; + data["BankSecuAcc"] = task_data.BankSecuAcc; + data["BrokerID"] = task_data.BrokerID; + data["CashExchangeCode"] = task_data.CashExchangeCode; + data["IdCardType"] = task_data.IdCardType; + data["Password"] = task_data.Password; + data["MobilePhone"] = task_data.MobilePhone; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["ErrorMsg"] = task_data.ErrorMsg; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["ZipCode"] = task_data.ZipCode; + data["BankSecuAccType"] = task_data.BankSecuAccType; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["TradeTime"] = task_data.TradeTime; + data["EMail"] = task_data.EMail; + data["Digest"] = task_data.Digest; + data["DeviceID"] = task_data.DeviceID; + + this->onRtnOpenAccountByBank(data); +}; + +void TdApi::processRtnCancelAccountByBank(Task task) +{ + CThostFtdcCancelAccountField task_data = any_cast(task.task_data); + dict data; + data["MoneyAccountStatus"] = task_data.MoneyAccountStatus; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["UserID"] = task_data.UserID; + data["BankPassWord"] = task_data.BankPassWord; + data["Telephone"] = task_data.Telephone; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["Fax"] = task_data.Fax; + data["InstallID"] = task_data.InstallID; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["CustomerName"] = task_data.CustomerName; + data["CountryCode"] = task_data.CountryCode; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["Address"] = task_data.Address; + data["PlateSerial"] = task_data.PlateSerial; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["ErrorID"] = task_data.ErrorID; + data["CustType"] = task_data.CustType; + data["Gender"] = task_data.Gender; + data["BankID"] = task_data.BankID; + data["BankSerial"] = task_data.BankSerial; + data["OperNo"] = task_data.OperNo; + data["TradingDay"] = task_data.TradingDay; + data["BankSecuAcc"] = task_data.BankSecuAcc; + data["BrokerID"] = task_data.BrokerID; + data["CashExchangeCode"] = task_data.CashExchangeCode; + data["IdCardType"] = task_data.IdCardType; + data["Password"] = task_data.Password; + data["MobilePhone"] = task_data.MobilePhone; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["ErrorMsg"] = task_data.ErrorMsg; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["ZipCode"] = task_data.ZipCode; + data["BankSecuAccType"] = task_data.BankSecuAccType; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["TradeTime"] = task_data.TradeTime; + data["EMail"] = task_data.EMail; + data["Digest"] = task_data.Digest; + data["DeviceID"] = task_data.DeviceID; + + this->onRtnCancelAccountByBank(data); +}; + +void TdApi::processRtnChangeAccountByBank(Task task) +{ + CThostFtdcChangeAccountField task_data = any_cast(task.task_data); + dict data; + data["MoneyAccountStatus"] = task_data.MoneyAccountStatus; + data["NewBankPassWord"] = task_data.NewBankPassWord; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["BankPassWord"] = task_data.BankPassWord; + data["Telephone"] = task_data.Telephone; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["Fax"] = task_data.Fax; + data["InstallID"] = task_data.InstallID; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["CustomerName"] = task_data.CustomerName; + data["CountryCode"] = task_data.CountryCode; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["NewBankAccount"] = task_data.NewBankAccount; + data["Address"] = task_data.Address; + data["PlateSerial"] = task_data.PlateSerial; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["ErrorID"] = task_data.ErrorID; + data["CustType"] = task_data.CustType; + data["Gender"] = task_data.Gender; + data["BankID"] = task_data.BankID; + data["BankSerial"] = task_data.BankSerial; + data["TradingDay"] = task_data.TradingDay; + data["BrokerID"] = task_data.BrokerID; + data["IdCardType"] = task_data.IdCardType; + data["Password"] = task_data.Password; + data["MobilePhone"] = task_data.MobilePhone; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["ErrorMsg"] = task_data.ErrorMsg; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["ZipCode"] = task_data.ZipCode; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["TradeTime"] = task_data.TradeTime; + data["EMail"] = task_data.EMail; + data["Digest"] = task_data.Digest; + + this->onRtnChangeAccountByBank(data); +}; + diff --git a/vn.ctp/pyscript/ctp_td_switch.cpp b/vn.ctp/pyscript/ctp_td_switch.cpp new file mode 100644 index 00000000..4879b923 --- /dev/null +++ b/vn.ctp/pyscript/ctp_td_switch.cpp @@ -0,0 +1,582 @@ +case ONFRONTCONNECTED: +{ + this->processFrontConnected(task); + break; +} + +case ONFRONTDISCONNECTED: +{ + this->processFrontDisconnected(task); + break; +} + +case ONHEARTBEATWARNING: +{ + this->processHeartBeatWarning(task); + break; +} + +case ONRSPAUTHENTICATE: +{ + this->processRspAuthenticate(task); + break; +} + +case ONRSPUSERLOGIN: +{ + this->processRspUserLogin(task); + break; +} + +case ONRSPUSERLOGOUT: +{ + this->processRspUserLogout(task); + break; +} + +case ONRSPUSERPASSWORDUPDATE: +{ + this->processRspUserPasswordUpdate(task); + break; +} + +case ONRSPTRADINGACCOUNTPASSWORDUPDATE: +{ + this->processRspTradingAccountPasswordUpdate(task); + break; +} + +case ONRSPORDERINSERT: +{ + this->processRspOrderInsert(task); + break; +} + +case ONRSPPARKEDORDERINSERT: +{ + this->processRspParkedOrderInsert(task); + break; +} + +case ONRSPPARKEDORDERACTION: +{ + this->processRspParkedOrderAction(task); + break; +} + +case ONRSPORDERACTION: +{ + this->processRspOrderAction(task); + break; +} + +case ONRSPQUERYMAXORDERVOLUME: +{ + this->processRspQueryMaxOrderVolume(task); + break; +} + +case ONRSPSETTLEMENTINFOCONFIRM: +{ + this->processRspSettlementInfoConfirm(task); + break; +} + +case ONRSPREMOVEPARKEDORDER: +{ + this->processRspRemoveParkedOrder(task); + break; +} + +case ONRSPREMOVEPARKEDORDERACTION: +{ + this->processRspRemoveParkedOrderAction(task); + break; +} + +case ONRSPEXECORDERINSERT: +{ + this->processRspExecOrderInsert(task); + break; +} + +case ONRSPEXECORDERACTION: +{ + this->processRspExecOrderAction(task); + break; +} + +case ONRSPFORQUOTEINSERT: +{ + this->processRspForQuoteInsert(task); + break; +} + +case ONRSPQUOTEINSERT: +{ + this->processRspQuoteInsert(task); + break; +} + +case ONRSPQUOTEACTION: +{ + this->processRspQuoteAction(task); + break; +} + +case ONRSPQRYORDER: +{ + this->processRspQryOrder(task); + break; +} + +case ONRSPQRYTRADE: +{ + this->processRspQryTrade(task); + break; +} + +case ONRSPQRYINVESTORPOSITION: +{ + this->processRspQryInvestorPosition(task); + break; +} + +case ONRSPQRYTRADINGACCOUNT: +{ + this->processRspQryTradingAccount(task); + break; +} + +case ONRSPQRYINVESTOR: +{ + this->processRspQryInvestor(task); + break; +} + +case ONRSPQRYTRADINGCODE: +{ + this->processRspQryTradingCode(task); + break; +} + +case ONRSPQRYINSTRUMENTMARGINRATE: +{ + this->processRspQryInstrumentMarginRate(task); + break; +} + +case ONRSPQRYINSTRUMENTCOMMISSIONRATE: +{ + this->processRspQryInstrumentCommissionRate(task); + break; +} + +case ONRSPQRYEXCHANGE: +{ + this->processRspQryExchange(task); + break; +} + +case ONRSPQRYPRODUCT: +{ + this->processRspQryProduct(task); + break; +} + +case ONRSPQRYINSTRUMENT: +{ + this->processRspQryInstrument(task); + break; +} + +case ONRSPQRYDEPTHMARKETDATA: +{ + this->processRspQryDepthMarketData(task); + break; +} + +case ONRSPQRYSETTLEMENTINFO: +{ + this->processRspQrySettlementInfo(task); + break; +} + +case ONRSPQRYTRANSFERBANK: +{ + this->processRspQryTransferBank(task); + break; +} + +case ONRSPQRYINVESTORPOSITIONDETAIL: +{ + this->processRspQryInvestorPositionDetail(task); + break; +} + +case ONRSPQRYNOTICE: +{ + this->processRspQryNotice(task); + break; +} + +case ONRSPQRYSETTLEMENTINFOCONFIRM: +{ + this->processRspQrySettlementInfoConfirm(task); + break; +} + +case ONRSPQRYINVESTORPOSITIONCOMBINEDETAIL: +{ + this->processRspQryInvestorPositionCombineDetail(task); + break; +} + +case ONRSPQRYCFMMCTRADINGACCOUNTKEY: +{ + this->processRspQryCFMMCTradingAccountKey(task); + break; +} + +case ONRSPQRYEWARRANTOFFSET: +{ + this->processRspQryEWarrantOffset(task); + break; +} + +case ONRSPQRYINVESTORPRODUCTGROUPMARGIN: +{ + this->processRspQryInvestorProductGroupMargin(task); + break; +} + +case ONRSPQRYEXCHANGEMARGINRATE: +{ + this->processRspQryExchangeMarginRate(task); + break; +} + +case ONRSPQRYEXCHANGEMARGINRATEADJUST: +{ + this->processRspQryExchangeMarginRateAdjust(task); + break; +} + +case ONRSPQRYEXCHANGERATE: +{ + this->processRspQryExchangeRate(task); + break; +} + +case ONRSPQRYSECAGENTACIDMAP: +{ + this->processRspQrySecAgentACIDMap(task); + break; +} + +case ONRSPQRYOPTIONINSTRTRADECOST: +{ + this->processRspQryOptionInstrTradeCost(task); + break; +} + +case ONRSPQRYOPTIONINSTRCOMMRATE: +{ + this->processRspQryOptionInstrCommRate(task); + break; +} + +case ONRSPQRYEXECORDER: +{ + this->processRspQryExecOrder(task); + break; +} + +case ONRSPQRYFORQUOTE: +{ + this->processRspQryForQuote(task); + break; +} + +case ONRSPQRYQUOTE: +{ + this->processRspQryQuote(task); + break; +} + +case ONRSPQRYTRANSFERSERIAL: +{ + this->processRspQryTransferSerial(task); + break; +} + +case ONRSPQRYACCOUNTREGISTER: +{ + this->processRspQryAccountregister(task); + break; +} + +case ONRSPERROR: +{ + this->processRspError(task); + break; +} + +case ONRTNORDER: +{ + this->processRtnOrder(task); + break; +} + +case ONRTNTRADE: +{ + this->processRtnTrade(task); + break; +} + +case ONERRRTNORDERINSERT: +{ + this->processErrRtnOrderInsert(task); + break; +} + +case ONERRRTNORDERACTION: +{ + this->processErrRtnOrderAction(task); + break; +} + +case ONRTNINSTRUMENTSTATUS: +{ + this->processRtnInstrumentStatus(task); + break; +} + +case ONRTNTRADINGNOTICE: +{ + this->processRtnTradingNotice(task); + break; +} + +case ONRTNERRORCONDITIONALORDER: +{ + this->processRtnErrorConditionalOrder(task); + break; +} + +case ONRTNEXECORDER: +{ + this->processRtnExecOrder(task); + break; +} + +case ONERRRTNEXECORDERINSERT: +{ + this->processErrRtnExecOrderInsert(task); + break; +} + +case ONERRRTNEXECORDERACTION: +{ + this->processErrRtnExecOrderAction(task); + break; +} + +case ONERRRTNFORQUOTEINSERT: +{ + this->processErrRtnForQuoteInsert(task); + break; +} + +case ONRTNQUOTE: +{ + this->processRtnQuote(task); + break; +} + +case ONERRRTNQUOTEINSERT: +{ + this->processErrRtnQuoteInsert(task); + break; +} + +case ONERRRTNQUOTEACTION: +{ + this->processErrRtnQuoteAction(task); + break; +} + +case ONRTNFORQUOTERSP: +{ + this->processRtnForQuoteRsp(task); + break; +} + +case ONRSPQRYCONTRACTBANK: +{ + this->processRspQryContractBank(task); + break; +} + +case ONRSPQRYPARKEDORDER: +{ + this->processRspQryParkedOrder(task); + break; +} + +case ONRSPQRYPARKEDORDERACTION: +{ + this->processRspQryParkedOrderAction(task); + break; +} + +case ONRSPQRYTRADINGNOTICE: +{ + this->processRspQryTradingNotice(task); + break; +} + +case ONRSPQRYBROKERTRADINGPARAMS: +{ + this->processRspQryBrokerTradingParams(task); + break; +} + +case ONRSPQRYBROKERTRADINGALGOS: +{ + this->processRspQryBrokerTradingAlgos(task); + break; +} + +case ONRTNFROMBANKTOFUTUREBYBANK: +{ + this->processRtnFromBankToFutureByBank(task); + break; +} + +case ONRTNFROMFUTURETOBANKBYBANK: +{ + this->processRtnFromFutureToBankByBank(task); + break; +} + +case ONRTNREPEALFROMBANKTOFUTUREBYBANK: +{ + this->processRtnRepealFromBankToFutureByBank(task); + break; +} + +case ONRTNREPEALFROMFUTURETOBANKBYBANK: +{ + this->processRtnRepealFromFutureToBankByBank(task); + break; +} + +case ONRTNFROMBANKTOFUTUREBYFUTURE: +{ + this->processRtnFromBankToFutureByFuture(task); + break; +} + +case ONRTNFROMFUTURETOBANKBYFUTURE: +{ + this->processRtnFromFutureToBankByFuture(task); + break; +} + +case ONRTNREPEALFROMBANKTOFUTUREBYFUTUREMANUAL: +{ + this->processRtnRepealFromBankToFutureByFutureManual(task); + break; +} + +case ONRTNREPEALFROMFUTURETOBANKBYFUTUREMANUAL: +{ + this->processRtnRepealFromFutureToBankByFutureManual(task); + break; +} + +case ONRTNQUERYBANKBALANCEBYFUTURE: +{ + this->processRtnQueryBankBalanceByFuture(task); + break; +} + +case ONERRRTNBANKTOFUTUREBYFUTURE: +{ + this->processErrRtnBankToFutureByFuture(task); + break; +} + +case ONERRRTNFUTURETOBANKBYFUTURE: +{ + this->processErrRtnFutureToBankByFuture(task); + break; +} + +case ONERRRTNREPEALBANKTOFUTUREBYFUTUREMANUAL: +{ + this->processErrRtnRepealBankToFutureByFutureManual(task); + break; +} + +case ONERRRTNREPEALFUTURETOBANKBYFUTUREMANUAL: +{ + this->processErrRtnRepealFutureToBankByFutureManual(task); + break; +} + +case ONERRRTNQUERYBANKBALANCEBYFUTURE: +{ + this->processErrRtnQueryBankBalanceByFuture(task); + break; +} + +case ONRTNREPEALFROMBANKTOFUTUREBYFUTURE: +{ + this->processRtnRepealFromBankToFutureByFuture(task); + break; +} + +case ONRTNREPEALFROMFUTURETOBANKBYFUTURE: +{ + this->processRtnRepealFromFutureToBankByFuture(task); + break; +} + +case ONRSPFROMBANKTOFUTUREBYFUTURE: +{ + this->processRspFromBankToFutureByFuture(task); + break; +} + +case ONRSPFROMFUTURETOBANKBYFUTURE: +{ + this->processRspFromFutureToBankByFuture(task); + break; +} + +case ONRSPQUERYBANKACCOUNTMONEYBYFUTURE: +{ + this->processRspQueryBankAccountMoneyByFuture(task); + break; +} + +case ONRTNOPENACCOUNTBYBANK: +{ + this->processRtnOpenAccountByBank(task); + break; +} + +case ONRTNCANCELACCOUNTBYBANK: +{ + this->processRtnCancelAccountByBank(task); + break; +} + +case ONRTNCHANGEACCOUNTBYBANK: +{ + this->processRtnChangeAccountByBank(task); + break; +} + diff --git a/vn.ctp/pyscript/ctp_td_task.cpp b/vn.ctp/pyscript/ctp_td_task.cpp new file mode 100644 index 00000000..d8d6e452 --- /dev/null +++ b/vn.ctp/pyscript/ctp_td_task.cpp @@ -0,0 +1,2616 @@ +void TdApi::OnFrontConnected() +{ + Task task = Task(); + task.task_name = ONFRONTCONNECTED; + this->task_queue.push(task); +}; + +void TdApi::OnFrontDisconnected(int nReason) +{ + Task task = Task(); + task.task_name = ONFRONTDISCONNECTED; + task.task_id = nReason; + this->task_queue.push(task); +}; + +void TdApi::OnHeartBeatWarning(int nTimeLapse) +{ + Task task = Task(); + task.task_name = ONHEARTBEATWARNING; + task.task_id = nTimeLapse; + this->task_queue.push(task); +}; + +void TdApi::OnRspAuthenticate(CThostFtdcRspAuthenticateField *pRspAuthenticateField, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPAUTHENTICATE; + + if (pRspAuthenticateField) + { + task.task_data = *pRspAuthenticateField; + } + else + { + CThostFtdcRspAuthenticateField empty_data = CThostFtdcRspAuthenticateField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspUserLogin(CThostFtdcRspUserLoginField *pRspUserLogin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPUSERLOGIN; + + if (pRspUserLogin) + { + task.task_data = *pRspUserLogin; + } + else + { + CThostFtdcRspUserLoginField empty_data = CThostFtdcRspUserLoginField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspUserLogout(CThostFtdcUserLogoutField *pUserLogout, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPUSERLOGOUT; + + if (pUserLogout) + { + task.task_data = *pUserLogout; + } + else + { + CThostFtdcUserLogoutField empty_data = CThostFtdcUserLogoutField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspUserPasswordUpdate(CThostFtdcUserPasswordUpdateField *pUserPasswordUpdate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPUSERPASSWORDUPDATE; + + if (pUserPasswordUpdate) + { + task.task_data = *pUserPasswordUpdate; + } + else + { + CThostFtdcUserPasswordUpdateField empty_data = CThostFtdcUserPasswordUpdateField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspTradingAccountPasswordUpdate(CThostFtdcTradingAccountPasswordUpdateField *pTradingAccountPasswordUpdate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPTRADINGACCOUNTPASSWORDUPDATE; + + if (pTradingAccountPasswordUpdate) + { + task.task_data = *pTradingAccountPasswordUpdate; + } + else + { + CThostFtdcTradingAccountPasswordUpdateField empty_data = CThostFtdcTradingAccountPasswordUpdateField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspOrderInsert(CThostFtdcInputOrderField *pInputOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPORDERINSERT; + + if (pInputOrder) + { + task.task_data = *pInputOrder; + } + else + { + CThostFtdcInputOrderField empty_data = CThostFtdcInputOrderField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspParkedOrderInsert(CThostFtdcParkedOrderField *pParkedOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPPARKEDORDERINSERT; + + if (pParkedOrder) + { + task.task_data = *pParkedOrder; + } + else + { + CThostFtdcParkedOrderField empty_data = CThostFtdcParkedOrderField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspParkedOrderAction(CThostFtdcParkedOrderActionField *pParkedOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPPARKEDORDERACTION; + + if (pParkedOrderAction) + { + task.task_data = *pParkedOrderAction; + } + else + { + CThostFtdcParkedOrderActionField empty_data = CThostFtdcParkedOrderActionField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspOrderAction(CThostFtdcInputOrderActionField *pInputOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPORDERACTION; + + if (pInputOrderAction) + { + task.task_data = *pInputOrderAction; + } + else + { + CThostFtdcInputOrderActionField empty_data = CThostFtdcInputOrderActionField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQueryMaxOrderVolume(CThostFtdcQueryMaxOrderVolumeField *pQueryMaxOrderVolume, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQUERYMAXORDERVOLUME; + + if (pQueryMaxOrderVolume) + { + task.task_data = *pQueryMaxOrderVolume; + } + else + { + CThostFtdcQueryMaxOrderVolumeField empty_data = CThostFtdcQueryMaxOrderVolumeField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspSettlementInfoConfirm(CThostFtdcSettlementInfoConfirmField *pSettlementInfoConfirm, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPSETTLEMENTINFOCONFIRM; + + if (pSettlementInfoConfirm) + { + task.task_data = *pSettlementInfoConfirm; + } + else + { + CThostFtdcSettlementInfoConfirmField empty_data = CThostFtdcSettlementInfoConfirmField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspRemoveParkedOrder(CThostFtdcRemoveParkedOrderField *pRemoveParkedOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPREMOVEPARKEDORDER; + + if (pRemoveParkedOrder) + { + task.task_data = *pRemoveParkedOrder; + } + else + { + CThostFtdcRemoveParkedOrderField empty_data = CThostFtdcRemoveParkedOrderField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspRemoveParkedOrderAction(CThostFtdcRemoveParkedOrderActionField *pRemoveParkedOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPREMOVEPARKEDORDERACTION; + + if (pRemoveParkedOrderAction) + { + task.task_data = *pRemoveParkedOrderAction; + } + else + { + CThostFtdcRemoveParkedOrderActionField empty_data = CThostFtdcRemoveParkedOrderActionField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspExecOrderInsert(CThostFtdcInputExecOrderField *pInputExecOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPEXECORDERINSERT; + + if (pInputExecOrder) + { + task.task_data = *pInputExecOrder; + } + else + { + CThostFtdcInputExecOrderField empty_data = CThostFtdcInputExecOrderField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspExecOrderAction(CThostFtdcInputExecOrderActionField *pInputExecOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPEXECORDERACTION; + + if (pInputExecOrderAction) + { + task.task_data = *pInputExecOrderAction; + } + else + { + CThostFtdcInputExecOrderActionField empty_data = CThostFtdcInputExecOrderActionField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspForQuoteInsert(CThostFtdcInputForQuoteField *pInputForQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPFORQUOTEINSERT; + + if (pInputForQuote) + { + task.task_data = *pInputForQuote; + } + else + { + CThostFtdcInputForQuoteField empty_data = CThostFtdcInputForQuoteField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQuoteInsert(CThostFtdcInputQuoteField *pInputQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQUOTEINSERT; + + if (pInputQuote) + { + task.task_data = *pInputQuote; + } + else + { + CThostFtdcInputQuoteField empty_data = CThostFtdcInputQuoteField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQuoteAction(CThostFtdcInputQuoteActionField *pInputQuoteAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQUOTEACTION; + + if (pInputQuoteAction) + { + task.task_data = *pInputQuoteAction; + } + else + { + CThostFtdcInputQuoteActionField empty_data = CThostFtdcInputQuoteActionField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryOrder(CThostFtdcOrderField *pOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYORDER; + + if (pOrder) + { + task.task_data = *pOrder; + } + else + { + CThostFtdcOrderField empty_data = CThostFtdcOrderField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryTrade(CThostFtdcTradeField *pTrade, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYTRADE; + + if (pTrade) + { + task.task_data = *pTrade; + } + else + { + CThostFtdcTradeField empty_data = CThostFtdcTradeField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryInvestorPosition(CThostFtdcInvestorPositionField *pInvestorPosition, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYINVESTORPOSITION; + + if (pInvestorPosition) + { + task.task_data = *pInvestorPosition; + } + else + { + CThostFtdcInvestorPositionField empty_data = CThostFtdcInvestorPositionField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryTradingAccount(CThostFtdcTradingAccountField *pTradingAccount, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYTRADINGACCOUNT; + + if (pTradingAccount) + { + task.task_data = *pTradingAccount; + } + else + { + CThostFtdcTradingAccountField empty_data = CThostFtdcTradingAccountField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryInvestor(CThostFtdcInvestorField *pInvestor, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYINVESTOR; + + if (pInvestor) + { + task.task_data = *pInvestor; + } + else + { + CThostFtdcInvestorField empty_data = CThostFtdcInvestorField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryTradingCode(CThostFtdcTradingCodeField *pTradingCode, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYTRADINGCODE; + + if (pTradingCode) + { + task.task_data = *pTradingCode; + } + else + { + CThostFtdcTradingCodeField empty_data = CThostFtdcTradingCodeField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryInstrumentMarginRate(CThostFtdcInstrumentMarginRateField *pInstrumentMarginRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYINSTRUMENTMARGINRATE; + + if (pInstrumentMarginRate) + { + task.task_data = *pInstrumentMarginRate; + } + else + { + CThostFtdcInstrumentMarginRateField empty_data = CThostFtdcInstrumentMarginRateField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryInstrumentCommissionRate(CThostFtdcInstrumentCommissionRateField *pInstrumentCommissionRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYINSTRUMENTCOMMISSIONRATE; + + if (pInstrumentCommissionRate) + { + task.task_data = *pInstrumentCommissionRate; + } + else + { + CThostFtdcInstrumentCommissionRateField empty_data = CThostFtdcInstrumentCommissionRateField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryExchange(CThostFtdcExchangeField *pExchange, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYEXCHANGE; + + if (pExchange) + { + task.task_data = *pExchange; + } + else + { + CThostFtdcExchangeField empty_data = CThostFtdcExchangeField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryProduct(CThostFtdcProductField *pProduct, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYPRODUCT; + + if (pProduct) + { + task.task_data = *pProduct; + } + else + { + CThostFtdcProductField empty_data = CThostFtdcProductField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryInstrument(CThostFtdcInstrumentField *pInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYINSTRUMENT; + + if (pInstrument) + { + task.task_data = *pInstrument; + } + else + { + CThostFtdcInstrumentField empty_data = CThostFtdcInstrumentField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryDepthMarketData(CThostFtdcDepthMarketDataField *pDepthMarketData, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYDEPTHMARKETDATA; + + if (pDepthMarketData) + { + task.task_data = *pDepthMarketData; + } + else + { + CThostFtdcDepthMarketDataField empty_data = CThostFtdcDepthMarketDataField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQrySettlementInfo(CThostFtdcSettlementInfoField *pSettlementInfo, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYSETTLEMENTINFO; + + if (pSettlementInfo) + { + task.task_data = *pSettlementInfo; + } + else + { + CThostFtdcSettlementInfoField empty_data = CThostFtdcSettlementInfoField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryTransferBank(CThostFtdcTransferBankField *pTransferBank, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYTRANSFERBANK; + + if (pTransferBank) + { + task.task_data = *pTransferBank; + } + else + { + CThostFtdcTransferBankField empty_data = CThostFtdcTransferBankField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryInvestorPositionDetail(CThostFtdcInvestorPositionDetailField *pInvestorPositionDetail, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYINVESTORPOSITIONDETAIL; + + if (pInvestorPositionDetail) + { + task.task_data = *pInvestorPositionDetail; + } + else + { + CThostFtdcInvestorPositionDetailField empty_data = CThostFtdcInvestorPositionDetailField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryNotice(CThostFtdcNoticeField *pNotice, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYNOTICE; + + if (pNotice) + { + task.task_data = *pNotice; + } + else + { + CThostFtdcNoticeField empty_data = CThostFtdcNoticeField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQrySettlementInfoConfirm(CThostFtdcSettlementInfoConfirmField *pSettlementInfoConfirm, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYSETTLEMENTINFOCONFIRM; + + if (pSettlementInfoConfirm) + { + task.task_data = *pSettlementInfoConfirm; + } + else + { + CThostFtdcSettlementInfoConfirmField empty_data = CThostFtdcSettlementInfoConfirmField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryInvestorPositionCombineDetail(CThostFtdcInvestorPositionCombineDetailField *pInvestorPositionCombineDetail, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYINVESTORPOSITIONCOMBINEDETAIL; + + if (pInvestorPositionCombineDetail) + { + task.task_data = *pInvestorPositionCombineDetail; + } + else + { + CThostFtdcInvestorPositionCombineDetailField empty_data = CThostFtdcInvestorPositionCombineDetailField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryCFMMCTradingAccountKey(CThostFtdcCFMMCTradingAccountKeyField *pCFMMCTradingAccountKey, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYCFMMCTRADINGACCOUNTKEY; + + if (pCFMMCTradingAccountKey) + { + task.task_data = *pCFMMCTradingAccountKey; + } + else + { + CThostFtdcCFMMCTradingAccountKeyField empty_data = CThostFtdcCFMMCTradingAccountKeyField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryEWarrantOffset(CThostFtdcEWarrantOffsetField *pEWarrantOffset, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYEWARRANTOFFSET; + + if (pEWarrantOffset) + { + task.task_data = *pEWarrantOffset; + } + else + { + CThostFtdcEWarrantOffsetField empty_data = CThostFtdcEWarrantOffsetField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryInvestorProductGroupMargin(CThostFtdcInvestorProductGroupMarginField *pInvestorProductGroupMargin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYINVESTORPRODUCTGROUPMARGIN; + + if (pInvestorProductGroupMargin) + { + task.task_data = *pInvestorProductGroupMargin; + } + else + { + CThostFtdcInvestorProductGroupMarginField empty_data = CThostFtdcInvestorProductGroupMarginField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryExchangeMarginRate(CThostFtdcExchangeMarginRateField *pExchangeMarginRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYEXCHANGEMARGINRATE; + + if (pExchangeMarginRate) + { + task.task_data = *pExchangeMarginRate; + } + else + { + CThostFtdcExchangeMarginRateField empty_data = CThostFtdcExchangeMarginRateField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryExchangeMarginRateAdjust(CThostFtdcExchangeMarginRateAdjustField *pExchangeMarginRateAdjust, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYEXCHANGEMARGINRATEADJUST; + + if (pExchangeMarginRateAdjust) + { + task.task_data = *pExchangeMarginRateAdjust; + } + else + { + CThostFtdcExchangeMarginRateAdjustField empty_data = CThostFtdcExchangeMarginRateAdjustField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryExchangeRate(CThostFtdcExchangeRateField *pExchangeRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYEXCHANGERATE; + + if (pExchangeRate) + { + task.task_data = *pExchangeRate; + } + else + { + CThostFtdcExchangeRateField empty_data = CThostFtdcExchangeRateField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQrySecAgentACIDMap(CThostFtdcSecAgentACIDMapField *pSecAgentACIDMap, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYSECAGENTACIDMAP; + + if (pSecAgentACIDMap) + { + task.task_data = *pSecAgentACIDMap; + } + else + { + CThostFtdcSecAgentACIDMapField empty_data = CThostFtdcSecAgentACIDMapField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryOptionInstrTradeCost(CThostFtdcOptionInstrTradeCostField *pOptionInstrTradeCost, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYOPTIONINSTRTRADECOST; + + if (pOptionInstrTradeCost) + { + task.task_data = *pOptionInstrTradeCost; + } + else + { + CThostFtdcOptionInstrTradeCostField empty_data = CThostFtdcOptionInstrTradeCostField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryOptionInstrCommRate(CThostFtdcOptionInstrCommRateField *pOptionInstrCommRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYOPTIONINSTRCOMMRATE; + + if (pOptionInstrCommRate) + { + task.task_data = *pOptionInstrCommRate; + } + else + { + CThostFtdcOptionInstrCommRateField empty_data = CThostFtdcOptionInstrCommRateField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryExecOrder(CThostFtdcExecOrderField *pExecOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYEXECORDER; + + if (pExecOrder) + { + task.task_data = *pExecOrder; + } + else + { + CThostFtdcExecOrderField empty_data = CThostFtdcExecOrderField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryForQuote(CThostFtdcForQuoteField *pForQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYFORQUOTE; + + if (pForQuote) + { + task.task_data = *pForQuote; + } + else + { + CThostFtdcForQuoteField empty_data = CThostFtdcForQuoteField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryQuote(CThostFtdcQuoteField *pQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYQUOTE; + + if (pQuote) + { + task.task_data = *pQuote; + } + else + { + CThostFtdcQuoteField empty_data = CThostFtdcQuoteField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryTransferSerial(CThostFtdcTransferSerialField *pTransferSerial, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYTRANSFERSERIAL; + + if (pTransferSerial) + { + task.task_data = *pTransferSerial; + } + else + { + CThostFtdcTransferSerialField empty_data = CThostFtdcTransferSerialField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryAccountregister(CThostFtdcAccountregisterField *pAccountregister, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYACCOUNTREGISTER; + + if (pAccountregister) + { + task.task_data = *pAccountregister; + } + else + { + CThostFtdcAccountregisterField empty_data = CThostFtdcAccountregisterField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspError(CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPERROR; + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRtnOrder(CThostFtdcOrderField *pOrder) +{ + Task task = Task(); + task.task_name = ONRTNORDER; + + if (pOrder) + { + task.task_data = *pOrder; + } + else + { + CThostFtdcOrderField empty_data = CThostFtdcOrderField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + +void TdApi::OnRtnTrade(CThostFtdcTradeField *pTrade) +{ + Task task = Task(); + task.task_name = ONRTNTRADE; + + if (pTrade) + { + task.task_data = *pTrade; + } + else + { + CThostFtdcTradeField empty_data = CThostFtdcTradeField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + +void TdApi::OnErrRtnOrderInsert(CThostFtdcInputOrderField *pInputOrder, CThostFtdcRspInfoField *pRspInfo) +{ + Task task = Task(); + task.task_name = ONERRRTNORDERINSERT; + + if (pInputOrder) + { + task.task_data = *pInputOrder; + } + else + { + CThostFtdcInputOrderField empty_data = CThostFtdcInputOrderField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + this->task_queue.push(task); +}; + +void TdApi::OnErrRtnOrderAction(CThostFtdcOrderActionField *pOrderAction, CThostFtdcRspInfoField *pRspInfo) +{ + Task task = Task(); + task.task_name = ONERRRTNORDERACTION; + + if (pOrderAction) + { + task.task_data = *pOrderAction; + } + else + { + CThostFtdcOrderActionField empty_data = CThostFtdcOrderActionField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + this->task_queue.push(task); +}; + +void TdApi::OnRtnInstrumentStatus(CThostFtdcInstrumentStatusField *pInstrumentStatus) +{ + Task task = Task(); + task.task_name = ONRTNINSTRUMENTSTATUS; + + if (pInstrumentStatus) + { + task.task_data = *pInstrumentStatus; + } + else + { + CThostFtdcInstrumentStatusField empty_data = CThostFtdcInstrumentStatusField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + +void TdApi::OnRtnTradingNotice(CThostFtdcTradingNoticeInfoField *pTradingNoticeInfo) +{ + Task task = Task(); + task.task_name = ONRTNTRADINGNOTICE; + + if (pTradingNoticeInfo) + { + task.task_data = *pTradingNoticeInfo; + } + else + { + CThostFtdcTradingNoticeInfoField empty_data = CThostFtdcTradingNoticeInfoField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + +void TdApi::OnRtnErrorConditionalOrder(CThostFtdcErrorConditionalOrderField *pErrorConditionalOrder) +{ + Task task = Task(); + task.task_name = ONRTNERRORCONDITIONALORDER; + + if (pErrorConditionalOrder) + { + task.task_data = *pErrorConditionalOrder; + } + else + { + CThostFtdcErrorConditionalOrderField empty_data = CThostFtdcErrorConditionalOrderField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + +void TdApi::OnRtnExecOrder(CThostFtdcExecOrderField *pExecOrder) +{ + Task task = Task(); + task.task_name = ONRTNEXECORDER; + + if (pExecOrder) + { + task.task_data = *pExecOrder; + } + else + { + CThostFtdcExecOrderField empty_data = CThostFtdcExecOrderField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + +void TdApi::OnErrRtnExecOrderInsert(CThostFtdcInputExecOrderField *pInputExecOrder, CThostFtdcRspInfoField *pRspInfo) +{ + Task task = Task(); + task.task_name = ONERRRTNEXECORDERINSERT; + + if (pInputExecOrder) + { + task.task_data = *pInputExecOrder; + } + else + { + CThostFtdcInputExecOrderField empty_data = CThostFtdcInputExecOrderField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + this->task_queue.push(task); +}; + +void TdApi::OnErrRtnExecOrderAction(CThostFtdcExecOrderActionField *pExecOrderAction, CThostFtdcRspInfoField *pRspInfo) +{ + Task task = Task(); + task.task_name = ONERRRTNEXECORDERACTION; + + if (pExecOrderAction) + { + task.task_data = *pExecOrderAction; + } + else + { + CThostFtdcExecOrderActionField empty_data = CThostFtdcExecOrderActionField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + this->task_queue.push(task); +}; + +void TdApi::OnErrRtnForQuoteInsert(CThostFtdcInputForQuoteField *pInputForQuote, CThostFtdcRspInfoField *pRspInfo) +{ + Task task = Task(); + task.task_name = ONERRRTNFORQUOTEINSERT; + + if (pInputForQuote) + { + task.task_data = *pInputForQuote; + } + else + { + CThostFtdcInputForQuoteField empty_data = CThostFtdcInputForQuoteField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + this->task_queue.push(task); +}; + +void TdApi::OnRtnQuote(CThostFtdcQuoteField *pQuote) +{ + Task task = Task(); + task.task_name = ONRTNQUOTE; + + if (pQuote) + { + task.task_data = *pQuote; + } + else + { + CThostFtdcQuoteField empty_data = CThostFtdcQuoteField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + +void TdApi::OnErrRtnQuoteInsert(CThostFtdcInputQuoteField *pInputQuote, CThostFtdcRspInfoField *pRspInfo) +{ + Task task = Task(); + task.task_name = ONERRRTNQUOTEINSERT; + + if (pInputQuote) + { + task.task_data = *pInputQuote; + } + else + { + CThostFtdcInputQuoteField empty_data = CThostFtdcInputQuoteField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + this->task_queue.push(task); +}; + +void TdApi::OnErrRtnQuoteAction(CThostFtdcQuoteActionField *pQuoteAction, CThostFtdcRspInfoField *pRspInfo) +{ + Task task = Task(); + task.task_name = ONERRRTNQUOTEACTION; + + if (pQuoteAction) + { + task.task_data = *pQuoteAction; + } + else + { + CThostFtdcQuoteActionField empty_data = CThostFtdcQuoteActionField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + this->task_queue.push(task); +}; + +void TdApi::OnRtnForQuoteRsp(CThostFtdcForQuoteRspField *pForQuoteRsp) +{ + Task task = Task(); + task.task_name = ONRTNFORQUOTERSP; + + if (pForQuoteRsp) + { + task.task_data = *pForQuoteRsp; + } + else + { + CThostFtdcForQuoteRspField empty_data = CThostFtdcForQuoteRspField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + +void TdApi::OnRspQryContractBank(CThostFtdcContractBankField *pContractBank, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYCONTRACTBANK; + + if (pContractBank) + { + task.task_data = *pContractBank; + } + else + { + CThostFtdcContractBankField empty_data = CThostFtdcContractBankField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryParkedOrder(CThostFtdcParkedOrderField *pParkedOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYPARKEDORDER; + + if (pParkedOrder) + { + task.task_data = *pParkedOrder; + } + else + { + CThostFtdcParkedOrderField empty_data = CThostFtdcParkedOrderField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryParkedOrderAction(CThostFtdcParkedOrderActionField *pParkedOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYPARKEDORDERACTION; + + if (pParkedOrderAction) + { + task.task_data = *pParkedOrderAction; + } + else + { + CThostFtdcParkedOrderActionField empty_data = CThostFtdcParkedOrderActionField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryTradingNotice(CThostFtdcTradingNoticeField *pTradingNotice, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYTRADINGNOTICE; + + if (pTradingNotice) + { + task.task_data = *pTradingNotice; + } + else + { + CThostFtdcTradingNoticeField empty_data = CThostFtdcTradingNoticeField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryBrokerTradingParams(CThostFtdcBrokerTradingParamsField *pBrokerTradingParams, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYBROKERTRADINGPARAMS; + + if (pBrokerTradingParams) + { + task.task_data = *pBrokerTradingParams; + } + else + { + CThostFtdcBrokerTradingParamsField empty_data = CThostFtdcBrokerTradingParamsField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryBrokerTradingAlgos(CThostFtdcBrokerTradingAlgosField *pBrokerTradingAlgos, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYBROKERTRADINGALGOS; + + if (pBrokerTradingAlgos) + { + task.task_data = *pBrokerTradingAlgos; + } + else + { + CThostFtdcBrokerTradingAlgosField empty_data = CThostFtdcBrokerTradingAlgosField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRtnFromBankToFutureByBank(CThostFtdcRspTransferField *pRspTransfer) +{ + Task task = Task(); + task.task_name = ONRTNFROMBANKTOFUTUREBYBANK; + + if (pRspTransfer) + { + task.task_data = *pRspTransfer; + } + else + { + CThostFtdcRspTransferField empty_data = CThostFtdcRspTransferField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + +void TdApi::OnRtnFromFutureToBankByBank(CThostFtdcRspTransferField *pRspTransfer) +{ + Task task = Task(); + task.task_name = ONRTNFROMFUTURETOBANKBYBANK; + + if (pRspTransfer) + { + task.task_data = *pRspTransfer; + } + else + { + CThostFtdcRspTransferField empty_data = CThostFtdcRspTransferField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + +void TdApi::OnRtnRepealFromBankToFutureByBank(CThostFtdcRspRepealField *pRspRepeal) +{ + Task task = Task(); + task.task_name = ONRTNREPEALFROMBANKTOFUTUREBYBANK; + + if (pRspRepeal) + { + task.task_data = *pRspRepeal; + } + else + { + CThostFtdcRspRepealField empty_data = CThostFtdcRspRepealField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + +void TdApi::OnRtnRepealFromFutureToBankByBank(CThostFtdcRspRepealField *pRspRepeal) +{ + Task task = Task(); + task.task_name = ONRTNREPEALFROMFUTURETOBANKBYBANK; + + if (pRspRepeal) + { + task.task_data = *pRspRepeal; + } + else + { + CThostFtdcRspRepealField empty_data = CThostFtdcRspRepealField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + +void TdApi::OnRtnFromBankToFutureByFuture(CThostFtdcRspTransferField *pRspTransfer) +{ + Task task = Task(); + task.task_name = ONRTNFROMBANKTOFUTUREBYFUTURE; + + if (pRspTransfer) + { + task.task_data = *pRspTransfer; + } + else + { + CThostFtdcRspTransferField empty_data = CThostFtdcRspTransferField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + +void TdApi::OnRtnFromFutureToBankByFuture(CThostFtdcRspTransferField *pRspTransfer) +{ + Task task = Task(); + task.task_name = ONRTNFROMFUTURETOBANKBYFUTURE; + + if (pRspTransfer) + { + task.task_data = *pRspTransfer; + } + else + { + CThostFtdcRspTransferField empty_data = CThostFtdcRspTransferField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + +void TdApi::OnRtnRepealFromBankToFutureByFutureManual(CThostFtdcRspRepealField *pRspRepeal) +{ + Task task = Task(); + task.task_name = ONRTNREPEALFROMBANKTOFUTUREBYFUTUREMANUAL; + + if (pRspRepeal) + { + task.task_data = *pRspRepeal; + } + else + { + CThostFtdcRspRepealField empty_data = CThostFtdcRspRepealField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + +void TdApi::OnRtnRepealFromFutureToBankByFutureManual(CThostFtdcRspRepealField *pRspRepeal) +{ + Task task = Task(); + task.task_name = ONRTNREPEALFROMFUTURETOBANKBYFUTUREMANUAL; + + if (pRspRepeal) + { + task.task_data = *pRspRepeal; + } + else + { + CThostFtdcRspRepealField empty_data = CThostFtdcRspRepealField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + +void TdApi::OnRtnQueryBankBalanceByFuture(CThostFtdcNotifyQueryAccountField *pNotifyQueryAccount) +{ + Task task = Task(); + task.task_name = ONRTNQUERYBANKBALANCEBYFUTURE; + + if (pNotifyQueryAccount) + { + task.task_data = *pNotifyQueryAccount; + } + else + { + CThostFtdcNotifyQueryAccountField empty_data = CThostFtdcNotifyQueryAccountField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + +void TdApi::OnErrRtnBankToFutureByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo) +{ + Task task = Task(); + task.task_name = ONERRRTNBANKTOFUTUREBYFUTURE; + + if (pReqTransfer) + { + task.task_data = *pReqTransfer; + } + else + { + CThostFtdcReqTransferField empty_data = CThostFtdcReqTransferField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + this->task_queue.push(task); +}; + +void TdApi::OnErrRtnFutureToBankByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo) +{ + Task task = Task(); + task.task_name = ONERRRTNFUTURETOBANKBYFUTURE; + + if (pReqTransfer) + { + task.task_data = *pReqTransfer; + } + else + { + CThostFtdcReqTransferField empty_data = CThostFtdcReqTransferField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + this->task_queue.push(task); +}; + +void TdApi::OnErrRtnRepealBankToFutureByFutureManual(CThostFtdcReqRepealField *pReqRepeal, CThostFtdcRspInfoField *pRspInfo) +{ + Task task = Task(); + task.task_name = ONERRRTNREPEALBANKTOFUTUREBYFUTUREMANUAL; + + if (pReqRepeal) + { + task.task_data = *pReqRepeal; + } + else + { + CThostFtdcReqRepealField empty_data = CThostFtdcReqRepealField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + this->task_queue.push(task); +}; + +void TdApi::OnErrRtnRepealFutureToBankByFutureManual(CThostFtdcReqRepealField *pReqRepeal, CThostFtdcRspInfoField *pRspInfo) +{ + Task task = Task(); + task.task_name = ONERRRTNREPEALFUTURETOBANKBYFUTUREMANUAL; + + if (pReqRepeal) + { + task.task_data = *pReqRepeal; + } + else + { + CThostFtdcReqRepealField empty_data = CThostFtdcReqRepealField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + this->task_queue.push(task); +}; + +void TdApi::OnErrRtnQueryBankBalanceByFuture(CThostFtdcReqQueryAccountField *pReqQueryAccount, CThostFtdcRspInfoField *pRspInfo) +{ + Task task = Task(); + task.task_name = ONERRRTNQUERYBANKBALANCEBYFUTURE; + + if (pReqQueryAccount) + { + task.task_data = *pReqQueryAccount; + } + else + { + CThostFtdcReqQueryAccountField empty_data = CThostFtdcReqQueryAccountField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + this->task_queue.push(task); +}; + +void TdApi::OnRtnRepealFromBankToFutureByFuture(CThostFtdcRspRepealField *pRspRepeal) +{ + Task task = Task(); + task.task_name = ONRTNREPEALFROMBANKTOFUTUREBYFUTURE; + + if (pRspRepeal) + { + task.task_data = *pRspRepeal; + } + else + { + CThostFtdcRspRepealField empty_data = CThostFtdcRspRepealField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + +void TdApi::OnRtnRepealFromFutureToBankByFuture(CThostFtdcRspRepealField *pRspRepeal) +{ + Task task = Task(); + task.task_name = ONRTNREPEALFROMFUTURETOBANKBYFUTURE; + + if (pRspRepeal) + { + task.task_data = *pRspRepeal; + } + else + { + CThostFtdcRspRepealField empty_data = CThostFtdcRspRepealField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + +void TdApi::OnRspFromBankToFutureByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPFROMBANKTOFUTUREBYFUTURE; + + if (pReqTransfer) + { + task.task_data = *pReqTransfer; + } + else + { + CThostFtdcReqTransferField empty_data = CThostFtdcReqTransferField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspFromFutureToBankByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPFROMFUTURETOBANKBYFUTURE; + + if (pReqTransfer) + { + task.task_data = *pReqTransfer; + } + else + { + CThostFtdcReqTransferField empty_data = CThostFtdcReqTransferField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQueryBankAccountMoneyByFuture(CThostFtdcReqQueryAccountField *pReqQueryAccount, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQUERYBANKACCOUNTMONEYBYFUTURE; + + if (pReqQueryAccount) + { + task.task_data = *pReqQueryAccount; + } + else + { + CThostFtdcReqQueryAccountField empty_data = CThostFtdcReqQueryAccountField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRtnOpenAccountByBank(CThostFtdcOpenAccountField *pOpenAccount) +{ + Task task = Task(); + task.task_name = ONRTNOPENACCOUNTBYBANK; + + if (pOpenAccount) + { + task.task_data = *pOpenAccount; + } + else + { + CThostFtdcOpenAccountField empty_data = CThostFtdcOpenAccountField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + +void TdApi::OnRtnCancelAccountByBank(CThostFtdcCancelAccountField *pCancelAccount) +{ + Task task = Task(); + task.task_name = ONRTNCANCELACCOUNTBYBANK; + + if (pCancelAccount) + { + task.task_data = *pCancelAccount; + } + else + { + CThostFtdcCancelAccountField empty_data = CThostFtdcCancelAccountField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + +void TdApi::OnRtnChangeAccountByBank(CThostFtdcChangeAccountField *pChangeAccount) +{ + Task task = Task(); + task.task_name = ONRTNCHANGEACCOUNTBYBANK; + + if (pChangeAccount) + { + task.task_data = *pChangeAccount; + } + else + { + CThostFtdcChangeAccountField empty_data = CThostFtdcChangeAccountField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + diff --git a/vn.ctp/pyscript/ctp_td_wrap.cpp b/vn.ctp/pyscript/ctp_td_wrap.cpp new file mode 100644 index 00000000..503b523d --- /dev/null +++ b/vn.ctp/pyscript/ctp_td_wrap.cpp @@ -0,0 +1,1316 @@ +virtual void onRspAuthenticate(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspAuthenticate")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspUserLogin(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspUserLogin")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspUserLogout(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspUserLogout")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspUserPasswordUpdate(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspUserPasswordUpdate")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspTradingAccountPasswordUpdate(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspTradingAccountPasswordUpdate")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspOrderInsert(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspOrderInsert")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspParkedOrderInsert(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspParkedOrderInsert")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspParkedOrderAction(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspParkedOrderAction")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspOrderAction(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspOrderAction")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspQueryMaxOrderVolume(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspQueryMaxOrderVolume")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspSettlementInfoConfirm(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspSettlementInfoConfirm")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspRemoveParkedOrder(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspRemoveParkedOrder")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspRemoveParkedOrderAction(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspRemoveParkedOrderAction")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspExecOrderInsert(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspExecOrderInsert")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspExecOrderAction(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspExecOrderAction")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspForQuoteInsert(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspForQuoteInsert")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspQuoteInsert(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspQuoteInsert")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspQuoteAction(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspQuoteAction")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspQryOrder(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspQryOrder")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspQryTrade(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspQryTrade")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspQryInvestorPosition(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspQryInvestorPosition")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspQryTradingAccount(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspQryTradingAccount")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspQryInvestor(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspQryInvestor")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspQryTradingCode(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspQryTradingCode")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspQryInstrumentMarginRate(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspQryInstrumentMarginRate")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspQryInstrumentCommissionRate(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspQryInstrumentCommissionRate")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspQryExchange(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspQryExchange")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspQryProduct(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspQryProduct")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspQryInstrument(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspQryInstrument")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspQryDepthMarketData(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspQryDepthMarketData")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspQrySettlementInfo(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspQrySettlementInfo")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspQryTransferBank(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspQryTransferBank")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspQryInvestorPositionDetail(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspQryInvestorPositionDetail")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspQryNotice(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspQryNotice")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspQrySettlementInfoConfirm(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspQrySettlementInfoConfirm")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspQryInvestorPositionCombineDetail(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspQryInvestorPositionCombineDetail")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspQryCFMMCTradingAccountKey(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspQryCFMMCTradingAccountKey")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspQryEWarrantOffset(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspQryEWarrantOffset")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspQryInvestorProductGroupMargin(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspQryInvestorProductGroupMargin")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspQryExchangeMarginRate(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspQryExchangeMarginRate")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspQryExchangeMarginRateAdjust(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspQryExchangeMarginRateAdjust")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspQryExchangeRate(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspQryExchangeRate")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspQrySecAgentACIDMap(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspQrySecAgentACIDMap")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspQryOptionInstrTradeCost(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspQryOptionInstrTradeCost")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspQryOptionInstrCommRate(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspQryOptionInstrCommRate")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspQryExecOrder(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspQryExecOrder")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspQryForQuote(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspQryForQuote")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspQryQuote(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspQryQuote")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspQryTransferSerial(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspQryTransferSerial")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspQryAccountregister(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspQryAccountregister")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspError(dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspError")(error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRtnOrder(dict data) +{ + PyLock lock; + + try + { + this->get_override("onRtnOrder")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRtnTrade(dict data) +{ + PyLock lock; + + try + { + this->get_override("onRtnTrade")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onErrRtnOrderInsert(dict data, dict error) +{ + PyLock lock; + + try + { + this->get_override("onErrRtnOrderInsert")(data, error); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onErrRtnOrderAction(dict data, dict error) +{ + PyLock lock; + + try + { + this->get_override("onErrRtnOrderAction")(data, error); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRtnInstrumentStatus(dict data) +{ + PyLock lock; + + try + { + this->get_override("onRtnInstrumentStatus")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRtnTradingNotice(dict data) +{ + PyLock lock; + + try + { + this->get_override("onRtnTradingNotice")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRtnErrorConditionalOrder(dict data) +{ + PyLock lock; + + try + { + this->get_override("onRtnErrorConditionalOrder")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRtnExecOrder(dict data) +{ + PyLock lock; + + try + { + this->get_override("onRtnExecOrder")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onErrRtnExecOrderInsert(dict data, dict error) +{ + PyLock lock; + + try + { + this->get_override("onErrRtnExecOrderInsert")(data, error); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onErrRtnExecOrderAction(dict data, dict error) +{ + PyLock lock; + + try + { + this->get_override("onErrRtnExecOrderAction")(data, error); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onErrRtnForQuoteInsert(dict data, dict error) +{ + PyLock lock; + + try + { + this->get_override("onErrRtnForQuoteInsert")(data, error); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRtnQuote(dict data) +{ + PyLock lock; + + try + { + this->get_override("onRtnQuote")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onErrRtnQuoteInsert(dict data, dict error) +{ + PyLock lock; + + try + { + this->get_override("onErrRtnQuoteInsert")(data, error); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onErrRtnQuoteAction(dict data, dict error) +{ + PyLock lock; + + try + { + this->get_override("onErrRtnQuoteAction")(data, error); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRtnForQuoteRsp(dict data) +{ + PyLock lock; + + try + { + this->get_override("onRtnForQuoteRsp")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspQryContractBank(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspQryContractBank")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspQryParkedOrder(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspQryParkedOrder")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspQryParkedOrderAction(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspQryParkedOrderAction")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspQryTradingNotice(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspQryTradingNotice")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspQryBrokerTradingParams(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspQryBrokerTradingParams")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspQryBrokerTradingAlgos(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspQryBrokerTradingAlgos")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRtnFromBankToFutureByBank(dict data) +{ + PyLock lock; + + try + { + this->get_override("onRtnFromBankToFutureByBank")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRtnFromFutureToBankByBank(dict data) +{ + PyLock lock; + + try + { + this->get_override("onRtnFromFutureToBankByBank")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRtnRepealFromBankToFutureByBank(dict data) +{ + PyLock lock; + + try + { + this->get_override("onRtnRepealFromBankToFutureByBank")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRtnRepealFromFutureToBankByBank(dict data) +{ + PyLock lock; + + try + { + this->get_override("onRtnRepealFromFutureToBankByBank")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRtnFromBankToFutureByFuture(dict data) +{ + PyLock lock; + + try + { + this->get_override("onRtnFromBankToFutureByFuture")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRtnFromFutureToBankByFuture(dict data) +{ + PyLock lock; + + try + { + this->get_override("onRtnFromFutureToBankByFuture")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRtnRepealFromBankToFutureByFutureManual(dict data) +{ + PyLock lock; + + try + { + this->get_override("onRtnRepealFromBankToFutureByFutureManual")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRtnRepealFromFutureToBankByFutureManual(dict data) +{ + PyLock lock; + + try + { + this->get_override("onRtnRepealFromFutureToBankByFutureManual")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRtnQueryBankBalanceByFuture(dict data) +{ + PyLock lock; + + try + { + this->get_override("onRtnQueryBankBalanceByFuture")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onErrRtnBankToFutureByFuture(dict data, dict error) +{ + PyLock lock; + + try + { + this->get_override("onErrRtnBankToFutureByFuture")(data, error); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onErrRtnFutureToBankByFuture(dict data, dict error) +{ + PyLock lock; + + try + { + this->get_override("onErrRtnFutureToBankByFuture")(data, error); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onErrRtnRepealBankToFutureByFutureManual(dict data, dict error) +{ + PyLock lock; + + try + { + this->get_override("onErrRtnRepealBankToFutureByFutureManual")(data, error); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onErrRtnRepealFutureToBankByFutureManual(dict data, dict error) +{ + PyLock lock; + + try + { + this->get_override("onErrRtnRepealFutureToBankByFutureManual")(data, error); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onErrRtnQueryBankBalanceByFuture(dict data, dict error) +{ + PyLock lock; + + try + { + this->get_override("onErrRtnQueryBankBalanceByFuture")(data, error); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRtnRepealFromBankToFutureByFuture(dict data) +{ + PyLock lock; + + try + { + this->get_override("onRtnRepealFromBankToFutureByFuture")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRtnRepealFromFutureToBankByFuture(dict data) +{ + PyLock lock; + + try + { + this->get_override("onRtnRepealFromFutureToBankByFuture")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspFromBankToFutureByFuture(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspFromBankToFutureByFuture")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspFromFutureToBankByFuture(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspFromFutureToBankByFuture")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRspQueryBankAccountMoneyByFuture(dict data, dict error, int id, bool last) +{ + PyLock lock; + + try + { + this->get_override("onRspQueryBankAccountMoneyByFuture")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRtnOpenAccountByBank(dict data) +{ + PyLock lock; + + try + { + this->get_override("onRtnOpenAccountByBank")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRtnCancelAccountByBank(dict data) +{ + PyLock lock; + + try + { + this->get_override("onRtnCancelAccountByBank")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + +virtual void onRtnChangeAccountByBank(dict data) +{ + PyLock lock; + + try + { + this->get_override("onRtnChangeAccountByBank")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } +}; + diff --git a/vn.ctp/pyscript/generate_data_type.py b/vn.ctp/pyscript/generate_data_type.py new file mode 100644 index 00000000..91ec2a73 --- /dev/null +++ b/vn.ctp/pyscript/generate_data_type.py @@ -0,0 +1,98 @@ +# encoding: UTF-8 + +__author__ = 'CHENXY' + +# C++鍜宲ython绫诲瀷鐨勬槧灏勫瓧鍏 +type_dict = { + 'int': 'int', + 'char': 'string', + 'double': 'float', + 'short': 'int' +} + + +def process_line(line): + """澶勭悊姣忚""" + if '///' in line: # 娉ㄩ噴 + py_line = process_comment(line) + elif 'typedef' in line: # 绫诲瀷鐢虫槑 + py_line = process_typedef(line) + elif '#define' in line: # 瀹氫箟甯搁噺 + py_line = process_define(line) + elif line == '\n': # 绌鸿 + py_line = line + else: + py_line = '' + + return py_line + + +def process_comment(line): + """澶勭悊娉ㄩ噴""" + # if line[3] == '/': + # py_line = '' + # else: + # py_line = '#' + line[3:] + py_line = '#' + line[3:] + return py_line + + +def process_typedef(line): + """澶勭悊绫诲瀷鐢虫槑""" + content = line.split(' ') + type_ = type_dict[content[1]] + + keyword = content[2] + if '[' in keyword: + i = keyword.index('[') + keyword = keyword[:i] + else: + keyword = keyword.replace(';\n', '') # 鍒犻櫎琛屾湯鍒嗗彿 + + py_line = 'typedefDict["%s"] = "%s"\n' % (keyword, type_) + + return py_line + + +def process_define(line): + """澶勭悊瀹氫箟甯搁噺""" + content = line.split(' ') + constant = content[1] + + if len(content)>2: + value = content[-1] + py_line = 'defineDict["%s"] = %s' % (constant, value) + else: + py_line = '' + + return py_line + + +def main(): + """涓诲嚱鏁""" + try: + fcpp = open('ThostFtdcUserApiDataType.h','r') + fpy = open('ctp_data_type.py', 'w') + + fpy.write('# encoding: UTF-8\n') + fpy.write('\n') + fpy.write('defineDict = {}\n') + fpy.write('typedefDict = {}\n') + fpy.write('\n') + + for line in fcpp: + py_line = process_line(line) + if py_line: + fpy.write(py_line.decode('gbk').encode('utf-8')) + + fcpp.close() + fpy.close() + + print u'data_type.py鐢熸垚杩囩▼瀹屾垚' + except: + print u'data_type.py鐢熸垚杩囩▼鍑洪敊' + + +if __name__ == '__main__': + main() + diff --git a/vn.ctp/pyscript/generate_md_functions.py b/vn.ctp/pyscript/generate_md_functions.py new file mode 100644 index 00000000..6f76d382 --- /dev/null +++ b/vn.ctp/pyscript/generate_md_functions.py @@ -0,0 +1,207 @@ +# encoding: UTF-8 + +__author__ = 'CHENXY' + +from string import join +from ctp_struct import structDict + + + +def processCallBack(line): + orignalLine = line + line = line.replace('\tvirtual void ', '') # 鍒犻櫎琛岄鐨勬棤鏁堝唴瀹 + line = line.replace('{};\n', '') # 鍒犻櫎琛屽熬鐨勬棤鏁堝唴瀹 + + content = line.split('(') + cbName = content[0] # 鍥炶皟鍑芥暟鍚嶇О + + cbArgs = content[1] # 鍥炶皟鍑芥暟鍙傛暟 + if cbArgs[-1] == ' ': + cbArgs = cbArgs.replace(') ', '') + else: + cbArgs = cbArgs.replace(')', '') + + cbArgsList = cbArgs.split(', ') # 灏嗘瘡涓弬鏁拌浆鍖栦负鍒楄〃 + + cbArgsTypeList = [] + cbArgsValueList = [] + + for arg in cbArgsList: # 寮濮嬪鐞嗗弬鏁 + content = arg.split(' ') + if len(content) > 1: + cbArgsTypeList.append(content[0]) # 鍙傛暟绫诲瀷鍒楄〃 + cbArgsValueList.append(content[1]) # 鍙傛暟鏁版嵁鍒楄〃 + + createTask(cbName, cbArgsTypeList, cbArgsValueList, orignalLine) + createProcess(cbName, cbArgsTypeList, cbArgsValueList) + + +def createTask(cbName, cbArgsTypeList, cbArgsValueList, orignalLine): + # 浠庡洖璋冨嚱鏁扮敓鎴愪换鍔″璞★紝骞舵斁鍏ラ槦鍒 + funcline = orignalLine.replace('\tvirtual void ', 'void ' + apiName + '::') + funcline = funcline.replace('{};', '') + + ftask.write(funcline) + ftask.write('{\n') + ftask.write("\tTask task = Task();\n") + + ftask.write("\ttask.task_name = " + cbName.upper() + ";\n") + + # define甯搁噺 + global define_count + fdefine.write("#define " + cbName.upper() + ' ' + str(define_count) + '\n') + define_count = define_count + 1 + + # switch娈典唬鐮 + fswitch.write("case " + cbName.upper() + ':\n') + fswitch.write("{\n") + fswitch.write("\tthis->" + cbName.replace('On', 'process') + '(task);\n') + fswitch.write("\tbreak;\n") + fswitch.write("}\n") + fswitch.write("\n") + + for i, type_ in enumerate(cbArgsTypeList): + if type_ == 'int': + ftask.write("\ttask.task_id = " + cbArgsValueList[i] + ";\n") + elif type_ == 'bool': + ftask.write("\ttask.task_last = " + cbArgsValueList[i] + ";\n") + elif 'RspInfoField' in type_: + ftask.write("\tif (pRspInfo)\n") + ftask.write("\t{\n") + ftask.write("\t\ttask.task_error = " + cbArgsValueList[i] + ";\n") + ftask.write("\t}\n") + ftask.write("\telse\n") + ftask.write("\t{\n") + ftask.write("\t\tCSecurityFtdcRspInfoField empty_error = CSecurityFtdcRspInfoField();\n") + ftask.write("\t\tmemset(&empty_error, 0, sizeof(empty_error));\n") + ftask.write("\t\ttask.task_error = empty_error;\n") + ftask.write("\t}\n") + else: + ftask.write("\ttask.task_data = " + cbArgsValueList[i] + ";\n") + + ftask.write("\tthis->task_queue.push(task);\n") + ftask.write("};\n") + ftask.write("\n") + + +def createProcess(cbName, cbArgsTypeList, cbArgsValueList): + # 浠庨槦鍒椾腑鎻愬彇浠诲姟锛屽苟杞寲涓簆ython瀛楀吀 + fprocess.write("void " + apiName + '::' + cbName.replace('On', 'process') + '(Task task)' + "\n") + fprocess.write("{\n") + + onArgsList = [] + + for i, type_ in enumerate(cbArgsTypeList): + if 'RspInfoField' in type_: + fprocess.write("\t"+ type_ + ' task_error = any_cast<' + type_ + '>(task.task_error);\n') + fprocess.write("\t"+ "dict error;\n") + + struct = structDict[type_] + for key in struct.keys(): + fprocess.write("\t"+ 'error["' + key + '"] = task_error.' + key + ';\n') + + fprocess.write("\n") + + onArgsList.append('error') + + elif type_ in structDict: + fprocess.write("\t"+ type_ + ' task_data = any_cast<' + type_ + '>(task.task_data);\n') + fprocess.write("\t"+ "dict data;\n") + + struct = structDict[type_] + for key in struct.keys(): + fprocess.write("\t"+ 'data["' + key + '"] = task_data.' + key + ';\n') + + fprocess.write("\n") + + onArgsList.append('data') + + elif type_ == 'bool': + onArgsList.append('task.task_last') + + elif type_ == 'int': + onArgsList.append('task.task_id') + + onArgs = join(onArgsList, ', ') + fprocess.write('\tthis->' + cbName.replace('On', 'on') + '(' + onArgs +');\n') + + fprocess.write("};\n") + fprocess.write("\n") + + +def processFunction(line): + line = line.replace('\tvirtual int ', '') # 鍒犻櫎琛岄鐨勬棤鏁堝唴瀹 + line = line.replace(') = 0;\n', '') # 鍒犻櫎琛屽熬鐨勬棤鏁堝唴瀹 + + content = line.split('(') + fcName = content[0] # 鍥炶皟鍑芥暟鍚嶇О + + fcArgs = content[1] # 鍥炶皟鍑芥暟鍙傛暟 + fcArgs = fcArgs.replace(')', '') + + fcArgsList = fcArgs.split(', ') # 灏嗘瘡涓弬鏁拌浆鍖栦负鍒楄〃 + + fcArgsTypeList = [] + fcArgsValueList = [] + + for arg in fcArgsList: # 寮濮嬪鐞嗗弬鏁 + content = arg.split(' ') + if len(content) > 1: + fcArgsTypeList.append(content[0]) # 鍙傛暟绫诲瀷鍒楄〃 + fcArgsValueList.append(content[1]) # 鍙傛暟鏁版嵁鍒楄〃 + + if len(fcArgsTypeList)>0 and fcArgsTypeList[0] in structDict: + createFunction(fcName, fcArgsTypeList, fcArgsValueList) + + +def createFunction(fcName, fcArgsTypeList, fcArgsValueList): + type_ = fcArgsTypeList[0] + struct = structDict[type_] + + ffunction.write(fcName + '\n') + ffunction.write('{\n') + ffunction.write('\t' + type_ +' myreq = ' + type_ + '();\n') + ffunction.write('\tmemset(&myreq, 0, sizeof(myreq));\n') + + for key, value in struct.items(): + if value == 'string': + line = '\tgetChar(req, "' + key + '", myreq.' + key + ');\n' + elif value == 'int': + line = '\tgetInt(req, "' + key + '", &myreq.' + key + ');\n' + elif value == 'double': + line = '\tgetDouble(req, "' + key + '", &myreq.' + key + ');\n' + ffunction.write(line) + + ffunction.write('\tint i = this->api->' + fcName + '(&myreq, nRequestID);\n') + ffunction.write('\treturn i;\n') + + ffunction.write('};\n') + ffunction.write('\n') + + + + +######################################################### +apiName = 'MdApi' + +fcpp = open('ThostFtdcMdApi.h', 'r') +ftask = open('ctp_md_task.cpp', 'w') +fprocess = open('ctp_md_process.cpp', 'w') +ffunction = open('ctp_md_function.cpp', 'w') +fdefine = open('ctp_md_define.cpp', 'w') +fswitch = open('ctp_md_switch.cpp', 'w') + +define_count = 1 + +for line in fcpp: + if "\tvirtual void On" in line: + processCallBack(line) + elif "\tvirtual int" in line: + processFunction(line) + +fcpp.close() +ftask.close() +fprocess.close() +ffunction.close() +fswitch.close() +fdefine.close() \ No newline at end of file diff --git a/vn.ctp/pyscript/generate_struct.py b/vn.ctp/pyscript/generate_struct.py new file mode 100644 index 00000000..0cf8fba1 --- /dev/null +++ b/vn.ctp/pyscript/generate_struct.py @@ -0,0 +1,56 @@ +# encoding: UTF-8 + +__author__ = 'CHENXY' + +from ctp_data_type import * + +def main(): + """涓诲嚱鏁""" + fcpp = open('ThostFtdcUserApiStruct.h', 'r') + fpy = open('ctp_struct.py', 'w') + + fpy.write('# encoding: UTF-8\n') + fpy.write('\n') + fpy.write('structDict = {}\n') + fpy.write('\n') + + for line in fcpp: + # 缁撴瀯浣撶敵鏄庢敞閲 + if '///' in line and '\t' not in line: + py_line = '#' + line[3:] + + # 缁撴瀯浣撳彉閲忔敞閲 + elif '\t///' in line: + py_line = '#' + line[4:] + + # 缁撴瀯浣撶敵鏄 + elif 'struct' in line: + content = line.split(' ') + name = content[1].replace('\n','') + py_line = '%s = {}\n' % name + + # 缁撴瀯浣撳彉閲 + elif '\t' in line and '///' not in line: + content = line.split('\t') + typedef = content[1] + type_ = typedefDict[typedef] + variable = content[2].replace(';\n', "") + py_line = '%s["%s"] = "%s"\n' % (name, variable, type_) + + # 缁撴瀯浣撶粨鏉 + elif '}' in line: + py_line = "structDict['%s'] = %s\n\n" % (name, name) + + # 缁撴瀯浣撳紑濮 + elif '{' in line: + py_line = '' + + # 鍏朵粬 + else: + py_line = '\n' + + fpy.write(py_line.decode('gbk').encode('utf-8')) + + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/vn.ctp/pyscript/generate_td_functions.py b/vn.ctp/pyscript/generate_td_functions.py new file mode 100644 index 00000000..e4e0ee93 --- /dev/null +++ b/vn.ctp/pyscript/generate_td_functions.py @@ -0,0 +1,291 @@ +# encoding: UTF-8 + +__author__ = 'CHENXY' + +from string import join +from ctp_struct import structDict + + + +def processCallBack(line): + orignalLine = line + line = line.replace('\tvirtual void ', '') # 鍒犻櫎琛岄鐨勬棤鏁堝唴瀹 + line = line.replace('{};\n', '') # 鍒犻櫎琛屽熬鐨勬棤鏁堝唴瀹 + + content = line.split('(') + cbName = content[0] # 鍥炶皟鍑芥暟鍚嶇О + + cbArgs = content[1] # 鍥炶皟鍑芥暟鍙傛暟 + if cbArgs[-1] == ' ': + cbArgs = cbArgs.replace(') ', '') + else: + cbArgs = cbArgs.replace(')', '') + + cbArgsList = cbArgs.split(', ') # 灏嗘瘡涓弬鏁拌浆鍖栦负鍒楄〃 + + cbArgsTypeList = [] + cbArgsValueList = [] + + for arg in cbArgsList: # 寮濮嬪鐞嗗弬鏁 + content = arg.split(' ') + if len(content) > 1: + cbArgsTypeList.append(content[0]) # 鍙傛暟绫诲瀷鍒楄〃 + cbArgsValueList.append(content[1]) # 鍙傛暟鏁版嵁鍒楄〃 + + createTask(cbName, cbArgsTypeList, cbArgsValueList, orignalLine) + createProcess(cbName, cbArgsTypeList, cbArgsValueList) + + # 鐢熸垚.h鏂囦欢涓殑process閮ㄥ垎 + process_line = 'void process' + cbName[2:] + '(Task task);\n' + fheaderprocess.write(process_line) + fheaderprocess.write('\n') + + # 鐢熸垚.h鏂囦欢涓殑on閮ㄥ垎 + if 'OnRspError' in cbName: + on_line = 'virtual void on' + cbName[2:] + '(dict error, int id, bool last) {};\n' + elif 'OnRsp' in cbName: + on_line = 'virtual void on' + cbName[2:] + '(dict data, dict error, int id, bool last) {};\n' + elif 'OnRtn' in cbName: + on_line = 'virtual void on' + cbName[2:] + '(dict data) {};\n' + elif 'OnErrRtn' in cbName: + on_line = 'virtual void on' + cbName[2:] + '(dict data, dict error) {};\n' + else: + on_line = '' + fheaderon.write(on_line) + fheaderon.write('\n') + + # 鐢熸垚灏佽閮ㄥ垎 + createWrap(cbName) + + +#---------------------------------------------------------------------- +def createWrap(cbName): + """鍦≒ython灏佽娈典唬鐮佷腑杩涜澶勭悊""" + # 鐢熸垚.h鏂囦欢涓殑on閮ㄥ垎 + if 'OnRspError' in cbName: + on_line = 'virtual void on' + cbName[2:] + '(dict error, int id, bool last)\n' + override_line = '("on' + cbName[2:] + '")(error, id, last);\n' + elif 'OnRsp' in cbName: + on_line = 'virtual void on' + cbName[2:] + '(dict data, dict error, int id, bool last)\n' + override_line = '("on' + cbName[2:] + '")(data, error, id, last);\n' + elif 'OnRtn' in cbName: + on_line = 'virtual void on' + cbName[2:] + '(dict data)\n' + override_line = '("on' + cbName[2:] + '")(data);\n' + elif 'OnErrRtn' in cbName: + on_line = 'virtual void on' + cbName[2:] + '(dict data, dict error)\n' + override_line = '("on' + cbName[2:] + '")(data, error);\n' + else: + on_line = '' + + if on_line is not '': + fwrap.write(on_line) + fwrap.write('{\n') + fwrap.write('\t PyLock lock;\n') + fwrap.write('\n') + fwrap.write('\ttry\n') + fwrap.write('\t{\n') + fwrap.write('\t\tthis->get_override'+override_line) + fwrap.write('\t}\n') + fwrap.write('\tcatch (error_already_set const &)\n') + fwrap.write('\t{\n') + fwrap.write('\t\tPyErr_Print();\n') + fwrap.write('\t}\n') + fwrap.write('};\n') + fwrap.write('\n') + + + +def createTask(cbName, cbArgsTypeList, cbArgsValueList, orignalLine): + # 浠庡洖璋冨嚱鏁扮敓鎴愪换鍔″璞★紝骞舵斁鍏ラ槦鍒 + funcline = orignalLine.replace('\tvirtual void ', 'void ' + apiName + '::') + funcline = funcline.replace('{};', '') + + ftask.write(funcline) + ftask.write('{\n') + ftask.write("\tTask task = Task();\n") + + ftask.write("\ttask.task_name = " + cbName.upper() + ";\n") + + # define甯搁噺 + global define_count + fdefine.write("#define " + cbName.upper() + ' ' + str(define_count) + '\n') + define_count = define_count + 1 + + # switch娈典唬鐮 + fswitch.write("case " + cbName.upper() + ':\n') + fswitch.write("{\n") + fswitch.write("\tthis->" + cbName.replace('On', 'process') + '(task);\n') + fswitch.write("\tbreak;\n") + fswitch.write("}\n") + fswitch.write("\n") + + for i, type_ in enumerate(cbArgsTypeList): + if type_ == 'int': + ftask.write("\ttask.task_id = " + cbArgsValueList[i] + ";\n") + elif type_ == 'bool': + ftask.write("\ttask.task_last = " + cbArgsValueList[i] + ";\n") + elif 'RspInfoField' in type_: + ftask.write("\n") + ftask.write("\tif (pRspInfo)\n") + ftask.write("\t{\n") + ftask.write("\t\ttask.task_error = " + cbArgsValueList[i] + ";\n") + ftask.write("\t}\n") + ftask.write("\telse\n") + ftask.write("\t{\n") + ftask.write("\t\tCThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();\n") + ftask.write("\t\tmemset(&empty_error, 0, sizeof(empty_error));\n") + ftask.write("\t\ttask.task_error = empty_error;\n") + ftask.write("\t}\n") + else: + ftask.write("\n") + ftask.write("\tif (" + cbArgsValueList[i][1:] + ")\n") + ftask.write("\t{\n") + ftask.write("\t\ttask.task_data = " + cbArgsValueList[i] + ";\n") + ftask.write("\t}\n") + ftask.write("\telse\n") + ftask.write("\t{\n") + ftask.write("\t\t" + type_ + " empty_data = " + type_ + "();\n") + ftask.write("\t\tmemset(&empty_data, 0, sizeof(empty_data));\n") + ftask.write("\t\ttask.task_data = empty_data;\n") + ftask.write("\t}\n") + + ftask.write("\tthis->task_queue.push(task);\n") + ftask.write("};\n") + ftask.write("\n") + + +def createProcess(cbName, cbArgsTypeList, cbArgsValueList): + # 浠庨槦鍒椾腑鎻愬彇浠诲姟锛屽苟杞寲涓簆ython瀛楀吀 + fprocess.write("void " + apiName + '::' + cbName.replace('On', 'process') + '(Task task)' + "\n") + fprocess.write("{\n") + + onArgsList = [] + + for i, type_ in enumerate(cbArgsTypeList): + if 'RspInfoField' in type_: + fprocess.write("\t"+ type_ + ' task_error = any_cast<' + type_ + '>(task.task_error);\n') + fprocess.write("\t"+ "dict error;\n") + + struct = structDict[type_] + for key in struct.keys(): + fprocess.write("\t"+ 'error["' + key + '"] = task_error.' + key + ';\n') + + fprocess.write("\n") + + onArgsList.append('error') + + elif type_ in structDict: + fprocess.write("\t"+ type_ + ' task_data = any_cast<' + type_ + '>(task.task_data);\n') + fprocess.write("\t"+ "dict data;\n") + + struct = structDict[type_] + for key in struct.keys(): + fprocess.write("\t"+ 'data["' + key + '"] = task_data.' + key + ';\n') + + fprocess.write("\n") + + onArgsList.append('data') + + elif type_ == 'bool': + onArgsList.append('task.task_last') + + elif type_ == 'int': + onArgsList.append('task.task_id') + + onArgs = join(onArgsList, ', ') + fprocess.write('\tthis->' + cbName.replace('On', 'on') + '(' + onArgs +');\n') + + fprocess.write("};\n") + fprocess.write("\n") + + +def processFunction(line): + line = line.replace('\tvirtual int ', '') # 鍒犻櫎琛岄鐨勬棤鏁堝唴瀹 + line = line.replace(') = 0;\n', '') # 鍒犻櫎琛屽熬鐨勬棤鏁堝唴瀹 + + content = line.split('(') + fcName = content[0] # 鍥炶皟鍑芥暟鍚嶇О + + fcArgs = content[1] # 鍥炶皟鍑芥暟鍙傛暟 + fcArgs = fcArgs.replace(')', '') + + fcArgsList = fcArgs.split(', ') # 灏嗘瘡涓弬鏁拌浆鍖栦负鍒楄〃 + + fcArgsTypeList = [] + fcArgsValueList = [] + + for arg in fcArgsList: # 寮濮嬪鐞嗗弬鏁 + content = arg.split(' ') + if len(content) > 1: + fcArgsTypeList.append(content[0]) # 鍙傛暟绫诲瀷鍒楄〃 + fcArgsValueList.append(content[1]) # 鍙傛暟鏁版嵁鍒楄〃 + + if len(fcArgsTypeList)>0 and fcArgsTypeList[0] in structDict: + createFunction(fcName, fcArgsTypeList, fcArgsValueList) + + # 鐢熸垚.h鏂囦欢涓殑涓诲姩鍑芥暟閮ㄥ垎 + if 'Req' in fcName: + req_line = 'int req' + fcName[3:] + '(dict req, int nRequestID);\n' + fheaderfunction.write(req_line) + fheaderfunction.write('\n') + + +def createFunction(fcName, fcArgsTypeList, fcArgsValueList): + type_ = fcArgsTypeList[0] + struct = structDict[type_] + + ffunction.write('int TdApi::req' + fcName[3:] + '(dict req, int nRequestID)\n') + ffunction.write('{\n') + ffunction.write('\t' + type_ +' myreq = ' + type_ + '();\n') + ffunction.write('\tmemset(&myreq, 0, sizeof(myreq));\n') + + for key, value in struct.items(): + if value == 'string': + line = '\tgetChar(req, "' + key + '", myreq.' + key + ');\n' + elif value == 'int': + line = '\tgetInt(req, "' + key + '", &myreq.' + key + ');\n' + elif value == 'double': + line = '\tgetDouble(req, "' + key + '", &myreq.' + key + ');\n' + ffunction.write(line) + + ffunction.write('\tint i = this->api->' + fcName + '(&myreq, nRequestID);\n') + ffunction.write('\treturn i;\n') + + ffunction.write('};\n') + ffunction.write('\n') + + + + +######################################################### +apiName = 'TdApi' + +fcpp = open('ThostFtdcTraderApi.h', 'r') +ftask = open('ctp_td_task.cpp', 'w') +fprocess = open('ctp_td_process.cpp', 'w') +ffunction = open('ctp_td_function.cpp', 'w') +fdefine = open('ctp_td_define.cpp', 'w') +fswitch = open('ctp_td_switch.cpp', 'w') +fheaderprocess = open('ctp_td_header_process.h', 'w') +fheaderon = open('ctp_td_header_on.h', 'w') +fheaderfunction = open('ctp_td_header_function.h', 'w') +fwrap = open('ctp_td_wrap.cpp', 'w') + +define_count = 1 + +for line in fcpp: + if "\tvirtual void On" in line: + processCallBack(line) + elif "\tvirtual int" in line: + processFunction(line) + +fcpp.close() +ftask.close() +fprocess.close() +ffunction.close() +fswitch.close() +fdefine.close() +fheaderprocess.close() +fheaderon.close() +fheaderfunction.close() +fwrap.close() \ No newline at end of file diff --git a/vn.ctp/vnctpmd/test/mdtest.py b/vn.ctp/vnctpmd/test/mdtest.py new file mode 100644 index 00000000..4b288ac5 --- /dev/null +++ b/vn.ctp/vnctpmd/test/mdtest.py @@ -0,0 +1,177 @@ +# encoding: UTF-8 + +import sys +from time import sleep + +from PyQt4 import QtGui + +from vnctpmd import * + + +#---------------------------------------------------------------------- +def print_dict(d): + """鎸夌収閿兼墦鍗颁竴涓瓧鍏""" + for key,value in d.items(): + print key + ':' + str(value) + + +#---------------------------------------------------------------------- +def simple_log(func): + """绠鍗曡楗板櫒鐢ㄤ簬杈撳嚭鍑芥暟鍚""" + def wrapper(*args, **kw): + print "" + print str(func.__name__) + return func(*args, **kw) + return wrapper + + +######################################################################## +class TestMdApi(MdApi): + """娴嬭瘯鐢ㄥ疄渚""" + + #---------------------------------------------------------------------- + def __init__(self): + """Constructor""" + super(TestMdApi, self).__init__() + + #---------------------------------------------------------------------- + @simple_log + def onFrontConnected(self): + """鏈嶅姟鍣ㄨ繛鎺""" + pass + + #---------------------------------------------------------------------- + @simple_log + def onFrontDisconnected(self, n): + """鏈嶅姟鍣ㄦ柇寮""" + print n + + #---------------------------------------------------------------------- + @simple_log + def onHeartBeatWarning(self, n): + """蹇冭烦鎶ヨ""" + print n + + #---------------------------------------------------------------------- + @simple_log + def onRspError(self, error, n, last): + """閿欒""" + print_dict(error) + + @simple_log + #---------------------------------------------------------------------- + def onRspUserLogin(self, data, error, n, last): + """鐧婚檰鍥炴姤""" + print_dict(data) + print_dict(error) + + #---------------------------------------------------------------------- + @simple_log + def onRspUserLogout(self, data, error, n, last): + """鐧诲嚭鍥炴姤""" + print_dict(data) + print_dict(error) + + #---------------------------------------------------------------------- + @simple_log + def onRspSubMarketData(self, data, error, n, last): + """璁㈤槄鍚堢害鍥炴姤""" + print_dict(data) + print_dict(error) + + #---------------------------------------------------------------------- + @simple_log + def onRspUnSubMarketData(self, data, error, n, last): + """閫璁㈠悎绾﹀洖鎶""" + print_dict(data) + print_dict(error) + + #---------------------------------------------------------------------- + @simple_log + def onRtnDepthMarketData(self, data): + """琛屾儏鎺ㄩ""" + print_dict(data) + + #---------------------------------------------------------------------- + @simple_log + def onRspSubForQuoteRsp(self, data, error, n, last): + """璁㈤槄鍚堢害鍥炴姤""" + print_dict(data) + print_dict(error) + + #---------------------------------------------------------------------- + @simple_log + def onRspUnSubForQuoteRsp(self, data, error, n, last): + """閫璁㈠悎绾﹀洖鎶""" + print_dict(data) + print_dict(error) + + #---------------------------------------------------------------------- + @simple_log + def onRtnForQuoteRsp(self, data): + """琛屾儏鎺ㄩ""" + print_dict(data) + + +#---------------------------------------------------------------------- +def main(): + """涓绘祴璇曞嚱鏁帮紝鍑虹幇鍫靛鏃跺彲浠ヨ冭檻浣跨敤sleep""" + reqid = 0 + + # 鍒涘缓Qt搴旂敤瀵硅薄锛岀敤浜庝簨浠跺惊鐜 + app = QtGui.QApplication(sys.argv) + + # 鍒涘缓API瀵硅薄 + api = TestMdApi() + + # 鍦–++鐜涓垱寤篗dApi瀵硅薄锛屼紶鍏ュ弬鏁版槸甯屾湜鐢ㄦ潵淇濆瓨.con鏂囦欢鐨勫湴鍧 + api.createFtdcMdApi('') + + # 娉ㄥ唽鍓嶇疆鏈哄湴鍧 + api.registerFront("tcp://qqfz-md1.ctp.shcifco.com:32313") + + # 鍒濆鍖朼pi锛岃繛鎺ュ墠缃満 + api.init() + sleep(0.5) + + # 鐧婚檰 + loginReq = {} # 鍒涘缓涓涓┖瀛楀吀 + loginReq['UserID'] = '' # 鍙傛暟浣滀负瀛楀吀閿肩殑鏂瑰紡浼犲叆 + loginReq['Password'] = '' # 閿悕鍜孋++涓殑缁撴瀯浣撴垚鍛樺悕瀵瑰簲 + loginReq['BrokerID'] = '' + reqid = reqid + 1 # 璇锋眰鏁板繀椤讳繚鎸佸敮涓鎬 + i = api.reqUserLogin(loginReq, 1) + sleep(0.5) + + ## 鐧诲嚭锛屾祴璇曞嚭閿欙紙鏃犳鍔熻兘锛 + #reqid = reqid + 1 + #i = api.reqUserLogout({}, 1) + #sleep(0.5) + + ## 瀹夊叏閫鍑猴紝娴嬭瘯閫氳繃 + #i = api.exit() + + ## 鑾峰彇浜ゆ槗鏃ワ紝鐩墠杈撳嚭涓虹┖ + #day = api.getTradingDay() + #print 'Trading Day is:' + str(day) + #sleep(0.5) + + ## 璁㈤槄鍚堢害锛屾祴璇曢氳繃 + #i = api.subscribeMarketData('IF1505') + + ## 閫璁㈠悎绾︼紝娴嬭瘯閫氳繃 + #i = api.unSubscribeMarketData('IF1505') + + # 璁㈤槄璇环锛屾祴璇曢氳繃 + i = api.subscribeForQuoteRsp('IO1504-C-3900') + + # 閫璁㈣浠凤紝娴嬭瘯閫氳繃 + i = api.unSubscribeForQuoteRsp('IO1504-C-3900') + + # 杩炵画杩愯锛岀敤浜庤緭鍑鸿鎯 + app.exec_() + + + +if __name__ == '__main__': + main() diff --git a/vn.ctp/vnctpmd/test/thostmduserapi.dll b/vn.ctp/vnctpmd/test/thostmduserapi.dll new file mode 100644 index 00000000..c7402a35 Binary files /dev/null and b/vn.ctp/vnctpmd/test/thostmduserapi.dll differ diff --git a/vn.ctp/vnctpmd/test/vnctpmd.pyd b/vn.ctp/vnctpmd/test/vnctpmd.pyd new file mode 100644 index 00000000..aeacd1c8 Binary files /dev/null and b/vn.ctp/vnctpmd/test/vnctpmd.pyd differ diff --git a/vn.ctp/vnctpmd/vnctpmd/ReadMe.txt b/vn.ctp/vnctpmd/vnctpmd/ReadMe.txt new file mode 100644 index 00000000..5b3ecef8 --- /dev/null +++ b/vn.ctp/vnctpmd/vnctpmd/ReadMe.txt @@ -0,0 +1,32 @@ +锘======================================================================== + 鍔ㄦ侀摼鎺ュ簱锛歷nctpmd 椤圭洰姒傝堪 +======================================================================== + +搴旂敤绋嬪簭鍚戝宸蹭负鎮ㄥ垱寤轰簡姝 vnctpmd DLL銆 + +鏈枃浠舵瑕佷粙缁嶇粍鎴 vnctpmd 搴旂敤绋嬪簭鐨勬瘡涓枃浠剁殑鍐呭銆 + + +vnctpmd.vcxproj + 杩欐槸浣跨敤搴旂敤绋嬪簭鍚戝鐢熸垚鐨 VC++ 椤圭洰鐨勪富椤圭洰鏂囦欢锛屽叾涓寘鍚敓鎴愯鏂囦欢鐨 Visual C++ 鐨勭増鏈俊鎭紝浠ュ強鏈夊叧浣跨敤搴旂敤绋嬪簭鍚戝閫夋嫨鐨勫钩鍙般侀厤缃拰椤圭洰鍔熻兘鐨勪俊鎭 + +vnctpmd.vcxproj.filters + 杩欐槸浣跨敤鈥滃簲鐢ㄧ▼搴忓悜瀵尖濈敓鎴愮殑 VC++ 椤圭洰绛涢夊櫒鏂囦欢銆傚畠鍖呭惈鏈夊叧椤圭洰鏂囦欢涓庣瓫閫夊櫒涔嬮棿鐨勫叧鑱斾俊鎭傚湪 IDE 涓紝閫氳繃杩欑鍏宠仈锛屽湪鐗瑰畾鑺傜偣涓嬩互鍒嗙粍褰㈠紡鏄剧ず鍏锋湁鐩镐技鎵╁睍鍚嶇殑鏂囦欢銆備緥濡傦紝鈥.cpp鈥濇枃浠朵笌鈥滄簮鏂囦欢鈥濈瓫閫夊櫒鍏宠仈銆 + +vnctpmd.cpp + 杩欐槸涓 DLL 婧愭枃浠躲 + + 姝 DLL 鍦ㄥ垱寤烘椂涓嶅鍑轰换浣曠鍙枫傚洜姝わ紝鐢熸垚鏃朵笉浼氫骇鐢 .lib 鏂囦欢銆傚鏋滃笇鏈涙椤圭洰鎴愪负鍏朵粬鏌愪釜椤圭洰鐨勯」鐩緷璧栭」锛屽垯闇瑕佹坊鍔犱唬鐮佷互浠 DLL 瀵煎嚭鏌愪簺绗﹀彿锛屼互渚夸骇鐢熶竴涓鍑哄簱锛屾垨鑰咃紝涔熷彲浠ュ湪椤圭洰鈥滃睘鎬ч〉鈥濆璇濇涓殑鈥滈摼鎺ュ櫒鈥濇枃浠跺す涓紝灏嗏滃父瑙勨濆睘鎬ч〉涓婄殑鈥滃拷鐣ヨ緭鍏ュ簱鈥濆睘鎬ц缃负鈥滄槸鈥濄 + +///////////////////////////////////////////////////////////////////////////// +鍏朵粬鏍囧噯鏂囦欢: + +StdAfx.h, StdAfx.cpp + 杩欎簺鏂囦欢鐢ㄤ簬鐢熸垚鍚嶄负 vnctpmd.pch 鐨勯缂栬瘧澶 (PCH) 鏂囦欢鍜屽悕涓 StdAfx.obj 鐨勯缂栬瘧绫诲瀷鏂囦欢銆 + +///////////////////////////////////////////////////////////////////////////// +鍏朵粬娉ㄩ噴: + +搴旂敤绋嬪簭鍚戝浣跨敤鈥淭ODO:鈥濇敞閲婃潵鎸囩ず搴旀坊鍔犳垨鑷畾涔夌殑婧愪唬鐮侀儴鍒嗐 + +///////////////////////////////////////////////////////////////////////////// diff --git a/vn.ctp/vnctpmd/vnctpmd/dllmain.cpp b/vn.ctp/vnctpmd/vnctpmd/dllmain.cpp new file mode 100644 index 00000000..260abc6d --- /dev/null +++ b/vn.ctp/vnctpmd/vnctpmd/dllmain.cpp @@ -0,0 +1,19 @@ +// dllmain.cpp : 定义 DLL 应用程序的入口点。 +#include "stdafx.h" + +BOOL APIENTRY DllMain( HMODULE hModule, + DWORD ul_reason_for_call, + LPVOID lpReserved + ) +{ + switch (ul_reason_for_call) + { + case DLL_PROCESS_ATTACH: + case DLL_THREAD_ATTACH: + case DLL_THREAD_DETACH: + case DLL_PROCESS_DETACH: + break; + } + return TRUE; +} + diff --git a/vn.ctp/vnctpmd/vnctpmd/stdafx.cpp b/vn.ctp/vnctpmd/vnctpmd/stdafx.cpp new file mode 100644 index 00000000..683ea88f --- /dev/null +++ b/vn.ctp/vnctpmd/vnctpmd/stdafx.cpp @@ -0,0 +1,8 @@ +// stdafx.cpp : 只包括标准包含文件的源文件 +// vnctpmd.pch 将作为预编译头 +// stdafx.obj 将包含预编译类型信息 + +#include "stdafx.h" + +// TODO: 在 STDAFX.H 中 +// 引用任何所需的附加头文件,而不是在此文件中引用 diff --git a/vn.ctp/vnctpmd/vnctpmd/stdafx.h b/vn.ctp/vnctpmd/vnctpmd/stdafx.h new file mode 100644 index 00000000..2ec1caa0 --- /dev/null +++ b/vn.ctp/vnctpmd/vnctpmd/stdafx.h @@ -0,0 +1,16 @@ +// stdafx.h : 标准系统包含文件的包含文件, +// 或是经常使用但不常更改的 +// 特定于项目的包含文件 +// + +#pragma once + +#include "targetver.h" + +#define WIN32_LEAN_AND_MEAN // 从 Windows 头文件中排除极少使用的信息 +// Windows 头文件: +#include + + + +// TODO: 在此处引用程序需要的其他头文件 diff --git a/vn.ctp/vnctpmd/vnctpmd/targetver.h b/vn.ctp/vnctpmd/vnctpmd/targetver.h new file mode 100644 index 00000000..7a7d2c83 --- /dev/null +++ b/vn.ctp/vnctpmd/vnctpmd/targetver.h @@ -0,0 +1,8 @@ +#pragma once + +// 包括 SDKDDKVer.h 将定义可用的最高版本的 Windows 平台。 + +// 如果要为以前的 Windows 平台生成应用程序,请包括 WinSDKVer.h,并将 +// WIN32_WINNT 宏设置为要支持的平台,然后再包括 SDKDDKVer.h。 + +#include diff --git a/vn.ctp/vnctpmd/vnctpmd/vnctpmd.cpp b/vn.ctp/vnctpmd/vnctpmd/vnctpmd.cpp new file mode 100644 index 00000000..9e66b229 --- /dev/null +++ b/vn.ctp/vnctpmd/vnctpmd/vnctpmd.cpp @@ -0,0 +1,833 @@ +// vnctpmd.cpp : 定义 DLL 应用程序的导出函数。 +// + +#include "stdafx.h" +#include "vnctpmd.h" + +///------------------------------------------------------------------------------------- +///从Python对象到C++类型转换用的函数 +///------------------------------------------------------------------------------------- + +void getInt(dict d, string key, int *value) +{ + if (d.has_key(key)) //检查字典中是否存在该键值 + { + object o = d[key]; //获取该键值 + extract x(o); //创建提取器 + if (x.check()) //如果可以提取 + { + *value = x(); //对目标整数指针赋值 + } + } +}; + +void getDouble(dict d, string key, double *value) +{ + if (d.has_key(key)) + { + object o = d[key]; + extract x(o); + if (x.check()) + { + *value = x(); + } + } +}; + +void getChar(dict d, string key, char *value) +{ + if (d.has_key(key)) + { + object o = d[key]; + extract x(o); + if (x.check()) + { + string s = x(); + const char *buffer = s.c_str(); + //对字符串指针赋值必须使用strcpy_s, vs2013使用strcpy编译通不过 + //+1应该是因为C++字符串的结尾符号?不是特别确定,不加这个1会出错 + strcpy_s(value, strlen(buffer) + 1, buffer); + } + } +}; + + + +///------------------------------------------------------------------------------------- +///C++的回调函数将数据保存到队列中 +///------------------------------------------------------------------------------------- + +void MdApi::OnFrontConnected() +{Task task = Task(); + task.task_name = ONFRONTCONNECTED; + this->task_queue.push(task); +}; + +void MdApi::OnFrontDisconnected(int nReason) +{ + Task task = Task(); + task.task_name = ONFRONTDISCONNECTED; + task.task_id = nReason; + this->task_queue.push(task); +}; + +void MdApi::OnHeartBeatWarning(int nTimeLapse) +{ + Task task = Task(); + task.task_name = ONHEARTBEATWARNING; + task.task_id = nTimeLapse; + this->task_queue.push(task); +}; + +void MdApi::OnRspUserLogin(CThostFtdcRspUserLoginField *pRspUserLogin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPUSERLOGIN; + task.task_data = *pRspUserLogin; + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void MdApi::OnRspUserLogout(CThostFtdcUserLogoutField *pUserLogout, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPUSERLOGOUT; + task.task_data = *pUserLogout; + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void MdApi::OnRspError(CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPERROR; + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void MdApi::OnRspSubMarketData(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPSUBMARKETDATA; + task.task_data = *pSpecificInstrument; + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void MdApi::OnRspUnSubMarketData(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPUNSUBMARKETDATA; + task.task_data = *pSpecificInstrument; + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void MdApi::OnRspSubForQuoteRsp(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPSUBFORQUOTERSP; + task.task_data = *pSpecificInstrument; + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void MdApi::OnRspUnSubForQuoteRsp(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPUNSUBFORQUOTERSP; + task.task_data = *pSpecificInstrument; + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void MdApi::OnRtnDepthMarketData(CThostFtdcDepthMarketDataField *pDepthMarketData) +{ + Task task = Task(); + task.task_name = ONRTNDEPTHMARKETDATA; + task.task_data = *pDepthMarketData; + this->task_queue.push(task); +}; + +void MdApi::OnRtnForQuoteRsp(CThostFtdcForQuoteRspField *pForQuoteRsp) +{ + Task task = Task(); + task.task_name = ONRTNFORQUOTERSP; + task.task_data = *pForQuoteRsp; + this->task_queue.push(task); +}; + + + +///------------------------------------------------------------------------------------- +///工作线程从队列中取出数据,转化为python对象后,进行推送 +///------------------------------------------------------------------------------------- + +void MdApi::processTask() +{ + while (1) + { + Task task = this->task_queue.wait_and_pop(); + + switch (task.task_name) + { + case ONFRONTCONNECTED: + { + this->processFrontConnected(task); + break; + } + + case ONFRONTDISCONNECTED: + { + this->processFrontDisconnected(task); + break; + } + + case ONHEARTBEATWARNING: + { + this->processHeartBeatWarning(task); + break; + } + + case ONRSPUSERLOGIN: + { + this->processRspUserLogin(task); + break; + } + + case ONRSPUSERLOGOUT: + { + this->processRspUserLogout(task); + break; + } + + case ONRSPERROR: + { + this->processRspError(task); + break; + } + + case ONRSPSUBMARKETDATA: + { + this->processRspSubMarketData(task); + break; + } + + case ONRSPUNSUBMARKETDATA: + { + this->processRspUnSubMarketData(task); + break; + } + + case ONRSPSUBFORQUOTERSP: + { + this->processRspSubForQuoteRsp(task); + break; + } + + case ONRSPUNSUBFORQUOTERSP: + { + this->processRspUnSubForQuoteRsp(task); + break; + } + + case ONRTNDEPTHMARKETDATA: + { + this->processRtnDepthMarketData(task); + break; + } + + case ONRTNFORQUOTERSP: + { + this->processRtnForQuoteRsp(task); + break; + } + }; + } +}; + +void MdApi::processFrontConnected(Task task) +{ + this->onFrontConnected(); +}; + +void MdApi::processFrontDisconnected(Task task) +{ + this->onFrontDisconnected(task.task_id); +}; + +void MdApi::processHeartBeatWarning(Task task) +{ + this->onHeartBeatWarning(task.task_id); +}; + +void MdApi::processRspUserLogin(Task task) +{ + CThostFtdcRspUserLoginField task_data = any_cast(task.task_data); + dict data; + data["CZCETime"] = task_data.CZCETime; + data["SHFETime"] = task_data.SHFETime; + data["MaxOrderRef"] = task_data.MaxOrderRef; + data["INETime"] = task_data.INETime; + data["UserID"] = task_data.UserID; + data["TradingDay"] = task_data.TradingDay; + data["SessionID"] = task_data.SessionID; + data["SystemName"] = task_data.SystemName; + data["FrontID"] = task_data.FrontID; + data["FFEXTime"] = task_data.FFEXTime; + data["BrokerID"] = task_data.BrokerID; + data["DCETime"] = task_data.DCETime; + data["LoginTime"] = task_data.LoginTime; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspUserLogin(data, error, task.task_id, task.task_last); +}; + +void MdApi::processRspUserLogout(Task task) +{ + CThostFtdcUserLogoutField task_data = any_cast(task.task_data); + dict data; + data["UserID"] = task_data.UserID; + data["BrokerID"] = task_data.BrokerID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspUserLogout(data, error, task.task_id, task.task_last); +}; + +void MdApi::processRspError(Task task) +{ + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspError(error, task.task_id, task.task_last); +}; + +void MdApi::processRspSubMarketData(Task task) +{ + CThostFtdcSpecificInstrumentField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspSubMarketData(data, error, task.task_id, task.task_last); +}; + +void MdApi::processRspUnSubMarketData(Task task) +{ + CThostFtdcSpecificInstrumentField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspUnSubMarketData(data, error, task.task_id, task.task_last); +}; + +void MdApi::processRspSubForQuoteRsp(Task task) +{ + CThostFtdcSpecificInstrumentField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspSubForQuoteRsp(data, error, task.task_id, task.task_last); +}; + +void MdApi::processRspUnSubForQuoteRsp(Task task) +{ + CThostFtdcSpecificInstrumentField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspUnSubForQuoteRsp(data, error, task.task_id, task.task_last); +}; + +void MdApi::processRtnDepthMarketData(Task task) +{ + CThostFtdcDepthMarketDataField task_data = any_cast(task.task_data); + dict data; + data["HighestPrice"] = task_data.HighestPrice; + data["BidPrice5"] = task_data.BidPrice5; + data["BidPrice4"] = task_data.BidPrice4; + data["BidPrice1"] = task_data.BidPrice1; + data["BidPrice3"] = task_data.BidPrice3; + data["BidPrice2"] = task_data.BidPrice2; + data["LowerLimitPrice"] = task_data.LowerLimitPrice; + data["OpenPrice"] = task_data.OpenPrice; + data["AskPrice5"] = task_data.AskPrice5; + data["AskPrice4"] = task_data.AskPrice4; + data["AskPrice3"] = task_data.AskPrice3; + data["PreClosePrice"] = task_data.PreClosePrice; + data["AskPrice1"] = task_data.AskPrice1; + data["PreSettlementPrice"] = task_data.PreSettlementPrice; + data["AskVolume1"] = task_data.AskVolume1; + data["UpdateTime"] = task_data.UpdateTime; + data["UpdateMillisec"] = task_data.UpdateMillisec; + data["AveragePrice"] = task_data.AveragePrice; + data["BidVolume5"] = task_data.BidVolume5; + data["BidVolume4"] = task_data.BidVolume4; + data["BidVolume3"] = task_data.BidVolume3; + data["BidVolume2"] = task_data.BidVolume2; + data["PreOpenInterest"] = task_data.PreOpenInterest; + data["AskPrice2"] = task_data.AskPrice2; + data["Volume"] = task_data.Volume; + data["AskVolume3"] = task_data.AskVolume3; + data["AskVolume2"] = task_data.AskVolume2; + data["AskVolume5"] = task_data.AskVolume5; + data["AskVolume4"] = task_data.AskVolume4; + data["UpperLimitPrice"] = task_data.UpperLimitPrice; + data["BidVolume1"] = task_data.BidVolume1; + data["InstrumentID"] = task_data.InstrumentID; + data["ClosePrice"] = task_data.ClosePrice; + data["ExchangeID"] = task_data.ExchangeID; + data["TradingDay"] = task_data.TradingDay; + data["PreDelta"] = task_data.PreDelta; + data["OpenInterest"] = task_data.OpenInterest; + data["CurrDelta"] = task_data.CurrDelta; + data["Turnover"] = task_data.Turnover; + data["LastPrice"] = task_data.LastPrice; + data["SettlementPrice"] = task_data.SettlementPrice; + data["ExchangeInstID"] = task_data.ExchangeInstID; + data["LowestPrice"] = task_data.LowestPrice; + data["ActionDay"] = task_data.ActionDay; + + this->onRtnDepthMarketData(data); +}; + +void MdApi::processRtnForQuoteRsp(Task task) +{ + CThostFtdcForQuoteRspField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["TradingDay"] = task_data.TradingDay; + data["ForQuoteTime"] = task_data.ForQuoteTime; + data["ForQuoteSysID"] = task_data.ForQuoteSysID; + data["ActionDay"] = task_data.ActionDay; + + this->onRtnForQuoteRsp(data); +}; + + + +///------------------------------------------------------------------------------------- +///主动函数 +///------------------------------------------------------------------------------------- + +void MdApi::createFtdcMdApi(string pszFlowPath) +{ + this->api = CThostFtdcMdApi::CreateFtdcMdApi(pszFlowPath.c_str()); + this->api->RegisterSpi(this); +}; + +void MdApi::release() +{ + this->api->Release(); +}; + +void MdApi::init() +{ + this->api->Init(); +}; + +int MdApi::join() +{ + int i = this->api->Join(); + return i; +}; + +int MdApi::exit() +{ + //该函数在原生API里没有,用于安全退出API用,原生的join似乎不太稳定 + this->api->RegisterSpi(NULL); + this->api->Release(); + this->api = NULL; + return 1; +}; + +string MdApi::getTradingDay() +{ + string day = this->api->GetTradingDay(); + return day; +}; + +void MdApi::registerFront(string pszFrontAddress) +{ + this->api->RegisterFront((char*)pszFrontAddress.c_str()); +}; + +int MdApi::subscribeMarketData(string instrumentID) +{ + char* buffer = (char*) instrumentID.c_str(); + char* myreq[1] = { buffer }; + int i = this->api->SubscribeMarketData(myreq, 1); + return i; +}; + +int MdApi::unSubscribeMarketData(string instrumentID) +{ + char* buffer = (char*)instrumentID.c_str(); + char* myreq[1] = { buffer };; + int i = this->api->UnSubscribeMarketData(myreq, 1); + return i; +}; + +int MdApi::subscribeForQuoteRsp(string instrumentID) +{ + char* buffer = (char*)instrumentID.c_str(); + char* myreq[1] = { buffer }; + int i = this->api->SubscribeForQuoteRsp(myreq, 1); + return i; +}; + +int MdApi::unSubscribeForQuoteRsp(string instrumentID) +{ + char* buffer = (char*)instrumentID.c_str(); + char* myreq[1] = { buffer };; + int i = this->api->UnSubscribeForQuoteRsp(myreq, 1); + return i; +}; + +int MdApi::reqUserLogin(dict req, int nRequestID) +{ + CThostFtdcReqUserLoginField myreq = CThostFtdcReqUserLoginField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "MacAddress", myreq.MacAddress); + getChar(req, "UserProductInfo", myreq.UserProductInfo); + getChar(req, "UserID", myreq.UserID); + getChar(req, "TradingDay", myreq.TradingDay); + getChar(req, "InterfaceProductInfo", myreq.InterfaceProductInfo); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "ClientIPAddress", myreq.ClientIPAddress); + getChar(req, "OneTimePassword", myreq.OneTimePassword); + getChar(req, "ProtocolInfo", myreq.ProtocolInfo); + getChar(req, "Password", myreq.Password); + int i = this->api->ReqUserLogin(&myreq, nRequestID); + return i; +}; + +int MdApi::reqUserLogout(dict req, int nRequestID) +{ + CThostFtdcUserLogoutField myreq = CThostFtdcUserLogoutField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "UserID", myreq.UserID); + getChar(req, "BrokerID", myreq.BrokerID); + int i = this->api->ReqUserLogout(&myreq, nRequestID); + return i; +}; + + + +///------------------------------------------------------------------------------------- +///Boost.Python封装 +///------------------------------------------------------------------------------------- + +struct MdApiWrap : MdApi, wrapper < MdApi > +{ + virtual void onFrontConnected() + { + //在向python环境中调用回调函数推送数据前,需要先获取全局锁GIL,防止解释器崩溃 + PyLock lock; + + //以下的try...catch...可以实现捕捉python环境中错误的功能,防止C++直接出现原因未知的崩溃 + try + { + this->get_override("onFrontConnected")(); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onFrontDisconnected(int i) + { + PyLock lock; + + try + { + this->get_override("onFrontDisconnected")(i); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onHeartBeatWarning(int i) + { + PyLock lock; + + try + { + this->get_override("onHeartBeatWarning")(i); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspError(dict data, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspError")(data, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspUserLogin(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspUserLogin")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspUserLogout(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspUserLogout")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspSubMarketData(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspSubMarketData")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspUnSubMarketData(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspUnSubMarketData")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspSubForQuoteRsp(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspSubForQuoteRsp")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspUnSubForQuoteRsp(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspUnSubForQuoteRsp")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRtnDepthMarketData(dict data) + { + PyLock lock; + + try + { + this->get_override("onRtnDepthMarketData")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRtnForQuoteRsp(dict data) + { + PyLock lock; + + try + { + this->get_override("onRtnForQuoteRsp")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; +}; + + +BOOST_PYTHON_MODULE(vnctpmd) +{ + PyEval_InitThreads(); //导入时运行,保证先创建GIL + + class_("MdApi") + .def("createFtdcMdApi", &MdApiWrap::createFtdcMdApi) + .def("release", &MdApiWrap::release) + .def("init", &MdApiWrap::init) + .def("join", &MdApiWrap::join) + .def("exit", &MdApiWrap::exit) + .def("getTradingDay", &MdApiWrap::getTradingDay) + .def("registerFront", &MdApiWrap::registerFront) + .def("subscribeMarketData", &MdApiWrap::subscribeMarketData) + .def("unSubscribeMarketData", &MdApiWrap::unSubscribeMarketData) + .def("subscribeForQuoteRsp", &MdApiWrap::subscribeForQuoteRsp) + .def("unSubscribeForQuoteRsp", &MdApiWrap::unSubscribeForQuoteRsp) + .def("reqUserLogin", &MdApiWrap::reqUserLogin) + .def("reqUserLogout", &MdApiWrap::reqUserLogout) + + .def("onFrontConnected", pure_virtual(&MdApiWrap::onFrontConnected)) + .def("onFrontDisconnected", pure_virtual(&MdApiWrap::onFrontDisconnected)) + .def("onHeartBeatWarning", pure_virtual(&MdApiWrap::onHeartBeatWarning)) + .def("onRspError", pure_virtual(&MdApiWrap::onRspError)) + .def("onRspUserLogin", pure_virtual(&MdApiWrap::onRspUserLogin)) + .def("onRspUserLogout", pure_virtual(&MdApiWrap::onRspUserLogout)) + .def("onRspSubMarketData", pure_virtual(&MdApiWrap::onRspSubMarketData)) + .def("onRspUnSubMarketData", pure_virtual(&MdApiWrap::onRspUnSubMarketData)) + .def("onRtnDepthMarketData", pure_virtual(&MdApiWrap::onRtnDepthMarketData)) + .def("onRspSubForQuoteRsp", pure_virtual(&MdApiWrap::onRspSubForQuoteRsp)) + .def("onRspUnSubForQuoteRsp", pure_virtual(&MdApiWrap::onRspUnSubForQuoteRsp)) + .def("onRtnForQuoteRsp", pure_virtual(&MdApiWrap::onRtnForQuoteRsp)) + ; +}; \ No newline at end of file diff --git a/vn.ctp/vnctpmd/vnctpmd/vnctpmd.h b/vn.ctp/vnctpmd/vnctpmd/vnctpmd.h new file mode 100644 index 00000000..20ab5b39 --- /dev/null +++ b/vn.ctp/vnctpmd/vnctpmd/vnctpmd.h @@ -0,0 +1,301 @@ +//说明部分 + +//系统 +#include "stdafx.h" +#include +#include + +//Boost +#define BOOST_PYTHON_STATIC_LIB +#include //python封装 +#include //python封装 +#include //python封装 +#include //python封装 +#include //python封装 +#include //任务队列的线程功能 +#include //任务队列的线程功能 +#include //任务队列的任务实现 + +//API +#include "ThostFtdcMdApi.h" + +//命名空间 +using namespace std; +using namespace boost::python; +using namespace boost; + +//常量 +#define ONFRONTCONNECTED 1 +#define ONFRONTDISCONNECTED 2 +#define ONHEARTBEATWARNING 3 +#define ONRSPUSERLOGIN 4 +#define ONRSPUSERLOGOUT 5 +#define ONRSPERROR 6 +#define ONRSPSUBMARKETDATA 7 +#define ONRSPUNSUBMARKETDATA 8 +#define ONRSPSUBFORQUOTERSP 9 +#define ONRSPUNSUBFORQUOTERSP 10 +#define ONRTNDEPTHMARKETDATA 11 +#define ONRTNFORQUOTERSP 12 + + + +///------------------------------------------------------------------------------------- +///API中的部分组件 +///------------------------------------------------------------------------------------- + +//GIL全局锁简化获取用, +//用于帮助C++线程获得GIL锁,从而防止python崩溃 +class PyLock +{ +private: + PyGILState_STATE gil_state; + +public: + //在某个函数方法中创建该对象时,获得GIL锁 + PyLock() + { + gil_state = PyGILState_Ensure(); + } + + //在某个函数完成后销毁该对象时,解放GIL锁 + ~PyLock() + { + PyGILState_Release(gil_state); + } +}; + + +//任务结构体 +struct Task +{ + int task_name; //回调函数名称对应的常量 + any task_data; //数据结构体 + any task_error; //错误结构体 + int task_id; //请求id + bool task_last; //是否为最后返回 +}; + + +///线程安全的队列 +template + +class ConcurrentQueue +{ +private: + queue the_queue; //标准库队列 + mutable mutex the_mutex; //boost互斥锁 + condition_variable the_condition_variable; //boost条件变量 + +public: + + //存入新的任务 + void push(Data const& data) + { + mutex::scoped_lock lock(the_mutex); //获取互斥锁 + the_queue.push(data); //向队列中存入数据 + lock.unlock(); //释放锁 + the_condition_variable.notify_one(); //通知正在阻塞等待的线程 + } + + //检查队列是否为空 + bool empty() const + { + mutex::scoped_lock lock(the_mutex); + return the_queue.empty(); + } + + //取出 + Data wait_and_pop() + { + mutex::scoped_lock lock(the_mutex); + + while (the_queue.empty()) //当队列为空时 + { + the_condition_variable.wait(lock); //等待条件变量通知 + } + + Data popped_value = the_queue.front(); //获取队列中的最后一个任务 + the_queue.pop(); //删除该任务 + return popped_value; //返回该任务 + } + +}; + + +//从字典中获取某个建值对应的整数,并赋值到请求结构体对象的值上 +void getInt(dict d, string key, int* value); + + +//从字典中获取某个建值对应的浮点数,并赋值到请求结构体对象的值上 +void getDouble(dict d, string key, double* value); + + +//从字典中获取某个建值对应的字符串,并赋值到请求结构体对象的值上 +void getChar(dict d, string key, char* value); + + + +///------------------------------------------------------------------------------------- +///C++ SPI的回调函数方法实现 +///------------------------------------------------------------------------------------- + +//API的继承实现 +class MdApi : public CThostFtdcMdSpi +{ +private: + CThostFtdcMdApi* api; //API对象 + thread *task_thread; //工作线程指针(向python中推送数据) + ConcurrentQueue task_queue; //任务队列 + +public: + MdApi() + { + function0 f = boost::bind(&MdApi::processTask, this); + thread t(f); + this->task_thread = &t; + }; + + ~MdApi() + { + }; + + //------------------------------------------------------------------------------------- + //API回调函数 + //------------------------------------------------------------------------------------- + + ///当客户端与交易后台建立起通信连接时(还未登录前),该方法被调用。 + virtual void OnFrontConnected(); + + ///当客户端与交易后台通信连接断开时,该方法被调用。当发生这个情况后,API会自动重新连接,客户端可不做处理。 + ///@param nReason 错误原因 + /// 0x1001 网络读失败 + /// 0x1002 网络写失败 + /// 0x2001 接收心跳超时 + /// 0x2002 发送心跳失败 + /// 0x2003 收到错误报文 + virtual void OnFrontDisconnected(int nReason); + + ///心跳超时警告。当长时间未收到报文时,该方法被调用。 + ///@param nTimeLapse 距离上次接收报文的时间 + virtual void OnHeartBeatWarning(int nTimeLapse); + + ///登录请求响应 + virtual void OnRspUserLogin(CThostFtdcRspUserLoginField *pRspUserLogin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast); + + ///登出请求响应 + virtual void OnRspUserLogout(CThostFtdcUserLogoutField *pUserLogout, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast); + + ///错误应答 + virtual void OnRspError(CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast); + + ///订阅行情应答 + virtual void OnRspSubMarketData(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast); + + ///取消订阅行情应答 + virtual void OnRspUnSubMarketData(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast); + + ///订阅询价应答 + virtual void OnRspSubForQuoteRsp(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast); + + ///取消订阅询价应答 + virtual void OnRspUnSubForQuoteRsp(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast); + + ///深度行情通知 + virtual void OnRtnDepthMarketData(CThostFtdcDepthMarketDataField *pDepthMarketData); + + ///询价通知 + virtual void OnRtnForQuoteRsp(CThostFtdcForQuoteRspField *pForQuoteRsp); + + //------------------------------------------------------------------------------------- + //task:任务 + //------------------------------------------------------------------------------------- + + void processTask(); + + void processFrontConnected(Task task); + + void processFrontDisconnected(Task task); + + void processHeartBeatWarning(Task task); + + void processRspUserLogin(Task task); + + void processRspUserLogout(Task task); + + void processRspError(Task task); + + void processRspSubMarketData(Task task); + + void processRspUnSubMarketData(Task task); + + void processRspSubForQuoteRsp(Task task); + + void processRspUnSubForQuoteRsp(Task task); + + void processRtnDepthMarketData(Task task); + + void processRtnForQuoteRsp(Task task); + + //------------------------------------------------------------------------------------- + //data:回调函数的数据字典 + //error:回调函数的错误字典 + //id:请求id + //last:是否为最后返回 + //i:整数 + //------------------------------------------------------------------------------------- + + virtual void onFrontConnected(){}; + + virtual void onFrontDisconnected(int i){}; + + virtual void onHeartBeatWarning(int i){}; + + virtual void onRspUserLogin(dict data, dict error, int id, bool last) {}; + + virtual void onRspUserLogout(dict data, dict error, int id, bool last) {}; + + virtual void onRspError(dict data, int id, bool last) {}; + + virtual void onRspSubMarketData(dict data, dict error, int id, bool last) {}; + + virtual void onRspUnSubMarketData(dict data, dict error, int id, bool last) {}; + + virtual void onRspSubForQuoteRsp(dict data, dict error, int id, bool last) {}; + + virtual void onRspUnSubForQuoteRsp(dict data, dict error, int id, bool last) {}; + + virtual void onRtnDepthMarketData(dict data) {}; + + virtual void onRtnForQuoteRsp(dict data) {}; + + //------------------------------------------------------------------------------------- + //req:主动函数的请求字典 + //------------------------------------------------------------------------------------- + + void createFtdcMdApi(string pszFlowPath = ""); + + void release(); + + void init(); + + int join(); + + int exit(); + + string getTradingDay(); + + void registerFront(string pszFrontAddress); + + int subscribeMarketData(string instrumentID); + + int unSubscribeMarketData(string instrumentID); + + int subscribeForQuoteRsp(string instrumentID); + + int unSubscribeForQuoteRsp(string instrumentID); + + int reqUserLogin(dict req, int nRequestID); + + int reqUserLogout(dict req, int nRequestID); +}; diff --git a/vn.ctp/vnctptd/test/tdtest.py b/vn.ctp/vnctptd/test/tdtest.py new file mode 100644 index 00000000..5774c25c --- /dev/null +++ b/vn.ctp/vnctptd/test/tdtest.py @@ -0,0 +1,163 @@ +# encoding: UTF-8 + +import sys +from time import sleep + +from PyQt4 import QtGui + +from vnctptd import * + +#---------------------------------------------------------------------- +def print_dict(d): + """鎸夌収閿兼墦鍗颁竴涓瓧鍏""" + for key,value in d.items(): + print key + ':' + str(value) + + +#---------------------------------------------------------------------- +def simple_log(func): + """绠鍗曡楗板櫒鐢ㄤ簬杈撳嚭鍑芥暟鍚""" + def wrapper(*args, **kw): + print "" + print str(func.__name__) + return func(*args, **kw) + return wrapper + + +######################################################################## +class TestTdApi(TdApi): + """娴嬭瘯鐢ㄥ疄渚""" + + #---------------------------------------------------------------------- + def __init__(self): + """Constructor""" + super(TestTdApi, self).__init__() + + #---------------------------------------------------------------------- + @simple_log + def onFrontConnected(self): + """鏈嶅姟鍣ㄨ繛鎺""" + pass + + #---------------------------------------------------------------------- + @simple_log + def onFrontDisconnected(self, n): + """鏈嶅姟鍣ㄦ柇寮""" + print n + + #---------------------------------------------------------------------- + @simple_log + def onHeartBeatWarning(self, n): + """蹇冭烦鎶ヨ""" + print n + + #---------------------------------------------------------------------- + @simple_log + def onRspError(self, error, n, last): + """閿欒""" + print_dict(error) + + #---------------------------------------------------------------------- + @simple_log + def onRspUserLogin(self, data, error, n, last): + """鐧婚檰鍥炴姤""" + print_dict(data) + print_dict(error) + self.brokerID = data['BrokerID'] + self.userID = data['UserID'] + self.frontID = data['FrontID'] + self.sessionID = data['SessionID'] + + #---------------------------------------------------------------------- + @simple_log + def onRspUserLogout(self, data, error, n, last): + """鐧诲嚭鍥炴姤""" + print_dict(data) + print_dict(error) + + #---------------------------------------------------------------------- + @simple_log + def onRspQrySettlementInfo(self, data, error, n, last): + """鏌ヨ缁撶畻淇℃伅鍥炴姤""" + print_dict(data) + print_dict(error) + + #---------------------------------------------------------------------- + @simple_log + def onRspSettlementInfoConfirm(self, data, error, n, last): + """纭缁撶畻淇℃伅鍥炴姤""" + print_dict(data) + print_dict(error) + + #---------------------------------------------------------------------- + @simple_log + def onRspQryInstrument(self, data, error, n, last): + """鏌ヨ鍚堢害鍥炴姤""" + print_dict(data) + print_dict(error) + print n + print last + + +#---------------------------------------------------------------------- +def main(): + """涓绘祴璇曞嚱鏁帮紝鍑虹幇鍫靛鏃跺彲浠ヨ冭檻浣跨敤sleep""" + reqid = 0 + + # 鍒涘缓Qt搴旂敤瀵硅薄锛岀敤浜庝簨浠跺惊鐜 + app = QtGui.QApplication(sys.argv) + + # 鍒涘缓API瀵硅薄锛屾祴璇曢氳繃 + api = TestTdApi() + + # 鍦–++鐜涓垱寤篗dApi瀵硅薄锛屼紶鍏ュ弬鏁版槸甯屾湜鐢ㄦ潵淇濆瓨.con鏂囦欢鐨勫湴鍧锛屾祴璇曢氳繃 + api.createFtdcTraderApi('') + + # 璁剧疆鏁版嵁娴侀噸浼犳柟寮忥紝娴嬭瘯閫氳繃 + api.subscribePrivateTopic(1) + api.subscribePublicTopic(1) + + # 娉ㄥ唽鍓嶇疆鏈哄湴鍧锛屾祴璇曢氳繃 + api.registerFront("tcp://qqfz-front1.ctp.shcifco.com:32305") + + # 鍒濆鍖朼pi锛岃繛鎺ュ墠缃満锛屾祴璇曢氳繃 + api.init() + sleep(0.5) + + # 鐧婚檰锛屾祴璇曢氳繃 + loginReq = {} # 鍒涘缓涓涓┖瀛楀吀 + loginReq['UserID'] = '' # 鍙傛暟浣滀负瀛楀吀閿肩殑鏂瑰紡浼犲叆 + loginReq['Password'] = '' # 閿悕鍜孋++涓殑缁撴瀯浣撴垚鍛樺悕瀵瑰簲 + loginReq['BrokerID'] = '' + reqid = reqid + 1 # 璇锋眰鏁板繀椤讳繚鎸佸敮涓鎬 + i = api.reqUserLogin(loginReq, reqid) + sleep(0.5) + + ## 鏌ヨ鍚堢害, 娴嬭瘯閫氳繃 + #reqid = reqid + 1 + #i = api.reqQryInstrument({}, reqid) + + ## 鏌ヨ缁撶畻, 娴嬭瘯閫氳繃 + #req = {} + #req['BrokerID'] = api.brokerID + #req['InvestorID'] = api.userID + #reqid = reqid + 1 + #i = api.reqQrySettlementInfo(req, reqid) + #sleep(0.5) + + ## 纭缁撶畻, 娴嬭瘯閫氳繃 + #req = {} + #req['BrokerID'] = api.brokerID + #req['InvestorID'] = api.userID + #reqid = reqid + 1 + #i = api.reqSettlementInfoConfirm(req, reqid) + #sleep(0.5) + + + # 杩炵画杩愯 + app.exec_() + + + +if __name__ == '__main__': + main() diff --git a/vn.ctp/vnctptd/test/thosttraderapi.dll b/vn.ctp/vnctptd/test/thosttraderapi.dll new file mode 100644 index 00000000..d0c6dea9 Binary files /dev/null and b/vn.ctp/vnctptd/test/thosttraderapi.dll differ diff --git a/vn.ctp/vnctptd/test/vnctptd.pyd b/vn.ctp/vnctptd/test/vnctptd.pyd new file mode 100644 index 00000000..57a70303 Binary files /dev/null and b/vn.ctp/vnctptd/test/vnctptd.pyd differ diff --git a/vn.ctp/vnctptd/vnctptd/ReadMe.txt b/vn.ctp/vnctptd/vnctptd/ReadMe.txt new file mode 100644 index 00000000..e7424686 --- /dev/null +++ b/vn.ctp/vnctptd/vnctptd/ReadMe.txt @@ -0,0 +1,32 @@ +锘======================================================================== + 鍔ㄦ侀摼鎺ュ簱锛歷nctptd 椤圭洰姒傝堪 +======================================================================== + +搴旂敤绋嬪簭鍚戝宸蹭负鎮ㄥ垱寤轰簡姝 vnctptd DLL銆 + +鏈枃浠舵瑕佷粙缁嶇粍鎴 vnctptd 搴旂敤绋嬪簭鐨勬瘡涓枃浠剁殑鍐呭銆 + + +vnctptd.vcxproj + 杩欐槸浣跨敤搴旂敤绋嬪簭鍚戝鐢熸垚鐨 VC++ 椤圭洰鐨勪富椤圭洰鏂囦欢锛屽叾涓寘鍚敓鎴愯鏂囦欢鐨 Visual C++ 鐨勭増鏈俊鎭紝浠ュ強鏈夊叧浣跨敤搴旂敤绋嬪簭鍚戝閫夋嫨鐨勫钩鍙般侀厤缃拰椤圭洰鍔熻兘鐨勪俊鎭 + +vnctptd.vcxproj.filters + 杩欐槸浣跨敤鈥滃簲鐢ㄧ▼搴忓悜瀵尖濈敓鎴愮殑 VC++ 椤圭洰绛涢夊櫒鏂囦欢銆傚畠鍖呭惈鏈夊叧椤圭洰鏂囦欢涓庣瓫閫夊櫒涔嬮棿鐨勫叧鑱斾俊鎭傚湪 IDE 涓紝閫氳繃杩欑鍏宠仈锛屽湪鐗瑰畾鑺傜偣涓嬩互鍒嗙粍褰㈠紡鏄剧ず鍏锋湁鐩镐技鎵╁睍鍚嶇殑鏂囦欢銆備緥濡傦紝鈥.cpp鈥濇枃浠朵笌鈥滄簮鏂囦欢鈥濈瓫閫夊櫒鍏宠仈銆 + +vnctptd.cpp + 杩欐槸涓 DLL 婧愭枃浠躲 + + 姝 DLL 鍦ㄥ垱寤烘椂涓嶅鍑轰换浣曠鍙枫傚洜姝わ紝鐢熸垚鏃朵笉浼氫骇鐢 .lib 鏂囦欢銆傚鏋滃笇鏈涙椤圭洰鎴愪负鍏朵粬鏌愪釜椤圭洰鐨勯」鐩緷璧栭」锛屽垯闇瑕佹坊鍔犱唬鐮佷互浠 DLL 瀵煎嚭鏌愪簺绗﹀彿锛屼互渚夸骇鐢熶竴涓鍑哄簱锛屾垨鑰咃紝涔熷彲浠ュ湪椤圭洰鈥滃睘鎬ч〉鈥濆璇濇涓殑鈥滈摼鎺ュ櫒鈥濇枃浠跺す涓紝灏嗏滃父瑙勨濆睘鎬ч〉涓婄殑鈥滃拷鐣ヨ緭鍏ュ簱鈥濆睘鎬ц缃负鈥滄槸鈥濄 + +///////////////////////////////////////////////////////////////////////////// +鍏朵粬鏍囧噯鏂囦欢: + +StdAfx.h, StdAfx.cpp + 杩欎簺鏂囦欢鐢ㄤ簬鐢熸垚鍚嶄负 vnctptd.pch 鐨勯缂栬瘧澶 (PCH) 鏂囦欢鍜屽悕涓 StdAfx.obj 鐨勯缂栬瘧绫诲瀷鏂囦欢銆 + +///////////////////////////////////////////////////////////////////////////// +鍏朵粬娉ㄩ噴: + +搴旂敤绋嬪簭鍚戝浣跨敤鈥淭ODO:鈥濇敞閲婃潵鎸囩ず搴旀坊鍔犳垨鑷畾涔夌殑婧愪唬鐮侀儴鍒嗐 + +///////////////////////////////////////////////////////////////////////////// diff --git a/vn.ctp/vnctptd/vnctptd/dllmain.cpp b/vn.ctp/vnctptd/vnctptd/dllmain.cpp new file mode 100644 index 00000000..260abc6d --- /dev/null +++ b/vn.ctp/vnctptd/vnctptd/dllmain.cpp @@ -0,0 +1,19 @@ +// dllmain.cpp : 定义 DLL 应用程序的入口点。 +#include "stdafx.h" + +BOOL APIENTRY DllMain( HMODULE hModule, + DWORD ul_reason_for_call, + LPVOID lpReserved + ) +{ + switch (ul_reason_for_call) + { + case DLL_PROCESS_ATTACH: + case DLL_THREAD_ATTACH: + case DLL_THREAD_DETACH: + case DLL_PROCESS_DETACH: + break; + } + return TRUE; +} + diff --git a/vn.ctp/vnctptd/vnctptd/stdafx.cpp b/vn.ctp/vnctptd/vnctptd/stdafx.cpp new file mode 100644 index 00000000..86784648 --- /dev/null +++ b/vn.ctp/vnctptd/vnctptd/stdafx.cpp @@ -0,0 +1,8 @@ +// stdafx.cpp : 只包括标准包含文件的源文件 +// vnctptd.pch 将作为预编译头 +// stdafx.obj 将包含预编译类型信息 + +#include "stdafx.h" + +// TODO: 在 STDAFX.H 中 +// 引用任何所需的附加头文件,而不是在此文件中引用 diff --git a/vn.ctp/vnctptd/vnctptd/stdafx.h b/vn.ctp/vnctptd/vnctptd/stdafx.h new file mode 100644 index 00000000..2ec1caa0 --- /dev/null +++ b/vn.ctp/vnctptd/vnctptd/stdafx.h @@ -0,0 +1,16 @@ +// stdafx.h : 标准系统包含文件的包含文件, +// 或是经常使用但不常更改的 +// 特定于项目的包含文件 +// + +#pragma once + +#include "targetver.h" + +#define WIN32_LEAN_AND_MEAN // 从 Windows 头文件中排除极少使用的信息 +// Windows 头文件: +#include + + + +// TODO: 在此处引用程序需要的其他头文件 diff --git a/vn.ctp/vnctptd/vnctptd/targetver.h b/vn.ctp/vnctptd/vnctptd/targetver.h new file mode 100644 index 00000000..7a7d2c83 --- /dev/null +++ b/vn.ctp/vnctptd/vnctptd/targetver.h @@ -0,0 +1,8 @@ +#pragma once + +// 包括 SDKDDKVer.h 将定义可用的最高版本的 Windows 平台。 + +// 如果要为以前的 Windows 平台生成应用程序,请包括 WinSDKVer.h,并将 +// WIN32_WINNT 宏设置为要支持的平台,然后再包括 SDKDDKVer.h。 + +#include diff --git a/vn.ctp/vnctptd/vnctptd/vnctptd.cpp b/vn.ctp/vnctptd/vnctptd/vnctptd.cpp new file mode 100644 index 00000000..85a5a06d --- /dev/null +++ b/vn.ctp/vnctptd/vnctptd/vnctptd.cpp @@ -0,0 +1,9220 @@ +// vnctptd.cpp : 定义 DLL 应用程序的导出函数。 +// + +#include "stdafx.h" +#include "vnctptd.h" + + +///------------------------------------------------------------------------------------- +///从Python对象到C++类型转换用的函数 +///------------------------------------------------------------------------------------- + +void getInt(dict d, string key, int *value) +{ + if (d.has_key(key)) //检查字典中是否存在该键值 + { + object o = d[key]; //获取该键值 + extract x(o); //创建提取器 + if (x.check()) //如果可以提取 + { + *value = x(); //对目标整数指针赋值 + } + } +} + +void getDouble(dict d, string key, double *value) +{ + if (d.has_key(key)) + { + object o = d[key]; + extract x(o); + if (x.check()) + { + *value = x(); + } + } +} + +void getChar(dict d, string key, char *value) +{ + if (d.has_key(key)) + { + object o = d[key]; + extract x(o); + if (x.check()) + { + string s = x(); + const char *buffer = s.c_str(); + //对字符串指针赋值必须使用strcpy_s, vs2013使用strcpy编译通不过 + //+1应该是因为C++字符串的结尾符号?不是特别确定,不加这个1会出错 + strcpy_s(value, strlen(buffer) + 1, buffer); + } + } +} + + + +///------------------------------------------------------------------------------------- +///C++的回调函数将数据保存到队列中 +///------------------------------------------------------------------------------------- + +void TdApi::OnFrontConnected() +{ + Task task = Task(); + task.task_name = ONFRONTCONNECTED; + this->task_queue.push(task); +}; + +void TdApi::OnFrontDisconnected(int nReason) +{ + Task task = Task(); + task.task_name = ONFRONTDISCONNECTED; + task.task_id = nReason; + this->task_queue.push(task); +}; + +void TdApi::OnHeartBeatWarning(int nTimeLapse) +{ + Task task = Task(); + task.task_name = ONHEARTBEATWARNING; + task.task_id = nTimeLapse; + this->task_queue.push(task); +}; + +void TdApi::OnRspAuthenticate(CThostFtdcRspAuthenticateField *pRspAuthenticateField, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPAUTHENTICATE; + + if (pRspAuthenticateField) + { + task.task_data = *pRspAuthenticateField; + } + else + { + CThostFtdcRspAuthenticateField empty_data = CThostFtdcRspAuthenticateField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspUserLogin(CThostFtdcRspUserLoginField *pRspUserLogin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPUSERLOGIN; + + if (pRspUserLogin) + { + task.task_data = *pRspUserLogin; + } + else + { + CThostFtdcRspUserLoginField empty_data = CThostFtdcRspUserLoginField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspUserLogout(CThostFtdcUserLogoutField *pUserLogout, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPUSERLOGOUT; + + if (pUserLogout) + { + task.task_data = *pUserLogout; + } + else + { + CThostFtdcUserLogoutField empty_data = CThostFtdcUserLogoutField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspUserPasswordUpdate(CThostFtdcUserPasswordUpdateField *pUserPasswordUpdate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPUSERPASSWORDUPDATE; + + if (pUserPasswordUpdate) + { + task.task_data = *pUserPasswordUpdate; + } + else + { + CThostFtdcUserPasswordUpdateField empty_data = CThostFtdcUserPasswordUpdateField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspTradingAccountPasswordUpdate(CThostFtdcTradingAccountPasswordUpdateField *pTradingAccountPasswordUpdate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPTRADINGACCOUNTPASSWORDUPDATE; + + if (pTradingAccountPasswordUpdate) + { + task.task_data = *pTradingAccountPasswordUpdate; + } + else + { + CThostFtdcTradingAccountPasswordUpdateField empty_data = CThostFtdcTradingAccountPasswordUpdateField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspOrderInsert(CThostFtdcInputOrderField *pInputOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPORDERINSERT; + + if (pInputOrder) + { + task.task_data = *pInputOrder; + } + else + { + CThostFtdcInputOrderField empty_data = CThostFtdcInputOrderField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspParkedOrderInsert(CThostFtdcParkedOrderField *pParkedOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPPARKEDORDERINSERT; + + if (pParkedOrder) + { + task.task_data = *pParkedOrder; + } + else + { + CThostFtdcParkedOrderField empty_data = CThostFtdcParkedOrderField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspParkedOrderAction(CThostFtdcParkedOrderActionField *pParkedOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPPARKEDORDERACTION; + + if (pParkedOrderAction) + { + task.task_data = *pParkedOrderAction; + } + else + { + CThostFtdcParkedOrderActionField empty_data = CThostFtdcParkedOrderActionField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspOrderAction(CThostFtdcInputOrderActionField *pInputOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPORDERACTION; + + if (pInputOrderAction) + { + task.task_data = *pInputOrderAction; + } + else + { + CThostFtdcInputOrderActionField empty_data = CThostFtdcInputOrderActionField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQueryMaxOrderVolume(CThostFtdcQueryMaxOrderVolumeField *pQueryMaxOrderVolume, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQUERYMAXORDERVOLUME; + + if (pQueryMaxOrderVolume) + { + task.task_data = *pQueryMaxOrderVolume; + } + else + { + CThostFtdcQueryMaxOrderVolumeField empty_data = CThostFtdcQueryMaxOrderVolumeField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspSettlementInfoConfirm(CThostFtdcSettlementInfoConfirmField *pSettlementInfoConfirm, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPSETTLEMENTINFOCONFIRM; + + if (pSettlementInfoConfirm) + { + task.task_data = *pSettlementInfoConfirm; + } + else + { + CThostFtdcSettlementInfoConfirmField empty_data = CThostFtdcSettlementInfoConfirmField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspRemoveParkedOrder(CThostFtdcRemoveParkedOrderField *pRemoveParkedOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPREMOVEPARKEDORDER; + + if (pRemoveParkedOrder) + { + task.task_data = *pRemoveParkedOrder; + } + else + { + CThostFtdcRemoveParkedOrderField empty_data = CThostFtdcRemoveParkedOrderField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspRemoveParkedOrderAction(CThostFtdcRemoveParkedOrderActionField *pRemoveParkedOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPREMOVEPARKEDORDERACTION; + + if (pRemoveParkedOrderAction) + { + task.task_data = *pRemoveParkedOrderAction; + } + else + { + CThostFtdcRemoveParkedOrderActionField empty_data = CThostFtdcRemoveParkedOrderActionField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspExecOrderInsert(CThostFtdcInputExecOrderField *pInputExecOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPEXECORDERINSERT; + + if (pInputExecOrder) + { + task.task_data = *pInputExecOrder; + } + else + { + CThostFtdcInputExecOrderField empty_data = CThostFtdcInputExecOrderField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspExecOrderAction(CThostFtdcInputExecOrderActionField *pInputExecOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPEXECORDERACTION; + + if (pInputExecOrderAction) + { + task.task_data = *pInputExecOrderAction; + } + else + { + CThostFtdcInputExecOrderActionField empty_data = CThostFtdcInputExecOrderActionField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspForQuoteInsert(CThostFtdcInputForQuoteField *pInputForQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPFORQUOTEINSERT; + + if (pInputForQuote) + { + task.task_data = *pInputForQuote; + } + else + { + CThostFtdcInputForQuoteField empty_data = CThostFtdcInputForQuoteField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQuoteInsert(CThostFtdcInputQuoteField *pInputQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQUOTEINSERT; + + if (pInputQuote) + { + task.task_data = *pInputQuote; + } + else + { + CThostFtdcInputQuoteField empty_data = CThostFtdcInputQuoteField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQuoteAction(CThostFtdcInputQuoteActionField *pInputQuoteAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQUOTEACTION; + + if (pInputQuoteAction) + { + task.task_data = *pInputQuoteAction; + } + else + { + CThostFtdcInputQuoteActionField empty_data = CThostFtdcInputQuoteActionField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryOrder(CThostFtdcOrderField *pOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYORDER; + + if (pOrder) + { + task.task_data = *pOrder; + } + else + { + CThostFtdcOrderField empty_data = CThostFtdcOrderField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryTrade(CThostFtdcTradeField *pTrade, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYTRADE; + + if (pTrade) + { + task.task_data = *pTrade; + } + else + { + CThostFtdcTradeField empty_data = CThostFtdcTradeField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryInvestorPosition(CThostFtdcInvestorPositionField *pInvestorPosition, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYINVESTORPOSITION; + + if (pInvestorPosition) + { + task.task_data = *pInvestorPosition; + } + else + { + CThostFtdcInvestorPositionField empty_data = CThostFtdcInvestorPositionField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryTradingAccount(CThostFtdcTradingAccountField *pTradingAccount, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYTRADINGACCOUNT; + + if (pTradingAccount) + { + task.task_data = *pTradingAccount; + } + else + { + CThostFtdcTradingAccountField empty_data = CThostFtdcTradingAccountField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryInvestor(CThostFtdcInvestorField *pInvestor, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYINVESTOR; + + if (pInvestor) + { + task.task_data = *pInvestor; + } + else + { + CThostFtdcInvestorField empty_data = CThostFtdcInvestorField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryTradingCode(CThostFtdcTradingCodeField *pTradingCode, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYTRADINGCODE; + + if (pTradingCode) + { + task.task_data = *pTradingCode; + } + else + { + CThostFtdcTradingCodeField empty_data = CThostFtdcTradingCodeField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryInstrumentMarginRate(CThostFtdcInstrumentMarginRateField *pInstrumentMarginRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYINSTRUMENTMARGINRATE; + + if (pInstrumentMarginRate) + { + task.task_data = *pInstrumentMarginRate; + } + else + { + CThostFtdcInstrumentMarginRateField empty_data = CThostFtdcInstrumentMarginRateField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryInstrumentCommissionRate(CThostFtdcInstrumentCommissionRateField *pInstrumentCommissionRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYINSTRUMENTCOMMISSIONRATE; + + if (pInstrumentCommissionRate) + { + task.task_data = *pInstrumentCommissionRate; + } + else + { + CThostFtdcInstrumentCommissionRateField empty_data = CThostFtdcInstrumentCommissionRateField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryExchange(CThostFtdcExchangeField *pExchange, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYEXCHANGE; + + if (pExchange) + { + task.task_data = *pExchange; + } + else + { + CThostFtdcExchangeField empty_data = CThostFtdcExchangeField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryProduct(CThostFtdcProductField *pProduct, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYPRODUCT; + + if (pProduct) + { + task.task_data = *pProduct; + } + else + { + CThostFtdcProductField empty_data = CThostFtdcProductField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryInstrument(CThostFtdcInstrumentField *pInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYINSTRUMENT; + + if (pInstrument) + { + task.task_data = *pInstrument; + } + else + { + CThostFtdcInstrumentField empty_data = CThostFtdcInstrumentField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryDepthMarketData(CThostFtdcDepthMarketDataField *pDepthMarketData, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYDEPTHMARKETDATA; + + if (pDepthMarketData) + { + task.task_data = *pDepthMarketData; + } + else + { + CThostFtdcDepthMarketDataField empty_data = CThostFtdcDepthMarketDataField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQrySettlementInfo(CThostFtdcSettlementInfoField *pSettlementInfo, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYSETTLEMENTINFO; + + if (pSettlementInfo) + { + task.task_data = *pSettlementInfo; + } + else + { + CThostFtdcSettlementInfoField empty_data = CThostFtdcSettlementInfoField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryTransferBank(CThostFtdcTransferBankField *pTransferBank, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYTRANSFERBANK; + + if (pTransferBank) + { + task.task_data = *pTransferBank; + } + else + { + CThostFtdcTransferBankField empty_data = CThostFtdcTransferBankField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryInvestorPositionDetail(CThostFtdcInvestorPositionDetailField *pInvestorPositionDetail, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYINVESTORPOSITIONDETAIL; + + if (pInvestorPositionDetail) + { + task.task_data = *pInvestorPositionDetail; + } + else + { + CThostFtdcInvestorPositionDetailField empty_data = CThostFtdcInvestorPositionDetailField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryNotice(CThostFtdcNoticeField *pNotice, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYNOTICE; + + if (pNotice) + { + task.task_data = *pNotice; + } + else + { + CThostFtdcNoticeField empty_data = CThostFtdcNoticeField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQrySettlementInfoConfirm(CThostFtdcSettlementInfoConfirmField *pSettlementInfoConfirm, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYSETTLEMENTINFOCONFIRM; + + if (pSettlementInfoConfirm) + { + task.task_data = *pSettlementInfoConfirm; + } + else + { + CThostFtdcSettlementInfoConfirmField empty_data = CThostFtdcSettlementInfoConfirmField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryInvestorPositionCombineDetail(CThostFtdcInvestorPositionCombineDetailField *pInvestorPositionCombineDetail, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYINVESTORPOSITIONCOMBINEDETAIL; + + if (pInvestorPositionCombineDetail) + { + task.task_data = *pInvestorPositionCombineDetail; + } + else + { + CThostFtdcInvestorPositionCombineDetailField empty_data = CThostFtdcInvestorPositionCombineDetailField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryCFMMCTradingAccountKey(CThostFtdcCFMMCTradingAccountKeyField *pCFMMCTradingAccountKey, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYCFMMCTRADINGACCOUNTKEY; + + if (pCFMMCTradingAccountKey) + { + task.task_data = *pCFMMCTradingAccountKey; + } + else + { + CThostFtdcCFMMCTradingAccountKeyField empty_data = CThostFtdcCFMMCTradingAccountKeyField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryEWarrantOffset(CThostFtdcEWarrantOffsetField *pEWarrantOffset, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYEWARRANTOFFSET; + + if (pEWarrantOffset) + { + task.task_data = *pEWarrantOffset; + } + else + { + CThostFtdcEWarrantOffsetField empty_data = CThostFtdcEWarrantOffsetField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryInvestorProductGroupMargin(CThostFtdcInvestorProductGroupMarginField *pInvestorProductGroupMargin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYINVESTORPRODUCTGROUPMARGIN; + + if (pInvestorProductGroupMargin) + { + task.task_data = *pInvestorProductGroupMargin; + } + else + { + CThostFtdcInvestorProductGroupMarginField empty_data = CThostFtdcInvestorProductGroupMarginField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryExchangeMarginRate(CThostFtdcExchangeMarginRateField *pExchangeMarginRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYEXCHANGEMARGINRATE; + + if (pExchangeMarginRate) + { + task.task_data = *pExchangeMarginRate; + } + else + { + CThostFtdcExchangeMarginRateField empty_data = CThostFtdcExchangeMarginRateField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryExchangeMarginRateAdjust(CThostFtdcExchangeMarginRateAdjustField *pExchangeMarginRateAdjust, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYEXCHANGEMARGINRATEADJUST; + + if (pExchangeMarginRateAdjust) + { + task.task_data = *pExchangeMarginRateAdjust; + } + else + { + CThostFtdcExchangeMarginRateAdjustField empty_data = CThostFtdcExchangeMarginRateAdjustField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryExchangeRate(CThostFtdcExchangeRateField *pExchangeRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYEXCHANGERATE; + + if (pExchangeRate) + { + task.task_data = *pExchangeRate; + } + else + { + CThostFtdcExchangeRateField empty_data = CThostFtdcExchangeRateField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQrySecAgentACIDMap(CThostFtdcSecAgentACIDMapField *pSecAgentACIDMap, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYSECAGENTACIDMAP; + + if (pSecAgentACIDMap) + { + task.task_data = *pSecAgentACIDMap; + } + else + { + CThostFtdcSecAgentACIDMapField empty_data = CThostFtdcSecAgentACIDMapField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryOptionInstrTradeCost(CThostFtdcOptionInstrTradeCostField *pOptionInstrTradeCost, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYOPTIONINSTRTRADECOST; + + if (pOptionInstrTradeCost) + { + task.task_data = *pOptionInstrTradeCost; + } + else + { + CThostFtdcOptionInstrTradeCostField empty_data = CThostFtdcOptionInstrTradeCostField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryOptionInstrCommRate(CThostFtdcOptionInstrCommRateField *pOptionInstrCommRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYOPTIONINSTRCOMMRATE; + + if (pOptionInstrCommRate) + { + task.task_data = *pOptionInstrCommRate; + } + else + { + CThostFtdcOptionInstrCommRateField empty_data = CThostFtdcOptionInstrCommRateField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryExecOrder(CThostFtdcExecOrderField *pExecOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYEXECORDER; + + if (pExecOrder) + { + task.task_data = *pExecOrder; + } + else + { + CThostFtdcExecOrderField empty_data = CThostFtdcExecOrderField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryForQuote(CThostFtdcForQuoteField *pForQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYFORQUOTE; + + if (pForQuote) + { + task.task_data = *pForQuote; + } + else + { + CThostFtdcForQuoteField empty_data = CThostFtdcForQuoteField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryQuote(CThostFtdcQuoteField *pQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYQUOTE; + + if (pQuote) + { + task.task_data = *pQuote; + } + else + { + CThostFtdcQuoteField empty_data = CThostFtdcQuoteField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryTransferSerial(CThostFtdcTransferSerialField *pTransferSerial, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYTRANSFERSERIAL; + + if (pTransferSerial) + { + task.task_data = *pTransferSerial; + } + else + { + CThostFtdcTransferSerialField empty_data = CThostFtdcTransferSerialField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryAccountregister(CThostFtdcAccountregisterField *pAccountregister, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYACCOUNTREGISTER; + + if (pAccountregister) + { + task.task_data = *pAccountregister; + } + else + { + CThostFtdcAccountregisterField empty_data = CThostFtdcAccountregisterField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspError(CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPERROR; + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRtnOrder(CThostFtdcOrderField *pOrder) +{ + Task task = Task(); + task.task_name = ONRTNORDER; + + if (pOrder) + { + task.task_data = *pOrder; + } + else + { + CThostFtdcOrderField empty_data = CThostFtdcOrderField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + +void TdApi::OnRtnTrade(CThostFtdcTradeField *pTrade) +{ + Task task = Task(); + task.task_name = ONRTNTRADE; + + if (pTrade) + { + task.task_data = *pTrade; + } + else + { + CThostFtdcTradeField empty_data = CThostFtdcTradeField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + +void TdApi::OnErrRtnOrderInsert(CThostFtdcInputOrderField *pInputOrder, CThostFtdcRspInfoField *pRspInfo) +{ + Task task = Task(); + task.task_name = ONERRRTNORDERINSERT; + + if (pInputOrder) + { + task.task_data = *pInputOrder; + } + else + { + CThostFtdcInputOrderField empty_data = CThostFtdcInputOrderField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + this->task_queue.push(task); +}; + +void TdApi::OnErrRtnOrderAction(CThostFtdcOrderActionField *pOrderAction, CThostFtdcRspInfoField *pRspInfo) +{ + Task task = Task(); + task.task_name = ONERRRTNORDERACTION; + + if (pOrderAction) + { + task.task_data = *pOrderAction; + } + else + { + CThostFtdcOrderActionField empty_data = CThostFtdcOrderActionField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + this->task_queue.push(task); +}; + +void TdApi::OnRtnInstrumentStatus(CThostFtdcInstrumentStatusField *pInstrumentStatus) +{ + Task task = Task(); + task.task_name = ONRTNINSTRUMENTSTATUS; + + if (pInstrumentStatus) + { + task.task_data = *pInstrumentStatus; + } + else + { + CThostFtdcInstrumentStatusField empty_data = CThostFtdcInstrumentStatusField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + +void TdApi::OnRtnTradingNotice(CThostFtdcTradingNoticeInfoField *pTradingNoticeInfo) +{ + Task task = Task(); + task.task_name = ONRTNTRADINGNOTICE; + + if (pTradingNoticeInfo) + { + task.task_data = *pTradingNoticeInfo; + } + else + { + CThostFtdcTradingNoticeInfoField empty_data = CThostFtdcTradingNoticeInfoField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + +void TdApi::OnRtnErrorConditionalOrder(CThostFtdcErrorConditionalOrderField *pErrorConditionalOrder) +{ + Task task = Task(); + task.task_name = ONRTNERRORCONDITIONALORDER; + + if (pErrorConditionalOrder) + { + task.task_data = *pErrorConditionalOrder; + } + else + { + CThostFtdcErrorConditionalOrderField empty_data = CThostFtdcErrorConditionalOrderField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + +void TdApi::OnRtnExecOrder(CThostFtdcExecOrderField *pExecOrder) +{ + Task task = Task(); + task.task_name = ONRTNEXECORDER; + + if (pExecOrder) + { + task.task_data = *pExecOrder; + } + else + { + CThostFtdcExecOrderField empty_data = CThostFtdcExecOrderField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + +void TdApi::OnErrRtnExecOrderInsert(CThostFtdcInputExecOrderField *pInputExecOrder, CThostFtdcRspInfoField *pRspInfo) +{ + Task task = Task(); + task.task_name = ONERRRTNEXECORDERINSERT; + + if (pInputExecOrder) + { + task.task_data = *pInputExecOrder; + } + else + { + CThostFtdcInputExecOrderField empty_data = CThostFtdcInputExecOrderField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + this->task_queue.push(task); +}; + +void TdApi::OnErrRtnExecOrderAction(CThostFtdcExecOrderActionField *pExecOrderAction, CThostFtdcRspInfoField *pRspInfo) +{ + Task task = Task(); + task.task_name = ONERRRTNEXECORDERACTION; + + if (pExecOrderAction) + { + task.task_data = *pExecOrderAction; + } + else + { + CThostFtdcExecOrderActionField empty_data = CThostFtdcExecOrderActionField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + this->task_queue.push(task); +}; + +void TdApi::OnErrRtnForQuoteInsert(CThostFtdcInputForQuoteField *pInputForQuote, CThostFtdcRspInfoField *pRspInfo) +{ + Task task = Task(); + task.task_name = ONERRRTNFORQUOTEINSERT; + + if (pInputForQuote) + { + task.task_data = *pInputForQuote; + } + else + { + CThostFtdcInputForQuoteField empty_data = CThostFtdcInputForQuoteField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + this->task_queue.push(task); +}; + +void TdApi::OnRtnQuote(CThostFtdcQuoteField *pQuote) +{ + Task task = Task(); + task.task_name = ONRTNQUOTE; + + if (pQuote) + { + task.task_data = *pQuote; + } + else + { + CThostFtdcQuoteField empty_data = CThostFtdcQuoteField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + +void TdApi::OnErrRtnQuoteInsert(CThostFtdcInputQuoteField *pInputQuote, CThostFtdcRspInfoField *pRspInfo) +{ + Task task = Task(); + task.task_name = ONERRRTNQUOTEINSERT; + + if (pInputQuote) + { + task.task_data = *pInputQuote; + } + else + { + CThostFtdcInputQuoteField empty_data = CThostFtdcInputQuoteField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + this->task_queue.push(task); +}; + +void TdApi::OnErrRtnQuoteAction(CThostFtdcQuoteActionField *pQuoteAction, CThostFtdcRspInfoField *pRspInfo) +{ + Task task = Task(); + task.task_name = ONERRRTNQUOTEACTION; + + if (pQuoteAction) + { + task.task_data = *pQuoteAction; + } + else + { + CThostFtdcQuoteActionField empty_data = CThostFtdcQuoteActionField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + this->task_queue.push(task); +}; + +void TdApi::OnRtnForQuoteRsp(CThostFtdcForQuoteRspField *pForQuoteRsp) +{ + Task task = Task(); + task.task_name = ONRTNFORQUOTERSP; + + if (pForQuoteRsp) + { + task.task_data = *pForQuoteRsp; + } + else + { + CThostFtdcForQuoteRspField empty_data = CThostFtdcForQuoteRspField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + +void TdApi::OnRspQryContractBank(CThostFtdcContractBankField *pContractBank, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYCONTRACTBANK; + + if (pContractBank) + { + task.task_data = *pContractBank; + } + else + { + CThostFtdcContractBankField empty_data = CThostFtdcContractBankField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryParkedOrder(CThostFtdcParkedOrderField *pParkedOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYPARKEDORDER; + + if (pParkedOrder) + { + task.task_data = *pParkedOrder; + } + else + { + CThostFtdcParkedOrderField empty_data = CThostFtdcParkedOrderField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryParkedOrderAction(CThostFtdcParkedOrderActionField *pParkedOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYPARKEDORDERACTION; + + if (pParkedOrderAction) + { + task.task_data = *pParkedOrderAction; + } + else + { + CThostFtdcParkedOrderActionField empty_data = CThostFtdcParkedOrderActionField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryTradingNotice(CThostFtdcTradingNoticeField *pTradingNotice, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYTRADINGNOTICE; + + if (pTradingNotice) + { + task.task_data = *pTradingNotice; + } + else + { + CThostFtdcTradingNoticeField empty_data = CThostFtdcTradingNoticeField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryBrokerTradingParams(CThostFtdcBrokerTradingParamsField *pBrokerTradingParams, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYBROKERTRADINGPARAMS; + + if (pBrokerTradingParams) + { + task.task_data = *pBrokerTradingParams; + } + else + { + CThostFtdcBrokerTradingParamsField empty_data = CThostFtdcBrokerTradingParamsField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQryBrokerTradingAlgos(CThostFtdcBrokerTradingAlgosField *pBrokerTradingAlgos, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQRYBROKERTRADINGALGOS; + + if (pBrokerTradingAlgos) + { + task.task_data = *pBrokerTradingAlgos; + } + else + { + CThostFtdcBrokerTradingAlgosField empty_data = CThostFtdcBrokerTradingAlgosField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRtnFromBankToFutureByBank(CThostFtdcRspTransferField *pRspTransfer) +{ + Task task = Task(); + task.task_name = ONRTNFROMBANKTOFUTUREBYBANK; + + if (pRspTransfer) + { + task.task_data = *pRspTransfer; + } + else + { + CThostFtdcRspTransferField empty_data = CThostFtdcRspTransferField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + +void TdApi::OnRtnFromFutureToBankByBank(CThostFtdcRspTransferField *pRspTransfer) +{ + Task task = Task(); + task.task_name = ONRTNFROMFUTURETOBANKBYBANK; + + if (pRspTransfer) + { + task.task_data = *pRspTransfer; + } + else + { + CThostFtdcRspTransferField empty_data = CThostFtdcRspTransferField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + +void TdApi::OnRtnRepealFromBankToFutureByBank(CThostFtdcRspRepealField *pRspRepeal) +{ + Task task = Task(); + task.task_name = ONRTNREPEALFROMBANKTOFUTUREBYBANK; + + if (pRspRepeal) + { + task.task_data = *pRspRepeal; + } + else + { + CThostFtdcRspRepealField empty_data = CThostFtdcRspRepealField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + +void TdApi::OnRtnRepealFromFutureToBankByBank(CThostFtdcRspRepealField *pRspRepeal) +{ + Task task = Task(); + task.task_name = ONRTNREPEALFROMFUTURETOBANKBYBANK; + + if (pRspRepeal) + { + task.task_data = *pRspRepeal; + } + else + { + CThostFtdcRspRepealField empty_data = CThostFtdcRspRepealField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + +void TdApi::OnRtnFromBankToFutureByFuture(CThostFtdcRspTransferField *pRspTransfer) +{ + Task task = Task(); + task.task_name = ONRTNFROMBANKTOFUTUREBYFUTURE; + + if (pRspTransfer) + { + task.task_data = *pRspTransfer; + } + else + { + CThostFtdcRspTransferField empty_data = CThostFtdcRspTransferField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + +void TdApi::OnRtnFromFutureToBankByFuture(CThostFtdcRspTransferField *pRspTransfer) +{ + Task task = Task(); + task.task_name = ONRTNFROMFUTURETOBANKBYFUTURE; + + if (pRspTransfer) + { + task.task_data = *pRspTransfer; + } + else + { + CThostFtdcRspTransferField empty_data = CThostFtdcRspTransferField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + +void TdApi::OnRtnRepealFromBankToFutureByFutureManual(CThostFtdcRspRepealField *pRspRepeal) +{ + Task task = Task(); + task.task_name = ONRTNREPEALFROMBANKTOFUTUREBYFUTUREMANUAL; + + if (pRspRepeal) + { + task.task_data = *pRspRepeal; + } + else + { + CThostFtdcRspRepealField empty_data = CThostFtdcRspRepealField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + +void TdApi::OnRtnRepealFromFutureToBankByFutureManual(CThostFtdcRspRepealField *pRspRepeal) +{ + Task task = Task(); + task.task_name = ONRTNREPEALFROMFUTURETOBANKBYFUTUREMANUAL; + + if (pRspRepeal) + { + task.task_data = *pRspRepeal; + } + else + { + CThostFtdcRspRepealField empty_data = CThostFtdcRspRepealField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + +void TdApi::OnRtnQueryBankBalanceByFuture(CThostFtdcNotifyQueryAccountField *pNotifyQueryAccount) +{ + Task task = Task(); + task.task_name = ONRTNQUERYBANKBALANCEBYFUTURE; + + if (pNotifyQueryAccount) + { + task.task_data = *pNotifyQueryAccount; + } + else + { + CThostFtdcNotifyQueryAccountField empty_data = CThostFtdcNotifyQueryAccountField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + +void TdApi::OnErrRtnBankToFutureByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo) +{ + Task task = Task(); + task.task_name = ONERRRTNBANKTOFUTUREBYFUTURE; + + if (pReqTransfer) + { + task.task_data = *pReqTransfer; + } + else + { + CThostFtdcReqTransferField empty_data = CThostFtdcReqTransferField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + this->task_queue.push(task); +}; + +void TdApi::OnErrRtnFutureToBankByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo) +{ + Task task = Task(); + task.task_name = ONERRRTNFUTURETOBANKBYFUTURE; + + if (pReqTransfer) + { + task.task_data = *pReqTransfer; + } + else + { + CThostFtdcReqTransferField empty_data = CThostFtdcReqTransferField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + this->task_queue.push(task); +}; + +void TdApi::OnErrRtnRepealBankToFutureByFutureManual(CThostFtdcReqRepealField *pReqRepeal, CThostFtdcRspInfoField *pRspInfo) +{ + Task task = Task(); + task.task_name = ONERRRTNREPEALBANKTOFUTUREBYFUTUREMANUAL; + + if (pReqRepeal) + { + task.task_data = *pReqRepeal; + } + else + { + CThostFtdcReqRepealField empty_data = CThostFtdcReqRepealField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + this->task_queue.push(task); +}; + +void TdApi::OnErrRtnRepealFutureToBankByFutureManual(CThostFtdcReqRepealField *pReqRepeal, CThostFtdcRspInfoField *pRspInfo) +{ + Task task = Task(); + task.task_name = ONERRRTNREPEALFUTURETOBANKBYFUTUREMANUAL; + + if (pReqRepeal) + { + task.task_data = *pReqRepeal; + } + else + { + CThostFtdcReqRepealField empty_data = CThostFtdcReqRepealField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + this->task_queue.push(task); +}; + +void TdApi::OnErrRtnQueryBankBalanceByFuture(CThostFtdcReqQueryAccountField *pReqQueryAccount, CThostFtdcRspInfoField *pRspInfo) +{ + Task task = Task(); + task.task_name = ONERRRTNQUERYBANKBALANCEBYFUTURE; + + if (pReqQueryAccount) + { + task.task_data = *pReqQueryAccount; + } + else + { + CThostFtdcReqQueryAccountField empty_data = CThostFtdcReqQueryAccountField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + this->task_queue.push(task); +}; + +void TdApi::OnRtnRepealFromBankToFutureByFuture(CThostFtdcRspRepealField *pRspRepeal) +{ + Task task = Task(); + task.task_name = ONRTNREPEALFROMBANKTOFUTUREBYFUTURE; + + if (pRspRepeal) + { + task.task_data = *pRspRepeal; + } + else + { + CThostFtdcRspRepealField empty_data = CThostFtdcRspRepealField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + +void TdApi::OnRtnRepealFromFutureToBankByFuture(CThostFtdcRspRepealField *pRspRepeal) +{ + Task task = Task(); + task.task_name = ONRTNREPEALFROMFUTURETOBANKBYFUTURE; + + if (pRspRepeal) + { + task.task_data = *pRspRepeal; + } + else + { + CThostFtdcRspRepealField empty_data = CThostFtdcRspRepealField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + +void TdApi::OnRspFromBankToFutureByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPFROMBANKTOFUTUREBYFUTURE; + + if (pReqTransfer) + { + task.task_data = *pReqTransfer; + } + else + { + CThostFtdcReqTransferField empty_data = CThostFtdcReqTransferField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspFromFutureToBankByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPFROMFUTURETOBANKBYFUTURE; + + if (pReqTransfer) + { + task.task_data = *pReqTransfer; + } + else + { + CThostFtdcReqTransferField empty_data = CThostFtdcReqTransferField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRspQueryBankAccountMoneyByFuture(CThostFtdcReqQueryAccountField *pReqQueryAccount, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) +{ + Task task = Task(); + task.task_name = ONRSPQUERYBANKACCOUNTMONEYBYFUTURE; + + if (pReqQueryAccount) + { + task.task_data = *pReqQueryAccount; + } + else + { + CThostFtdcReqQueryAccountField empty_data = CThostFtdcReqQueryAccountField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + + if (pRspInfo) + { + task.task_error = *pRspInfo; + } + else + { + CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); + memset(&empty_error, 0, sizeof(empty_error)); + task.task_error = empty_error; + } + task.task_id = nRequestID; + task.task_last = bIsLast; + this->task_queue.push(task); +}; + +void TdApi::OnRtnOpenAccountByBank(CThostFtdcOpenAccountField *pOpenAccount) +{ + Task task = Task(); + task.task_name = ONRTNOPENACCOUNTBYBANK; + + if (pOpenAccount) + { + task.task_data = *pOpenAccount; + } + else + { + CThostFtdcOpenAccountField empty_data = CThostFtdcOpenAccountField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + +void TdApi::OnRtnCancelAccountByBank(CThostFtdcCancelAccountField *pCancelAccount) +{ + Task task = Task(); + task.task_name = ONRTNCANCELACCOUNTBYBANK; + + if (pCancelAccount) + { + task.task_data = *pCancelAccount; + } + else + { + CThostFtdcCancelAccountField empty_data = CThostFtdcCancelAccountField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + +void TdApi::OnRtnChangeAccountByBank(CThostFtdcChangeAccountField *pChangeAccount) +{ + Task task = Task(); + task.task_name = ONRTNCHANGEACCOUNTBYBANK; + + if (pChangeAccount) + { + task.task_data = *pChangeAccount; + } + else + { + CThostFtdcChangeAccountField empty_data = CThostFtdcChangeAccountField(); + memset(&empty_data, 0, sizeof(empty_data)); + task.task_data = empty_data; + } + this->task_queue.push(task); +}; + + + + + +///------------------------------------------------------------------------------------- +///工作线程从队列中取出数据,转化为python对象后,进行推送 +///------------------------------------------------------------------------------------- + +void TdApi::processTask() +{ + while (1) + { + Task task = this->task_queue.wait_and_pop(); + + switch (task.task_name) + { + case ONFRONTCONNECTED: + { + this->processFrontConnected(task); + break; + } + + case ONFRONTDISCONNECTED: + { + this->processFrontDisconnected(task); + break; + } + + case ONHEARTBEATWARNING: + { + this->processHeartBeatWarning(task); + break; + } + + case ONRSPAUTHENTICATE: + { + this->processRspAuthenticate(task); + break; + } + + case ONRSPUSERLOGIN: + { + this->processRspUserLogin(task); + break; + } + + case ONRSPUSERLOGOUT: + { + this->processRspUserLogout(task); + break; + } + + case ONRSPUSERPASSWORDUPDATE: + { + this->processRspUserPasswordUpdate(task); + break; + } + + case ONRSPTRADINGACCOUNTPASSWORDUPDATE: + { + this->processRspTradingAccountPasswordUpdate(task); + break; + } + + case ONRSPORDERINSERT: + { + this->processRspOrderInsert(task); + break; + } + + case ONRSPPARKEDORDERINSERT: + { + this->processRspParkedOrderInsert(task); + break; + } + + case ONRSPPARKEDORDERACTION: + { + this->processRspParkedOrderAction(task); + break; + } + + case ONRSPORDERACTION: + { + this->processRspOrderAction(task); + break; + } + + case ONRSPQUERYMAXORDERVOLUME: + { + this->processRspQueryMaxOrderVolume(task); + break; + } + + case ONRSPSETTLEMENTINFOCONFIRM: + { + this->processRspSettlementInfoConfirm(task); + break; + } + + case ONRSPREMOVEPARKEDORDER: + { + this->processRspRemoveParkedOrder(task); + break; + } + + case ONRSPREMOVEPARKEDORDERACTION: + { + this->processRspRemoveParkedOrderAction(task); + break; + } + + case ONRSPEXECORDERINSERT: + { + this->processRspExecOrderInsert(task); + break; + } + + case ONRSPEXECORDERACTION: + { + this->processRspExecOrderAction(task); + break; + } + + case ONRSPFORQUOTEINSERT: + { + this->processRspForQuoteInsert(task); + break; + } + + case ONRSPQUOTEINSERT: + { + this->processRspQuoteInsert(task); + break; + } + + case ONRSPQUOTEACTION: + { + this->processRspQuoteAction(task); + break; + } + + case ONRSPQRYORDER: + { + this->processRspQryOrder(task); + break; + } + + case ONRSPQRYTRADE: + { + this->processRspQryTrade(task); + break; + } + + case ONRSPQRYINVESTORPOSITION: + { + this->processRspQryInvestorPosition(task); + break; + } + + case ONRSPQRYTRADINGACCOUNT: + { + this->processRspQryTradingAccount(task); + break; + } + + case ONRSPQRYINVESTOR: + { + this->processRspQryInvestor(task); + break; + } + + case ONRSPQRYTRADINGCODE: + { + this->processRspQryTradingCode(task); + break; + } + + case ONRSPQRYINSTRUMENTMARGINRATE: + { + this->processRspQryInstrumentMarginRate(task); + break; + } + + case ONRSPQRYINSTRUMENTCOMMISSIONRATE: + { + this->processRspQryInstrumentCommissionRate(task); + break; + } + + case ONRSPQRYEXCHANGE: + { + this->processRspQryExchange(task); + break; + } + + case ONRSPQRYPRODUCT: + { + this->processRspQryProduct(task); + break; + } + + case ONRSPQRYINSTRUMENT: + { + this->processRspQryInstrument(task); + break; + } + + case ONRSPQRYDEPTHMARKETDATA: + { + this->processRspQryDepthMarketData(task); + break; + } + + case ONRSPQRYSETTLEMENTINFO: + { + this->processRspQrySettlementInfo(task); + break; + } + + case ONRSPQRYTRANSFERBANK: + { + this->processRspQryTransferBank(task); + break; + } + + case ONRSPQRYINVESTORPOSITIONDETAIL: + { + this->processRspQryInvestorPositionDetail(task); + break; + } + + case ONRSPQRYNOTICE: + { + this->processRspQryNotice(task); + break; + } + + case ONRSPQRYSETTLEMENTINFOCONFIRM: + { + this->processRspQrySettlementInfoConfirm(task); + break; + } + + case ONRSPQRYINVESTORPOSITIONCOMBINEDETAIL: + { + this->processRspQryInvestorPositionCombineDetail(task); + break; + } + + case ONRSPQRYCFMMCTRADINGACCOUNTKEY: + { + this->processRspQryCFMMCTradingAccountKey(task); + break; + } + + case ONRSPQRYEWARRANTOFFSET: + { + this->processRspQryEWarrantOffset(task); + break; + } + + case ONRSPQRYINVESTORPRODUCTGROUPMARGIN: + { + this->processRspQryInvestorProductGroupMargin(task); + break; + } + + case ONRSPQRYEXCHANGEMARGINRATE: + { + this->processRspQryExchangeMarginRate(task); + break; + } + + case ONRSPQRYEXCHANGEMARGINRATEADJUST: + { + this->processRspQryExchangeMarginRateAdjust(task); + break; + } + + case ONRSPQRYEXCHANGERATE: + { + this->processRspQryExchangeRate(task); + break; + } + + case ONRSPQRYSECAGENTACIDMAP: + { + this->processRspQrySecAgentACIDMap(task); + break; + } + + case ONRSPQRYOPTIONINSTRTRADECOST: + { + this->processRspQryOptionInstrTradeCost(task); + break; + } + + case ONRSPQRYOPTIONINSTRCOMMRATE: + { + this->processRspQryOptionInstrCommRate(task); + break; + } + + case ONRSPQRYEXECORDER: + { + this->processRspQryExecOrder(task); + break; + } + + case ONRSPQRYFORQUOTE: + { + this->processRspQryForQuote(task); + break; + } + + case ONRSPQRYQUOTE: + { + this->processRspQryQuote(task); + break; + } + + case ONRSPQRYTRANSFERSERIAL: + { + this->processRspQryTransferSerial(task); + break; + } + + case ONRSPQRYACCOUNTREGISTER: + { + this->processRspQryAccountregister(task); + break; + } + + case ONRSPERROR: + { + this->processRspError(task); + break; + } + + case ONRTNORDER: + { + this->processRtnOrder(task); + break; + } + + case ONRTNTRADE: + { + this->processRtnTrade(task); + break; + } + + case ONERRRTNORDERINSERT: + { + this->processErrRtnOrderInsert(task); + break; + } + + case ONERRRTNORDERACTION: + { + this->processErrRtnOrderAction(task); + break; + } + + case ONRTNINSTRUMENTSTATUS: + { + this->processRtnInstrumentStatus(task); + break; + } + + case ONRTNTRADINGNOTICE: + { + this->processRtnTradingNotice(task); + break; + } + + case ONRTNERRORCONDITIONALORDER: + { + this->processRtnErrorConditionalOrder(task); + break; + } + + case ONRTNEXECORDER: + { + this->processRtnExecOrder(task); + break; + } + + case ONERRRTNEXECORDERINSERT: + { + this->processErrRtnExecOrderInsert(task); + break; + } + + case ONERRRTNEXECORDERACTION: + { + this->processErrRtnExecOrderAction(task); + break; + } + + case ONERRRTNFORQUOTEINSERT: + { + this->processErrRtnForQuoteInsert(task); + break; + } + + case ONRTNQUOTE: + { + this->processRtnQuote(task); + break; + } + + case ONERRRTNQUOTEINSERT: + { + this->processErrRtnQuoteInsert(task); + break; + } + + case ONERRRTNQUOTEACTION: + { + this->processErrRtnQuoteAction(task); + break; + } + + case ONRTNFORQUOTERSP: + { + this->processRtnForQuoteRsp(task); + break; + } + + case ONRSPQRYCONTRACTBANK: + { + this->processRspQryContractBank(task); + break; + } + + case ONRSPQRYPARKEDORDER: + { + this->processRspQryParkedOrder(task); + break; + } + + case ONRSPQRYPARKEDORDERACTION: + { + this->processRspQryParkedOrderAction(task); + break; + } + + case ONRSPQRYTRADINGNOTICE: + { + this->processRspQryTradingNotice(task); + break; + } + + case ONRSPQRYBROKERTRADINGPARAMS: + { + this->processRspQryBrokerTradingParams(task); + break; + } + + case ONRSPQRYBROKERTRADINGALGOS: + { + this->processRspQryBrokerTradingAlgos(task); + break; + } + + case ONRTNFROMBANKTOFUTUREBYBANK: + { + this->processRtnFromBankToFutureByBank(task); + break; + } + + case ONRTNFROMFUTURETOBANKBYBANK: + { + this->processRtnFromFutureToBankByBank(task); + break; + } + + case ONRTNREPEALFROMBANKTOFUTUREBYBANK: + { + this->processRtnRepealFromBankToFutureByBank(task); + break; + } + + case ONRTNREPEALFROMFUTURETOBANKBYBANK: + { + this->processRtnRepealFromFutureToBankByBank(task); + break; + } + + case ONRTNFROMBANKTOFUTUREBYFUTURE: + { + this->processRtnFromBankToFutureByFuture(task); + break; + } + + case ONRTNFROMFUTURETOBANKBYFUTURE: + { + this->processRtnFromFutureToBankByFuture(task); + break; + } + + case ONRTNREPEALFROMBANKTOFUTUREBYFUTUREMANUAL: + { + this->processRtnRepealFromBankToFutureByFutureManual(task); + break; + } + + case ONRTNREPEALFROMFUTURETOBANKBYFUTUREMANUAL: + { + this->processRtnRepealFromFutureToBankByFutureManual(task); + break; + } + + case ONRTNQUERYBANKBALANCEBYFUTURE: + { + this->processRtnQueryBankBalanceByFuture(task); + break; + } + + case ONERRRTNBANKTOFUTUREBYFUTURE: + { + this->processErrRtnBankToFutureByFuture(task); + break; + } + + case ONERRRTNFUTURETOBANKBYFUTURE: + { + this->processErrRtnFutureToBankByFuture(task); + break; + } + + case ONERRRTNREPEALBANKTOFUTUREBYFUTUREMANUAL: + { + this->processErrRtnRepealBankToFutureByFutureManual(task); + break; + } + + case ONERRRTNREPEALFUTURETOBANKBYFUTUREMANUAL: + { + this->processErrRtnRepealFutureToBankByFutureManual(task); + break; + } + + case ONERRRTNQUERYBANKBALANCEBYFUTURE: + { + this->processErrRtnQueryBankBalanceByFuture(task); + break; + } + + case ONRTNREPEALFROMBANKTOFUTUREBYFUTURE: + { + this->processRtnRepealFromBankToFutureByFuture(task); + break; + } + + case ONRTNREPEALFROMFUTURETOBANKBYFUTURE: + { + this->processRtnRepealFromFutureToBankByFuture(task); + break; + } + + case ONRSPFROMBANKTOFUTUREBYFUTURE: + { + this->processRspFromBankToFutureByFuture(task); + break; + } + + case ONRSPFROMFUTURETOBANKBYFUTURE: + { + this->processRspFromFutureToBankByFuture(task); + break; + } + + case ONRSPQUERYBANKACCOUNTMONEYBYFUTURE: + { + this->processRspQueryBankAccountMoneyByFuture(task); + break; + } + + case ONRTNOPENACCOUNTBYBANK: + { + this->processRtnOpenAccountByBank(task); + break; + } + + case ONRTNCANCELACCOUNTBYBANK: + { + this->processRtnCancelAccountByBank(task); + break; + } + + case ONRTNCHANGEACCOUNTBYBANK: + { + this->processRtnChangeAccountByBank(task); + break; + } + } + } +} + +void TdApi::processFrontConnected(Task task) +{ + this->onFrontConnected(); +}; + +void TdApi::processFrontDisconnected(Task task) +{ + this->onFrontDisconnected(task.task_id); +}; + +void TdApi::processHeartBeatWarning(Task task) +{ + this->onHeartBeatWarning(task.task_id); +}; + +void TdApi::processRspAuthenticate(Task task) +{ + CThostFtdcRspAuthenticateField task_data = any_cast(task.task_data); + dict data; + data["UserID"] = task_data.UserID; + data["BrokerID"] = task_data.BrokerID; + data["UserProductInfo"] = task_data.UserProductInfo; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspAuthenticate(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspUserLogin(Task task) +{ + CThostFtdcRspUserLoginField task_data = any_cast(task.task_data); + dict data; + data["CZCETime"] = task_data.CZCETime; + data["SHFETime"] = task_data.SHFETime; + data["MaxOrderRef"] = task_data.MaxOrderRef; + data["INETime"] = task_data.INETime; + data["UserID"] = task_data.UserID; + data["TradingDay"] = task_data.TradingDay; + data["SessionID"] = task_data.SessionID; + data["SystemName"] = task_data.SystemName; + data["FrontID"] = task_data.FrontID; + data["FFEXTime"] = task_data.FFEXTime; + data["BrokerID"] = task_data.BrokerID; + data["DCETime"] = task_data.DCETime; + data["LoginTime"] = task_data.LoginTime; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspUserLogin(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspUserLogout(Task task) +{ + CThostFtdcUserLogoutField task_data = any_cast(task.task_data); + dict data; + data["UserID"] = task_data.UserID; + data["BrokerID"] = task_data.BrokerID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspUserLogout(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspUserPasswordUpdate(Task task) +{ + CThostFtdcUserPasswordUpdateField task_data = any_cast(task.task_data); + dict data; + data["UserID"] = task_data.UserID; + data["NewPassword"] = task_data.NewPassword; + data["OldPassword"] = task_data.OldPassword; + data["BrokerID"] = task_data.BrokerID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspUserPasswordUpdate(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspTradingAccountPasswordUpdate(Task task) +{ + CThostFtdcTradingAccountPasswordUpdateField task_data = any_cast(task.task_data); + dict data; + data["CurrencyID"] = task_data.CurrencyID; + data["NewPassword"] = task_data.NewPassword; + data["OldPassword"] = task_data.OldPassword; + data["BrokerID"] = task_data.BrokerID; + data["AccountID"] = task_data.AccountID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspTradingAccountPasswordUpdate(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspOrderInsert(Task task) +{ + CThostFtdcInputOrderField task_data = any_cast(task.task_data); + dict data; + data["ContingentCondition"] = task_data.ContingentCondition; + data["CombOffsetFlag"] = task_data.CombOffsetFlag; + data["UserID"] = task_data.UserID; + data["LimitPrice"] = task_data.LimitPrice; + data["UserForceClose"] = task_data.UserForceClose; + data["Direction"] = task_data.Direction; + data["IsSwapOrder"] = task_data.IsSwapOrder; + data["VolumeTotalOriginal"] = task_data.VolumeTotalOriginal; + data["OrderPriceType"] = task_data.OrderPriceType; + data["TimeCondition"] = task_data.TimeCondition; + data["IsAutoSuspend"] = task_data.IsAutoSuspend; + data["StopPrice"] = task_data.StopPrice; + data["InstrumentID"] = task_data.InstrumentID; + data["MinVolume"] = task_data.MinVolume; + data["ForceCloseReason"] = task_data.ForceCloseReason; + data["BrokerID"] = task_data.BrokerID; + data["CombHedgeFlag"] = task_data.CombHedgeFlag; + data["GTDDate"] = task_data.GTDDate; + data["BusinessUnit"] = task_data.BusinessUnit; + data["OrderRef"] = task_data.OrderRef; + data["InvestorID"] = task_data.InvestorID; + data["VolumeCondition"] = task_data.VolumeCondition; + data["RequestID"] = task_data.RequestID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspOrderInsert(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspParkedOrderInsert(Task task) +{ + CThostFtdcParkedOrderField task_data = any_cast(task.task_data); + dict data; + data["ContingentCondition"] = task_data.ContingentCondition; + data["CombOffsetFlag"] = task_data.CombOffsetFlag; + data["UserID"] = task_data.UserID; + data["LimitPrice"] = task_data.LimitPrice; + data["UserForceClose"] = task_data.UserForceClose; + data["Status"] = task_data.Status; + data["Direction"] = task_data.Direction; + data["IsSwapOrder"] = task_data.IsSwapOrder; + data["UserType"] = task_data.UserType; + data["VolumeTotalOriginal"] = task_data.VolumeTotalOriginal; + data["OrderPriceType"] = task_data.OrderPriceType; + data["TimeCondition"] = task_data.TimeCondition; + data["IsAutoSuspend"] = task_data.IsAutoSuspend; + data["StopPrice"] = task_data.StopPrice; + data["InstrumentID"] = task_data.InstrumentID; + data["ExchangeID"] = task_data.ExchangeID; + data["MinVolume"] = task_data.MinVolume; + data["ForceCloseReason"] = task_data.ForceCloseReason; + data["ErrorID"] = task_data.ErrorID; + data["ParkedOrderID"] = task_data.ParkedOrderID; + data["BrokerID"] = task_data.BrokerID; + data["CombHedgeFlag"] = task_data.CombHedgeFlag; + data["GTDDate"] = task_data.GTDDate; + data["BusinessUnit"] = task_data.BusinessUnit; + data["ErrorMsg"] = task_data.ErrorMsg; + data["OrderRef"] = task_data.OrderRef; + data["InvestorID"] = task_data.InvestorID; + data["VolumeCondition"] = task_data.VolumeCondition; + data["RequestID"] = task_data.RequestID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspParkedOrderInsert(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspParkedOrderAction(Task task) +{ + CThostFtdcParkedOrderActionField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["Status"] = task_data.Status; + data["ExchangeID"] = task_data.ExchangeID; + data["ActionFlag"] = task_data.ActionFlag; + data["OrderActionRef"] = task_data.OrderActionRef; + data["UserType"] = task_data.UserType; + data["ErrorMsg"] = task_data.ErrorMsg; + data["UserID"] = task_data.UserID; + data["LimitPrice"] = task_data.LimitPrice; + data["OrderRef"] = task_data.OrderRef; + data["InvestorID"] = task_data.InvestorID; + data["SessionID"] = task_data.SessionID; + data["VolumeChange"] = task_data.VolumeChange; + data["BrokerID"] = task_data.BrokerID; + data["RequestID"] = task_data.RequestID; + data["OrderSysID"] = task_data.OrderSysID; + data["ParkedOrderActionID"] = task_data.ParkedOrderActionID; + data["FrontID"] = task_data.FrontID; + data["ErrorID"] = task_data.ErrorID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspParkedOrderAction(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspOrderAction(Task task) +{ + CThostFtdcInputOrderActionField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["ExchangeID"] = task_data.ExchangeID; + data["ActionFlag"] = task_data.ActionFlag; + data["OrderActionRef"] = task_data.OrderActionRef; + data["UserID"] = task_data.UserID; + data["LimitPrice"] = task_data.LimitPrice; + data["OrderRef"] = task_data.OrderRef; + data["InvestorID"] = task_data.InvestorID; + data["SessionID"] = task_data.SessionID; + data["VolumeChange"] = task_data.VolumeChange; + data["BrokerID"] = task_data.BrokerID; + data["RequestID"] = task_data.RequestID; + data["OrderSysID"] = task_data.OrderSysID; + data["FrontID"] = task_data.FrontID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspOrderAction(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQueryMaxOrderVolume(Task task) +{ + CThostFtdcQueryMaxOrderVolumeField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["Direction"] = task_data.Direction; + data["OffsetFlag"] = task_data.OffsetFlag; + data["HedgeFlag"] = task_data.HedgeFlag; + data["InvestorID"] = task_data.InvestorID; + data["BrokerID"] = task_data.BrokerID; + data["MaxVolume"] = task_data.MaxVolume; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQueryMaxOrderVolume(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspSettlementInfoConfirm(Task task) +{ + CThostFtdcSettlementInfoConfirmField task_data = any_cast(task.task_data); + dict data; + data["ConfirmTime"] = task_data.ConfirmTime; + data["InvestorID"] = task_data.InvestorID; + data["BrokerID"] = task_data.BrokerID; + data["ConfirmDate"] = task_data.ConfirmDate; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspSettlementInfoConfirm(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspRemoveParkedOrder(Task task) +{ + CThostFtdcRemoveParkedOrderField task_data = any_cast(task.task_data); + dict data; + data["InvestorID"] = task_data.InvestorID; + data["BrokerID"] = task_data.BrokerID; + data["ParkedOrderID"] = task_data.ParkedOrderID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspRemoveParkedOrder(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspRemoveParkedOrderAction(Task task) +{ + CThostFtdcRemoveParkedOrderActionField task_data = any_cast(task.task_data); + dict data; + data["InvestorID"] = task_data.InvestorID; + data["BrokerID"] = task_data.BrokerID; + data["ParkedOrderActionID"] = task_data.ParkedOrderActionID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspRemoveParkedOrderAction(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspExecOrderInsert(Task task) +{ + CThostFtdcInputExecOrderField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["ExecOrderRef"] = task_data.ExecOrderRef; + data["CloseFlag"] = task_data.CloseFlag; + data["OffsetFlag"] = task_data.OffsetFlag; + data["PosiDirection"] = task_data.PosiDirection; + data["BusinessUnit"] = task_data.BusinessUnit; + data["HedgeFlag"] = task_data.HedgeFlag; + data["UserID"] = task_data.UserID; + data["Volume"] = task_data.Volume; + data["InvestorID"] = task_data.InvestorID; + data["BrokerID"] = task_data.BrokerID; + data["RequestID"] = task_data.RequestID; + data["ActionType"] = task_data.ActionType; + data["ReservePositionFlag"] = task_data.ReservePositionFlag; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspExecOrderInsert(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspExecOrderAction(Task task) +{ + CThostFtdcInputExecOrderActionField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["ExecOrderSysID"] = task_data.ExecOrderSysID; + data["ExchangeID"] = task_data.ExchangeID; + data["UserID"] = task_data.UserID; + data["ExecOrderRef"] = task_data.ExecOrderRef; + data["InvestorID"] = task_data.InvestorID; + data["SessionID"] = task_data.SessionID; + data["BrokerID"] = task_data.BrokerID; + data["RequestID"] = task_data.RequestID; + data["ActionFlag"] = task_data.ActionFlag; + data["ExecOrderActionRef"] = task_data.ExecOrderActionRef; + data["FrontID"] = task_data.FrontID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspExecOrderAction(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspForQuoteInsert(Task task) +{ + CThostFtdcInputForQuoteField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["InvestorID"] = task_data.InvestorID; + data["BrokerID"] = task_data.BrokerID; + data["UserID"] = task_data.UserID; + data["ForQuoteRef"] = task_data.ForQuoteRef; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspForQuoteInsert(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQuoteInsert(Task task) +{ + CThostFtdcInputQuoteField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["AskHedgeFlag"] = task_data.AskHedgeFlag; + data["BusinessUnit"] = task_data.BusinessUnit; + data["AskPrice"] = task_data.AskPrice; + data["UserID"] = task_data.UserID; + data["AskOffsetFlag"] = task_data.AskOffsetFlag; + data["BidVolume"] = task_data.BidVolume; + data["AskVolume"] = task_data.AskVolume; + data["InvestorID"] = task_data.InvestorID; + data["BidOffsetFlag"] = task_data.BidOffsetFlag; + data["BrokerID"] = task_data.BrokerID; + data["RequestID"] = task_data.RequestID; + data["BidPrice"] = task_data.BidPrice; + data["BidHedgeFlag"] = task_data.BidHedgeFlag; + data["QuoteRef"] = task_data.QuoteRef; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQuoteInsert(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQuoteAction(Task task) +{ + CThostFtdcInputQuoteActionField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["ExchangeID"] = task_data.ExchangeID; + data["QuoteActionRef"] = task_data.QuoteActionRef; + data["UserID"] = task_data.UserID; + data["InvestorID"] = task_data.InvestorID; + data["SessionID"] = task_data.SessionID; + data["BrokerID"] = task_data.BrokerID; + data["RequestID"] = task_data.RequestID; + data["ActionFlag"] = task_data.ActionFlag; + data["FrontID"] = task_data.FrontID; + data["QuoteSysID"] = task_data.QuoteSysID; + data["QuoteRef"] = task_data.QuoteRef; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQuoteAction(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryOrder(Task task) +{ + CThostFtdcOrderField task_data = any_cast(task.task_data); + dict data; + data["ContingentCondition"] = task_data.ContingentCondition; + data["NotifySequence"] = task_data.NotifySequence; + data["ActiveUserID"] = task_data.ActiveUserID; + data["VolumeTraded"] = task_data.VolumeTraded; + data["UserProductInfo"] = task_data.UserProductInfo; + data["CombOffsetFlag"] = task_data.CombOffsetFlag; + data["TraderID"] = task_data.TraderID; + data["UserID"] = task_data.UserID; + data["LimitPrice"] = task_data.LimitPrice; + data["UserForceClose"] = task_data.UserForceClose; + data["RelativeOrderSysID"] = task_data.RelativeOrderSysID; + data["Direction"] = task_data.Direction; + data["InstallID"] = task_data.InstallID; + data["IsSwapOrder"] = task_data.IsSwapOrder; + data["ParticipantID"] = task_data.ParticipantID; + data["VolumeTotalOriginal"] = task_data.VolumeTotalOriginal; + data["ExchangeInstID"] = task_data.ExchangeInstID; + data["ClientID"] = task_data.ClientID; + data["VolumeTotal"] = task_data.VolumeTotal; + data["OrderPriceType"] = task_data.OrderPriceType; + data["SessionID"] = task_data.SessionID; + data["TimeCondition"] = task_data.TimeCondition; + data["OrderStatus"] = task_data.OrderStatus; + data["OrderSysID"] = task_data.OrderSysID; + data["OrderSubmitStatus"] = task_data.OrderSubmitStatus; + data["IsAutoSuspend"] = task_data.IsAutoSuspend; + data["StopPrice"] = task_data.StopPrice; + data["InstrumentID"] = task_data.InstrumentID; + data["ExchangeID"] = task_data.ExchangeID; + data["MinVolume"] = task_data.MinVolume; + data["StatusMsg"] = task_data.StatusMsg; + data["SettlementID"] = task_data.SettlementID; + data["ForceCloseReason"] = task_data.ForceCloseReason; + data["OrderType"] = task_data.OrderType; + data["UpdateTime"] = task_data.UpdateTime; + data["TradingDay"] = task_data.TradingDay; + data["ActiveTime"] = task_data.ActiveTime; + data["BrokerID"] = task_data.BrokerID; + data["InsertTime"] = task_data.InsertTime; + data["FrontID"] = task_data.FrontID; + data["SuspendTime"] = task_data.SuspendTime; + data["ClearingPartID"] = task_data.ClearingPartID; + data["CombHedgeFlag"] = task_data.CombHedgeFlag; + data["CancelTime"] = task_data.CancelTime; + data["GTDDate"] = task_data.GTDDate; + data["OrderLocalID"] = task_data.OrderLocalID; + data["BusinessUnit"] = task_data.BusinessUnit; + data["InsertDate"] = task_data.InsertDate; + data["SequenceNo"] = task_data.SequenceNo; + data["OrderRef"] = task_data.OrderRef; + data["BrokerOrderSeq"] = task_data.BrokerOrderSeq; + data["InvestorID"] = task_data.InvestorID; + data["VolumeCondition"] = task_data.VolumeCondition; + data["RequestID"] = task_data.RequestID; + data["OrderSource"] = task_data.OrderSource; + data["ZCETotalTradedVolume"] = task_data.ZCETotalTradedVolume; + data["ActiveTraderID"] = task_data.ActiveTraderID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryOrder(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryTrade(Task task) +{ + CThostFtdcTradeField task_data = any_cast(task.task_data); + dict data; + data["TradeType"] = task_data.TradeType; + data["TraderID"] = task_data.TraderID; + data["HedgeFlag"] = task_data.HedgeFlag; + data["TradeTime"] = task_data.TradeTime; + data["Direction"] = task_data.Direction; + data["ParticipantID"] = task_data.ParticipantID; + data["Price"] = task_data.Price; + data["ClientID"] = task_data.ClientID; + data["Volume"] = task_data.Volume; + data["OrderSysID"] = task_data.OrderSysID; + data["ClearingPartID"] = task_data.ClearingPartID; + data["InstrumentID"] = task_data.InstrumentID; + data["ExchangeID"] = task_data.ExchangeID; + data["SettlementID"] = task_data.SettlementID; + data["UserID"] = task_data.UserID; + data["TradingDay"] = task_data.TradingDay; + data["BrokerID"] = task_data.BrokerID; + data["OffsetFlag"] = task_data.OffsetFlag; + data["OrderLocalID"] = task_data.OrderLocalID; + data["TradeID"] = task_data.TradeID; + data["TradeDate"] = task_data.TradeDate; + data["BusinessUnit"] = task_data.BusinessUnit; + data["SequenceNo"] = task_data.SequenceNo; + data["OrderRef"] = task_data.OrderRef; + data["BrokerOrderSeq"] = task_data.BrokerOrderSeq; + data["InvestorID"] = task_data.InvestorID; + data["ExchangeInstID"] = task_data.ExchangeInstID; + data["TradeSource"] = task_data.TradeSource; + data["PriceSource"] = task_data.PriceSource; + data["TradingRole"] = task_data.TradingRole; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryTrade(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryInvestorPosition(Task task) +{ + CThostFtdcInvestorPositionField task_data = any_cast(task.task_data); + dict data; + data["ShortFrozenAmount"] = task_data.ShortFrozenAmount; + data["FrozenMargin"] = task_data.FrozenMargin; + data["HedgeFlag"] = task_data.HedgeFlag; + data["PositionProfit"] = task_data.PositionProfit; + data["Commission"] = task_data.Commission; + data["MarginRateByVolume"] = task_data.MarginRateByVolume; + data["StrikeFrozen"] = task_data.StrikeFrozen; + data["CombPosition"] = task_data.CombPosition; + data["CashIn"] = task_data.CashIn; + data["PreSettlementPrice"] = task_data.PreSettlementPrice; + data["CombLongFrozen"] = task_data.CombLongFrozen; + data["CloseAmount"] = task_data.CloseAmount; + data["PosiDirection"] = task_data.PosiDirection; + data["YdPosition"] = task_data.YdPosition; + data["MarginRateByMoney"] = task_data.MarginRateByMoney; + data["AbandonFrozen"] = task_data.AbandonFrozen; + data["OpenVolume"] = task_data.OpenVolume; + data["CloseVolume"] = task_data.CloseVolume; + data["ExchangeMargin"] = task_data.ExchangeMargin; + data["InstrumentID"] = task_data.InstrumentID; + data["PositionDate"] = task_data.PositionDate; + data["CloseProfitByTrade"] = task_data.CloseProfitByTrade; + data["PreMargin"] = task_data.PreMargin; + data["SettlementID"] = task_data.SettlementID; + data["ShortFrozen"] = task_data.ShortFrozen; + data["LongFrozen"] = task_data.LongFrozen; + data["TodayPosition"] = task_data.TodayPosition; + data["TradingDay"] = task_data.TradingDay; + data["PositionCost"] = task_data.PositionCost; + data["BrokerID"] = task_data.BrokerID; + data["FrozenCash"] = task_data.FrozenCash; + data["OpenAmount"] = task_data.OpenAmount; + data["OpenCost"] = task_data.OpenCost; + data["Position"] = task_data.Position; + data["FrozenCommission"] = task_data.FrozenCommission; + data["CombShortFrozen"] = task_data.CombShortFrozen; + data["OptionValue"] = task_data.OptionValue; + data["CloseProfitByDate"] = task_data.CloseProfitByDate; + data["SettlementPrice"] = task_data.SettlementPrice; + data["LongFrozenAmount"] = task_data.LongFrozenAmount; + data["InvestorID"] = task_data.InvestorID; + data["StrikeFrozenAmount"] = task_data.StrikeFrozenAmount; + data["CloseProfit"] = task_data.CloseProfit; + data["UseMargin"] = task_data.UseMargin; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryInvestorPosition(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryTradingAccount(Task task) +{ + CThostFtdcTradingAccountField task_data = any_cast(task.task_data); + dict data; + data["SpecProductFrozenCommission"] = task_data.SpecProductFrozenCommission; + data["FundMortgageOut"] = task_data.FundMortgageOut; + data["Mortgage"] = task_data.Mortgage; + data["ExchangeDeliveryMargin"] = task_data.ExchangeDeliveryMargin; + data["FrozenMargin"] = task_data.FrozenMargin; + data["WithdrawQuota"] = task_data.WithdrawQuota; + data["PositionProfit"] = task_data.PositionProfit; + data["Commission"] = task_data.Commission; + data["SpecProductCloseProfit"] = task_data.SpecProductCloseProfit; + data["Interest"] = task_data.Interest; + data["SpecProductCommission"] = task_data.SpecProductCommission; + data["CashIn"] = task_data.CashIn; + data["AccountID"] = task_data.AccountID; + data["Available"] = task_data.Available; + data["FundMortgageAvailable"] = task_data.FundMortgageAvailable; + data["OptionCloseProfit"] = task_data.OptionCloseProfit; + data["PreCredit"] = task_data.PreCredit; + data["PreMortgage"] = task_data.PreMortgage; + data["InterestBase"] = task_data.InterestBase; + data["ExchangeMargin"] = task_data.ExchangeMargin; + data["MortgageableFund"] = task_data.MortgageableFund; + data["PreFundMortgageIn"] = task_data.PreFundMortgageIn; + data["PreMargin"] = task_data.PreMargin; + data["SettlementID"] = task_data.SettlementID; + data["FundMortgageIn"] = task_data.FundMortgageIn; + data["DeliveryMargin"] = task_data.DeliveryMargin; + data["SpecProductFrozenMargin"] = task_data.SpecProductFrozenMargin; + data["TradingDay"] = task_data.TradingDay; + data["BrokerID"] = task_data.BrokerID; + data["FrozenCash"] = task_data.FrozenCash; + data["Withdraw"] = task_data.Withdraw; + data["OptionValue"] = task_data.OptionValue; + data["Balance"] = task_data.Balance; + data["SpecProductMargin"] = task_data.SpecProductMargin; + data["SpecProductPositionProfitByAlg"] = task_data.SpecProductPositionProfitByAlg; + data["Reserve"] = task_data.Reserve; + data["PreDeposit"] = task_data.PreDeposit; + data["Credit"] = task_data.Credit; + data["CurrencyID"] = task_data.CurrencyID; + data["ReserveBalance"] = task_data.ReserveBalance; + data["SpecProductPositionProfit"] = task_data.SpecProductPositionProfit; + data["SpecProductExchangeMargin"] = task_data.SpecProductExchangeMargin; + data["PreBalance"] = task_data.PreBalance; + data["CurrMargin"] = task_data.CurrMargin; + data["FrozenCommission"] = task_data.FrozenCommission; + data["CloseProfit"] = task_data.CloseProfit; + data["PreFundMortgageOut"] = task_data.PreFundMortgageOut; + data["Deposit"] = task_data.Deposit; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryTradingAccount(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryInvestor(Task task) +{ + CThostFtdcInvestorField task_data = any_cast(task.task_data); + dict data; + data["CommModelID"] = task_data.CommModelID; + data["InvestorName"] = task_data.InvestorName; + data["Mobile"] = task_data.Mobile; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["Telephone"] = task_data.Telephone; + data["MarginModelID"] = task_data.MarginModelID; + data["InvestorID"] = task_data.InvestorID; + data["BrokerID"] = task_data.BrokerID; + data["Address"] = task_data.Address; + data["InvestorGroupID"] = task_data.InvestorGroupID; + data["OpenDate"] = task_data.OpenDate; + data["IsActive"] = task_data.IsActive; + data["IdentifiedCardType"] = task_data.IdentifiedCardType; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryInvestor(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryTradingCode(Task task) +{ + CThostFtdcTradingCodeField task_data = any_cast(task.task_data); + dict data; + data["ExchangeID"] = task_data.ExchangeID; + data["ClientID"] = task_data.ClientID; + data["InvestorID"] = task_data.InvestorID; + data["BrokerID"] = task_data.BrokerID; + data["ClientIDType"] = task_data.ClientIDType; + data["IsActive"] = task_data.IsActive; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryTradingCode(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryInstrumentMarginRate(Task task) +{ + CThostFtdcInstrumentMarginRateField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["ShortMarginRatioByMoney"] = task_data.ShortMarginRatioByMoney; + data["LongMarginRatioByMoney"] = task_data.LongMarginRatioByMoney; + data["IsRelative"] = task_data.IsRelative; + data["HedgeFlag"] = task_data.HedgeFlag; + data["InvestorID"] = task_data.InvestorID; + data["BrokerID"] = task_data.BrokerID; + data["InvestorRange"] = task_data.InvestorRange; + data["ShortMarginRatioByVolume"] = task_data.ShortMarginRatioByVolume; + data["LongMarginRatioByVolume"] = task_data.LongMarginRatioByVolume; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryInstrumentMarginRate(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryInstrumentCommissionRate(Task task) +{ + CThostFtdcInstrumentCommissionRateField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["OpenRatioByMoney"] = task_data.OpenRatioByMoney; + data["CloseRatioByVolume"] = task_data.CloseRatioByVolume; + data["CloseTodayRatioByMoney"] = task_data.CloseTodayRatioByMoney; + data["InvestorID"] = task_data.InvestorID; + data["BrokerID"] = task_data.BrokerID; + data["InvestorRange"] = task_data.InvestorRange; + data["CloseRatioByMoney"] = task_data.CloseRatioByMoney; + data["OpenRatioByVolume"] = task_data.OpenRatioByVolume; + data["CloseTodayRatioByVolume"] = task_data.CloseTodayRatioByVolume; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryInstrumentCommissionRate(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryExchange(Task task) +{ + CThostFtdcExchangeField task_data = any_cast(task.task_data); + dict data; + data["ExchangeProperty"] = task_data.ExchangeProperty; + data["ExchangeID"] = task_data.ExchangeID; + data["ExchangeName"] = task_data.ExchangeName; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryExchange(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryProduct(Task task) +{ + CThostFtdcProductField task_data = any_cast(task.task_data); + dict data; + data["MaxLimitOrderVolume"] = task_data.MaxLimitOrderVolume; + data["ExchangeID"] = task_data.ExchangeID; + data["MortgageFundUseRange"] = task_data.MortgageFundUseRange; + data["PositionDateType"] = task_data.PositionDateType; + data["MinLimitOrderVolume"] = task_data.MinLimitOrderVolume; + data["CloseDealType"] = task_data.CloseDealType; + data["MaxMarketOrderVolume"] = task_data.MaxMarketOrderVolume; + data["PriceTick"] = task_data.PriceTick; + data["ProductName"] = task_data.ProductName; + data["ExchangeProductID"] = task_data.ExchangeProductID; + data["VolumeMultiple"] = task_data.VolumeMultiple; + data["PositionType"] = task_data.PositionType; + data["MinMarketOrderVolume"] = task_data.MinMarketOrderVolume; + data["ProductClass"] = task_data.ProductClass; + data["UnderlyingMultiple"] = task_data.UnderlyingMultiple; + data["TradeCurrencyID"] = task_data.TradeCurrencyID; + data["ProductID"] = task_data.ProductID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryProduct(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryInstrument(Task task) +{ + CThostFtdcInstrumentField task_data = any_cast(task.task_data); + dict data; + data["IsTrading"] = task_data.IsTrading; + data["ExpireDate"] = task_data.ExpireDate; + data["PositionDateType"] = task_data.PositionDateType; + data["LongMarginRatio"] = task_data.LongMarginRatio; + data["StrikePrice"] = task_data.StrikePrice; + data["UnderlyingMultiple"] = task_data.UnderlyingMultiple; + data["PositionType"] = task_data.PositionType; + data["ProductClass"] = task_data.ProductClass; + data["InstrumentName"] = task_data.InstrumentName; + data["ShortMarginRatio"] = task_data.ShortMarginRatio; + data["VolumeMultiple"] = task_data.VolumeMultiple; + data["MaxMarginSideAlgorithm"] = task_data.MaxMarginSideAlgorithm; + data["DeliveryYear"] = task_data.DeliveryYear; + data["CombinationType"] = task_data.CombinationType; + data["CreateDate"] = task_data.CreateDate; + data["InstrumentID"] = task_data.InstrumentID; + data["MaxLimitOrderVolume"] = task_data.MaxLimitOrderVolume; + data["ExchangeID"] = task_data.ExchangeID; + data["MinLimitOrderVolume"] = task_data.MinLimitOrderVolume; + data["MaxMarketOrderVolume"] = task_data.MaxMarketOrderVolume; + data["OptionsType"] = task_data.OptionsType; + data["StartDelivDate"] = task_data.StartDelivDate; + data["DeliveryMonth"] = task_data.DeliveryMonth; + data["PriceTick"] = task_data.PriceTick; + data["InstLifePhase"] = task_data.InstLifePhase; + data["ExchangeInstID"] = task_data.ExchangeInstID; + data["MinMarketOrderVolume"] = task_data.MinMarketOrderVolume; + data["EndDelivDate"] = task_data.EndDelivDate; + data["UnderlyingInstrID"] = task_data.UnderlyingInstrID; + data["OpenDate"] = task_data.OpenDate; + data["ProductID"] = task_data.ProductID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryInstrument(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryDepthMarketData(Task task) +{ + CThostFtdcDepthMarketDataField task_data = any_cast(task.task_data); + dict data; + data["HighestPrice"] = task_data.HighestPrice; + data["BidPrice5"] = task_data.BidPrice5; + data["BidPrice4"] = task_data.BidPrice4; + data["BidPrice1"] = task_data.BidPrice1; + data["BidPrice3"] = task_data.BidPrice3; + data["BidPrice2"] = task_data.BidPrice2; + data["LowerLimitPrice"] = task_data.LowerLimitPrice; + data["OpenPrice"] = task_data.OpenPrice; + data["AskPrice5"] = task_data.AskPrice5; + data["AskPrice4"] = task_data.AskPrice4; + data["AskPrice3"] = task_data.AskPrice3; + data["PreClosePrice"] = task_data.PreClosePrice; + data["AskPrice1"] = task_data.AskPrice1; + data["PreSettlementPrice"] = task_data.PreSettlementPrice; + data["AskVolume1"] = task_data.AskVolume1; + data["UpdateTime"] = task_data.UpdateTime; + data["UpdateMillisec"] = task_data.UpdateMillisec; + data["AveragePrice"] = task_data.AveragePrice; + data["BidVolume5"] = task_data.BidVolume5; + data["BidVolume4"] = task_data.BidVolume4; + data["BidVolume3"] = task_data.BidVolume3; + data["BidVolume2"] = task_data.BidVolume2; + data["PreOpenInterest"] = task_data.PreOpenInterest; + data["AskPrice2"] = task_data.AskPrice2; + data["Volume"] = task_data.Volume; + data["AskVolume3"] = task_data.AskVolume3; + data["AskVolume2"] = task_data.AskVolume2; + data["AskVolume5"] = task_data.AskVolume5; + data["AskVolume4"] = task_data.AskVolume4; + data["UpperLimitPrice"] = task_data.UpperLimitPrice; + data["BidVolume1"] = task_data.BidVolume1; + data["InstrumentID"] = task_data.InstrumentID; + data["ClosePrice"] = task_data.ClosePrice; + data["ExchangeID"] = task_data.ExchangeID; + data["TradingDay"] = task_data.TradingDay; + data["PreDelta"] = task_data.PreDelta; + data["OpenInterest"] = task_data.OpenInterest; + data["CurrDelta"] = task_data.CurrDelta; + data["Turnover"] = task_data.Turnover; + data["LastPrice"] = task_data.LastPrice; + data["SettlementPrice"] = task_data.SettlementPrice; + data["ExchangeInstID"] = task_data.ExchangeInstID; + data["LowestPrice"] = task_data.LowestPrice; + data["ActionDay"] = task_data.ActionDay; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryDepthMarketData(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQrySettlementInfo(Task task) +{ + CThostFtdcSettlementInfoField task_data = any_cast(task.task_data); + dict data; + data["SettlementID"] = task_data.SettlementID; + data["InvestorID"] = task_data.InvestorID; + data["SequenceNo"] = task_data.SequenceNo; + data["Content"] = task_data.Content; + data["TradingDay"] = task_data.TradingDay; + data["BrokerID"] = task_data.BrokerID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQrySettlementInfo(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryTransferBank(Task task) +{ + CThostFtdcTransferBankField task_data = any_cast(task.task_data); + dict data; + data["BankName"] = task_data.BankName; + data["IsActive"] = task_data.IsActive; + data["BankBrchID"] = task_data.BankBrchID; + data["BankID"] = task_data.BankID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryTransferBank(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryInvestorPositionDetail(Task task) +{ + CThostFtdcInvestorPositionDetailField task_data = any_cast(task.task_data); + dict data; + data["PositionProfitByDate"] = task_data.PositionProfitByDate; + data["ExchMargin"] = task_data.ExchMargin; + data["TradeType"] = task_data.TradeType; + data["MarginRateByMoney"] = task_data.MarginRateByMoney; + data["HedgeFlag"] = task_data.HedgeFlag; + data["MarginRateByVolume"] = task_data.MarginRateByVolume; + data["Direction"] = task_data.Direction; + data["CloseAmount"] = task_data.CloseAmount; + data["OpenPrice"] = task_data.OpenPrice; + data["Volume"] = task_data.Volume; + data["LastSettlementPrice"] = task_data.LastSettlementPrice; + data["CloseVolume"] = task_data.CloseVolume; + data["InstrumentID"] = task_data.InstrumentID; + data["ExchangeID"] = task_data.ExchangeID; + data["CloseProfitByTrade"] = task_data.CloseProfitByTrade; + data["SettlementID"] = task_data.SettlementID; + data["TradingDay"] = task_data.TradingDay; + data["BrokerID"] = task_data.BrokerID; + data["Margin"] = task_data.Margin; + data["TradeID"] = task_data.TradeID; + data["PositionProfitByTrade"] = task_data.PositionProfitByTrade; + data["CloseProfitByDate"] = task_data.CloseProfitByDate; + data["SettlementPrice"] = task_data.SettlementPrice; + data["InvestorID"] = task_data.InvestorID; + data["CombInstrumentID"] = task_data.CombInstrumentID; + data["OpenDate"] = task_data.OpenDate; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryInvestorPositionDetail(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryNotice(Task task) +{ + CThostFtdcNoticeField task_data = any_cast(task.task_data); + dict data; + data["Content"] = task_data.Content; + data["SequenceLabel"] = task_data.SequenceLabel; + data["BrokerID"] = task_data.BrokerID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryNotice(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQrySettlementInfoConfirm(Task task) +{ + CThostFtdcSettlementInfoConfirmField task_data = any_cast(task.task_data); + dict data; + data["ConfirmTime"] = task_data.ConfirmTime; + data["InvestorID"] = task_data.InvestorID; + data["BrokerID"] = task_data.BrokerID; + data["ConfirmDate"] = task_data.ConfirmDate; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQrySettlementInfoConfirm(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryInvestorPositionCombineDetail(Task task) +{ + CThostFtdcInvestorPositionCombineDetailField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["TradeGroupID"] = task_data.TradeGroupID; + data["ExchangeID"] = task_data.ExchangeID; + data["MarginRateByVolume"] = task_data.MarginRateByVolume; + data["ComTradeID"] = task_data.ComTradeID; + data["SettlementID"] = task_data.SettlementID; + data["InvestorID"] = task_data.InvestorID; + data["TotalAmt"] = task_data.TotalAmt; + data["Margin"] = task_data.Margin; + data["ExchMargin"] = task_data.ExchMargin; + data["LegMultiple"] = task_data.LegMultiple; + data["HedgeFlag"] = task_data.HedgeFlag; + data["TradeID"] = task_data.TradeID; + data["LegID"] = task_data.LegID; + data["TradingDay"] = task_data.TradingDay; + data["MarginRateByMoney"] = task_data.MarginRateByMoney; + data["Direction"] = task_data.Direction; + data["BrokerID"] = task_data.BrokerID; + data["CombInstrumentID"] = task_data.CombInstrumentID; + data["OpenDate"] = task_data.OpenDate; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryInvestorPositionCombineDetail(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryCFMMCTradingAccountKey(Task task) +{ + CThostFtdcCFMMCTradingAccountKeyField task_data = any_cast(task.task_data); + dict data; + data["KeyID"] = task_data.KeyID; + data["BrokerID"] = task_data.BrokerID; + data["ParticipantID"] = task_data.ParticipantID; + data["CurrentKey"] = task_data.CurrentKey; + data["AccountID"] = task_data.AccountID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryCFMMCTradingAccountKey(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryEWarrantOffset(Task task) +{ + CThostFtdcEWarrantOffsetField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["ExchangeID"] = task_data.ExchangeID; + data["InvestorID"] = task_data.InvestorID; + data["HedgeFlag"] = task_data.HedgeFlag; + data["Direction"] = task_data.Direction; + data["Volume"] = task_data.Volume; + data["TradingDay"] = task_data.TradingDay; + data["BrokerID"] = task_data.BrokerID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryEWarrantOffset(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryInvestorProductGroupMargin(Task task) +{ + CThostFtdcInvestorProductGroupMarginField task_data = any_cast(task.task_data); + dict data; + data["ExchMargin"] = task_data.ExchMargin; + data["ShortExchOffsetAmount"] = task_data.ShortExchOffsetAmount; + data["FrozenMargin"] = task_data.FrozenMargin; + data["ShortFrozenMargin"] = task_data.ShortFrozenMargin; + data["HedgeFlag"] = task_data.HedgeFlag; + data["PositionProfit"] = task_data.PositionProfit; + data["Commission"] = task_data.Commission; + data["LongOffsetAmount"] = task_data.LongOffsetAmount; + data["CashIn"] = task_data.CashIn; + data["ShortUseMargin"] = task_data.ShortUseMargin; + data["ShortOffsetAmount"] = task_data.ShortOffsetAmount; + data["SettlementID"] = task_data.SettlementID; + data["LongExchOffsetAmount"] = task_data.LongExchOffsetAmount; + data["LongUseMargin"] = task_data.LongUseMargin; + data["TradingDay"] = task_data.TradingDay; + data["BrokerID"] = task_data.BrokerID; + data["FrozenCash"] = task_data.FrozenCash; + data["LongFrozenMargin"] = task_data.LongFrozenMargin; + data["ShortExchMargin"] = task_data.ShortExchMargin; + data["FrozenCommission"] = task_data.FrozenCommission; + data["ProductGroupID"] = task_data.ProductGroupID; + data["ExchOffsetAmount"] = task_data.ExchOffsetAmount; + data["InvestorID"] = task_data.InvestorID; + data["LongExchMargin"] = task_data.LongExchMargin; + data["CloseProfit"] = task_data.CloseProfit; + data["OffsetAmount"] = task_data.OffsetAmount; + data["UseMargin"] = task_data.UseMargin; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryInvestorProductGroupMargin(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryExchangeMarginRate(Task task) +{ + CThostFtdcExchangeMarginRateField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["ShortMarginRatioByMoney"] = task_data.ShortMarginRatioByMoney; + data["LongMarginRatioByMoney"] = task_data.LongMarginRatioByMoney; + data["HedgeFlag"] = task_data.HedgeFlag; + data["BrokerID"] = task_data.BrokerID; + data["ShortMarginRatioByVolume"] = task_data.ShortMarginRatioByVolume; + data["LongMarginRatioByVolume"] = task_data.LongMarginRatioByVolume; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryExchangeMarginRate(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryExchangeMarginRateAdjust(Task task) +{ + CThostFtdcExchangeMarginRateAdjustField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["ShortMarginRatioByMoney"] = task_data.ShortMarginRatioByMoney; + data["ExchLongMarginRatioByMoney"] = task_data.ExchLongMarginRatioByMoney; + data["ExchShortMarginRatioByMoney"] = task_data.ExchShortMarginRatioByMoney; + data["LongMarginRatioByMoney"] = task_data.LongMarginRatioByMoney; + data["ExchShortMarginRatioByVolume"] = task_data.ExchShortMarginRatioByVolume; + data["ExchLongMarginRatioByVolume"] = task_data.ExchLongMarginRatioByVolume; + data["NoShortMarginRatioByMoney"] = task_data.NoShortMarginRatioByMoney; + data["NoLongMarginRatioByMoney"] = task_data.NoLongMarginRatioByMoney; + data["HedgeFlag"] = task_data.HedgeFlag; + data["NoLongMarginRatioByVolume"] = task_data.NoLongMarginRatioByVolume; + data["NoShortMarginRatioByVolume"] = task_data.NoShortMarginRatioByVolume; + data["BrokerID"] = task_data.BrokerID; + data["ShortMarginRatioByVolume"] = task_data.ShortMarginRatioByVolume; + data["LongMarginRatioByVolume"] = task_data.LongMarginRatioByVolume; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryExchangeMarginRateAdjust(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryExchangeRate(Task task) +{ + CThostFtdcExchangeRateField task_data = any_cast(task.task_data); + dict data; + data["FromCurrencyID"] = task_data.FromCurrencyID; + data["FromCurrencyUnit"] = task_data.FromCurrencyUnit; + data["BrokerID"] = task_data.BrokerID; + data["ExchangeRate"] = task_data.ExchangeRate; + data["ToCurrencyID"] = task_data.ToCurrencyID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryExchangeRate(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQrySecAgentACIDMap(Task task) +{ + CThostFtdcSecAgentACIDMapField task_data = any_cast(task.task_data); + dict data; + data["CurrencyID"] = task_data.CurrencyID; + data["UserID"] = task_data.UserID; + data["BrokerSecAgentID"] = task_data.BrokerSecAgentID; + data["BrokerID"] = task_data.BrokerID; + data["AccountID"] = task_data.AccountID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQrySecAgentACIDMap(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryOptionInstrTradeCost(Task task) +{ + CThostFtdcOptionInstrTradeCostField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["ExchMiniMargin"] = task_data.ExchMiniMargin; + data["HedgeFlag"] = task_data.HedgeFlag; + data["InvestorID"] = task_data.InvestorID; + data["Royalty"] = task_data.Royalty; + data["BrokerID"] = task_data.BrokerID; + data["MiniMargin"] = task_data.MiniMargin; + data["ExchFixedMargin"] = task_data.ExchFixedMargin; + data["FixedMargin"] = task_data.FixedMargin; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryOptionInstrTradeCost(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryOptionInstrCommRate(Task task) +{ + CThostFtdcOptionInstrCommRateField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["OpenRatioByMoney"] = task_data.OpenRatioByMoney; + data["StrikeRatioByMoney"] = task_data.StrikeRatioByMoney; + data["CloseRatioByVolume"] = task_data.CloseRatioByVolume; + data["CloseTodayRatioByMoney"] = task_data.CloseTodayRatioByMoney; + data["InvestorID"] = task_data.InvestorID; + data["BrokerID"] = task_data.BrokerID; + data["InvestorRange"] = task_data.InvestorRange; + data["CloseRatioByMoney"] = task_data.CloseRatioByMoney; + data["OpenRatioByVolume"] = task_data.OpenRatioByVolume; + data["StrikeRatioByVolume"] = task_data.StrikeRatioByVolume; + data["CloseTodayRatioByVolume"] = task_data.CloseTodayRatioByVolume; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryOptionInstrCommRate(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryExecOrder(Task task) +{ + CThostFtdcExecOrderField task_data = any_cast(task.task_data); + dict data; + data["NotifySequence"] = task_data.NotifySequence; + data["CloseFlag"] = task_data.CloseFlag; + data["ActiveUserID"] = task_data.ActiveUserID; + data["UserProductInfo"] = task_data.UserProductInfo; + data["TraderID"] = task_data.TraderID; + data["HedgeFlag"] = task_data.HedgeFlag; + data["ExecResult"] = task_data.ExecResult; + data["ReservePositionFlag"] = task_data.ReservePositionFlag; + data["Volume"] = task_data.Volume; + data["InstallID"] = task_data.InstallID; + data["OffsetFlag"] = task_data.OffsetFlag; + data["PosiDirection"] = task_data.PosiDirection; + data["ClientID"] = task_data.ClientID; + data["ExecOrderRef"] = task_data.ExecOrderRef; + data["SessionID"] = task_data.SessionID; + data["ActionType"] = task_data.ActionType; + data["OrderSubmitStatus"] = task_data.OrderSubmitStatus; + data["ClearingPartID"] = task_data.ClearingPartID; + data["InstrumentID"] = task_data.InstrumentID; + data["ExecOrderSysID"] = task_data.ExecOrderSysID; + data["ExchangeID"] = task_data.ExchangeID; + data["StatusMsg"] = task_data.StatusMsg; + data["SettlementID"] = task_data.SettlementID; + data["UserID"] = task_data.UserID; + data["TradingDay"] = task_data.TradingDay; + data["BrokerID"] = task_data.BrokerID; + data["InsertTime"] = task_data.InsertTime; + data["ExecOrderLocalID"] = task_data.ExecOrderLocalID; + data["ParticipantID"] = task_data.ParticipantID; + data["CancelTime"] = task_data.CancelTime; + data["BusinessUnit"] = task_data.BusinessUnit; + data["InsertDate"] = task_data.InsertDate; + data["SequenceNo"] = task_data.SequenceNo; + data["InvestorID"] = task_data.InvestorID; + data["ExchangeInstID"] = task_data.ExchangeInstID; + data["RequestID"] = task_data.RequestID; + data["BrokerExecOrderSeq"] = task_data.BrokerExecOrderSeq; + data["FrontID"] = task_data.FrontID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryExecOrder(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryForQuote(Task task) +{ + CThostFtdcForQuoteField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["ForQuoteRef"] = task_data.ForQuoteRef; + data["ExchangeID"] = task_data.ExchangeID; + data["InstallID"] = task_data.InstallID; + data["ForQuoteLocalID"] = task_data.ForQuoteLocalID; + data["ParticipantID"] = task_data.ParticipantID; + data["ActiveUserID"] = task_data.ActiveUserID; + data["InsertDate"] = task_data.InsertDate; + data["TraderID"] = task_data.TraderID; + data["UserID"] = task_data.UserID; + data["SessionID"] = task_data.SessionID; + data["ClientID"] = task_data.ClientID; + data["StatusMsg"] = task_data.StatusMsg; + data["InvestorID"] = task_data.InvestorID; + data["ExchangeInstID"] = task_data.ExchangeInstID; + data["BrokerID"] = task_data.BrokerID; + data["InsertTime"] = task_data.InsertTime; + data["ForQuoteStatus"] = task_data.ForQuoteStatus; + data["FrontID"] = task_data.FrontID; + data["BrokerForQutoSeq"] = task_data.BrokerForQutoSeq; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryForQuote(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryQuote(Task task) +{ + CThostFtdcQuoteField task_data = any_cast(task.task_data); + dict data; + data["NotifySequence"] = task_data.NotifySequence; + data["AskHedgeFlag"] = task_data.AskHedgeFlag; + data["BidOrderSysID"] = task_data.BidOrderSysID; + data["TraderID"] = task_data.TraderID; + data["UserID"] = task_data.UserID; + data["AskVolume"] = task_data.AskVolume; + data["ActiveUserID"] = task_data.ActiveUserID; + data["BidHedgeFlag"] = task_data.BidHedgeFlag; + data["QuoteRef"] = task_data.QuoteRef; + data["AskOrderSysID"] = task_data.AskOrderSysID; + data["InstallID"] = task_data.InstallID; + data["ParticipantID"] = task_data.ParticipantID; + data["UserProductInfo"] = task_data.UserProductInfo; + data["AskOffsetFlag"] = task_data.AskOffsetFlag; + data["ClientID"] = task_data.ClientID; + data["SessionID"] = task_data.SessionID; + data["BidOffsetFlag"] = task_data.BidOffsetFlag; + data["BidPrice"] = task_data.BidPrice; + data["OrderSubmitStatus"] = task_data.OrderSubmitStatus; + data["InstrumentID"] = task_data.InstrumentID; + data["QuoteStatus"] = task_data.QuoteStatus; + data["ExchangeID"] = task_data.ExchangeID; + data["StatusMsg"] = task_data.StatusMsg; + data["SettlementID"] = task_data.SettlementID; + data["QuoteLocalID"] = task_data.QuoteLocalID; + data["BidVolume"] = task_data.BidVolume; + data["TradingDay"] = task_data.TradingDay; + data["BrokerID"] = task_data.BrokerID; + data["InsertTime"] = task_data.InsertTime; + data["QuoteSysID"] = task_data.QuoteSysID; + data["ClearingPartID"] = task_data.ClearingPartID; + data["CancelTime"] = task_data.CancelTime; + data["BusinessUnit"] = task_data.BusinessUnit; + data["InsertDate"] = task_data.InsertDate; + data["AskPrice"] = task_data.AskPrice; + data["SequenceNo"] = task_data.SequenceNo; + data["InvestorID"] = task_data.InvestorID; + data["ExchangeInstID"] = task_data.ExchangeInstID; + data["RequestID"] = task_data.RequestID; + data["BrokerQuoteSeq"] = task_data.BrokerQuoteSeq; + data["FrontID"] = task_data.FrontID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryQuote(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryTransferSerial(Task task) +{ + CThostFtdcTransferSerialField task_data = any_cast(task.task_data); + dict data; + data["BankNewAccount"] = task_data.BankNewAccount; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["TradeTime"] = task_data.TradeTime; + data["OperatorCode"] = task_data.OperatorCode; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["BankID"] = task_data.BankID; + data["PlateSerial"] = task_data.PlateSerial; + data["FutureAccType"] = task_data.FutureAccType; + data["ErrorID"] = task_data.ErrorID; + data["BankSerial"] = task_data.BankSerial; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["TradingDay"] = task_data.TradingDay; + data["BrokerID"] = task_data.BrokerID; + data["IdCardType"] = task_data.IdCardType; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["BrokerFee"] = task_data.BrokerFee; + data["BankAccType"] = task_data.BankAccType; + data["FutureSerial"] = task_data.FutureSerial; + data["InvestorID"] = task_data.InvestorID; + data["ErrorMsg"] = task_data.ErrorMsg; + data["CustFee"] = task_data.CustFee; + data["TradeAmount"] = task_data.TradeAmount; + data["AvailabilityFlag"] = task_data.AvailabilityFlag; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryTransferSerial(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryAccountregister(Task task) +{ + CThostFtdcAccountregisterField task_data = any_cast(task.task_data); + dict data; + data["BankAccount"] = task_data.BankAccount; + data["CustType"] = task_data.CustType; + data["CustomerName"] = task_data.CustomerName; + data["CurrencyID"] = task_data.CurrencyID; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["OutDate"] = task_data.OutDate; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["BankBranchID"] = task_data.BankBranchID; + data["RegDate"] = task_data.RegDate; + data["BrokerID"] = task_data.BrokerID; + data["BankID"] = task_data.BankID; + data["TID"] = task_data.TID; + data["OpenOrDestroy"] = task_data.OpenOrDestroy; + data["IdCardType"] = task_data.IdCardType; + data["TradeDay"] = task_data.TradeDay; + data["BankAccType"] = task_data.BankAccType; + data["AccountID"] = task_data.AccountID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryAccountregister(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspError(Task task) +{ + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspError(error, task.task_id, task.task_last); +}; + +void TdApi::processRtnOrder(Task task) +{ + CThostFtdcOrderField task_data = any_cast(task.task_data); + dict data; + data["ContingentCondition"] = task_data.ContingentCondition; + data["NotifySequence"] = task_data.NotifySequence; + data["ActiveUserID"] = task_data.ActiveUserID; + data["VolumeTraded"] = task_data.VolumeTraded; + data["UserProductInfo"] = task_data.UserProductInfo; + data["CombOffsetFlag"] = task_data.CombOffsetFlag; + data["TraderID"] = task_data.TraderID; + data["UserID"] = task_data.UserID; + data["LimitPrice"] = task_data.LimitPrice; + data["UserForceClose"] = task_data.UserForceClose; + data["RelativeOrderSysID"] = task_data.RelativeOrderSysID; + data["Direction"] = task_data.Direction; + data["InstallID"] = task_data.InstallID; + data["IsSwapOrder"] = task_data.IsSwapOrder; + data["ParticipantID"] = task_data.ParticipantID; + data["VolumeTotalOriginal"] = task_data.VolumeTotalOriginal; + data["ExchangeInstID"] = task_data.ExchangeInstID; + data["ClientID"] = task_data.ClientID; + data["VolumeTotal"] = task_data.VolumeTotal; + data["OrderPriceType"] = task_data.OrderPriceType; + data["SessionID"] = task_data.SessionID; + data["TimeCondition"] = task_data.TimeCondition; + data["OrderStatus"] = task_data.OrderStatus; + data["OrderSysID"] = task_data.OrderSysID; + data["OrderSubmitStatus"] = task_data.OrderSubmitStatus; + data["IsAutoSuspend"] = task_data.IsAutoSuspend; + data["StopPrice"] = task_data.StopPrice; + data["InstrumentID"] = task_data.InstrumentID; + data["ExchangeID"] = task_data.ExchangeID; + data["MinVolume"] = task_data.MinVolume; + data["StatusMsg"] = task_data.StatusMsg; + data["SettlementID"] = task_data.SettlementID; + data["ForceCloseReason"] = task_data.ForceCloseReason; + data["OrderType"] = task_data.OrderType; + data["UpdateTime"] = task_data.UpdateTime; + data["TradingDay"] = task_data.TradingDay; + data["ActiveTime"] = task_data.ActiveTime; + data["BrokerID"] = task_data.BrokerID; + data["InsertTime"] = task_data.InsertTime; + data["FrontID"] = task_data.FrontID; + data["SuspendTime"] = task_data.SuspendTime; + data["ClearingPartID"] = task_data.ClearingPartID; + data["CombHedgeFlag"] = task_data.CombHedgeFlag; + data["CancelTime"] = task_data.CancelTime; + data["GTDDate"] = task_data.GTDDate; + data["OrderLocalID"] = task_data.OrderLocalID; + data["BusinessUnit"] = task_data.BusinessUnit; + data["InsertDate"] = task_data.InsertDate; + data["SequenceNo"] = task_data.SequenceNo; + data["OrderRef"] = task_data.OrderRef; + data["BrokerOrderSeq"] = task_data.BrokerOrderSeq; + data["InvestorID"] = task_data.InvestorID; + data["VolumeCondition"] = task_data.VolumeCondition; + data["RequestID"] = task_data.RequestID; + data["OrderSource"] = task_data.OrderSource; + data["ZCETotalTradedVolume"] = task_data.ZCETotalTradedVolume; + data["ActiveTraderID"] = task_data.ActiveTraderID; + + this->onRtnOrder(data); +}; + +void TdApi::processRtnTrade(Task task) +{ + CThostFtdcTradeField task_data = any_cast(task.task_data); + dict data; + data["TradeType"] = task_data.TradeType; + data["TraderID"] = task_data.TraderID; + data["HedgeFlag"] = task_data.HedgeFlag; + data["TradeTime"] = task_data.TradeTime; + data["Direction"] = task_data.Direction; + data["ParticipantID"] = task_data.ParticipantID; + data["Price"] = task_data.Price; + data["ClientID"] = task_data.ClientID; + data["Volume"] = task_data.Volume; + data["OrderSysID"] = task_data.OrderSysID; + data["ClearingPartID"] = task_data.ClearingPartID; + data["InstrumentID"] = task_data.InstrumentID; + data["ExchangeID"] = task_data.ExchangeID; + data["SettlementID"] = task_data.SettlementID; + data["UserID"] = task_data.UserID; + data["TradingDay"] = task_data.TradingDay; + data["BrokerID"] = task_data.BrokerID; + data["OffsetFlag"] = task_data.OffsetFlag; + data["OrderLocalID"] = task_data.OrderLocalID; + data["TradeID"] = task_data.TradeID; + data["TradeDate"] = task_data.TradeDate; + data["BusinessUnit"] = task_data.BusinessUnit; + data["SequenceNo"] = task_data.SequenceNo; + data["OrderRef"] = task_data.OrderRef; + data["BrokerOrderSeq"] = task_data.BrokerOrderSeq; + data["InvestorID"] = task_data.InvestorID; + data["ExchangeInstID"] = task_data.ExchangeInstID; + data["TradeSource"] = task_data.TradeSource; + data["PriceSource"] = task_data.PriceSource; + data["TradingRole"] = task_data.TradingRole; + + this->onRtnTrade(data); +}; + +void TdApi::processErrRtnOrderInsert(Task task) +{ + CThostFtdcInputOrderField task_data = any_cast(task.task_data); + dict data; + data["ContingentCondition"] = task_data.ContingentCondition; + data["CombOffsetFlag"] = task_data.CombOffsetFlag; + data["UserID"] = task_data.UserID; + data["LimitPrice"] = task_data.LimitPrice; + data["UserForceClose"] = task_data.UserForceClose; + data["Direction"] = task_data.Direction; + data["IsSwapOrder"] = task_data.IsSwapOrder; + data["VolumeTotalOriginal"] = task_data.VolumeTotalOriginal; + data["OrderPriceType"] = task_data.OrderPriceType; + data["TimeCondition"] = task_data.TimeCondition; + data["IsAutoSuspend"] = task_data.IsAutoSuspend; + data["StopPrice"] = task_data.StopPrice; + data["InstrumentID"] = task_data.InstrumentID; + data["MinVolume"] = task_data.MinVolume; + data["ForceCloseReason"] = task_data.ForceCloseReason; + data["BrokerID"] = task_data.BrokerID; + data["CombHedgeFlag"] = task_data.CombHedgeFlag; + data["GTDDate"] = task_data.GTDDate; + data["BusinessUnit"] = task_data.BusinessUnit; + data["OrderRef"] = task_data.OrderRef; + data["InvestorID"] = task_data.InvestorID; + data["VolumeCondition"] = task_data.VolumeCondition; + data["RequestID"] = task_data.RequestID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onErrRtnOrderInsert(data, error); +}; + +void TdApi::processErrRtnOrderAction(Task task) +{ + CThostFtdcOrderActionField task_data = any_cast(task.task_data); + dict data; + data["ActionTime"] = task_data.ActionTime; + data["InvestorID"] = task_data.InvestorID; + data["TraderID"] = task_data.TraderID; + data["UserID"] = task_data.UserID; + data["LimitPrice"] = task_data.LimitPrice; + data["OrderActionStatus"] = task_data.OrderActionStatus; + data["InstallID"] = task_data.InstallID; + data["ParticipantID"] = task_data.ParticipantID; + data["OrderActionRef"] = task_data.OrderActionRef; + data["VolumeChange"] = task_data.VolumeChange; + data["SessionID"] = task_data.SessionID; + data["ActionFlag"] = task_data.ActionFlag; + data["InstrumentID"] = task_data.InstrumentID; + data["ExchangeID"] = task_data.ExchangeID; + data["StatusMsg"] = task_data.StatusMsg; + data["OrderSysID"] = task_data.OrderSysID; + data["BrokerID"] = task_data.BrokerID; + data["ClientID"] = task_data.ClientID; + data["ActionDate"] = task_data.ActionDate; + data["OrderLocalID"] = task_data.OrderLocalID; + data["BusinessUnit"] = task_data.BusinessUnit; + data["OrderRef"] = task_data.OrderRef; + data["ActionLocalID"] = task_data.ActionLocalID; + data["RequestID"] = task_data.RequestID; + data["FrontID"] = task_data.FrontID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onErrRtnOrderAction(data, error); +}; + +void TdApi::processRtnInstrumentStatus(Task task) +{ + CThostFtdcInstrumentStatusField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["ExchangeID"] = task_data.ExchangeID; + data["EnterTime"] = task_data.EnterTime; + data["SettlementGroupID"] = task_data.SettlementGroupID; + data["TradingSegmentSN"] = task_data.TradingSegmentSN; + data["EnterReason"] = task_data.EnterReason; + data["InstrumentStatus"] = task_data.InstrumentStatus; + data["ExchangeInstID"] = task_data.ExchangeInstID; + + this->onRtnInstrumentStatus(data); +}; + +void TdApi::processRtnTradingNotice(Task task) +{ + CThostFtdcTradingNoticeInfoField task_data = any_cast(task.task_data); + dict data; + data["SequenceSeries"] = task_data.SequenceSeries; + data["SequenceNo"] = task_data.SequenceNo; + data["FieldContent"] = task_data.FieldContent; + data["InvestorID"] = task_data.InvestorID; + data["BrokerID"] = task_data.BrokerID; + data["SendTime"] = task_data.SendTime; + + this->onRtnTradingNotice(data); +}; + +void TdApi::processRtnErrorConditionalOrder(Task task) +{ + CThostFtdcErrorConditionalOrderField task_data = any_cast(task.task_data); + dict data; + data["ContingentCondition"] = task_data.ContingentCondition; + data["NotifySequence"] = task_data.NotifySequence; + data["ActiveUserID"] = task_data.ActiveUserID; + data["VolumeTraded"] = task_data.VolumeTraded; + data["UserProductInfo"] = task_data.UserProductInfo; + data["CombOffsetFlag"] = task_data.CombOffsetFlag; + data["TraderID"] = task_data.TraderID; + data["UserID"] = task_data.UserID; + data["LimitPrice"] = task_data.LimitPrice; + data["UserForceClose"] = task_data.UserForceClose; + data["RelativeOrderSysID"] = task_data.RelativeOrderSysID; + data["Direction"] = task_data.Direction; + data["InstallID"] = task_data.InstallID; + data["IsSwapOrder"] = task_data.IsSwapOrder; + data["ParticipantID"] = task_data.ParticipantID; + data["VolumeTotalOriginal"] = task_data.VolumeTotalOriginal; + data["ExchangeInstID"] = task_data.ExchangeInstID; + data["ClientID"] = task_data.ClientID; + data["VolumeTotal"] = task_data.VolumeTotal; + data["OrderPriceType"] = task_data.OrderPriceType; + data["SessionID"] = task_data.SessionID; + data["TimeCondition"] = task_data.TimeCondition; + data["OrderStatus"] = task_data.OrderStatus; + data["OrderSysID"] = task_data.OrderSysID; + data["OrderSubmitStatus"] = task_data.OrderSubmitStatus; + data["IsAutoSuspend"] = task_data.IsAutoSuspend; + data["StopPrice"] = task_data.StopPrice; + data["InstrumentID"] = task_data.InstrumentID; + data["ExchangeID"] = task_data.ExchangeID; + data["MinVolume"] = task_data.MinVolume; + data["StatusMsg"] = task_data.StatusMsg; + data["SettlementID"] = task_data.SettlementID; + data["ForceCloseReason"] = task_data.ForceCloseReason; + data["OrderType"] = task_data.OrderType; + data["ErrorID"] = task_data.ErrorID; + data["UpdateTime"] = task_data.UpdateTime; + data["TradingDay"] = task_data.TradingDay; + data["ActiveTime"] = task_data.ActiveTime; + data["BrokerID"] = task_data.BrokerID; + data["InsertTime"] = task_data.InsertTime; + data["FrontID"] = task_data.FrontID; + data["SuspendTime"] = task_data.SuspendTime; + data["ClearingPartID"] = task_data.ClearingPartID; + data["CombHedgeFlag"] = task_data.CombHedgeFlag; + data["CancelTime"] = task_data.CancelTime; + data["GTDDate"] = task_data.GTDDate; + data["OrderLocalID"] = task_data.OrderLocalID; + data["BusinessUnit"] = task_data.BusinessUnit; + data["InsertDate"] = task_data.InsertDate; + data["SequenceNo"] = task_data.SequenceNo; + data["OrderRef"] = task_data.OrderRef; + data["BrokerOrderSeq"] = task_data.BrokerOrderSeq; + data["InvestorID"] = task_data.InvestorID; + data["VolumeCondition"] = task_data.VolumeCondition; + data["RequestID"] = task_data.RequestID; + data["ErrorMsg"] = task_data.ErrorMsg; + data["OrderSource"] = task_data.OrderSource; + data["ZCETotalTradedVolume"] = task_data.ZCETotalTradedVolume; + data["ActiveTraderID"] = task_data.ActiveTraderID; + + this->onRtnErrorConditionalOrder(data); +}; + +void TdApi::processRtnExecOrder(Task task) +{ + CThostFtdcExecOrderField task_data = any_cast(task.task_data); + dict data; + data["NotifySequence"] = task_data.NotifySequence; + data["CloseFlag"] = task_data.CloseFlag; + data["ActiveUserID"] = task_data.ActiveUserID; + data["UserProductInfo"] = task_data.UserProductInfo; + data["TraderID"] = task_data.TraderID; + data["HedgeFlag"] = task_data.HedgeFlag; + data["ExecResult"] = task_data.ExecResult; + data["ReservePositionFlag"] = task_data.ReservePositionFlag; + data["Volume"] = task_data.Volume; + data["InstallID"] = task_data.InstallID; + data["OffsetFlag"] = task_data.OffsetFlag; + data["PosiDirection"] = task_data.PosiDirection; + data["ClientID"] = task_data.ClientID; + data["ExecOrderRef"] = task_data.ExecOrderRef; + data["SessionID"] = task_data.SessionID; + data["ActionType"] = task_data.ActionType; + data["OrderSubmitStatus"] = task_data.OrderSubmitStatus; + data["ClearingPartID"] = task_data.ClearingPartID; + data["InstrumentID"] = task_data.InstrumentID; + data["ExecOrderSysID"] = task_data.ExecOrderSysID; + data["ExchangeID"] = task_data.ExchangeID; + data["StatusMsg"] = task_data.StatusMsg; + data["SettlementID"] = task_data.SettlementID; + data["UserID"] = task_data.UserID; + data["TradingDay"] = task_data.TradingDay; + data["BrokerID"] = task_data.BrokerID; + data["InsertTime"] = task_data.InsertTime; + data["ExecOrderLocalID"] = task_data.ExecOrderLocalID; + data["ParticipantID"] = task_data.ParticipantID; + data["CancelTime"] = task_data.CancelTime; + data["BusinessUnit"] = task_data.BusinessUnit; + data["InsertDate"] = task_data.InsertDate; + data["SequenceNo"] = task_data.SequenceNo; + data["InvestorID"] = task_data.InvestorID; + data["ExchangeInstID"] = task_data.ExchangeInstID; + data["RequestID"] = task_data.RequestID; + data["BrokerExecOrderSeq"] = task_data.BrokerExecOrderSeq; + data["FrontID"] = task_data.FrontID; + + this->onRtnExecOrder(data); +}; + +void TdApi::processErrRtnExecOrderInsert(Task task) +{ + CThostFtdcInputExecOrderField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["ExecOrderRef"] = task_data.ExecOrderRef; + data["CloseFlag"] = task_data.CloseFlag; + data["OffsetFlag"] = task_data.OffsetFlag; + data["PosiDirection"] = task_data.PosiDirection; + data["BusinessUnit"] = task_data.BusinessUnit; + data["HedgeFlag"] = task_data.HedgeFlag; + data["UserID"] = task_data.UserID; + data["Volume"] = task_data.Volume; + data["InvestorID"] = task_data.InvestorID; + data["BrokerID"] = task_data.BrokerID; + data["RequestID"] = task_data.RequestID; + data["ActionType"] = task_data.ActionType; + data["ReservePositionFlag"] = task_data.ReservePositionFlag; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onErrRtnExecOrderInsert(data, error); +}; + +void TdApi::processErrRtnExecOrderAction(Task task) +{ + CThostFtdcExecOrderActionField task_data = any_cast(task.task_data); + dict data; + data["ActionTime"] = task_data.ActionTime; + data["TraderID"] = task_data.TraderID; + data["UserID"] = task_data.UserID; + data["OrderActionStatus"] = task_data.OrderActionStatus; + data["InstallID"] = task_data.InstallID; + data["ParticipantID"] = task_data.ParticipantID; + data["InvestorID"] = task_data.InvestorID; + data["ClientID"] = task_data.ClientID; + data["ExecOrderRef"] = task_data.ExecOrderRef; + data["SessionID"] = task_data.SessionID; + data["ActionType"] = task_data.ActionType; + data["ActionFlag"] = task_data.ActionFlag; + data["InstrumentID"] = task_data.InstrumentID; + data["ExecOrderSysID"] = task_data.ExecOrderSysID; + data["ExchangeID"] = task_data.ExchangeID; + data["StatusMsg"] = task_data.StatusMsg; + data["BrokerID"] = task_data.BrokerID; + data["ExecOrderLocalID"] = task_data.ExecOrderLocalID; + data["ActionDate"] = task_data.ActionDate; + data["BusinessUnit"] = task_data.BusinessUnit; + data["ActionLocalID"] = task_data.ActionLocalID; + data["RequestID"] = task_data.RequestID; + data["ExecOrderActionRef"] = task_data.ExecOrderActionRef; + data["FrontID"] = task_data.FrontID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onErrRtnExecOrderAction(data, error); +}; + +void TdApi::processErrRtnForQuoteInsert(Task task) +{ + CThostFtdcInputForQuoteField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["InvestorID"] = task_data.InvestorID; + data["BrokerID"] = task_data.BrokerID; + data["UserID"] = task_data.UserID; + data["ForQuoteRef"] = task_data.ForQuoteRef; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onErrRtnForQuoteInsert(data, error); +}; + +void TdApi::processRtnQuote(Task task) +{ + CThostFtdcQuoteField task_data = any_cast(task.task_data); + dict data; + data["NotifySequence"] = task_data.NotifySequence; + data["AskHedgeFlag"] = task_data.AskHedgeFlag; + data["BidOrderSysID"] = task_data.BidOrderSysID; + data["TraderID"] = task_data.TraderID; + data["UserID"] = task_data.UserID; + data["AskVolume"] = task_data.AskVolume; + data["ActiveUserID"] = task_data.ActiveUserID; + data["BidHedgeFlag"] = task_data.BidHedgeFlag; + data["QuoteRef"] = task_data.QuoteRef; + data["AskOrderSysID"] = task_data.AskOrderSysID; + data["InstallID"] = task_data.InstallID; + data["ParticipantID"] = task_data.ParticipantID; + data["UserProductInfo"] = task_data.UserProductInfo; + data["AskOffsetFlag"] = task_data.AskOffsetFlag; + data["ClientID"] = task_data.ClientID; + data["SessionID"] = task_data.SessionID; + data["BidOffsetFlag"] = task_data.BidOffsetFlag; + data["BidPrice"] = task_data.BidPrice; + data["OrderSubmitStatus"] = task_data.OrderSubmitStatus; + data["InstrumentID"] = task_data.InstrumentID; + data["QuoteStatus"] = task_data.QuoteStatus; + data["ExchangeID"] = task_data.ExchangeID; + data["StatusMsg"] = task_data.StatusMsg; + data["SettlementID"] = task_data.SettlementID; + data["QuoteLocalID"] = task_data.QuoteLocalID; + data["BidVolume"] = task_data.BidVolume; + data["TradingDay"] = task_data.TradingDay; + data["BrokerID"] = task_data.BrokerID; + data["InsertTime"] = task_data.InsertTime; + data["QuoteSysID"] = task_data.QuoteSysID; + data["ClearingPartID"] = task_data.ClearingPartID; + data["CancelTime"] = task_data.CancelTime; + data["BusinessUnit"] = task_data.BusinessUnit; + data["InsertDate"] = task_data.InsertDate; + data["AskPrice"] = task_data.AskPrice; + data["SequenceNo"] = task_data.SequenceNo; + data["InvestorID"] = task_data.InvestorID; + data["ExchangeInstID"] = task_data.ExchangeInstID; + data["RequestID"] = task_data.RequestID; + data["BrokerQuoteSeq"] = task_data.BrokerQuoteSeq; + data["FrontID"] = task_data.FrontID; + + this->onRtnQuote(data); +}; + +void TdApi::processErrRtnQuoteInsert(Task task) +{ + CThostFtdcInputQuoteField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["AskHedgeFlag"] = task_data.AskHedgeFlag; + data["BusinessUnit"] = task_data.BusinessUnit; + data["AskPrice"] = task_data.AskPrice; + data["UserID"] = task_data.UserID; + data["AskOffsetFlag"] = task_data.AskOffsetFlag; + data["BidVolume"] = task_data.BidVolume; + data["AskVolume"] = task_data.AskVolume; + data["InvestorID"] = task_data.InvestorID; + data["BidOffsetFlag"] = task_data.BidOffsetFlag; + data["BrokerID"] = task_data.BrokerID; + data["RequestID"] = task_data.RequestID; + data["BidPrice"] = task_data.BidPrice; + data["BidHedgeFlag"] = task_data.BidHedgeFlag; + data["QuoteRef"] = task_data.QuoteRef; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onErrRtnQuoteInsert(data, error); +}; + +void TdApi::processErrRtnQuoteAction(Task task) +{ + CThostFtdcQuoteActionField task_data = any_cast(task.task_data); + dict data; + data["ActionTime"] = task_data.ActionTime; + data["TraderID"] = task_data.TraderID; + data["UserID"] = task_data.UserID; + data["OrderActionStatus"] = task_data.OrderActionStatus; + data["QuoteRef"] = task_data.QuoteRef; + data["InstallID"] = task_data.InstallID; + data["ParticipantID"] = task_data.ParticipantID; + data["InvestorID"] = task_data.InvestorID; + data["ClientID"] = task_data.ClientID; + data["SessionID"] = task_data.SessionID; + data["ActionFlag"] = task_data.ActionFlag; + data["InstrumentID"] = task_data.InstrumentID; + data["ExchangeID"] = task_data.ExchangeID; + data["QuoteActionRef"] = task_data.QuoteActionRef; + data["StatusMsg"] = task_data.StatusMsg; + data["QuoteLocalID"] = task_data.QuoteLocalID; + data["BrokerID"] = task_data.BrokerID; + data["QuoteSysID"] = task_data.QuoteSysID; + data["ActionDate"] = task_data.ActionDate; + data["BusinessUnit"] = task_data.BusinessUnit; + data["ActionLocalID"] = task_data.ActionLocalID; + data["RequestID"] = task_data.RequestID; + data["FrontID"] = task_data.FrontID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onErrRtnQuoteAction(data, error); +}; + +void TdApi::processRtnForQuoteRsp(Task task) +{ + CThostFtdcForQuoteRspField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["TradingDay"] = task_data.TradingDay; + data["ForQuoteTime"] = task_data.ForQuoteTime; + data["ForQuoteSysID"] = task_data.ForQuoteSysID; + data["ActionDay"] = task_data.ActionDay; + + this->onRtnForQuoteRsp(data); +}; + +void TdApi::processRspQryContractBank(Task task) +{ + CThostFtdcContractBankField task_data = any_cast(task.task_data); + dict data; + data["BankName"] = task_data.BankName; + data["BrokerID"] = task_data.BrokerID; + data["BankBrchID"] = task_data.BankBrchID; + data["BankID"] = task_data.BankID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryContractBank(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryParkedOrder(Task task) +{ + CThostFtdcParkedOrderField task_data = any_cast(task.task_data); + dict data; + data["ContingentCondition"] = task_data.ContingentCondition; + data["CombOffsetFlag"] = task_data.CombOffsetFlag; + data["UserID"] = task_data.UserID; + data["LimitPrice"] = task_data.LimitPrice; + data["UserForceClose"] = task_data.UserForceClose; + data["Status"] = task_data.Status; + data["Direction"] = task_data.Direction; + data["IsSwapOrder"] = task_data.IsSwapOrder; + data["UserType"] = task_data.UserType; + data["VolumeTotalOriginal"] = task_data.VolumeTotalOriginal; + data["OrderPriceType"] = task_data.OrderPriceType; + data["TimeCondition"] = task_data.TimeCondition; + data["IsAutoSuspend"] = task_data.IsAutoSuspend; + data["StopPrice"] = task_data.StopPrice; + data["InstrumentID"] = task_data.InstrumentID; + data["ExchangeID"] = task_data.ExchangeID; + data["MinVolume"] = task_data.MinVolume; + data["ForceCloseReason"] = task_data.ForceCloseReason; + data["ErrorID"] = task_data.ErrorID; + data["ParkedOrderID"] = task_data.ParkedOrderID; + data["BrokerID"] = task_data.BrokerID; + data["CombHedgeFlag"] = task_data.CombHedgeFlag; + data["GTDDate"] = task_data.GTDDate; + data["BusinessUnit"] = task_data.BusinessUnit; + data["ErrorMsg"] = task_data.ErrorMsg; + data["OrderRef"] = task_data.OrderRef; + data["InvestorID"] = task_data.InvestorID; + data["VolumeCondition"] = task_data.VolumeCondition; + data["RequestID"] = task_data.RequestID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryParkedOrder(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryParkedOrderAction(Task task) +{ + CThostFtdcParkedOrderActionField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["Status"] = task_data.Status; + data["ExchangeID"] = task_data.ExchangeID; + data["ActionFlag"] = task_data.ActionFlag; + data["OrderActionRef"] = task_data.OrderActionRef; + data["UserType"] = task_data.UserType; + data["ErrorMsg"] = task_data.ErrorMsg; + data["UserID"] = task_data.UserID; + data["LimitPrice"] = task_data.LimitPrice; + data["OrderRef"] = task_data.OrderRef; + data["InvestorID"] = task_data.InvestorID; + data["SessionID"] = task_data.SessionID; + data["VolumeChange"] = task_data.VolumeChange; + data["BrokerID"] = task_data.BrokerID; + data["RequestID"] = task_data.RequestID; + data["OrderSysID"] = task_data.OrderSysID; + data["ParkedOrderActionID"] = task_data.ParkedOrderActionID; + data["FrontID"] = task_data.FrontID; + data["ErrorID"] = task_data.ErrorID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryParkedOrderAction(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryTradingNotice(Task task) +{ + CThostFtdcTradingNoticeField task_data = any_cast(task.task_data); + dict data; + data["SequenceSeries"] = task_data.SequenceSeries; + data["SequenceNo"] = task_data.SequenceNo; + data["UserID"] = task_data.UserID; + data["FieldContent"] = task_data.FieldContent; + data["InvestorID"] = task_data.InvestorID; + data["BrokerID"] = task_data.BrokerID; + data["SendTime"] = task_data.SendTime; + data["InvestorRange"] = task_data.InvestorRange; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryTradingNotice(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryBrokerTradingParams(Task task) +{ + CThostFtdcBrokerTradingParamsField task_data = any_cast(task.task_data); + dict data; + data["MarginPriceType"] = task_data.MarginPriceType; + data["Algorithm"] = task_data.Algorithm; + data["CurrencyID"] = task_data.CurrencyID; + data["OptionRoyaltyPriceType"] = task_data.OptionRoyaltyPriceType; + data["InvestorID"] = task_data.InvestorID; + data["BrokerID"] = task_data.BrokerID; + data["AvailIncludeCloseProfit"] = task_data.AvailIncludeCloseProfit; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryBrokerTradingParams(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQryBrokerTradingAlgos(Task task) +{ + CThostFtdcBrokerTradingAlgosField task_data = any_cast(task.task_data); + dict data; + data["InstrumentID"] = task_data.InstrumentID; + data["HandlePositionAlgoID"] = task_data.HandlePositionAlgoID; + data["ExchangeID"] = task_data.ExchangeID; + data["FindMarginRateAlgoID"] = task_data.FindMarginRateAlgoID; + data["BrokerID"] = task_data.BrokerID; + data["HandleTradingAccountAlgoID"] = task_data.HandleTradingAccountAlgoID; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQryBrokerTradingAlgos(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRtnFromBankToFutureByBank(Task task) +{ + CThostFtdcRspTransferField task_data = any_cast(task.task_data); + dict data; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["UserID"] = task_data.UserID; + data["BankPassWord"] = task_data.BankPassWord; + data["TradeTime"] = task_data.TradeTime; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["InstallID"] = task_data.InstallID; + data["CustomerName"] = task_data.CustomerName; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["BankID"] = task_data.BankID; + data["Password"] = task_data.Password; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["ErrorID"] = task_data.ErrorID; + data["RequestID"] = task_data.RequestID; + data["CustType"] = task_data.CustType; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["FeePayFlag"] = task_data.FeePayFlag; + data["BankSerial"] = task_data.BankSerial; + data["OperNo"] = task_data.OperNo; + data["TradingDay"] = task_data.TradingDay; + data["BankSecuAcc"] = task_data.BankSecuAcc; + data["BrokerID"] = task_data.BrokerID; + data["DeviceID"] = task_data.DeviceID; + data["TransferStatus"] = task_data.TransferStatus; + data["IdCardType"] = task_data.IdCardType; + data["PlateSerial"] = task_data.PlateSerial; + data["FutureFetchAmount"] = task_data.FutureFetchAmount; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["BrokerFee"] = task_data.BrokerFee; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["FutureSerial"] = task_data.FutureSerial; + data["ErrorMsg"] = task_data.ErrorMsg; + data["BankSecuAccType"] = task_data.BankSecuAccType; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["Message"] = task_data.Message; + data["CustFee"] = task_data.CustFee; + data["TradeAmount"] = task_data.TradeAmount; + data["Digest"] = task_data.Digest; + + this->onRtnFromBankToFutureByBank(data); +}; + +void TdApi::processRtnFromFutureToBankByBank(Task task) +{ + CThostFtdcRspTransferField task_data = any_cast(task.task_data); + dict data; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["UserID"] = task_data.UserID; + data["BankPassWord"] = task_data.BankPassWord; + data["TradeTime"] = task_data.TradeTime; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["InstallID"] = task_data.InstallID; + data["CustomerName"] = task_data.CustomerName; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["BankID"] = task_data.BankID; + data["Password"] = task_data.Password; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["ErrorID"] = task_data.ErrorID; + data["RequestID"] = task_data.RequestID; + data["CustType"] = task_data.CustType; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["FeePayFlag"] = task_data.FeePayFlag; + data["BankSerial"] = task_data.BankSerial; + data["OperNo"] = task_data.OperNo; + data["TradingDay"] = task_data.TradingDay; + data["BankSecuAcc"] = task_data.BankSecuAcc; + data["BrokerID"] = task_data.BrokerID; + data["DeviceID"] = task_data.DeviceID; + data["TransferStatus"] = task_data.TransferStatus; + data["IdCardType"] = task_data.IdCardType; + data["PlateSerial"] = task_data.PlateSerial; + data["FutureFetchAmount"] = task_data.FutureFetchAmount; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["BrokerFee"] = task_data.BrokerFee; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["FutureSerial"] = task_data.FutureSerial; + data["ErrorMsg"] = task_data.ErrorMsg; + data["BankSecuAccType"] = task_data.BankSecuAccType; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["Message"] = task_data.Message; + data["CustFee"] = task_data.CustFee; + data["TradeAmount"] = task_data.TradeAmount; + data["Digest"] = task_data.Digest; + + this->onRtnFromFutureToBankByBank(data); +}; + +void TdApi::processRtnRepealFromBankToFutureByBank(Task task) +{ + CThostFtdcRspRepealField task_data = any_cast(task.task_data); + dict data; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["UserID"] = task_data.UserID; + data["BankPassWord"] = task_data.BankPassWord; + data["BankRepealFlag"] = task_data.BankRepealFlag; + data["RepealedTimes"] = task_data.RepealedTimes; + data["TradeTime"] = task_data.TradeTime; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["FutureRepealSerial"] = task_data.FutureRepealSerial; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["InstallID"] = task_data.InstallID; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["CustomerName"] = task_data.CustomerName; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["BankID"] = task_data.BankID; + data["PlateSerial"] = task_data.PlateSerial; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["ErrorID"] = task_data.ErrorID; + data["RequestID"] = task_data.RequestID; + data["CustType"] = task_data.CustType; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["FeePayFlag"] = task_data.FeePayFlag; + data["BankSerial"] = task_data.BankSerial; + data["OperNo"] = task_data.OperNo; + data["TradingDay"] = task_data.TradingDay; + data["BankSecuAcc"] = task_data.BankSecuAcc; + data["BrokerID"] = task_data.BrokerID; + data["DeviceID"] = task_data.DeviceID; + data["TransferStatus"] = task_data.TransferStatus; + data["BrokerRepealFlag"] = task_data.BrokerRepealFlag; + data["IdCardType"] = task_data.IdCardType; + data["Password"] = task_data.Password; + data["FutureFetchAmount"] = task_data.FutureFetchAmount; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["BrokerFee"] = task_data.BrokerFee; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["FutureSerial"] = task_data.FutureSerial; + data["BankRepealSerial"] = task_data.BankRepealSerial; + data["ErrorMsg"] = task_data.ErrorMsg; + data["RepealTimeInterval"] = task_data.RepealTimeInterval; + data["BankSecuAccType"] = task_data.BankSecuAccType; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["PlateRepealSerial"] = task_data.PlateRepealSerial; + data["Message"] = task_data.Message; + data["CustFee"] = task_data.CustFee; + data["TradeAmount"] = task_data.TradeAmount; + data["Digest"] = task_data.Digest; + + this->onRtnRepealFromBankToFutureByBank(data); +}; + +void TdApi::processRtnRepealFromFutureToBankByBank(Task task) +{ + CThostFtdcRspRepealField task_data = any_cast(task.task_data); + dict data; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["UserID"] = task_data.UserID; + data["BankPassWord"] = task_data.BankPassWord; + data["BankRepealFlag"] = task_data.BankRepealFlag; + data["RepealedTimes"] = task_data.RepealedTimes; + data["TradeTime"] = task_data.TradeTime; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["FutureRepealSerial"] = task_data.FutureRepealSerial; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["InstallID"] = task_data.InstallID; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["CustomerName"] = task_data.CustomerName; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["BankID"] = task_data.BankID; + data["PlateSerial"] = task_data.PlateSerial; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["ErrorID"] = task_data.ErrorID; + data["RequestID"] = task_data.RequestID; + data["CustType"] = task_data.CustType; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["FeePayFlag"] = task_data.FeePayFlag; + data["BankSerial"] = task_data.BankSerial; + data["OperNo"] = task_data.OperNo; + data["TradingDay"] = task_data.TradingDay; + data["BankSecuAcc"] = task_data.BankSecuAcc; + data["BrokerID"] = task_data.BrokerID; + data["DeviceID"] = task_data.DeviceID; + data["TransferStatus"] = task_data.TransferStatus; + data["BrokerRepealFlag"] = task_data.BrokerRepealFlag; + data["IdCardType"] = task_data.IdCardType; + data["Password"] = task_data.Password; + data["FutureFetchAmount"] = task_data.FutureFetchAmount; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["BrokerFee"] = task_data.BrokerFee; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["FutureSerial"] = task_data.FutureSerial; + data["BankRepealSerial"] = task_data.BankRepealSerial; + data["ErrorMsg"] = task_data.ErrorMsg; + data["RepealTimeInterval"] = task_data.RepealTimeInterval; + data["BankSecuAccType"] = task_data.BankSecuAccType; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["PlateRepealSerial"] = task_data.PlateRepealSerial; + data["Message"] = task_data.Message; + data["CustFee"] = task_data.CustFee; + data["TradeAmount"] = task_data.TradeAmount; + data["Digest"] = task_data.Digest; + + this->onRtnRepealFromFutureToBankByBank(data); +}; + +void TdApi::processRtnFromBankToFutureByFuture(Task task) +{ + CThostFtdcRspTransferField task_data = any_cast(task.task_data); + dict data; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["UserID"] = task_data.UserID; + data["BankPassWord"] = task_data.BankPassWord; + data["TradeTime"] = task_data.TradeTime; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["InstallID"] = task_data.InstallID; + data["CustomerName"] = task_data.CustomerName; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["BankID"] = task_data.BankID; + data["Password"] = task_data.Password; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["ErrorID"] = task_data.ErrorID; + data["RequestID"] = task_data.RequestID; + data["CustType"] = task_data.CustType; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["FeePayFlag"] = task_data.FeePayFlag; + data["BankSerial"] = task_data.BankSerial; + data["OperNo"] = task_data.OperNo; + data["TradingDay"] = task_data.TradingDay; + data["BankSecuAcc"] = task_data.BankSecuAcc; + data["BrokerID"] = task_data.BrokerID; + data["DeviceID"] = task_data.DeviceID; + data["TransferStatus"] = task_data.TransferStatus; + data["IdCardType"] = task_data.IdCardType; + data["PlateSerial"] = task_data.PlateSerial; + data["FutureFetchAmount"] = task_data.FutureFetchAmount; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["BrokerFee"] = task_data.BrokerFee; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["FutureSerial"] = task_data.FutureSerial; + data["ErrorMsg"] = task_data.ErrorMsg; + data["BankSecuAccType"] = task_data.BankSecuAccType; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["Message"] = task_data.Message; + data["CustFee"] = task_data.CustFee; + data["TradeAmount"] = task_data.TradeAmount; + data["Digest"] = task_data.Digest; + + this->onRtnFromBankToFutureByFuture(data); +}; + +void TdApi::processRtnFromFutureToBankByFuture(Task task) +{ + CThostFtdcRspTransferField task_data = any_cast(task.task_data); + dict data; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["UserID"] = task_data.UserID; + data["BankPassWord"] = task_data.BankPassWord; + data["TradeTime"] = task_data.TradeTime; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["InstallID"] = task_data.InstallID; + data["CustomerName"] = task_data.CustomerName; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["BankID"] = task_data.BankID; + data["Password"] = task_data.Password; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["ErrorID"] = task_data.ErrorID; + data["RequestID"] = task_data.RequestID; + data["CustType"] = task_data.CustType; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["FeePayFlag"] = task_data.FeePayFlag; + data["BankSerial"] = task_data.BankSerial; + data["OperNo"] = task_data.OperNo; + data["TradingDay"] = task_data.TradingDay; + data["BankSecuAcc"] = task_data.BankSecuAcc; + data["BrokerID"] = task_data.BrokerID; + data["DeviceID"] = task_data.DeviceID; + data["TransferStatus"] = task_data.TransferStatus; + data["IdCardType"] = task_data.IdCardType; + data["PlateSerial"] = task_data.PlateSerial; + data["FutureFetchAmount"] = task_data.FutureFetchAmount; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["BrokerFee"] = task_data.BrokerFee; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["FutureSerial"] = task_data.FutureSerial; + data["ErrorMsg"] = task_data.ErrorMsg; + data["BankSecuAccType"] = task_data.BankSecuAccType; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["Message"] = task_data.Message; + data["CustFee"] = task_data.CustFee; + data["TradeAmount"] = task_data.TradeAmount; + data["Digest"] = task_data.Digest; + + this->onRtnFromFutureToBankByFuture(data); +}; + +void TdApi::processRtnRepealFromBankToFutureByFutureManual(Task task) +{ + CThostFtdcRspRepealField task_data = any_cast(task.task_data); + dict data; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["UserID"] = task_data.UserID; + data["BankPassWord"] = task_data.BankPassWord; + data["BankRepealFlag"] = task_data.BankRepealFlag; + data["RepealedTimes"] = task_data.RepealedTimes; + data["TradeTime"] = task_data.TradeTime; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["FutureRepealSerial"] = task_data.FutureRepealSerial; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["InstallID"] = task_data.InstallID; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["CustomerName"] = task_data.CustomerName; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["BankID"] = task_data.BankID; + data["PlateSerial"] = task_data.PlateSerial; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["ErrorID"] = task_data.ErrorID; + data["RequestID"] = task_data.RequestID; + data["CustType"] = task_data.CustType; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["FeePayFlag"] = task_data.FeePayFlag; + data["BankSerial"] = task_data.BankSerial; + data["OperNo"] = task_data.OperNo; + data["TradingDay"] = task_data.TradingDay; + data["BankSecuAcc"] = task_data.BankSecuAcc; + data["BrokerID"] = task_data.BrokerID; + data["DeviceID"] = task_data.DeviceID; + data["TransferStatus"] = task_data.TransferStatus; + data["BrokerRepealFlag"] = task_data.BrokerRepealFlag; + data["IdCardType"] = task_data.IdCardType; + data["Password"] = task_data.Password; + data["FutureFetchAmount"] = task_data.FutureFetchAmount; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["BrokerFee"] = task_data.BrokerFee; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["FutureSerial"] = task_data.FutureSerial; + data["BankRepealSerial"] = task_data.BankRepealSerial; + data["ErrorMsg"] = task_data.ErrorMsg; + data["RepealTimeInterval"] = task_data.RepealTimeInterval; + data["BankSecuAccType"] = task_data.BankSecuAccType; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["PlateRepealSerial"] = task_data.PlateRepealSerial; + data["Message"] = task_data.Message; + data["CustFee"] = task_data.CustFee; + data["TradeAmount"] = task_data.TradeAmount; + data["Digest"] = task_data.Digest; + + this->onRtnRepealFromBankToFutureByFutureManual(data); +}; + +void TdApi::processRtnRepealFromFutureToBankByFutureManual(Task task) +{ + CThostFtdcRspRepealField task_data = any_cast(task.task_data); + dict data; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["UserID"] = task_data.UserID; + data["BankPassWord"] = task_data.BankPassWord; + data["BankRepealFlag"] = task_data.BankRepealFlag; + data["RepealedTimes"] = task_data.RepealedTimes; + data["TradeTime"] = task_data.TradeTime; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["FutureRepealSerial"] = task_data.FutureRepealSerial; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["InstallID"] = task_data.InstallID; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["CustomerName"] = task_data.CustomerName; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["BankID"] = task_data.BankID; + data["PlateSerial"] = task_data.PlateSerial; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["ErrorID"] = task_data.ErrorID; + data["RequestID"] = task_data.RequestID; + data["CustType"] = task_data.CustType; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["FeePayFlag"] = task_data.FeePayFlag; + data["BankSerial"] = task_data.BankSerial; + data["OperNo"] = task_data.OperNo; + data["TradingDay"] = task_data.TradingDay; + data["BankSecuAcc"] = task_data.BankSecuAcc; + data["BrokerID"] = task_data.BrokerID; + data["DeviceID"] = task_data.DeviceID; + data["TransferStatus"] = task_data.TransferStatus; + data["BrokerRepealFlag"] = task_data.BrokerRepealFlag; + data["IdCardType"] = task_data.IdCardType; + data["Password"] = task_data.Password; + data["FutureFetchAmount"] = task_data.FutureFetchAmount; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["BrokerFee"] = task_data.BrokerFee; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["FutureSerial"] = task_data.FutureSerial; + data["BankRepealSerial"] = task_data.BankRepealSerial; + data["ErrorMsg"] = task_data.ErrorMsg; + data["RepealTimeInterval"] = task_data.RepealTimeInterval; + data["BankSecuAccType"] = task_data.BankSecuAccType; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["PlateRepealSerial"] = task_data.PlateRepealSerial; + data["Message"] = task_data.Message; + data["CustFee"] = task_data.CustFee; + data["TradeAmount"] = task_data.TradeAmount; + data["Digest"] = task_data.Digest; + + this->onRtnRepealFromFutureToBankByFutureManual(data); +}; + +void TdApi::processRtnQueryBankBalanceByFuture(Task task) +{ + CThostFtdcNotifyQueryAccountField task_data = any_cast(task.task_data); + dict data; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["UserID"] = task_data.UserID; + data["BankPassWord"] = task_data.BankPassWord; + data["TradeTime"] = task_data.TradeTime; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["InstallID"] = task_data.InstallID; + data["CustomerName"] = task_data.CustomerName; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["BankID"] = task_data.BankID; + data["Password"] = task_data.Password; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["ErrorID"] = task_data.ErrorID; + data["RequestID"] = task_data.RequestID; + data["CustType"] = task_data.CustType; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["BankSerial"] = task_data.BankSerial; + data["OperNo"] = task_data.OperNo; + data["TradingDay"] = task_data.TradingDay; + data["BankSecuAcc"] = task_data.BankSecuAcc; + data["BrokerID"] = task_data.BrokerID; + data["DeviceID"] = task_data.DeviceID; + data["BankUseAmount"] = task_data.BankUseAmount; + data["IdCardType"] = task_data.IdCardType; + data["PlateSerial"] = task_data.PlateSerial; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["ErrorMsg"] = task_data.ErrorMsg; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["FutureSerial"] = task_data.FutureSerial; + data["BankSecuAccType"] = task_data.BankSecuAccType; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["Digest"] = task_data.Digest; + data["BankFetchAmount"] = task_data.BankFetchAmount; + + this->onRtnQueryBankBalanceByFuture(data); +}; + +void TdApi::processErrRtnBankToFutureByFuture(Task task) +{ + CThostFtdcReqTransferField task_data = any_cast(task.task_data); + dict data; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["UserID"] = task_data.UserID; + data["BankPassWord"] = task_data.BankPassWord; + data["TradeTime"] = task_data.TradeTime; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["InstallID"] = task_data.InstallID; + data["CustomerName"] = task_data.CustomerName; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["BankID"] = task_data.BankID; + data["Password"] = task_data.Password; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["RequestID"] = task_data.RequestID; + data["CustType"] = task_data.CustType; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["FeePayFlag"] = task_data.FeePayFlag; + data["BankSerial"] = task_data.BankSerial; + data["OperNo"] = task_data.OperNo; + data["TradingDay"] = task_data.TradingDay; + data["BankSecuAcc"] = task_data.BankSecuAcc; + data["BrokerID"] = task_data.BrokerID; + data["DeviceID"] = task_data.DeviceID; + data["TransferStatus"] = task_data.TransferStatus; + data["IdCardType"] = task_data.IdCardType; + data["PlateSerial"] = task_data.PlateSerial; + data["FutureFetchAmount"] = task_data.FutureFetchAmount; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["BrokerFee"] = task_data.BrokerFee; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["FutureSerial"] = task_data.FutureSerial; + data["BankSecuAccType"] = task_data.BankSecuAccType; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["Message"] = task_data.Message; + data["CustFee"] = task_data.CustFee; + data["TradeAmount"] = task_data.TradeAmount; + data["Digest"] = task_data.Digest; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onErrRtnBankToFutureByFuture(data, error); +}; + +void TdApi::processErrRtnFutureToBankByFuture(Task task) +{ + CThostFtdcReqTransferField task_data = any_cast(task.task_data); + dict data; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["UserID"] = task_data.UserID; + data["BankPassWord"] = task_data.BankPassWord; + data["TradeTime"] = task_data.TradeTime; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["InstallID"] = task_data.InstallID; + data["CustomerName"] = task_data.CustomerName; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["BankID"] = task_data.BankID; + data["Password"] = task_data.Password; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["RequestID"] = task_data.RequestID; + data["CustType"] = task_data.CustType; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["FeePayFlag"] = task_data.FeePayFlag; + data["BankSerial"] = task_data.BankSerial; + data["OperNo"] = task_data.OperNo; + data["TradingDay"] = task_data.TradingDay; + data["BankSecuAcc"] = task_data.BankSecuAcc; + data["BrokerID"] = task_data.BrokerID; + data["DeviceID"] = task_data.DeviceID; + data["TransferStatus"] = task_data.TransferStatus; + data["IdCardType"] = task_data.IdCardType; + data["PlateSerial"] = task_data.PlateSerial; + data["FutureFetchAmount"] = task_data.FutureFetchAmount; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["BrokerFee"] = task_data.BrokerFee; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["FutureSerial"] = task_data.FutureSerial; + data["BankSecuAccType"] = task_data.BankSecuAccType; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["Message"] = task_data.Message; + data["CustFee"] = task_data.CustFee; + data["TradeAmount"] = task_data.TradeAmount; + data["Digest"] = task_data.Digest; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onErrRtnFutureToBankByFuture(data, error); +}; + +void TdApi::processErrRtnRepealBankToFutureByFutureManual(Task task) +{ + CThostFtdcReqRepealField task_data = any_cast(task.task_data); + dict data; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["UserID"] = task_data.UserID; + data["BankPassWord"] = task_data.BankPassWord; + data["BankRepealFlag"] = task_data.BankRepealFlag; + data["RepealedTimes"] = task_data.RepealedTimes; + data["TradeTime"] = task_data.TradeTime; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["FutureRepealSerial"] = task_data.FutureRepealSerial; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["InstallID"] = task_data.InstallID; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["CustomerName"] = task_data.CustomerName; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["BankID"] = task_data.BankID; + data["PlateSerial"] = task_data.PlateSerial; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["RequestID"] = task_data.RequestID; + data["CustType"] = task_data.CustType; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["FeePayFlag"] = task_data.FeePayFlag; + data["BankSerial"] = task_data.BankSerial; + data["OperNo"] = task_data.OperNo; + data["TradingDay"] = task_data.TradingDay; + data["BankSecuAcc"] = task_data.BankSecuAcc; + data["BrokerID"] = task_data.BrokerID; + data["DeviceID"] = task_data.DeviceID; + data["TransferStatus"] = task_data.TransferStatus; + data["BrokerRepealFlag"] = task_data.BrokerRepealFlag; + data["IdCardType"] = task_data.IdCardType; + data["Password"] = task_data.Password; + data["FutureFetchAmount"] = task_data.FutureFetchAmount; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["BrokerFee"] = task_data.BrokerFee; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["FutureSerial"] = task_data.FutureSerial; + data["BankRepealSerial"] = task_data.BankRepealSerial; + data["RepealTimeInterval"] = task_data.RepealTimeInterval; + data["BankSecuAccType"] = task_data.BankSecuAccType; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["PlateRepealSerial"] = task_data.PlateRepealSerial; + data["Message"] = task_data.Message; + data["CustFee"] = task_data.CustFee; + data["TradeAmount"] = task_data.TradeAmount; + data["Digest"] = task_data.Digest; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onErrRtnRepealBankToFutureByFutureManual(data, error); +}; + +void TdApi::processErrRtnRepealFutureToBankByFutureManual(Task task) +{ + CThostFtdcReqRepealField task_data = any_cast(task.task_data); + dict data; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["UserID"] = task_data.UserID; + data["BankPassWord"] = task_data.BankPassWord; + data["BankRepealFlag"] = task_data.BankRepealFlag; + data["RepealedTimes"] = task_data.RepealedTimes; + data["TradeTime"] = task_data.TradeTime; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["FutureRepealSerial"] = task_data.FutureRepealSerial; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["InstallID"] = task_data.InstallID; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["CustomerName"] = task_data.CustomerName; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["BankID"] = task_data.BankID; + data["PlateSerial"] = task_data.PlateSerial; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["RequestID"] = task_data.RequestID; + data["CustType"] = task_data.CustType; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["FeePayFlag"] = task_data.FeePayFlag; + data["BankSerial"] = task_data.BankSerial; + data["OperNo"] = task_data.OperNo; + data["TradingDay"] = task_data.TradingDay; + data["BankSecuAcc"] = task_data.BankSecuAcc; + data["BrokerID"] = task_data.BrokerID; + data["DeviceID"] = task_data.DeviceID; + data["TransferStatus"] = task_data.TransferStatus; + data["BrokerRepealFlag"] = task_data.BrokerRepealFlag; + data["IdCardType"] = task_data.IdCardType; + data["Password"] = task_data.Password; + data["FutureFetchAmount"] = task_data.FutureFetchAmount; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["BrokerFee"] = task_data.BrokerFee; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["FutureSerial"] = task_data.FutureSerial; + data["BankRepealSerial"] = task_data.BankRepealSerial; + data["RepealTimeInterval"] = task_data.RepealTimeInterval; + data["BankSecuAccType"] = task_data.BankSecuAccType; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["PlateRepealSerial"] = task_data.PlateRepealSerial; + data["Message"] = task_data.Message; + data["CustFee"] = task_data.CustFee; + data["TradeAmount"] = task_data.TradeAmount; + data["Digest"] = task_data.Digest; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onErrRtnRepealFutureToBankByFutureManual(data, error); +}; + +void TdApi::processErrRtnQueryBankBalanceByFuture(Task task) +{ + CThostFtdcReqQueryAccountField task_data = any_cast(task.task_data); + dict data; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["UserID"] = task_data.UserID; + data["BankPassWord"] = task_data.BankPassWord; + data["TradeTime"] = task_data.TradeTime; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["InstallID"] = task_data.InstallID; + data["CustomerName"] = task_data.CustomerName; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["BankID"] = task_data.BankID; + data["Password"] = task_data.Password; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["RequestID"] = task_data.RequestID; + data["CustType"] = task_data.CustType; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["BankSerial"] = task_data.BankSerial; + data["OperNo"] = task_data.OperNo; + data["TradingDay"] = task_data.TradingDay; + data["BankSecuAcc"] = task_data.BankSecuAcc; + data["BrokerID"] = task_data.BrokerID; + data["DeviceID"] = task_data.DeviceID; + data["IdCardType"] = task_data.IdCardType; + data["PlateSerial"] = task_data.PlateSerial; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["FutureSerial"] = task_data.FutureSerial; + data["BankSecuAccType"] = task_data.BankSecuAccType; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["Digest"] = task_data.Digest; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onErrRtnQueryBankBalanceByFuture(data, error); +}; + +void TdApi::processRtnRepealFromBankToFutureByFuture(Task task) +{ + CThostFtdcRspRepealField task_data = any_cast(task.task_data); + dict data; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["UserID"] = task_data.UserID; + data["BankPassWord"] = task_data.BankPassWord; + data["BankRepealFlag"] = task_data.BankRepealFlag; + data["RepealedTimes"] = task_data.RepealedTimes; + data["TradeTime"] = task_data.TradeTime; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["FutureRepealSerial"] = task_data.FutureRepealSerial; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["InstallID"] = task_data.InstallID; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["CustomerName"] = task_data.CustomerName; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["BankID"] = task_data.BankID; + data["PlateSerial"] = task_data.PlateSerial; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["ErrorID"] = task_data.ErrorID; + data["RequestID"] = task_data.RequestID; + data["CustType"] = task_data.CustType; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["FeePayFlag"] = task_data.FeePayFlag; + data["BankSerial"] = task_data.BankSerial; + data["OperNo"] = task_data.OperNo; + data["TradingDay"] = task_data.TradingDay; + data["BankSecuAcc"] = task_data.BankSecuAcc; + data["BrokerID"] = task_data.BrokerID; + data["DeviceID"] = task_data.DeviceID; + data["TransferStatus"] = task_data.TransferStatus; + data["BrokerRepealFlag"] = task_data.BrokerRepealFlag; + data["IdCardType"] = task_data.IdCardType; + data["Password"] = task_data.Password; + data["FutureFetchAmount"] = task_data.FutureFetchAmount; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["BrokerFee"] = task_data.BrokerFee; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["FutureSerial"] = task_data.FutureSerial; + data["BankRepealSerial"] = task_data.BankRepealSerial; + data["ErrorMsg"] = task_data.ErrorMsg; + data["RepealTimeInterval"] = task_data.RepealTimeInterval; + data["BankSecuAccType"] = task_data.BankSecuAccType; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["PlateRepealSerial"] = task_data.PlateRepealSerial; + data["Message"] = task_data.Message; + data["CustFee"] = task_data.CustFee; + data["TradeAmount"] = task_data.TradeAmount; + data["Digest"] = task_data.Digest; + + this->onRtnRepealFromBankToFutureByFuture(data); +}; + +void TdApi::processRtnRepealFromFutureToBankByFuture(Task task) +{ + CThostFtdcRspRepealField task_data = any_cast(task.task_data); + dict data; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["UserID"] = task_data.UserID; + data["BankPassWord"] = task_data.BankPassWord; + data["BankRepealFlag"] = task_data.BankRepealFlag; + data["RepealedTimes"] = task_data.RepealedTimes; + data["TradeTime"] = task_data.TradeTime; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["FutureRepealSerial"] = task_data.FutureRepealSerial; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["InstallID"] = task_data.InstallID; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["CustomerName"] = task_data.CustomerName; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["BankID"] = task_data.BankID; + data["PlateSerial"] = task_data.PlateSerial; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["ErrorID"] = task_data.ErrorID; + data["RequestID"] = task_data.RequestID; + data["CustType"] = task_data.CustType; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["FeePayFlag"] = task_data.FeePayFlag; + data["BankSerial"] = task_data.BankSerial; + data["OperNo"] = task_data.OperNo; + data["TradingDay"] = task_data.TradingDay; + data["BankSecuAcc"] = task_data.BankSecuAcc; + data["BrokerID"] = task_data.BrokerID; + data["DeviceID"] = task_data.DeviceID; + data["TransferStatus"] = task_data.TransferStatus; + data["BrokerRepealFlag"] = task_data.BrokerRepealFlag; + data["IdCardType"] = task_data.IdCardType; + data["Password"] = task_data.Password; + data["FutureFetchAmount"] = task_data.FutureFetchAmount; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["BrokerFee"] = task_data.BrokerFee; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["FutureSerial"] = task_data.FutureSerial; + data["BankRepealSerial"] = task_data.BankRepealSerial; + data["ErrorMsg"] = task_data.ErrorMsg; + data["RepealTimeInterval"] = task_data.RepealTimeInterval; + data["BankSecuAccType"] = task_data.BankSecuAccType; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["PlateRepealSerial"] = task_data.PlateRepealSerial; + data["Message"] = task_data.Message; + data["CustFee"] = task_data.CustFee; + data["TradeAmount"] = task_data.TradeAmount; + data["Digest"] = task_data.Digest; + + this->onRtnRepealFromFutureToBankByFuture(data); +}; + +void TdApi::processRspFromBankToFutureByFuture(Task task) +{ + CThostFtdcReqTransferField task_data = any_cast(task.task_data); + dict data; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["UserID"] = task_data.UserID; + data["BankPassWord"] = task_data.BankPassWord; + data["TradeTime"] = task_data.TradeTime; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["InstallID"] = task_data.InstallID; + data["CustomerName"] = task_data.CustomerName; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["BankID"] = task_data.BankID; + data["Password"] = task_data.Password; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["RequestID"] = task_data.RequestID; + data["CustType"] = task_data.CustType; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["FeePayFlag"] = task_data.FeePayFlag; + data["BankSerial"] = task_data.BankSerial; + data["OperNo"] = task_data.OperNo; + data["TradingDay"] = task_data.TradingDay; + data["BankSecuAcc"] = task_data.BankSecuAcc; + data["BrokerID"] = task_data.BrokerID; + data["DeviceID"] = task_data.DeviceID; + data["TransferStatus"] = task_data.TransferStatus; + data["IdCardType"] = task_data.IdCardType; + data["PlateSerial"] = task_data.PlateSerial; + data["FutureFetchAmount"] = task_data.FutureFetchAmount; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["BrokerFee"] = task_data.BrokerFee; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["FutureSerial"] = task_data.FutureSerial; + data["BankSecuAccType"] = task_data.BankSecuAccType; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["Message"] = task_data.Message; + data["CustFee"] = task_data.CustFee; + data["TradeAmount"] = task_data.TradeAmount; + data["Digest"] = task_data.Digest; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspFromBankToFutureByFuture(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspFromFutureToBankByFuture(Task task) +{ + CThostFtdcReqTransferField task_data = any_cast(task.task_data); + dict data; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["UserID"] = task_data.UserID; + data["BankPassWord"] = task_data.BankPassWord; + data["TradeTime"] = task_data.TradeTime; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["InstallID"] = task_data.InstallID; + data["CustomerName"] = task_data.CustomerName; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["BankID"] = task_data.BankID; + data["Password"] = task_data.Password; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["RequestID"] = task_data.RequestID; + data["CustType"] = task_data.CustType; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["FeePayFlag"] = task_data.FeePayFlag; + data["BankSerial"] = task_data.BankSerial; + data["OperNo"] = task_data.OperNo; + data["TradingDay"] = task_data.TradingDay; + data["BankSecuAcc"] = task_data.BankSecuAcc; + data["BrokerID"] = task_data.BrokerID; + data["DeviceID"] = task_data.DeviceID; + data["TransferStatus"] = task_data.TransferStatus; + data["IdCardType"] = task_data.IdCardType; + data["PlateSerial"] = task_data.PlateSerial; + data["FutureFetchAmount"] = task_data.FutureFetchAmount; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["BrokerFee"] = task_data.BrokerFee; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["FutureSerial"] = task_data.FutureSerial; + data["BankSecuAccType"] = task_data.BankSecuAccType; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["Message"] = task_data.Message; + data["CustFee"] = task_data.CustFee; + data["TradeAmount"] = task_data.TradeAmount; + data["Digest"] = task_data.Digest; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspFromFutureToBankByFuture(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRspQueryBankAccountMoneyByFuture(Task task) +{ + CThostFtdcReqQueryAccountField task_data = any_cast(task.task_data); + dict data; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["UserID"] = task_data.UserID; + data["BankPassWord"] = task_data.BankPassWord; + data["TradeTime"] = task_data.TradeTime; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["InstallID"] = task_data.InstallID; + data["CustomerName"] = task_data.CustomerName; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["BankID"] = task_data.BankID; + data["Password"] = task_data.Password; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["RequestID"] = task_data.RequestID; + data["CustType"] = task_data.CustType; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["BankSerial"] = task_data.BankSerial; + data["OperNo"] = task_data.OperNo; + data["TradingDay"] = task_data.TradingDay; + data["BankSecuAcc"] = task_data.BankSecuAcc; + data["BrokerID"] = task_data.BrokerID; + data["DeviceID"] = task_data.DeviceID; + data["IdCardType"] = task_data.IdCardType; + data["PlateSerial"] = task_data.PlateSerial; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["FutureSerial"] = task_data.FutureSerial; + data["BankSecuAccType"] = task_data.BankSecuAccType; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["Digest"] = task_data.Digest; + + CThostFtdcRspInfoField task_error = any_cast(task.task_error); + dict error; + error["ErrorMsg"] = task_error.ErrorMsg; + error["ErrorID"] = task_error.ErrorID; + + this->onRspQueryBankAccountMoneyByFuture(data, error, task.task_id, task.task_last); +}; + +void TdApi::processRtnOpenAccountByBank(Task task) +{ + CThostFtdcOpenAccountField task_data = any_cast(task.task_data); + dict data; + data["MoneyAccountStatus"] = task_data.MoneyAccountStatus; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["UserID"] = task_data.UserID; + data["BankPassWord"] = task_data.BankPassWord; + data["Telephone"] = task_data.Telephone; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["Fax"] = task_data.Fax; + data["InstallID"] = task_data.InstallID; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["CustomerName"] = task_data.CustomerName; + data["CountryCode"] = task_data.CountryCode; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["Address"] = task_data.Address; + data["PlateSerial"] = task_data.PlateSerial; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["ErrorID"] = task_data.ErrorID; + data["CustType"] = task_data.CustType; + data["Gender"] = task_data.Gender; + data["BankID"] = task_data.BankID; + data["BankSerial"] = task_data.BankSerial; + data["OperNo"] = task_data.OperNo; + data["TradingDay"] = task_data.TradingDay; + data["BankSecuAcc"] = task_data.BankSecuAcc; + data["BrokerID"] = task_data.BrokerID; + data["CashExchangeCode"] = task_data.CashExchangeCode; + data["IdCardType"] = task_data.IdCardType; + data["Password"] = task_data.Password; + data["MobilePhone"] = task_data.MobilePhone; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["ErrorMsg"] = task_data.ErrorMsg; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["ZipCode"] = task_data.ZipCode; + data["BankSecuAccType"] = task_data.BankSecuAccType; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["TradeTime"] = task_data.TradeTime; + data["EMail"] = task_data.EMail; + data["Digest"] = task_data.Digest; + data["DeviceID"] = task_data.DeviceID; + + this->onRtnOpenAccountByBank(data); +}; + +void TdApi::processRtnCancelAccountByBank(Task task) +{ + CThostFtdcCancelAccountField task_data = any_cast(task.task_data); + dict data; + data["MoneyAccountStatus"] = task_data.MoneyAccountStatus; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["UserID"] = task_data.UserID; + data["BankPassWord"] = task_data.BankPassWord; + data["Telephone"] = task_data.Telephone; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["Fax"] = task_data.Fax; + data["InstallID"] = task_data.InstallID; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["CustomerName"] = task_data.CustomerName; + data["CountryCode"] = task_data.CountryCode; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["Address"] = task_data.Address; + data["PlateSerial"] = task_data.PlateSerial; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["ErrorID"] = task_data.ErrorID; + data["CustType"] = task_data.CustType; + data["Gender"] = task_data.Gender; + data["BankID"] = task_data.BankID; + data["BankSerial"] = task_data.BankSerial; + data["OperNo"] = task_data.OperNo; + data["TradingDay"] = task_data.TradingDay; + data["BankSecuAcc"] = task_data.BankSecuAcc; + data["BrokerID"] = task_data.BrokerID; + data["CashExchangeCode"] = task_data.CashExchangeCode; + data["IdCardType"] = task_data.IdCardType; + data["Password"] = task_data.Password; + data["MobilePhone"] = task_data.MobilePhone; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["ErrorMsg"] = task_data.ErrorMsg; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["ZipCode"] = task_data.ZipCode; + data["BankSecuAccType"] = task_data.BankSecuAccType; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["TradeTime"] = task_data.TradeTime; + data["EMail"] = task_data.EMail; + data["Digest"] = task_data.Digest; + data["DeviceID"] = task_data.DeviceID; + + this->onRtnCancelAccountByBank(data); +}; + +void TdApi::processRtnChangeAccountByBank(Task task) +{ + CThostFtdcChangeAccountField task_data = any_cast(task.task_data); + dict data; + data["MoneyAccountStatus"] = task_data.MoneyAccountStatus; + data["NewBankPassWord"] = task_data.NewBankPassWord; + data["BrokerBranchID"] = task_data.BrokerBranchID; + data["BankPassWord"] = task_data.BankPassWord; + data["Telephone"] = task_data.Telephone; + data["IdentifiedCardNo"] = task_data.IdentifiedCardNo; + data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag; + data["TID"] = task_data.TID; + data["AccountID"] = task_data.AccountID; + data["BankAccount"] = task_data.BankAccount; + data["Fax"] = task_data.Fax; + data["InstallID"] = task_data.InstallID; + data["SecuPwdFlag"] = task_data.SecuPwdFlag; + data["CustomerName"] = task_data.CustomerName; + data["CountryCode"] = task_data.CountryCode; + data["TradeCode"] = task_data.TradeCode; + data["BankBranchID"] = task_data.BankBranchID; + data["SessionID"] = task_data.SessionID; + data["NewBankAccount"] = task_data.NewBankAccount; + data["Address"] = task_data.Address; + data["PlateSerial"] = task_data.PlateSerial; + data["BankPwdFlag"] = task_data.BankPwdFlag; + data["ErrorID"] = task_data.ErrorID; + data["CustType"] = task_data.CustType; + data["Gender"] = task_data.Gender; + data["BankID"] = task_data.BankID; + data["BankSerial"] = task_data.BankSerial; + data["TradingDay"] = task_data.TradingDay; + data["BrokerID"] = task_data.BrokerID; + data["IdCardType"] = task_data.IdCardType; + data["Password"] = task_data.Password; + data["MobilePhone"] = task_data.MobilePhone; + data["TradeDate"] = task_data.TradeDate; + data["CurrencyID"] = task_data.CurrencyID; + data["ErrorMsg"] = task_data.ErrorMsg; + data["BankAccType"] = task_data.BankAccType; + data["LastFragment"] = task_data.LastFragment; + data["ZipCode"] = task_data.ZipCode; + data["BrokerIDByBank"] = task_data.BrokerIDByBank; + data["TradeTime"] = task_data.TradeTime; + data["EMail"] = task_data.EMail; + data["Digest"] = task_data.Digest; + + this->onRtnChangeAccountByBank(data); +}; + + + +///------------------------------------------------------------------------------------- +///主动函数 +///------------------------------------------------------------------------------------- + +void TdApi::createFtdcTraderApi(string pszFlowPath) +{ + this->api = CThostFtdcTraderApi::CreateFtdcTraderApi(pszFlowPath.c_str()); + this->api->RegisterSpi(this); +}; + +void TdApi::release() +{ + this->api->Release(); +}; + +void TdApi::init() +{ + this->api->Init(); +}; + +int TdApi::join() +{ + int i = this->api->Join(); + return i; +}; + +int TdApi::exit() +{ + //该函数在原生API里没有,用于安全退出API用,原生的join似乎不太稳定 + this->api->RegisterSpi(NULL); + this->api->Release(); + this->api = NULL; + return 1; +}; + +string TdApi::getTradingDay() +{ + string day = this->api->GetTradingDay(); + return day; +}; + +void TdApi::registerFront(string pszFrontAddress) +{ + this->api->RegisterFront((char*)pszFrontAddress.c_str()); +}; + +void TdApi::subscribePrivateTopic(int nType) +{ + //该函数为手动编写 + THOST_TE_RESUME_TYPE type; + + switch (nType) + { + case 0: + { + type = THOST_TERT_RESTART; + break; + }; + + case 1: + { + type = THOST_TERT_RESUME; + break; + }; + + case 2: + { + type = THOST_TERT_QUICK; + break; + }; + } + + this->api->SubscribePrivateTopic(type); +}; + +void TdApi::subscribePublicTopic(int nType) +{ + //该函数为手动编写 + THOST_TE_RESUME_TYPE type; + + switch (nType) + { + case 0: + { + type = THOST_TERT_RESTART; + break; + }; + + case 1: + { + type = THOST_TERT_RESUME; + break; + }; + + case 2: + { + type = THOST_TERT_QUICK; + break; + }; + } + + this->api->SubscribePublicTopic(type); +}; + +int TdApi::reqAuthenticate(dict req, int nRequestID) +{ + CThostFtdcReqAuthenticateField myreq = CThostFtdcReqAuthenticateField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "UserID", myreq.UserID); + getChar(req, "AuthCode", myreq.AuthCode); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "UserProductInfo", myreq.UserProductInfo); + int i = this->api->ReqAuthenticate(&myreq, nRequestID); + return i; +}; + +int TdApi::reqUserLogin(dict req, int nRequestID) +{ + CThostFtdcReqUserLoginField myreq = CThostFtdcReqUserLoginField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "MacAddress", myreq.MacAddress); + getChar(req, "UserProductInfo", myreq.UserProductInfo); + getChar(req, "UserID", myreq.UserID); + getChar(req, "TradingDay", myreq.TradingDay); + getChar(req, "InterfaceProductInfo", myreq.InterfaceProductInfo); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "ClientIPAddress", myreq.ClientIPAddress); + getChar(req, "OneTimePassword", myreq.OneTimePassword); + getChar(req, "ProtocolInfo", myreq.ProtocolInfo); + getChar(req, "Password", myreq.Password); + int i = this->api->ReqUserLogin(&myreq, nRequestID); + return i; +}; + +int TdApi::reqUserLogout(dict req, int nRequestID) +{ + CThostFtdcUserLogoutField myreq = CThostFtdcUserLogoutField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "UserID", myreq.UserID); + getChar(req, "BrokerID", myreq.BrokerID); + int i = this->api->ReqUserLogout(&myreq, nRequestID); + return i; +}; + +int TdApi::reqUserPasswordUpdate(dict req, int nRequestID) +{ + CThostFtdcUserPasswordUpdateField myreq = CThostFtdcUserPasswordUpdateField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "UserID", myreq.UserID); + getChar(req, "NewPassword", myreq.NewPassword); + getChar(req, "OldPassword", myreq.OldPassword); + getChar(req, "BrokerID", myreq.BrokerID); + int i = this->api->ReqUserPasswordUpdate(&myreq, nRequestID); + return i; +}; + +int TdApi::reqTradingAccountPasswordUpdate(dict req, int nRequestID) +{ + CThostFtdcTradingAccountPasswordUpdateField myreq = CThostFtdcTradingAccountPasswordUpdateField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "CurrencyID", myreq.CurrencyID); + getChar(req, "NewPassword", myreq.NewPassword); + getChar(req, "OldPassword", myreq.OldPassword); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "AccountID", myreq.AccountID); + int i = this->api->ReqTradingAccountPasswordUpdate(&myreq, nRequestID); + return i; +}; + +int TdApi::reqOrderInsert(dict req, int nRequestID) +{ + CThostFtdcInputOrderField myreq = CThostFtdcInputOrderField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "ContingentCondition", &myreq.ContingentCondition); + getChar(req, "CombOffsetFlag", myreq.CombOffsetFlag); + getChar(req, "UserID", myreq.UserID); + getChar(req, "UserID", myreq.UserID); + getInt(req, "UserForceClose", &myreq.UserForceClose); + getChar(req, "Direction", &myreq.Direction); + getInt(req, "IsSwapOrder", &myreq.IsSwapOrder); + getInt(req, "VolumeTotalOriginal", &myreq.VolumeTotalOriginal); + getChar(req, "OrderPriceType", &myreq.OrderPriceType); + getChar(req, "TimeCondition", &myreq.TimeCondition); + getInt(req, "IsAutoSuspend", &myreq.IsAutoSuspend); + getInt(req, "IsAutoSuspend", &myreq.IsAutoSuspend); + getChar(req, "InstrumentID", myreq.InstrumentID); + getInt(req, "MinVolume", &myreq.MinVolume); + getChar(req, "ForceCloseReason", &myreq.ForceCloseReason); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "CombHedgeFlag", myreq.CombHedgeFlag); + getChar(req, "GTDDate", myreq.GTDDate); + getChar(req, "BusinessUnit", myreq.BusinessUnit); + getChar(req, "OrderRef", myreq.OrderRef); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "VolumeCondition", &myreq.VolumeCondition); + getInt(req, "RequestID", &myreq.RequestID); + int i = this->api->ReqOrderInsert(&myreq, nRequestID); + return i; +}; + +int TdApi::reqParkedOrderInsert(dict req, int nRequestID) +{ + CThostFtdcParkedOrderField myreq = CThostFtdcParkedOrderField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "ContingentCondition", &myreq.ContingentCondition); + getChar(req, "CombOffsetFlag", myreq.CombOffsetFlag); + getChar(req, "UserID", myreq.UserID); + getChar(req, "UserID", myreq.UserID); + getInt(req, "UserForceClose", &myreq.UserForceClose); + getChar(req, "Status", &myreq.Status); + getChar(req, "Direction", &myreq.Direction); + getInt(req, "IsSwapOrder", &myreq.IsSwapOrder); + getChar(req, "UserType", &myreq.UserType); + getInt(req, "VolumeTotalOriginal", &myreq.VolumeTotalOriginal); + getChar(req, "OrderPriceType", &myreq.OrderPriceType); + getChar(req, "TimeCondition", &myreq.TimeCondition); + getInt(req, "IsAutoSuspend", &myreq.IsAutoSuspend); + getInt(req, "IsAutoSuspend", &myreq.IsAutoSuspend); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "ExchangeID", myreq.ExchangeID); + getInt(req, "MinVolume", &myreq.MinVolume); + getChar(req, "ForceCloseReason", &myreq.ForceCloseReason); + getInt(req, "ErrorID", &myreq.ErrorID); + getChar(req, "ParkedOrderID", myreq.ParkedOrderID); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "CombHedgeFlag", myreq.CombHedgeFlag); + getChar(req, "GTDDate", myreq.GTDDate); + getChar(req, "BusinessUnit", myreq.BusinessUnit); + getChar(req, "ErrorMsg", myreq.ErrorMsg); + getChar(req, "OrderRef", myreq.OrderRef); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "VolumeCondition", &myreq.VolumeCondition); + getInt(req, "RequestID", &myreq.RequestID); + int i = this->api->ReqParkedOrderInsert(&myreq, nRequestID); + return i; +}; + +int TdApi::reqParkedOrderAction(dict req, int nRequestID) +{ + CThostFtdcParkedOrderActionField myreq = CThostFtdcParkedOrderActionField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "Status", &myreq.Status); + getChar(req, "ExchangeID", myreq.ExchangeID); + getChar(req, "ActionFlag", &myreq.ActionFlag); + getInt(req, "OrderActionRef", &myreq.OrderActionRef); + getChar(req, "UserType", &myreq.UserType); + getChar(req, "ErrorMsg", myreq.ErrorMsg); + getChar(req, "UserID", myreq.UserID); + getChar(req, "UserID", myreq.UserID); + getChar(req, "OrderRef", myreq.OrderRef); + getChar(req, "InvestorID", myreq.InvestorID); + getInt(req, "SessionID", &myreq.SessionID); + getInt(req, "VolumeChange", &myreq.VolumeChange); + getChar(req, "BrokerID", myreq.BrokerID); + getInt(req, "RequestID", &myreq.RequestID); + getChar(req, "OrderSysID", myreq.OrderSysID); + getChar(req, "ParkedOrderActionID", myreq.ParkedOrderActionID); + getInt(req, "FrontID", &myreq.FrontID); + getInt(req, "ErrorID", &myreq.ErrorID); + int i = this->api->ReqParkedOrderAction(&myreq, nRequestID); + return i; +}; + +int TdApi::reqOrderAction(dict req, int nRequestID) +{ + CThostFtdcInputOrderActionField myreq = CThostFtdcInputOrderActionField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "ExchangeID", myreq.ExchangeID); + getChar(req, "ActionFlag", &myreq.ActionFlag); + getInt(req, "OrderActionRef", &myreq.OrderActionRef); + getChar(req, "UserID", myreq.UserID); + getChar(req, "UserID", myreq.UserID); + getChar(req, "OrderRef", myreq.OrderRef); + getChar(req, "InvestorID", myreq.InvestorID); + getInt(req, "SessionID", &myreq.SessionID); + getInt(req, "VolumeChange", &myreq.VolumeChange); + getChar(req, "BrokerID", myreq.BrokerID); + getInt(req, "RequestID", &myreq.RequestID); + getChar(req, "OrderSysID", myreq.OrderSysID); + getInt(req, "FrontID", &myreq.FrontID); + int i = this->api->ReqOrderAction(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQueryMaxOrderVolume(dict req, int nRequestID) +{ + CThostFtdcQueryMaxOrderVolumeField myreq = CThostFtdcQueryMaxOrderVolumeField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "Direction", &myreq.Direction); + getChar(req, "OffsetFlag", &myreq.OffsetFlag); + getChar(req, "HedgeFlag", &myreq.HedgeFlag); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + getInt(req, "MaxVolume", &myreq.MaxVolume); + int i = this->api->ReqQueryMaxOrderVolume(&myreq, nRequestID); + return i; +}; + +int TdApi::reqSettlementInfoConfirm(dict req, int nRequestID) +{ + CThostFtdcSettlementInfoConfirmField myreq = CThostFtdcSettlementInfoConfirmField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "ConfirmTime", myreq.ConfirmTime); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "ConfirmDate", myreq.ConfirmDate); + int i = this->api->ReqSettlementInfoConfirm(&myreq, nRequestID); + return i; +}; + +int TdApi::reqRemoveParkedOrder(dict req, int nRequestID) +{ + CThostFtdcRemoveParkedOrderField myreq = CThostFtdcRemoveParkedOrderField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "ParkedOrderID", myreq.ParkedOrderID); + int i = this->api->ReqRemoveParkedOrder(&myreq, nRequestID); + return i; +}; + +int TdApi::reqRemoveParkedOrderAction(dict req, int nRequestID) +{ + CThostFtdcRemoveParkedOrderActionField myreq = CThostFtdcRemoveParkedOrderActionField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "ParkedOrderActionID", myreq.ParkedOrderActionID); + int i = this->api->ReqRemoveParkedOrderAction(&myreq, nRequestID); + return i; +}; + +int TdApi::reqExecOrderInsert(dict req, int nRequestID) +{ + CThostFtdcInputExecOrderField myreq = CThostFtdcInputExecOrderField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "ExecOrderRef", myreq.ExecOrderRef); + getChar(req, "CloseFlag", &myreq.CloseFlag); + getChar(req, "OffsetFlag", &myreq.OffsetFlag); + getChar(req, "PosiDirection", &myreq.PosiDirection); + getChar(req, "BusinessUnit", myreq.BusinessUnit); + getChar(req, "HedgeFlag", &myreq.HedgeFlag); + getChar(req, "UserID", myreq.UserID); + getInt(req, "Volume", &myreq.Volume); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + getInt(req, "RequestID", &myreq.RequestID); + getChar(req, "ActionType", &myreq.ActionType); + getChar(req, "ReservePositionFlag", &myreq.ReservePositionFlag); + int i = this->api->ReqExecOrderInsert(&myreq, nRequestID); + return i; +}; + +int TdApi::reqExecOrderAction(dict req, int nRequestID) +{ + CThostFtdcInputExecOrderActionField myreq = CThostFtdcInputExecOrderActionField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "ExecOrderSysID", myreq.ExecOrderSysID); + getChar(req, "ExchangeID", myreq.ExchangeID); + getChar(req, "UserID", myreq.UserID); + getChar(req, "ExecOrderRef", myreq.ExecOrderRef); + getChar(req, "InvestorID", myreq.InvestorID); + getInt(req, "SessionID", &myreq.SessionID); + getChar(req, "BrokerID", myreq.BrokerID); + getInt(req, "RequestID", &myreq.RequestID); + getChar(req, "ActionFlag", &myreq.ActionFlag); + getInt(req, "ExecOrderActionRef", &myreq.ExecOrderActionRef); + getInt(req, "FrontID", &myreq.FrontID); + int i = this->api->ReqExecOrderAction(&myreq, nRequestID); + return i; +}; + +int TdApi::reqForQuoteInsert(dict req, int nRequestID) +{ + CThostFtdcInputForQuoteField myreq = CThostFtdcInputForQuoteField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "UserID", myreq.UserID); + getChar(req, "ForQuoteRef", myreq.ForQuoteRef); + int i = this->api->ReqForQuoteInsert(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQuoteInsert(dict req, int nRequestID) +{ + CThostFtdcInputQuoteField myreq = CThostFtdcInputQuoteField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "AskHedgeFlag", &myreq.AskHedgeFlag); + getChar(req, "BusinessUnit", myreq.BusinessUnit); + getChar(req, "BusinessUnit", myreq.BusinessUnit); + getChar(req, "UserID", myreq.UserID); + getChar(req, "AskOffsetFlag", &myreq.AskOffsetFlag); + getInt(req, "BidVolume", &myreq.BidVolume); + getInt(req, "AskVolume", &myreq.AskVolume); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BidOffsetFlag", &myreq.BidOffsetFlag); + getChar(req, "BrokerID", myreq.BrokerID); + getInt(req, "RequestID", &myreq.RequestID); + getInt(req, "RequestID", &myreq.RequestID); + getChar(req, "BidHedgeFlag", &myreq.BidHedgeFlag); + getChar(req, "QuoteRef", myreq.QuoteRef); + int i = this->api->ReqQuoteInsert(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQuoteAction(dict req, int nRequestID) +{ + CThostFtdcInputQuoteActionField myreq = CThostFtdcInputQuoteActionField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "ExchangeID", myreq.ExchangeID); + getInt(req, "QuoteActionRef", &myreq.QuoteActionRef); + getChar(req, "UserID", myreq.UserID); + getChar(req, "InvestorID", myreq.InvestorID); + getInt(req, "SessionID", &myreq.SessionID); + getChar(req, "BrokerID", myreq.BrokerID); + getInt(req, "RequestID", &myreq.RequestID); + getChar(req, "ActionFlag", &myreq.ActionFlag); + getInt(req, "FrontID", &myreq.FrontID); + getChar(req, "QuoteSysID", myreq.QuoteSysID); + getChar(req, "QuoteRef", myreq.QuoteRef); + int i = this->api->ReqQuoteAction(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryOrder(dict req, int nRequestID) +{ + CThostFtdcQryOrderField myreq = CThostFtdcQryOrderField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "ExchangeID", myreq.ExchangeID); + getChar(req, "InsertTimeStart", myreq.InsertTimeStart); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "OrderSysID", myreq.OrderSysID); + getChar(req, "InsertTimeEnd", myreq.InsertTimeEnd); + int i = this->api->ReqQryOrder(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryTrade(dict req, int nRequestID) +{ + CThostFtdcQryTradeField myreq = CThostFtdcQryTradeField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "TradeTimeStart", myreq.TradeTimeStart); + getChar(req, "ExchangeID", myreq.ExchangeID); + getChar(req, "TradeID", myreq.TradeID); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "TradeTimeEnd", myreq.TradeTimeEnd); + int i = this->api->ReqQryTrade(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryInvestorPosition(dict req, int nRequestID) +{ + CThostFtdcQryInvestorPositionField myreq = CThostFtdcQryInvestorPositionField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + int i = this->api->ReqQryInvestorPosition(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryTradingAccount(dict req, int nRequestID) +{ + CThostFtdcQryTradingAccountField myreq = CThostFtdcQryTradingAccountField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "CurrencyID", myreq.CurrencyID); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + int i = this->api->ReqQryTradingAccount(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryInvestor(dict req, int nRequestID) +{ + CThostFtdcQryInvestorField myreq = CThostFtdcQryInvestorField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + int i = this->api->ReqQryInvestor(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryTradingCode(dict req, int nRequestID) +{ + CThostFtdcQryTradingCodeField myreq = CThostFtdcQryTradingCodeField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "ExchangeID", myreq.ExchangeID); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "ClientIDType", &myreq.ClientIDType); + getChar(req, "ClientID", myreq.ClientID); + int i = this->api->ReqQryTradingCode(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryInstrumentMarginRate(dict req, int nRequestID) +{ + CThostFtdcQryInstrumentMarginRateField myreq = CThostFtdcQryInstrumentMarginRateField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "HedgeFlag", &myreq.HedgeFlag); + int i = this->api->ReqQryInstrumentMarginRate(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryInstrumentCommissionRate(dict req, int nRequestID) +{ + CThostFtdcQryInstrumentCommissionRateField myreq = CThostFtdcQryInstrumentCommissionRateField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + int i = this->api->ReqQryInstrumentCommissionRate(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryExchange(dict req, int nRequestID) +{ + CThostFtdcQryExchangeField myreq = CThostFtdcQryExchangeField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "ExchangeID", myreq.ExchangeID); + int i = this->api->ReqQryExchange(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryProduct(dict req, int nRequestID) +{ + CThostFtdcQryProductField myreq = CThostFtdcQryProductField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "ProductClass", &myreq.ProductClass); + getChar(req, "ProductID", myreq.ProductID); + int i = this->api->ReqQryProduct(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryInstrument(dict req, int nRequestID) +{ + CThostFtdcQryInstrumentField myreq = CThostFtdcQryInstrumentField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "ExchangeID", myreq.ExchangeID); + getChar(req, "ExchangeInstID", myreq.ExchangeInstID); + getChar(req, "ProductID", myreq.ProductID); + int i = this->api->ReqQryInstrument(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryDepthMarketData(dict req, int nRequestID) +{ + CThostFtdcQryDepthMarketDataField myreq = CThostFtdcQryDepthMarketDataField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + int i = this->api->ReqQryDepthMarketData(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQrySettlementInfo(dict req, int nRequestID) +{ + CThostFtdcQrySettlementInfoField myreq = CThostFtdcQrySettlementInfoField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "TradingDay", myreq.TradingDay); + int i = this->api->ReqQrySettlementInfo(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryTransferBank(dict req, int nRequestID) +{ + CThostFtdcQryTransferBankField myreq = CThostFtdcQryTransferBankField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "BankBrchID", myreq.BankBrchID); + getChar(req, "BankID", myreq.BankID); + int i = this->api->ReqQryTransferBank(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryInvestorPositionDetail(dict req, int nRequestID) +{ + CThostFtdcQryInvestorPositionDetailField myreq = CThostFtdcQryInvestorPositionDetailField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + int i = this->api->ReqQryInvestorPositionDetail(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryNotice(dict req, int nRequestID) +{ + CThostFtdcQryNoticeField myreq = CThostFtdcQryNoticeField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "BrokerID", myreq.BrokerID); + int i = this->api->ReqQryNotice(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQrySettlementInfoConfirm(dict req, int nRequestID) +{ + CThostFtdcQrySettlementInfoConfirmField myreq = CThostFtdcQrySettlementInfoConfirmField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + int i = this->api->ReqQrySettlementInfoConfirm(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryInvestorPositionCombineDetail(dict req, int nRequestID) +{ + CThostFtdcQryInvestorPositionCombineDetailField myreq = CThostFtdcQryInvestorPositionCombineDetailField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "CombInstrumentID", myreq.CombInstrumentID); + int i = this->api->ReqQryInvestorPositionCombineDetail(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryCFMMCTradingAccountKey(dict req, int nRequestID) +{ + CThostFtdcQryCFMMCTradingAccountKeyField myreq = CThostFtdcQryCFMMCTradingAccountKeyField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + int i = this->api->ReqQryCFMMCTradingAccountKey(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryEWarrantOffset(dict req, int nRequestID) +{ + CThostFtdcQryEWarrantOffsetField myreq = CThostFtdcQryEWarrantOffsetField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "ExchangeID", myreq.ExchangeID); + getChar(req, "BrokerID", myreq.BrokerID); + int i = this->api->ReqQryEWarrantOffset(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryInvestorProductGroupMargin(dict req, int nRequestID) +{ + CThostFtdcQryInvestorProductGroupMarginField myreq = CThostFtdcQryInvestorProductGroupMarginField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "HedgeFlag", &myreq.HedgeFlag); + getChar(req, "ProductGroupID", myreq.ProductGroupID); + int i = this->api->ReqQryInvestorProductGroupMargin(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryExchangeMarginRate(dict req, int nRequestID) +{ + CThostFtdcQryExchangeMarginRateField myreq = CThostFtdcQryExchangeMarginRateField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "HedgeFlag", &myreq.HedgeFlag); + getChar(req, "BrokerID", myreq.BrokerID); + int i = this->api->ReqQryExchangeMarginRate(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryExchangeMarginRateAdjust(dict req, int nRequestID) +{ + CThostFtdcQryExchangeMarginRateAdjustField myreq = CThostFtdcQryExchangeMarginRateAdjustField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "HedgeFlag", &myreq.HedgeFlag); + getChar(req, "BrokerID", myreq.BrokerID); + int i = this->api->ReqQryExchangeMarginRateAdjust(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryExchangeRate(dict req, int nRequestID) +{ + CThostFtdcQryExchangeRateField myreq = CThostFtdcQryExchangeRateField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "FromCurrencyID", myreq.FromCurrencyID); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "ToCurrencyID", myreq.ToCurrencyID); + int i = this->api->ReqQryExchangeRate(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQrySecAgentACIDMap(dict req, int nRequestID) +{ + CThostFtdcQrySecAgentACIDMapField myreq = CThostFtdcQrySecAgentACIDMapField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "CurrencyID", myreq.CurrencyID); + getChar(req, "UserID", myreq.UserID); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "AccountID", myreq.AccountID); + int i = this->api->ReqQrySecAgentACIDMap(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryOptionInstrTradeCost(dict req, int nRequestID) +{ + CThostFtdcQryOptionInstrTradeCostField myreq = CThostFtdcQryOptionInstrTradeCostField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "HedgeFlag", &myreq.HedgeFlag); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + int i = this->api->ReqQryOptionInstrTradeCost(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryOptionInstrCommRate(dict req, int nRequestID) +{ + CThostFtdcQryOptionInstrCommRateField myreq = CThostFtdcQryOptionInstrCommRateField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + int i = this->api->ReqQryOptionInstrCommRate(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryExecOrder(dict req, int nRequestID) +{ + CThostFtdcQryExecOrderField myreq = CThostFtdcQryExecOrderField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "ExecOrderSysID", myreq.ExecOrderSysID); + getChar(req, "ExchangeID", myreq.ExchangeID); + getChar(req, "InsertTimeStart", myreq.InsertTimeStart); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "InsertTimeEnd", myreq.InsertTimeEnd); + int i = this->api->ReqQryExecOrder(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryForQuote(dict req, int nRequestID) +{ + CThostFtdcQryForQuoteField myreq = CThostFtdcQryForQuoteField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "ExchangeID", myreq.ExchangeID); + getChar(req, "InsertTimeStart", myreq.InsertTimeStart); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "InsertTimeEnd", myreq.InsertTimeEnd); + int i = this->api->ReqQryForQuote(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryQuote(dict req, int nRequestID) +{ + CThostFtdcQryQuoteField myreq = CThostFtdcQryQuoteField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "ExchangeID", myreq.ExchangeID); + getChar(req, "InsertTimeStart", myreq.InsertTimeStart); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "QuoteSysID", myreq.QuoteSysID); + getChar(req, "InsertTimeEnd", myreq.InsertTimeEnd); + int i = this->api->ReqQryQuote(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryTransferSerial(dict req, int nRequestID) +{ + CThostFtdcQryTransferSerialField myreq = CThostFtdcQryTransferSerialField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "CurrencyID", myreq.CurrencyID); + getChar(req, "BankID", myreq.BankID); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "AccountID", myreq.AccountID); + int i = this->api->ReqQryTransferSerial(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryAccountregister(dict req, int nRequestID) +{ + CThostFtdcQryAccountregisterField myreq = CThostFtdcQryAccountregisterField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "CurrencyID", myreq.CurrencyID); + getChar(req, "BankID", myreq.BankID); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "BankBranchID", myreq.BankBranchID); + getChar(req, "AccountID", myreq.AccountID); + int i = this->api->ReqQryAccountregister(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryContractBank(dict req, int nRequestID) +{ + CThostFtdcQryContractBankField myreq = CThostFtdcQryContractBankField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "BankBrchID", myreq.BankBrchID); + getChar(req, "BankID", myreq.BankID); + int i = this->api->ReqQryContractBank(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryParkedOrder(dict req, int nRequestID) +{ + CThostFtdcQryParkedOrderField myreq = CThostFtdcQryParkedOrderField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "ExchangeID", myreq.ExchangeID); + getChar(req, "BrokerID", myreq.BrokerID); + int i = this->api->ReqQryParkedOrder(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryParkedOrderAction(dict req, int nRequestID) +{ + CThostFtdcQryParkedOrderActionField myreq = CThostFtdcQryParkedOrderActionField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "ExchangeID", myreq.ExchangeID); + getChar(req, "BrokerID", myreq.BrokerID); + int i = this->api->ReqQryParkedOrderAction(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryTradingNotice(dict req, int nRequestID) +{ + CThostFtdcQryTradingNoticeField myreq = CThostFtdcQryTradingNoticeField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + int i = this->api->ReqQryTradingNotice(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryBrokerTradingParams(dict req, int nRequestID) +{ + CThostFtdcQryBrokerTradingParamsField myreq = CThostFtdcQryBrokerTradingParamsField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "CurrencyID", myreq.CurrencyID); + getChar(req, "InvestorID", myreq.InvestorID); + getChar(req, "BrokerID", myreq.BrokerID); + int i = this->api->ReqQryBrokerTradingParams(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQryBrokerTradingAlgos(dict req, int nRequestID) +{ + CThostFtdcQryBrokerTradingAlgosField myreq = CThostFtdcQryBrokerTradingAlgosField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "InstrumentID", myreq.InstrumentID); + getChar(req, "ExchangeID", myreq.ExchangeID); + getChar(req, "BrokerID", myreq.BrokerID); + int i = this->api->ReqQryBrokerTradingAlgos(&myreq, nRequestID); + return i; +}; + +int TdApi::reqFromBankToFutureByFuture(dict req, int nRequestID) +{ + CThostFtdcReqTransferField myreq = CThostFtdcReqTransferField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "BrokerBranchID", myreq.BrokerBranchID); + getChar(req, "UserID", myreq.UserID); + getChar(req, "BankPassWord", myreq.BankPassWord); + getChar(req, "TradeTime", myreq.TradeTime); + getChar(req, "VerifyCertNoFlag", &myreq.VerifyCertNoFlag); + getInt(req, "TID", &myreq.TID); + getChar(req, "AccountID", myreq.AccountID); + getChar(req, "BankAccount", myreq.BankAccount); + getInt(req, "InstallID", &myreq.InstallID); + getChar(req, "CustomerName", myreq.CustomerName); + getChar(req, "TradeCode", myreq.TradeCode); + getChar(req, "BankBranchID", myreq.BankBranchID); + getInt(req, "SessionID", &myreq.SessionID); + getChar(req, "BankID", myreq.BankID); + getChar(req, "Password", myreq.Password); + getChar(req, "BankPwdFlag", &myreq.BankPwdFlag); + getInt(req, "RequestID", &myreq.RequestID); + getChar(req, "CustType", &myreq.CustType); + getChar(req, "IdentifiedCardNo", myreq.IdentifiedCardNo); + getChar(req, "FeePayFlag", &myreq.FeePayFlag); + getChar(req, "BankSerial", myreq.BankSerial); + getChar(req, "OperNo", myreq.OperNo); + getChar(req, "TradingDay", myreq.TradingDay); + getChar(req, "BankSecuAcc", myreq.BankSecuAcc); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "DeviceID", myreq.DeviceID); + getChar(req, "TransferStatus", &myreq.TransferStatus); + getChar(req, "IdCardType", &myreq.IdCardType); + getInt(req, "PlateSerial", &myreq.PlateSerial); + getInt(req, "PlateSerial", &myreq.PlateSerial); + getChar(req, "TradeDate", myreq.TradeDate); + getChar(req, "CurrencyID", myreq.CurrencyID); + getChar(req, "CurrencyID", myreq.CurrencyID); + getChar(req, "BankAccType", &myreq.BankAccType); + getChar(req, "LastFragment", &myreq.LastFragment); + getInt(req, "FutureSerial", &myreq.FutureSerial); + getChar(req, "BankSecuAccType", &myreq.BankSecuAccType); + getChar(req, "BrokerIDByBank", myreq.BrokerIDByBank); + getChar(req, "SecuPwdFlag", &myreq.SecuPwdFlag); + getChar(req, "Message", myreq.Message); + getChar(req, "Message", myreq.Message); + getChar(req, "Message", myreq.Message); + getChar(req, "Digest", myreq.Digest); + int i = this->api->ReqFromBankToFutureByFuture(&myreq, nRequestID); + return i; +}; + +int TdApi::reqFromFutureToBankByFuture(dict req, int nRequestID) +{ + CThostFtdcReqTransferField myreq = CThostFtdcReqTransferField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "BrokerBranchID", myreq.BrokerBranchID); + getChar(req, "UserID", myreq.UserID); + getChar(req, "BankPassWord", myreq.BankPassWord); + getChar(req, "TradeTime", myreq.TradeTime); + getChar(req, "VerifyCertNoFlag", &myreq.VerifyCertNoFlag); + getInt(req, "TID", &myreq.TID); + getChar(req, "AccountID", myreq.AccountID); + getChar(req, "BankAccount", myreq.BankAccount); + getInt(req, "InstallID", &myreq.InstallID); + getChar(req, "CustomerName", myreq.CustomerName); + getChar(req, "TradeCode", myreq.TradeCode); + getChar(req, "BankBranchID", myreq.BankBranchID); + getInt(req, "SessionID", &myreq.SessionID); + getChar(req, "BankID", myreq.BankID); + getChar(req, "Password", myreq.Password); + getChar(req, "BankPwdFlag", &myreq.BankPwdFlag); + getInt(req, "RequestID", &myreq.RequestID); + getChar(req, "CustType", &myreq.CustType); + getChar(req, "IdentifiedCardNo", myreq.IdentifiedCardNo); + getChar(req, "FeePayFlag", &myreq.FeePayFlag); + getChar(req, "BankSerial", myreq.BankSerial); + getChar(req, "OperNo", myreq.OperNo); + getChar(req, "TradingDay", myreq.TradingDay); + getChar(req, "BankSecuAcc", myreq.BankSecuAcc); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "DeviceID", myreq.DeviceID); + getChar(req, "TransferStatus", &myreq.TransferStatus); + getChar(req, "IdCardType", &myreq.IdCardType); + getInt(req, "PlateSerial", &myreq.PlateSerial); + getInt(req, "PlateSerial", &myreq.PlateSerial); + getChar(req, "TradeDate", myreq.TradeDate); + getChar(req, "CurrencyID", myreq.CurrencyID); + getChar(req, "CurrencyID", myreq.CurrencyID); + getChar(req, "BankAccType", &myreq.BankAccType); + getChar(req, "LastFragment", &myreq.LastFragment); + getInt(req, "FutureSerial", &myreq.FutureSerial); + getChar(req, "BankSecuAccType", &myreq.BankSecuAccType); + getChar(req, "BrokerIDByBank", myreq.BrokerIDByBank); + getChar(req, "SecuPwdFlag", &myreq.SecuPwdFlag); + getChar(req, "Message", myreq.Message); + getChar(req, "Message", myreq.Message); + getChar(req, "Message", myreq.Message); + getChar(req, "Digest", myreq.Digest); + int i = this->api->ReqFromFutureToBankByFuture(&myreq, nRequestID); + return i; +}; + +int TdApi::reqQueryBankAccountMoneyByFuture(dict req, int nRequestID) +{ + CThostFtdcReqQueryAccountField myreq = CThostFtdcReqQueryAccountField(); + memset(&myreq, 0, sizeof(myreq)); + getChar(req, "BrokerBranchID", myreq.BrokerBranchID); + getChar(req, "UserID", myreq.UserID); + getChar(req, "BankPassWord", myreq.BankPassWord); + getChar(req, "TradeTime", myreq.TradeTime); + getChar(req, "VerifyCertNoFlag", &myreq.VerifyCertNoFlag); + getInt(req, "TID", &myreq.TID); + getChar(req, "AccountID", myreq.AccountID); + getChar(req, "BankAccount", myreq.BankAccount); + getInt(req, "InstallID", &myreq.InstallID); + getChar(req, "CustomerName", myreq.CustomerName); + getChar(req, "TradeCode", myreq.TradeCode); + getChar(req, "BankBranchID", myreq.BankBranchID); + getInt(req, "SessionID", &myreq.SessionID); + getChar(req, "BankID", myreq.BankID); + getChar(req, "Password", myreq.Password); + getChar(req, "BankPwdFlag", &myreq.BankPwdFlag); + getInt(req, "RequestID", &myreq.RequestID); + getChar(req, "CustType", &myreq.CustType); + getChar(req, "IdentifiedCardNo", myreq.IdentifiedCardNo); + getChar(req, "BankSerial", myreq.BankSerial); + getChar(req, "OperNo", myreq.OperNo); + getChar(req, "TradingDay", myreq.TradingDay); + getChar(req, "BankSecuAcc", myreq.BankSecuAcc); + getChar(req, "BrokerID", myreq.BrokerID); + getChar(req, "DeviceID", myreq.DeviceID); + getChar(req, "IdCardType", &myreq.IdCardType); + getInt(req, "PlateSerial", &myreq.PlateSerial); + getChar(req, "TradeDate", myreq.TradeDate); + getChar(req, "CurrencyID", myreq.CurrencyID); + getChar(req, "BankAccType", &myreq.BankAccType); + getChar(req, "LastFragment", &myreq.LastFragment); + getInt(req, "FutureSerial", &myreq.FutureSerial); + getChar(req, "BankSecuAccType", &myreq.BankSecuAccType); + getChar(req, "BrokerIDByBank", myreq.BrokerIDByBank); + getChar(req, "SecuPwdFlag", &myreq.SecuPwdFlag); + getChar(req, "Digest", myreq.Digest); + int i = this->api->ReqQueryBankAccountMoneyByFuture(&myreq, nRequestID); + return i; +}; + + + +///------------------------------------------------------------------------------------- +///Boost.Python封装 +///------------------------------------------------------------------------------------- + +struct TdApiWrap : TdApi, wrapper < TdApi > +{ + virtual void onFrontConnected() + { + //在向python环境中调用回调函数推送数据前,需要先获取全局锁GIL,防止解释器崩溃 + PyLock lock; + + //以下的try...catch...可以实现捕捉python环境中错误的功能,防止C++直接出现原因未知的崩溃 + try + { + this->get_override("onFrontConnected")(); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onFrontDisconnected(int i) + { + PyLock lock; + + try + { + this->get_override("onFrontDisconnected")(i); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onHeartBeatWarning(int i) + { + PyLock lock; + + try + { + this->get_override("onHeartBeatWarning")(i); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspAuthenticate(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspAuthenticate")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspUserLogin(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspUserLogin")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspUserLogout(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspUserLogout")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspUserPasswordUpdate(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspUserPasswordUpdate")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspTradingAccountPasswordUpdate(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspTradingAccountPasswordUpdate")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspOrderInsert(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspOrderInsert")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspParkedOrderInsert(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspParkedOrderInsert")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspParkedOrderAction(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspParkedOrderAction")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspOrderAction(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspOrderAction")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspQueryMaxOrderVolume(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspQueryMaxOrderVolume")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspSettlementInfoConfirm(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspSettlementInfoConfirm")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspRemoveParkedOrder(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspRemoveParkedOrder")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspRemoveParkedOrderAction(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspRemoveParkedOrderAction")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspExecOrderInsert(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspExecOrderInsert")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspExecOrderAction(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspExecOrderAction")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspForQuoteInsert(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspForQuoteInsert")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspQuoteInsert(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspQuoteInsert")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspQuoteAction(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspQuoteAction")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspQryOrder(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspQryOrder")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspQryTrade(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspQryTrade")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspQryInvestorPosition(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspQryInvestorPosition")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspQryTradingAccount(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspQryTradingAccount")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspQryInvestor(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspQryInvestor")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspQryTradingCode(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspQryTradingCode")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspQryInstrumentMarginRate(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspQryInstrumentMarginRate")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspQryInstrumentCommissionRate(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspQryInstrumentCommissionRate")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspQryExchange(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspQryExchange")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspQryProduct(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspQryProduct")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspQryInstrument(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspQryInstrument")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspQryDepthMarketData(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspQryDepthMarketData")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspQrySettlementInfo(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspQrySettlementInfo")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspQryTransferBank(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspQryTransferBank")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspQryInvestorPositionDetail(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspQryInvestorPositionDetail")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspQryNotice(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspQryNotice")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspQrySettlementInfoConfirm(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspQrySettlementInfoConfirm")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspQryInvestorPositionCombineDetail(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspQryInvestorPositionCombineDetail")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspQryCFMMCTradingAccountKey(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspQryCFMMCTradingAccountKey")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspQryEWarrantOffset(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspQryEWarrantOffset")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspQryInvestorProductGroupMargin(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspQryInvestorProductGroupMargin")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspQryExchangeMarginRate(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspQryExchangeMarginRate")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspQryExchangeMarginRateAdjust(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspQryExchangeMarginRateAdjust")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspQryExchangeRate(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspQryExchangeRate")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspQrySecAgentACIDMap(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspQrySecAgentACIDMap")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspQryOptionInstrTradeCost(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspQryOptionInstrTradeCost")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspQryOptionInstrCommRate(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspQryOptionInstrCommRate")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspQryExecOrder(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspQryExecOrder")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspQryForQuote(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspQryForQuote")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspQryQuote(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspQryQuote")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspQryTransferSerial(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspQryTransferSerial")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspQryAccountregister(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspQryAccountregister")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspError(dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspError")(error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRtnOrder(dict data) + { + PyLock lock; + + try + { + this->get_override("onRtnOrder")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRtnTrade(dict data) + { + PyLock lock; + + try + { + this->get_override("onRtnTrade")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onErrRtnOrderInsert(dict data, dict error) + { + PyLock lock; + + try + { + this->get_override("onErrRtnOrderInsert")(data, error); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onErrRtnOrderAction(dict data, dict error) + { + PyLock lock; + + try + { + this->get_override("onErrRtnOrderAction")(data, error); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRtnInstrumentStatus(dict data) + { + PyLock lock; + + try + { + this->get_override("onRtnInstrumentStatus")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRtnTradingNotice(dict data) + { + PyLock lock; + + try + { + this->get_override("onRtnTradingNotice")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRtnErrorConditionalOrder(dict data) + { + PyLock lock; + + try + { + this->get_override("onRtnErrorConditionalOrder")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRtnExecOrder(dict data) + { + PyLock lock; + + try + { + this->get_override("onRtnExecOrder")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onErrRtnExecOrderInsert(dict data, dict error) + { + PyLock lock; + + try + { + this->get_override("onErrRtnExecOrderInsert")(data, error); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onErrRtnExecOrderAction(dict data, dict error) + { + PyLock lock; + + try + { + this->get_override("onErrRtnExecOrderAction")(data, error); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onErrRtnForQuoteInsert(dict data, dict error) + { + PyLock lock; + + try + { + this->get_override("onErrRtnForQuoteInsert")(data, error); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRtnQuote(dict data) + { + PyLock lock; + + try + { + this->get_override("onRtnQuote")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onErrRtnQuoteInsert(dict data, dict error) + { + PyLock lock; + + try + { + this->get_override("onErrRtnQuoteInsert")(data, error); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onErrRtnQuoteAction(dict data, dict error) + { + PyLock lock; + + try + { + this->get_override("onErrRtnQuoteAction")(data, error); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRtnForQuoteRsp(dict data) + { + PyLock lock; + + try + { + this->get_override("onRtnForQuoteRsp")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspQryContractBank(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspQryContractBank")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspQryParkedOrder(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspQryParkedOrder")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspQryParkedOrderAction(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspQryParkedOrderAction")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspQryTradingNotice(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspQryTradingNotice")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspQryBrokerTradingParams(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspQryBrokerTradingParams")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspQryBrokerTradingAlgos(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspQryBrokerTradingAlgos")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRtnFromBankToFutureByBank(dict data) + { + PyLock lock; + + try + { + this->get_override("onRtnFromBankToFutureByBank")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRtnFromFutureToBankByBank(dict data) + { + PyLock lock; + + try + { + this->get_override("onRtnFromFutureToBankByBank")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRtnRepealFromBankToFutureByBank(dict data) + { + PyLock lock; + + try + { + this->get_override("onRtnRepealFromBankToFutureByBank")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRtnRepealFromFutureToBankByBank(dict data) + { + PyLock lock; + + try + { + this->get_override("onRtnRepealFromFutureToBankByBank")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRtnFromBankToFutureByFuture(dict data) + { + PyLock lock; + + try + { + this->get_override("onRtnFromBankToFutureByFuture")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRtnFromFutureToBankByFuture(dict data) + { + PyLock lock; + + try + { + this->get_override("onRtnFromFutureToBankByFuture")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRtnRepealFromBankToFutureByFutureManual(dict data) + { + PyLock lock; + + try + { + this->get_override("onRtnRepealFromBankToFutureByFutureManual")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRtnRepealFromFutureToBankByFutureManual(dict data) + { + PyLock lock; + + try + { + this->get_override("onRtnRepealFromFutureToBankByFutureManual")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRtnQueryBankBalanceByFuture(dict data) + { + PyLock lock; + + try + { + this->get_override("onRtnQueryBankBalanceByFuture")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onErrRtnBankToFutureByFuture(dict data, dict error) + { + PyLock lock; + + try + { + this->get_override("onErrRtnBankToFutureByFuture")(data, error); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onErrRtnFutureToBankByFuture(dict data, dict error) + { + PyLock lock; + + try + { + this->get_override("onErrRtnFutureToBankByFuture")(data, error); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onErrRtnRepealBankToFutureByFutureManual(dict data, dict error) + { + PyLock lock; + + try + { + this->get_override("onErrRtnRepealBankToFutureByFutureManual")(data, error); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onErrRtnRepealFutureToBankByFutureManual(dict data, dict error) + { + PyLock lock; + + try + { + this->get_override("onErrRtnRepealFutureToBankByFutureManual")(data, error); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onErrRtnQueryBankBalanceByFuture(dict data, dict error) + { + PyLock lock; + + try + { + this->get_override("onErrRtnQueryBankBalanceByFuture")(data, error); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRtnRepealFromBankToFutureByFuture(dict data) + { + PyLock lock; + + try + { + this->get_override("onRtnRepealFromBankToFutureByFuture")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRtnRepealFromFutureToBankByFuture(dict data) + { + PyLock lock; + + try + { + this->get_override("onRtnRepealFromFutureToBankByFuture")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspFromBankToFutureByFuture(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspFromBankToFutureByFuture")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspFromFutureToBankByFuture(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspFromFutureToBankByFuture")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRspQueryBankAccountMoneyByFuture(dict data, dict error, int id, bool last) + { + PyLock lock; + + try + { + this->get_override("onRspQueryBankAccountMoneyByFuture")(data, error, id, last); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRtnOpenAccountByBank(dict data) + { + PyLock lock; + + try + { + this->get_override("onRtnOpenAccountByBank")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRtnCancelAccountByBank(dict data) + { + PyLock lock; + + try + { + this->get_override("onRtnCancelAccountByBank")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; + + virtual void onRtnChangeAccountByBank(dict data) + { + PyLock lock; + + try + { + this->get_override("onRtnChangeAccountByBank")(data); + } + catch (error_already_set const &) + { + PyErr_Print(); + } + }; +}; + +BOOST_PYTHON_MODULE(vnctptd) +{ + PyEval_InitThreads(); //导入时运行,保证先创建GIL + + class_("TdApi") + .def("createFtdcTraderApi", &TdApiWrap::createFtdcTraderApi) + .def("release", &TdApiWrap::release) + .def("init", &TdApiWrap::init) + .def("join", &TdApiWrap::join) + .def("exit", &TdApiWrap::exit) + .def("getTradingDay", &TdApiWrap::getTradingDay) + .def("registerFront", &TdApiWrap::registerFront) + .def("subscribePrivateTopic", &TdApiWrap::subscribePrivateTopic) + .def("subscribePublicTopic", &TdApiWrap::subscribePublicTopic) + .def("reqAuthenticate", &TdApiWrap::reqAuthenticate) + .def("reqUserLogin", &TdApiWrap::reqUserLogin) + .def("reqUserLogout", &TdApiWrap::reqUserLogout) + .def("reqUserPasswordUpdate", &TdApiWrap::reqUserPasswordUpdate) + .def("reqTradingAccountPasswordUpdate", &TdApiWrap::reqTradingAccountPasswordUpdate) + .def("reqOrderInsert", &TdApiWrap::reqOrderInsert) + .def("reqParkedOrderInsert", &TdApiWrap::reqParkedOrderInsert) + .def("reqParkedOrderAction", &TdApiWrap::reqParkedOrderAction) + .def("reqOrderAction", &TdApiWrap::reqOrderAction) + .def("reqQueryMaxOrderVolume", &TdApiWrap::reqQueryMaxOrderVolume) + .def("reqSettlementInfoConfirm", &TdApiWrap::reqSettlementInfoConfirm) + .def("reqRemoveParkedOrder", &TdApiWrap::reqRemoveParkedOrder) + .def("reqRemoveParkedOrderAction", &TdApiWrap::reqRemoveParkedOrderAction) + .def("reqExecOrderInsert", &TdApiWrap::reqExecOrderInsert) + .def("reqExecOrderAction", &TdApiWrap::reqExecOrderAction) + .def("reqForQuoteInsert", &TdApiWrap::reqForQuoteInsert) + .def("reqQuoteInsert", &TdApiWrap::reqQuoteInsert) + .def("reqQuoteAction", &TdApiWrap::reqQuoteAction) + .def("reqQryOrder", &TdApiWrap::reqQryOrder) + .def("reqQryTrade", &TdApiWrap::reqQryTrade) + .def("reqQryInvestorPosition", &TdApiWrap::reqQryInvestorPosition) + .def("reqQryTradingAccount", &TdApiWrap::reqQryTradingAccount) + .def("reqQryInvestor", &TdApiWrap::reqQryInvestor) + .def("reqQryTradingCode", &TdApiWrap::reqQryTradingCode) + .def("reqQryInstrumentMarginRate", &TdApiWrap::reqQryInstrumentMarginRate) + .def("reqQryInstrumentCommissionRate", &TdApiWrap::reqQryInstrumentCommissionRate) + .def("reqQryExchange", &TdApiWrap::reqQryExchange) + .def("reqQryProduct", &TdApiWrap::reqQryProduct) + .def("reqQryInstrument", &TdApiWrap::reqQryInstrument) + .def("reqQryDepthMarketData", &TdApiWrap::reqQryDepthMarketData) + .def("reqQrySettlementInfo", &TdApiWrap::reqQrySettlementInfo) + .def("reqQryTransferBank", &TdApiWrap::reqQryTransferBank) + .def("reqQryInvestorPositionDetail", &TdApiWrap::reqQryInvestorPositionDetail) + .def("reqQryNotice", &TdApiWrap::reqQryNotice) + .def("reqQrySettlementInfoConfirm", &TdApiWrap::reqQrySettlementInfoConfirm) + .def("reqQryInvestorPositionCombineDetail", &TdApiWrap::reqQryInvestorPositionCombineDetail) + .def("reqQryCFMMCTradingAccountKey", &TdApiWrap::reqQryCFMMCTradingAccountKey) + .def("reqQryEWarrantOffset", &TdApiWrap::reqQryEWarrantOffset) + .def("reqQryInvestorProductGroupMargin", &TdApiWrap::reqQryInvestorProductGroupMargin) + .def("reqQryExchangeMarginRate", &TdApiWrap::reqQryExchangeMarginRate) + .def("reqQryExchangeMarginRateAdjust", &TdApiWrap::reqQryExchangeMarginRateAdjust) + .def("reqQryExchangeRate", &TdApiWrap::reqQryExchangeRate) + .def("reqQrySecAgentACIDMap", &TdApiWrap::reqQrySecAgentACIDMap) + .def("reqQryOptionInstrTradeCost", &TdApiWrap::reqQryOptionInstrTradeCost) + .def("reqQryOptionInstrCommRate", &TdApiWrap::reqQryOptionInstrCommRate) + .def("reqQryExecOrder", &TdApiWrap::reqQryExecOrder) + .def("reqQryForQuote", &TdApiWrap::reqQryForQuote) + .def("reqQryQuote", &TdApiWrap::reqQryQuote) + .def("reqQryTransferSerial", &TdApiWrap::reqQryTransferSerial) + .def("reqQryAccountregister", &TdApiWrap::reqQryAccountregister) + .def("reqQryContractBank", &TdApiWrap::reqQryContractBank) + .def("reqQryParkedOrder", &TdApiWrap::reqQryParkedOrder) + .def("reqQryParkedOrderAction", &TdApiWrap::reqQryParkedOrderAction) + .def("reqQryTradingNotice", &TdApiWrap::reqQryTradingNotice) + .def("reqQryBrokerTradingParams", &TdApiWrap::reqQryBrokerTradingParams) + .def("reqQryBrokerTradingAlgos", &TdApiWrap::reqQryBrokerTradingAlgos) + .def("reqFromBankToFutureByFuture", &TdApiWrap::reqFromBankToFutureByFuture) + .def("reqFromFutureToBankByFuture", &TdApiWrap::reqFromFutureToBankByFuture) + .def("reqQueryBankAccountMoneyByFuture", &TdApiWrap::reqQueryBankAccountMoneyByFuture) + + .def("onFrontConnected", pure_virtual(&TdApiWrap::onFrontConnected)) + .def("onFrontDisconnected", pure_virtual(&TdApiWrap::onFrontDisconnected)) + .def("onHeartBeatWarning", pure_virtual(&TdApiWrap::onHeartBeatWarning)) + .def("onRspError", pure_virtual(&TdApiWrap::onRspError)) + .def("onRspAuthenticate", pure_virtual(&TdApiWrap::onRspAuthenticate)) + .def("onRspUserLogin", pure_virtual(&TdApiWrap::onRspUserLogin)) + .def("onRspUserLogout", pure_virtual(&TdApiWrap::onRspUserLogout)) + .def("onRspUserPasswordUpdate", pure_virtual(&TdApiWrap::onRspUserPasswordUpdate)) + .def("onRspTradingAccountPasswordUpdate", pure_virtual(&TdApiWrap::onRspTradingAccountPasswordUpdate)) + .def("onRspOrderInsert", pure_virtual(&TdApiWrap::onRspOrderInsert)) + .def("onRspParkedOrderInsert", pure_virtual(&TdApiWrap::onRspParkedOrderInsert)) + .def("onRspParkedOrderAction", pure_virtual(&TdApiWrap::onRspParkedOrderAction)) + .def("onRspOrderAction", pure_virtual(&TdApiWrap::onRspOrderAction)) + .def("onRspQueryMaxOrderVolume", pure_virtual(&TdApiWrap::onRspQueryMaxOrderVolume)) + .def("onRspSettlementInfoConfirm", pure_virtual(&TdApiWrap::onRspSettlementInfoConfirm)) + .def("onRspRemoveParkedOrder", pure_virtual(&TdApiWrap::onRspRemoveParkedOrder)) + .def("onRspRemoveParkedOrderAction", pure_virtual(&TdApiWrap::onRspRemoveParkedOrderAction)) + .def("onRspExecOrderInsert", pure_virtual(&TdApiWrap::onRspExecOrderInsert)) + .def("onRspExecOrderAction", pure_virtual(&TdApiWrap::onRspExecOrderAction)) + .def("onRspForQuoteInsert", pure_virtual(&TdApiWrap::onRspForQuoteInsert)) + .def("onRspQuoteInsert", pure_virtual(&TdApiWrap::onRspQuoteInsert)) + .def("onRspQuoteAction", pure_virtual(&TdApiWrap::onRspQuoteAction)) + .def("onRspQryOrder", pure_virtual(&TdApiWrap::onRspQryOrder)) + .def("onRspQryTrade", pure_virtual(&TdApiWrap::onRspQryTrade)) + .def("onRspQryInvestorPosition", pure_virtual(&TdApiWrap::onRspQryInvestorPosition)) + .def("onRspQryTradingAccount", pure_virtual(&TdApiWrap::onRspQryTradingAccount)) + .def("onRspQryInvestor", pure_virtual(&TdApiWrap::onRspQryInvestor)) + .def("onRspQryTradingCode", pure_virtual(&TdApiWrap::onRspQryTradingCode)) + .def("onRspQryInstrumentMarginRate", pure_virtual(&TdApiWrap::onRspQryInstrumentMarginRate)) + .def("onRspQryInstrumentCommissionRate", pure_virtual(&TdApiWrap::onRspQryInstrumentCommissionRate)) + .def("onRspQryExchange", pure_virtual(&TdApiWrap::onRspQryExchange)) + .def("onRspQryProduct", pure_virtual(&TdApiWrap::onRspQryProduct)) + .def("onRspQryInstrument", pure_virtual(&TdApiWrap::onRspQryInstrument)) + .def("onRspQryDepthMarketData", pure_virtual(&TdApiWrap::onRspQryDepthMarketData)) + .def("onRspQrySettlementInfo", pure_virtual(&TdApiWrap::onRspQrySettlementInfo)) + .def("onRspQryTransferBank", pure_virtual(&TdApiWrap::onRspQryTransferBank)) + .def("onRspQryInvestorPositionDetail", pure_virtual(&TdApiWrap::onRspQryInvestorPositionDetail)) + .def("onRspQryNotice", pure_virtual(&TdApiWrap::onRspQryNotice)) + .def("onRspQrySettlementInfoConfirm", pure_virtual(&TdApiWrap::onRspQrySettlementInfoConfirm)) + .def("onRspQryInvestorPositionCombineDetail", pure_virtual(&TdApiWrap::onRspQryInvestorPositionCombineDetail)) + .def("onRspQryCFMMCTradingAccountKey", pure_virtual(&TdApiWrap::onRspQryCFMMCTradingAccountKey)) + .def("onRspQryEWarrantOffset", pure_virtual(&TdApiWrap::onRspQryEWarrantOffset)) + .def("onRspQryInvestorProductGroupMargin", pure_virtual(&TdApiWrap::onRspQryInvestorProductGroupMargin)) + .def("onRspQryExchangeMarginRate", pure_virtual(&TdApiWrap::onRspQryExchangeMarginRate)) + .def("onRspQryExchangeMarginRateAdjust", pure_virtual(&TdApiWrap::onRspQryExchangeMarginRateAdjust)) + .def("onRspQryExchangeRate", pure_virtual(&TdApiWrap::onRspQryExchangeRate)) + .def("onRspQrySecAgentACIDMap", pure_virtual(&TdApiWrap::onRspQrySecAgentACIDMap)) + .def("onRspQryOptionInstrTradeCost", pure_virtual(&TdApiWrap::onRspQryOptionInstrTradeCost)) + .def("onRspQryOptionInstrCommRate", pure_virtual(&TdApiWrap::onRspQryOptionInstrCommRate)) + .def("onRspQryExecOrder", pure_virtual(&TdApiWrap::onRspQryExecOrder)) + .def("onRspQryForQuote", pure_virtual(&TdApiWrap::onRspQryForQuote)) + .def("onRspQryQuote", pure_virtual(&TdApiWrap::onRspQryQuote)) + .def("onRspQryTransferSerial", pure_virtual(&TdApiWrap::onRspQryTransferSerial)) + .def("onRspQryAccountregister", pure_virtual(&TdApiWrap::onRspQryAccountregister)) + .def("onRtnOrder", pure_virtual(&TdApiWrap::onRtnOrder)) + .def("onRtnTrade", pure_virtual(&TdApiWrap::onRtnTrade)) + .def("onErrRtnOrderInsert", pure_virtual(&TdApiWrap::onErrRtnOrderInsert)) + .def("onErrRtnOrderAction", pure_virtual(&TdApiWrap::onErrRtnOrderAction)) + .def("onRtnInstrumentStatus", pure_virtual(&TdApiWrap::onRtnInstrumentStatus)) + .def("onRtnTradingNotice", pure_virtual(&TdApiWrap::onRtnTradingNotice)) + .def("onRtnErrorConditionalOrder", pure_virtual(&TdApiWrap::onRtnErrorConditionalOrder)) + .def("onRtnExecOrder", pure_virtual(&TdApiWrap::onRtnExecOrder)) + .def("onErrRtnExecOrderInsert", pure_virtual(&TdApiWrap::onErrRtnExecOrderInsert)) + .def("onErrRtnExecOrderAction", pure_virtual(&TdApiWrap::onErrRtnExecOrderAction)) + .def("onErrRtnForQuoteInsert", pure_virtual(&TdApiWrap::onErrRtnForQuoteInsert)) + .def("onRtnQuote", pure_virtual(&TdApiWrap::onRtnQuote)) + .def("onErrRtnQuoteInsert", pure_virtual(&TdApiWrap::onErrRtnQuoteInsert)) + .def("onErrRtnQuoteAction", pure_virtual(&TdApiWrap::onErrRtnQuoteAction)) + .def("onRtnForQuoteRsp", pure_virtual(&TdApiWrap::onRtnForQuoteRsp)) + .def("onRspQryContractBank", pure_virtual(&TdApiWrap::onRspQryContractBank)) + .def("onRspQryParkedOrder", pure_virtual(&TdApiWrap::onRspQryParkedOrder)) + .def("onRspQryParkedOrderAction", pure_virtual(&TdApiWrap::onRspQryParkedOrderAction)) + .def("onRspQryTradingNotice", pure_virtual(&TdApiWrap::onRspQryTradingNotice)) + .def("onRspQryBrokerTradingParams", pure_virtual(&TdApiWrap::onRspQryBrokerTradingParams)) + .def("onRspQryBrokerTradingAlgos", pure_virtual(&TdApiWrap::onRspQryBrokerTradingAlgos)) + .def("onRtnFromBankToFutureByBank", pure_virtual(&TdApiWrap::onRtnFromBankToFutureByBank)) + .def("onRtnFromFutureToBankByBank", pure_virtual(&TdApiWrap::onRtnFromFutureToBankByBank)) + .def("onRtnRepealFromBankToFutureByBank", pure_virtual(&TdApiWrap::onRtnRepealFromBankToFutureByBank)) + .def("onRtnRepealFromFutureToBankByBank", pure_virtual(&TdApiWrap::onRtnRepealFromFutureToBankByBank)) + .def("onRtnFromBankToFutureByFuture", pure_virtual(&TdApiWrap::onRtnFromBankToFutureByFuture)) + .def("onRtnFromFutureToBankByFuture", pure_virtual(&TdApiWrap::onRtnFromFutureToBankByFuture)) + .def("onRtnRepealFromBankToFutureByFutureManual", pure_virtual(&TdApiWrap::onRtnRepealFromBankToFutureByFutureManual)) + .def("onRtnRepealFromFutureToBankByFutureManual", pure_virtual(&TdApiWrap::onRtnRepealFromFutureToBankByFutureManual)) + .def("onRtnQueryBankBalanceByFuture", pure_virtual(&TdApiWrap::onRtnQueryBankBalanceByFuture)) + .def("onErrRtnBankToFutureByFuture", pure_virtual(&TdApiWrap::onErrRtnBankToFutureByFuture)) + .def("onErrRtnFutureToBankByFuture", pure_virtual(&TdApiWrap::onErrRtnFutureToBankByFuture)) + .def("onErrRtnRepealBankToFutureByFutureManual", pure_virtual(&TdApiWrap::onErrRtnRepealBankToFutureByFutureManual)) + .def("onErrRtnRepealFutureToBankByFutureManual", pure_virtual(&TdApiWrap::onErrRtnRepealFutureToBankByFutureManual)) + .def("onErrRtnQueryBankBalanceByFuture", pure_virtual(&TdApiWrap::onErrRtnQueryBankBalanceByFuture)) + .def("onRtnRepealFromBankToFutureByFuture", pure_virtual(&TdApiWrap::onRtnRepealFromBankToFutureByFuture)) + .def("onRtnRepealFromFutureToBankByFuture", pure_virtual(&TdApiWrap::onRtnRepealFromFutureToBankByFuture)) + .def("onRspFromBankToFutureByFuture", pure_virtual(&TdApiWrap::onRspFromBankToFutureByFuture)) + .def("onRspFromFutureToBankByFuture", pure_virtual(&TdApiWrap::onRspFromFutureToBankByFuture)) + .def("onRspQueryBankAccountMoneyByFuture", pure_virtual(&TdApiWrap::onRspQueryBankAccountMoneyByFuture)) + .def("onRtnOpenAccountByBank", pure_virtual(&TdApiWrap::onRtnOpenAccountByBank)) + .def("onRtnCancelAccountByBank", pure_virtual(&TdApiWrap::onRtnCancelAccountByBank)) + .def("onRtnChangeAccountByBank", pure_virtual(&TdApiWrap::onRtnChangeAccountByBank)) + ; +} \ No newline at end of file diff --git a/vn.ctp/vnctptd/vnctptd/vnctptd.h b/vn.ctp/vnctptd/vnctptd/vnctptd.h new file mode 100644 index 00000000..59e4c60c --- /dev/null +++ b/vn.ctp/vnctptd/vnctptd/vnctptd.h @@ -0,0 +1,1101 @@ +//说明部分 +/* +由于CTP API中和资金转账相关的函数太多, +同时也已经有大量的客户端支持这些功能, +因此在这个Python封装中暂时选择只支持交易功能 +*/ + + +//系统 +#include "stdafx.h" +#include +#include + +//Boost +#define BOOST_PYTHON_STATIC_LIB +#include //python封装 +#include //python封装 +#include //python封装 +#include //python封装 +#include //python封装 +#include //任务队列的线程功能 +#include //任务队列的线程功能 +#include //任务队列的任务实现 + +//API +#include "ThostFtdcTraderApi.h" + +//命名空间 +using namespace std; +using namespace boost::python; +using namespace boost; + +//常量 +#define ONFRONTCONNECTED 1 +#define ONFRONTDISCONNECTED 2 +#define ONHEARTBEATWARNING 3 +#define ONRSPAUTHENTICATE 4 +#define ONRSPUSERLOGIN 5 +#define ONRSPUSERLOGOUT 6 +#define ONRSPUSERPASSWORDUPDATE 7 +#define ONRSPTRADINGACCOUNTPASSWORDUPDATE 8 +#define ONRSPORDERINSERT 9 +#define ONRSPPARKEDORDERINSERT 10 +#define ONRSPPARKEDORDERACTION 11 +#define ONRSPORDERACTION 12 +#define ONRSPQUERYMAXORDERVOLUME 13 +#define ONRSPSETTLEMENTINFOCONFIRM 14 +#define ONRSPREMOVEPARKEDORDER 15 +#define ONRSPREMOVEPARKEDORDERACTION 16 +#define ONRSPEXECORDERINSERT 17 +#define ONRSPEXECORDERACTION 18 +#define ONRSPFORQUOTEINSERT 19 +#define ONRSPQUOTEINSERT 20 +#define ONRSPQUOTEACTION 21 +#define ONRSPQRYORDER 22 +#define ONRSPQRYTRADE 23 +#define ONRSPQRYINVESTORPOSITION 24 +#define ONRSPQRYTRADINGACCOUNT 25 +#define ONRSPQRYINVESTOR 26 +#define ONRSPQRYTRADINGCODE 27 +#define ONRSPQRYINSTRUMENTMARGINRATE 28 +#define ONRSPQRYINSTRUMENTCOMMISSIONRATE 29 +#define ONRSPQRYEXCHANGE 30 +#define ONRSPQRYPRODUCT 31 +#define ONRSPQRYINSTRUMENT 32 +#define ONRSPQRYDEPTHMARKETDATA 33 +#define ONRSPQRYSETTLEMENTINFO 34 +#define ONRSPQRYTRANSFERBANK 35 +#define ONRSPQRYINVESTORPOSITIONDETAIL 36 +#define ONRSPQRYNOTICE 37 +#define ONRSPQRYSETTLEMENTINFOCONFIRM 38 +#define ONRSPQRYINVESTORPOSITIONCOMBINEDETAIL 39 +#define ONRSPQRYCFMMCTRADINGACCOUNTKEY 40 +#define ONRSPQRYEWARRANTOFFSET 41 +#define ONRSPQRYINVESTORPRODUCTGROUPMARGIN 42 +#define ONRSPQRYEXCHANGEMARGINRATE 43 +#define ONRSPQRYEXCHANGEMARGINRATEADJUST 44 +#define ONRSPQRYEXCHANGERATE 45 +#define ONRSPQRYSECAGENTACIDMAP 46 +#define ONRSPQRYOPTIONINSTRTRADECOST 47 +#define ONRSPQRYOPTIONINSTRCOMMRATE 48 +#define ONRSPQRYEXECORDER 49 +#define ONRSPQRYFORQUOTE 50 +#define ONRSPQRYQUOTE 51 +#define ONRSPQRYTRANSFERSERIAL 52 +#define ONRSPQRYACCOUNTREGISTER 53 +#define ONRSPERROR 54 +#define ONRTNORDER 55 +#define ONRTNTRADE 56 +#define ONERRRTNORDERINSERT 57 +#define ONERRRTNORDERACTION 58 +#define ONRTNINSTRUMENTSTATUS 59 +#define ONRTNTRADINGNOTICE 60 +#define ONRTNERRORCONDITIONALORDER 61 +#define ONRTNEXECORDER 62 +#define ONERRRTNEXECORDERINSERT 63 +#define ONERRRTNEXECORDERACTION 64 +#define ONERRRTNFORQUOTEINSERT 65 +#define ONRTNQUOTE 66 +#define ONERRRTNQUOTEINSERT 67 +#define ONERRRTNQUOTEACTION 68 +#define ONRTNFORQUOTERSP 69 +#define ONRSPQRYCONTRACTBANK 70 +#define ONRSPQRYPARKEDORDER 71 +#define ONRSPQRYPARKEDORDERACTION 72 +#define ONRSPQRYTRADINGNOTICE 73 +#define ONRSPQRYBROKERTRADINGPARAMS 74 +#define ONRSPQRYBROKERTRADINGALGOS 75 +#define ONRTNFROMBANKTOFUTUREBYBANK 76 +#define ONRTNFROMFUTURETOBANKBYBANK 77 +#define ONRTNREPEALFROMBANKTOFUTUREBYBANK 78 +#define ONRTNREPEALFROMFUTURETOBANKBYBANK 79 +#define ONRTNFROMBANKTOFUTUREBYFUTURE 80 +#define ONRTNFROMFUTURETOBANKBYFUTURE 81 +#define ONRTNREPEALFROMBANKTOFUTUREBYFUTUREMANUAL 82 +#define ONRTNREPEALFROMFUTURETOBANKBYFUTUREMANUAL 83 +#define ONRTNQUERYBANKBALANCEBYFUTURE 84 +#define ONERRRTNBANKTOFUTUREBYFUTURE 85 +#define ONERRRTNFUTURETOBANKBYFUTURE 86 +#define ONERRRTNREPEALBANKTOFUTUREBYFUTUREMANUAL 87 +#define ONERRRTNREPEALFUTURETOBANKBYFUTUREMANUAL 88 +#define ONERRRTNQUERYBANKBALANCEBYFUTURE 89 +#define ONRTNREPEALFROMBANKTOFUTUREBYFUTURE 90 +#define ONRTNREPEALFROMFUTURETOBANKBYFUTURE 91 +#define ONRSPFROMBANKTOFUTUREBYFUTURE 92 +#define ONRSPFROMFUTURETOBANKBYFUTURE 93 +#define ONRSPQUERYBANKACCOUNTMONEYBYFUTURE 94 +#define ONRTNOPENACCOUNTBYBANK 95 +#define ONRTNCANCELACCOUNTBYBANK 96 +#define ONRTNCHANGEACCOUNTBYBANK 97 + + + + +///------------------------------------------------------------------------------------- +///API中的部分组件 +///------------------------------------------------------------------------------------- + +//GIL全局锁简化获取用, +//用于帮助C++线程获得GIL锁,从而防止python崩溃 +class PyLock +{ +private: + PyGILState_STATE gil_state; + +public: + //在某个函数方法中创建该对象时,获得GIL锁 + PyLock() + { + gil_state = PyGILState_Ensure(); + } + + //在某个函数完成后销毁该对象时,解放GIL锁 + ~PyLock() + { + PyGILState_Release(gil_state); + } +}; + + +//任务结构体 +struct Task +{ + int task_name; //回调函数名称对应的常量 + any task_data; //数据结构体 + any task_error; //错误结构体 + int task_id; //请求id + bool task_last; //是否为最后返回 +}; + + +///线程安全的队列 +template + +class ConcurrentQueue +{ +private: + queue the_queue; //标准库队列 + mutable mutex the_mutex; //boost互斥锁 + condition_variable the_condition_variable; //boost条件变量 + +public: + + //存入新的任务 + void push(Data const& data) + { + mutex::scoped_lock lock(the_mutex); //获取互斥锁 + the_queue.push(data); //向队列中存入数据 + lock.unlock(); //释放锁 + the_condition_variable.notify_one(); //通知正在阻塞等待的线程 + } + + //检查队列是否为空 + bool empty() const + { + mutex::scoped_lock lock(the_mutex); + return the_queue.empty(); + } + + //取出 + Data wait_and_pop() + { + mutex::scoped_lock lock(the_mutex); + + while (the_queue.empty()) //当队列为空时 + { + the_condition_variable.wait(lock); //等待条件变量通知 + } + + Data popped_value = the_queue.front(); //获取队列中的最后一个任务 + the_queue.pop(); //删除该任务 + return popped_value; //返回该任务 + } + +}; + + +//从字典中获取某个建值对应的整数,并赋值到请求结构体对象的值上 +void getInt(dict d, string key, int* value); + + +//从字典中获取某个建值对应的浮点数,并赋值到请求结构体对象的值上 +void getDouble(dict d, string key, double* value); + + +//从字典中获取某个建值对应的字符串,并赋值到请求结构体对象的值上 +void getChar(dict d, string key, char* value); + + + +///------------------------------------------------------------------------------------- +///C++ SPI的回调函数方法实现 +///------------------------------------------------------------------------------------- + +//API的继承实现 +class TdApi : public CThostFtdcTraderSpi +{ +private: + CThostFtdcTraderApi* api; //API对象 + thread *task_thread; //工作线程指针(向python中推送数据) + ConcurrentQueue task_queue; //任务队列 + +public: + TdApi() + { + function0 f = boost::bind(&TdApi::processTask, this); + thread t(f); + this->task_thread = &t; + }; + + ~TdApi() + { + }; + + //------------------------------------------------------------------------------------- + //API回调函数 + //------------------------------------------------------------------------------------- + + ///当客户端与交易后台建立起通信连接时(还未登录前),该方法被调用。 + virtual void OnFrontConnected(); + + ///当客户端与交易后台通信连接断开时,该方法被调用。当发生这个情况后,API会自动重新连接,客户端可不做处理。 + ///@param nReason 错误原因 + /// 0x1001 网络读失败 + /// 0x1002 网络写失败 + /// 0x2001 接收心跳超时 + /// 0x2002 发送心跳失败 + /// 0x2003 收到错误报文 + virtual void OnFrontDisconnected(int nReason); + + ///心跳超时警告。当长时间未收到报文时,该方法被调用。 + ///@param nTimeLapse 距离上次接收报文的时间 + virtual void OnHeartBeatWarning(int nTimeLapse); + + ///客户端认证响应 + virtual void OnRspAuthenticate(CThostFtdcRspAuthenticateField *pRspAuthenticateField, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast); + + ///登录请求响应 + virtual void OnRspUserLogin(CThostFtdcRspUserLoginField *pRspUserLogin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///登出请求响应 + virtual void OnRspUserLogout(CThostFtdcUserLogoutField *pUserLogout, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///用户口令更新请求响应 + virtual void OnRspUserPasswordUpdate(CThostFtdcUserPasswordUpdateField *pUserPasswordUpdate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///资金账户口令更新请求响应 + virtual void OnRspTradingAccountPasswordUpdate(CThostFtdcTradingAccountPasswordUpdateField *pTradingAccountPasswordUpdate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///报单录入请求响应 + virtual void OnRspOrderInsert(CThostFtdcInputOrderField *pInputOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///预埋单录入请求响应 + virtual void OnRspParkedOrderInsert(CThostFtdcParkedOrderField *pParkedOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///预埋撤单录入请求响应 + virtual void OnRspParkedOrderAction(CThostFtdcParkedOrderActionField *pParkedOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///报单操作请求响应 + virtual void OnRspOrderAction(CThostFtdcInputOrderActionField *pInputOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///查询最大报单数量响应 + virtual void OnRspQueryMaxOrderVolume(CThostFtdcQueryMaxOrderVolumeField *pQueryMaxOrderVolume, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///投资者结算结果确认响应 + virtual void OnRspSettlementInfoConfirm(CThostFtdcSettlementInfoConfirmField *pSettlementInfoConfirm, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///删除预埋单响应 + virtual void OnRspRemoveParkedOrder(CThostFtdcRemoveParkedOrderField *pRemoveParkedOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///删除预埋撤单响应 + virtual void OnRspRemoveParkedOrderAction(CThostFtdcRemoveParkedOrderActionField *pRemoveParkedOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///执行宣告录入请求响应 + virtual void OnRspExecOrderInsert(CThostFtdcInputExecOrderField *pInputExecOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///执行宣告操作请求响应 + virtual void OnRspExecOrderAction(CThostFtdcInputExecOrderActionField *pInputExecOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///询价录入请求响应 + virtual void OnRspForQuoteInsert(CThostFtdcInputForQuoteField *pInputForQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///报价录入请求响应 + virtual void OnRspQuoteInsert(CThostFtdcInputQuoteField *pInputQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///报价操作请求响应 + virtual void OnRspQuoteAction(CThostFtdcInputQuoteActionField *pInputQuoteAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///请求查询报单响应 + virtual void OnRspQryOrder(CThostFtdcOrderField *pOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///请求查询成交响应 + virtual void OnRspQryTrade(CThostFtdcTradeField *pTrade, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///请求查询投资者持仓响应 + virtual void OnRspQryInvestorPosition(CThostFtdcInvestorPositionField *pInvestorPosition, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///请求查询资金账户响应 + virtual void OnRspQryTradingAccount(CThostFtdcTradingAccountField *pTradingAccount, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///请求查询投资者响应 + virtual void OnRspQryInvestor(CThostFtdcInvestorField *pInvestor, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///请求查询交易编码响应 + virtual void OnRspQryTradingCode(CThostFtdcTradingCodeField *pTradingCode, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///请求查询合约保证金率响应 + virtual void OnRspQryInstrumentMarginRate(CThostFtdcInstrumentMarginRateField *pInstrumentMarginRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///请求查询合约手续费率响应 + virtual void OnRspQryInstrumentCommissionRate(CThostFtdcInstrumentCommissionRateField *pInstrumentCommissionRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///请求查询交易所响应 + virtual void OnRspQryExchange(CThostFtdcExchangeField *pExchange, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///请求查询产品响应 + virtual void OnRspQryProduct(CThostFtdcProductField *pProduct, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///请求查询合约响应 + virtual void OnRspQryInstrument(CThostFtdcInstrumentField *pInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///请求查询行情响应 + virtual void OnRspQryDepthMarketData(CThostFtdcDepthMarketDataField *pDepthMarketData, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///请求查询投资者结算结果响应 + virtual void OnRspQrySettlementInfo(CThostFtdcSettlementInfoField *pSettlementInfo, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///请求查询转帐银行响应 + virtual void OnRspQryTransferBank(CThostFtdcTransferBankField *pTransferBank, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///请求查询投资者持仓明细响应 + virtual void OnRspQryInvestorPositionDetail(CThostFtdcInvestorPositionDetailField *pInvestorPositionDetail, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///请求查询客户通知响应 + virtual void OnRspQryNotice(CThostFtdcNoticeField *pNotice, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///请求查询结算信息确认响应 + virtual void OnRspQrySettlementInfoConfirm(CThostFtdcSettlementInfoConfirmField *pSettlementInfoConfirm, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///请求查询投资者持仓明细响应 + virtual void OnRspQryInvestorPositionCombineDetail(CThostFtdcInvestorPositionCombineDetailField *pInvestorPositionCombineDetail, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///查询保证金监管系统经纪公司资金账户密钥响应 + virtual void OnRspQryCFMMCTradingAccountKey(CThostFtdcCFMMCTradingAccountKeyField *pCFMMCTradingAccountKey, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///请求查询仓单折抵信息响应 + virtual void OnRspQryEWarrantOffset(CThostFtdcEWarrantOffsetField *pEWarrantOffset, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///请求查询投资者品种/跨品种保证金响应 + virtual void OnRspQryInvestorProductGroupMargin(CThostFtdcInvestorProductGroupMarginField *pInvestorProductGroupMargin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///请求查询交易所保证金率响应 + virtual void OnRspQryExchangeMarginRate(CThostFtdcExchangeMarginRateField *pExchangeMarginRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///请求查询交易所调整保证金率响应 + virtual void OnRspQryExchangeMarginRateAdjust(CThostFtdcExchangeMarginRateAdjustField *pExchangeMarginRateAdjust, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///请求查询汇率响应 + virtual void OnRspQryExchangeRate(CThostFtdcExchangeRateField *pExchangeRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///请求查询二级代理操作员银期权限响应 + virtual void OnRspQrySecAgentACIDMap(CThostFtdcSecAgentACIDMapField *pSecAgentACIDMap, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///请求查询期权交易成本响应 + virtual void OnRspQryOptionInstrTradeCost(CThostFtdcOptionInstrTradeCostField *pOptionInstrTradeCost, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///请求查询期权合约手续费响应 + virtual void OnRspQryOptionInstrCommRate(CThostFtdcOptionInstrCommRateField *pOptionInstrCommRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///请求查询执行宣告响应 + virtual void OnRspQryExecOrder(CThostFtdcExecOrderField *pExecOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///请求查询询价响应 + virtual void OnRspQryForQuote(CThostFtdcForQuoteField *pForQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///请求查询报价响应 + virtual void OnRspQryQuote(CThostFtdcQuoteField *pQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///请求查询转帐流水响应 + virtual void OnRspQryTransferSerial(CThostFtdcTransferSerialField *pTransferSerial, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///请求查询银期签约关系响应 + virtual void OnRspQryAccountregister(CThostFtdcAccountregisterField *pAccountregister, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///错误应答 + virtual void OnRspError(CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///报单通知 + virtual void OnRtnOrder(CThostFtdcOrderField *pOrder) ; + + ///成交通知 + virtual void OnRtnTrade(CThostFtdcTradeField *pTrade) ; + + ///报单录入错误回报 + virtual void OnErrRtnOrderInsert(CThostFtdcInputOrderField *pInputOrder, CThostFtdcRspInfoField *pRspInfo) ; + + ///报单操作错误回报 + virtual void OnErrRtnOrderAction(CThostFtdcOrderActionField *pOrderAction, CThostFtdcRspInfoField *pRspInfo) ; + + ///合约交易状态通知 + virtual void OnRtnInstrumentStatus(CThostFtdcInstrumentStatusField *pInstrumentStatus) ; + + ///交易通知 + virtual void OnRtnTradingNotice(CThostFtdcTradingNoticeInfoField *pTradingNoticeInfo) ; + + ///提示条件单校验错误 + virtual void OnRtnErrorConditionalOrder(CThostFtdcErrorConditionalOrderField *pErrorConditionalOrder) ; + + ///执行宣告通知 + virtual void OnRtnExecOrder(CThostFtdcExecOrderField *pExecOrder) ; + + ///执行宣告录入错误回报 + virtual void OnErrRtnExecOrderInsert(CThostFtdcInputExecOrderField *pInputExecOrder, CThostFtdcRspInfoField *pRspInfo) ; + + ///执行宣告操作错误回报 + virtual void OnErrRtnExecOrderAction(CThostFtdcExecOrderActionField *pExecOrderAction, CThostFtdcRspInfoField *pRspInfo) ; + + ///询价录入错误回报 + virtual void OnErrRtnForQuoteInsert(CThostFtdcInputForQuoteField *pInputForQuote, CThostFtdcRspInfoField *pRspInfo) ; + + ///报价通知 + virtual void OnRtnQuote(CThostFtdcQuoteField *pQuote) ; + + ///报价录入错误回报 + virtual void OnErrRtnQuoteInsert(CThostFtdcInputQuoteField *pInputQuote, CThostFtdcRspInfoField *pRspInfo) ; + + ///报价操作错误回报 + virtual void OnErrRtnQuoteAction(CThostFtdcQuoteActionField *pQuoteAction, CThostFtdcRspInfoField *pRspInfo) ; + + ///询价通知 + virtual void OnRtnForQuoteRsp(CThostFtdcForQuoteRspField *pForQuoteRsp) ; + + ///请求查询签约银行响应 + virtual void OnRspQryContractBank(CThostFtdcContractBankField *pContractBank, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///请求查询预埋单响应 + virtual void OnRspQryParkedOrder(CThostFtdcParkedOrderField *pParkedOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///请求查询预埋撤单响应 + virtual void OnRspQryParkedOrderAction(CThostFtdcParkedOrderActionField *pParkedOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///请求查询交易通知响应 + virtual void OnRspQryTradingNotice(CThostFtdcTradingNoticeField *pTradingNotice, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///请求查询经纪公司交易参数响应 + virtual void OnRspQryBrokerTradingParams(CThostFtdcBrokerTradingParamsField *pBrokerTradingParams, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///请求查询经纪公司交易算法响应 + virtual void OnRspQryBrokerTradingAlgos(CThostFtdcBrokerTradingAlgosField *pBrokerTradingAlgos, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///银行发起银行资金转期货通知 + virtual void OnRtnFromBankToFutureByBank(CThostFtdcRspTransferField *pRspTransfer) ; + + ///银行发起期货资金转银行通知 + virtual void OnRtnFromFutureToBankByBank(CThostFtdcRspTransferField *pRspTransfer) ; + + ///银行发起冲正银行转期货通知 + virtual void OnRtnRepealFromBankToFutureByBank(CThostFtdcRspRepealField *pRspRepeal) ; + + ///银行发起冲正期货转银行通知 + virtual void OnRtnRepealFromFutureToBankByBank(CThostFtdcRspRepealField *pRspRepeal) ; + + ///期货发起银行资金转期货通知 + virtual void OnRtnFromBankToFutureByFuture(CThostFtdcRspTransferField *pRspTransfer) ; + + ///期货发起期货资金转银行通知 + virtual void OnRtnFromFutureToBankByFuture(CThostFtdcRspTransferField *pRspTransfer) ; + + ///系统运行时期货端手工发起冲正银行转期货请求,银行处理完毕后报盘发回的通知 + virtual void OnRtnRepealFromBankToFutureByFutureManual(CThostFtdcRspRepealField *pRspRepeal) ; + + ///系统运行时期货端手工发起冲正期货转银行请求,银行处理完毕后报盘发回的通知 + virtual void OnRtnRepealFromFutureToBankByFutureManual(CThostFtdcRspRepealField *pRspRepeal) ; + + ///期货发起查询银行余额通知 + virtual void OnRtnQueryBankBalanceByFuture(CThostFtdcNotifyQueryAccountField *pNotifyQueryAccount) ; + + ///期货发起银行资金转期货错误回报 + virtual void OnErrRtnBankToFutureByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo) ; + + ///期货发起期货资金转银行错误回报 + virtual void OnErrRtnFutureToBankByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo) ; + + ///系统运行时期货端手工发起冲正银行转期货错误回报 + virtual void OnErrRtnRepealBankToFutureByFutureManual(CThostFtdcReqRepealField *pReqRepeal, CThostFtdcRspInfoField *pRspInfo) ; + + ///系统运行时期货端手工发起冲正期货转银行错误回报 + virtual void OnErrRtnRepealFutureToBankByFutureManual(CThostFtdcReqRepealField *pReqRepeal, CThostFtdcRspInfoField *pRspInfo) ; + + ///期货发起查询银行余额错误回报 + virtual void OnErrRtnQueryBankBalanceByFuture(CThostFtdcReqQueryAccountField *pReqQueryAccount, CThostFtdcRspInfoField *pRspInfo) ; + + ///期货发起冲正银行转期货请求,银行处理完毕后报盘发回的通知 + virtual void OnRtnRepealFromBankToFutureByFuture(CThostFtdcRspRepealField *pRspRepeal) ; + + ///期货发起冲正期货转银行请求,银行处理完毕后报盘发回的通知 + virtual void OnRtnRepealFromFutureToBankByFuture(CThostFtdcRspRepealField *pRspRepeal) ; + + ///期货发起银行资金转期货应答 + virtual void OnRspFromBankToFutureByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///期货发起期货资金转银行应答 + virtual void OnRspFromFutureToBankByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///期货发起查询银行余额应答 + virtual void OnRspQueryBankAccountMoneyByFuture(CThostFtdcReqQueryAccountField *pReqQueryAccount, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ; + + ///银行发起银期开户通知 + virtual void OnRtnOpenAccountByBank(CThostFtdcOpenAccountField *pOpenAccount) ; + + ///银行发起银期销户通知 + virtual void OnRtnCancelAccountByBank(CThostFtdcCancelAccountField *pCancelAccount) ; + + ///银行发起变更银行账号通知 + virtual void OnRtnChangeAccountByBank(CThostFtdcChangeAccountField *pChangeAccount) ; + + //------------------------------------------------------------------------------------- + //task:任务 + //------------------------------------------------------------------------------------- + + void processTask(); + + void processFrontConnected(Task task); + + void processFrontDisconnected(Task task); + + void processHeartBeatWarning(Task task); + + void processRspAuthenticate(Task task); + + void processRspUserLogin(Task task); + + void processRspUserLogout(Task task); + + void processRspUserPasswordUpdate(Task task); + + void processRspTradingAccountPasswordUpdate(Task task); + + void processRspOrderInsert(Task task); + + void processRspParkedOrderInsert(Task task); + + void processRspParkedOrderAction(Task task); + + void processRspOrderAction(Task task); + + void processRspQueryMaxOrderVolume(Task task); + + void processRspSettlementInfoConfirm(Task task); + + void processRspRemoveParkedOrder(Task task); + + void processRspRemoveParkedOrderAction(Task task); + + void processRspExecOrderInsert(Task task); + + void processRspExecOrderAction(Task task); + + void processRspForQuoteInsert(Task task); + + void processRspQuoteInsert(Task task); + + void processRspQuoteAction(Task task); + + void processRspQryOrder(Task task); + + void processRspQryTrade(Task task); + + void processRspQryInvestorPosition(Task task); + + void processRspQryTradingAccount(Task task); + + void processRspQryInvestor(Task task); + + void processRspQryTradingCode(Task task); + + void processRspQryInstrumentMarginRate(Task task); + + void processRspQryInstrumentCommissionRate(Task task); + + void processRspQryExchange(Task task); + + void processRspQryProduct(Task task); + + void processRspQryInstrument(Task task); + + void processRspQryDepthMarketData(Task task); + + void processRspQrySettlementInfo(Task task); + + void processRspQryTransferBank(Task task); + + void processRspQryInvestorPositionDetail(Task task); + + void processRspQryNotice(Task task); + + void processRspQrySettlementInfoConfirm(Task task); + + void processRspQryInvestorPositionCombineDetail(Task task); + + void processRspQryCFMMCTradingAccountKey(Task task); + + void processRspQryEWarrantOffset(Task task); + + void processRspQryInvestorProductGroupMargin(Task task); + + void processRspQryExchangeMarginRate(Task task); + + void processRspQryExchangeMarginRateAdjust(Task task); + + void processRspQryExchangeRate(Task task); + + void processRspQrySecAgentACIDMap(Task task); + + void processRspQryOptionInstrTradeCost(Task task); + + void processRspQryOptionInstrCommRate(Task task); + + void processRspQryExecOrder(Task task); + + void processRspQryForQuote(Task task); + + void processRspQryQuote(Task task); + + void processRspQryTransferSerial(Task task); + + void processRspQryAccountregister(Task task); + + void processRspError(Task task); + + void processRtnOrder(Task task); + + void processRtnTrade(Task task); + + void processErrRtnOrderInsert(Task task); + + void processErrRtnOrderAction(Task task); + + void processRtnInstrumentStatus(Task task); + + void processRtnTradingNotice(Task task); + + void processRtnErrorConditionalOrder(Task task); + + void processRtnExecOrder(Task task); + + void processErrRtnExecOrderInsert(Task task); + + void processErrRtnExecOrderAction(Task task); + + void processErrRtnForQuoteInsert(Task task); + + void processRtnQuote(Task task); + + void processErrRtnQuoteInsert(Task task); + + void processErrRtnQuoteAction(Task task); + + void processRtnForQuoteRsp(Task task); + + void processRspQryContractBank(Task task); + + void processRspQryParkedOrder(Task task); + + void processRspQryParkedOrderAction(Task task); + + void processRspQryTradingNotice(Task task); + + void processRspQryBrokerTradingParams(Task task); + + void processRspQryBrokerTradingAlgos(Task task); + + void processRtnFromBankToFutureByBank(Task task); + + void processRtnFromFutureToBankByBank(Task task); + + void processRtnRepealFromBankToFutureByBank(Task task); + + void processRtnRepealFromFutureToBankByBank(Task task); + + void processRtnFromBankToFutureByFuture(Task task); + + void processRtnFromFutureToBankByFuture(Task task); + + void processRtnRepealFromBankToFutureByFutureManual(Task task); + + void processRtnRepealFromFutureToBankByFutureManual(Task task); + + void processRtnQueryBankBalanceByFuture(Task task); + + void processErrRtnBankToFutureByFuture(Task task); + + void processErrRtnFutureToBankByFuture(Task task); + + void processErrRtnRepealBankToFutureByFutureManual(Task task); + + void processErrRtnRepealFutureToBankByFutureManual(Task task); + + void processErrRtnQueryBankBalanceByFuture(Task task); + + void processRtnRepealFromBankToFutureByFuture(Task task); + + void processRtnRepealFromFutureToBankByFuture(Task task); + + void processRspFromBankToFutureByFuture(Task task); + + void processRspFromFutureToBankByFuture(Task task); + + void processRspQueryBankAccountMoneyByFuture(Task task); + + void processRtnOpenAccountByBank(Task task); + + void processRtnCancelAccountByBank(Task task); + + void processRtnChangeAccountByBank(Task task); + + //------------------------------------------------------------------------------------- + //data:回调函数的数据字典 + //error:回调函数的错误字典 + //id:请求id + //last:是否为最后返回 + //i:整数 + //------------------------------------------------------------------------------------- + + virtual void onFrontConnected(){}; + + virtual void onFrontDisconnected(int i){}; + + virtual void onHeartBeatWarning(int i){}; + + virtual void onRspAuthenticate(dict data, dict error, int id, bool last) {}; + + virtual void onRspUserLogin(dict data, dict error, int id, bool last) {}; + + virtual void onRspUserLogout(dict data, dict error, int id, bool last) {}; + + virtual void onRspUserPasswordUpdate(dict data, dict error, int id, bool last) {}; + + virtual void onRspTradingAccountPasswordUpdate(dict data, dict error, int id, bool last) {}; + + virtual void onRspOrderInsert(dict data, dict error, int id, bool last) {}; + + virtual void onRspParkedOrderInsert(dict data, dict error, int id, bool last) {}; + + virtual void onRspParkedOrderAction(dict data, dict error, int id, bool last) {}; + + virtual void onRspOrderAction(dict data, dict error, int id, bool last) {}; + + virtual void onRspQueryMaxOrderVolume(dict data, dict error, int id, bool last) {}; + + virtual void onRspSettlementInfoConfirm(dict data, dict error, int id, bool last) {}; + + virtual void onRspRemoveParkedOrder(dict data, dict error, int id, bool last) {}; + + virtual void onRspRemoveParkedOrderAction(dict data, dict error, int id, bool last) {}; + + virtual void onRspExecOrderInsert(dict data, dict error, int id, bool last) {}; + + virtual void onRspExecOrderAction(dict data, dict error, int id, bool last) {}; + + virtual void onRspForQuoteInsert(dict data, dict error, int id, bool last) {}; + + virtual void onRspQuoteInsert(dict data, dict error, int id, bool last) {}; + + virtual void onRspQuoteAction(dict data, dict error, int id, bool last) {}; + + virtual void onRspQryOrder(dict data, dict error, int id, bool last) {}; + + virtual void onRspQryTrade(dict data, dict error, int id, bool last) {}; + + virtual void onRspQryInvestorPosition(dict data, dict error, int id, bool last) {}; + + virtual void onRspQryTradingAccount(dict data, dict error, int id, bool last) {}; + + virtual void onRspQryInvestor(dict data, dict error, int id, bool last) {}; + + virtual void onRspQryTradingCode(dict data, dict error, int id, bool last) {}; + + virtual void onRspQryInstrumentMarginRate(dict data, dict error, int id, bool last) {}; + + virtual void onRspQryInstrumentCommissionRate(dict data, dict error, int id, bool last) {}; + + virtual void onRspQryExchange(dict data, dict error, int id, bool last) {}; + + virtual void onRspQryProduct(dict data, dict error, int id, bool last) {}; + + virtual void onRspQryInstrument(dict data, dict error, int id, bool last) {}; + + virtual void onRspQryDepthMarketData(dict data, dict error, int id, bool last) {}; + + virtual void onRspQrySettlementInfo(dict data, dict error, int id, bool last) {}; + + virtual void onRspQryTransferBank(dict data, dict error, int id, bool last) {}; + + virtual void onRspQryInvestorPositionDetail(dict data, dict error, int id, bool last) {}; + + virtual void onRspQryNotice(dict data, dict error, int id, bool last) {}; + + virtual void onRspQrySettlementInfoConfirm(dict data, dict error, int id, bool last) {}; + + virtual void onRspQryInvestorPositionCombineDetail(dict data, dict error, int id, bool last) {}; + + virtual void onRspQryCFMMCTradingAccountKey(dict data, dict error, int id, bool last) {}; + + virtual void onRspQryEWarrantOffset(dict data, dict error, int id, bool last) {}; + + virtual void onRspQryInvestorProductGroupMargin(dict data, dict error, int id, bool last) {}; + + virtual void onRspQryExchangeMarginRate(dict data, dict error, int id, bool last) {}; + + virtual void onRspQryExchangeMarginRateAdjust(dict data, dict error, int id, bool last) {}; + + virtual void onRspQryExchangeRate(dict data, dict error, int id, bool last) {}; + + virtual void onRspQrySecAgentACIDMap(dict data, dict error, int id, bool last) {}; + + virtual void onRspQryOptionInstrTradeCost(dict data, dict error, int id, bool last) {}; + + virtual void onRspQryOptionInstrCommRate(dict data, dict error, int id, bool last) {}; + + virtual void onRspQryExecOrder(dict data, dict error, int id, bool last) {}; + + virtual void onRspQryForQuote(dict data, dict error, int id, bool last) {}; + + virtual void onRspQryQuote(dict data, dict error, int id, bool last) {}; + + virtual void onRspQryTransferSerial(dict data, dict error, int id, bool last) {}; + + virtual void onRspQryAccountregister(dict data, dict error, int id, bool last) {}; + + virtual void onRspError(dict error, int id, bool last) {}; + + virtual void onRtnOrder(dict data) {}; + + virtual void onRtnTrade(dict data) {}; + + virtual void onErrRtnOrderInsert(dict data, dict error) {}; + + virtual void onErrRtnOrderAction(dict data, dict error) {}; + + virtual void onRtnInstrumentStatus(dict data) {}; + + virtual void onRtnTradingNotice(dict data) {}; + + virtual void onRtnErrorConditionalOrder(dict data) {}; + + virtual void onRtnExecOrder(dict data) {}; + + virtual void onErrRtnExecOrderInsert(dict data, dict error) {}; + + virtual void onErrRtnExecOrderAction(dict data, dict error) {}; + + virtual void onErrRtnForQuoteInsert(dict data, dict error) {}; + + virtual void onRtnQuote(dict data) {}; + + virtual void onErrRtnQuoteInsert(dict data, dict error) {}; + + virtual void onErrRtnQuoteAction(dict data, dict error) {}; + + virtual void onRtnForQuoteRsp(dict data) {}; + + virtual void onRspQryContractBank(dict data, dict error, int id, bool last) {}; + + virtual void onRspQryParkedOrder(dict data, dict error, int id, bool last) {}; + + virtual void onRspQryParkedOrderAction(dict data, dict error, int id, bool last) {}; + + virtual void onRspQryTradingNotice(dict data, dict error, int id, bool last) {}; + + virtual void onRspQryBrokerTradingParams(dict data, dict error, int id, bool last) {}; + + virtual void onRspQryBrokerTradingAlgos(dict data, dict error, int id, bool last) {}; + + virtual void onRtnFromBankToFutureByBank(dict data) {}; + + virtual void onRtnFromFutureToBankByBank(dict data) {}; + + virtual void onRtnRepealFromBankToFutureByBank(dict data) {}; + + virtual void onRtnRepealFromFutureToBankByBank(dict data) {}; + + virtual void onRtnFromBankToFutureByFuture(dict data) {}; + + virtual void onRtnFromFutureToBankByFuture(dict data) {}; + + virtual void onRtnRepealFromBankToFutureByFutureManual(dict data) {}; + + virtual void onRtnRepealFromFutureToBankByFutureManual(dict data) {}; + + virtual void onRtnQueryBankBalanceByFuture(dict data) {}; + + virtual void onErrRtnBankToFutureByFuture(dict data, dict error) {}; + + virtual void onErrRtnFutureToBankByFuture(dict data, dict error) {}; + + virtual void onErrRtnRepealBankToFutureByFutureManual(dict data, dict error) {}; + + virtual void onErrRtnRepealFutureToBankByFutureManual(dict data, dict error) {}; + + virtual void onErrRtnQueryBankBalanceByFuture(dict data, dict error) {}; + + virtual void onRtnRepealFromBankToFutureByFuture(dict data) {}; + + virtual void onRtnRepealFromFutureToBankByFuture(dict data) {}; + + virtual void onRspFromBankToFutureByFuture(dict data, dict error, int id, bool last) {}; + + virtual void onRspFromFutureToBankByFuture(dict data, dict error, int id, bool last) {}; + + virtual void onRspQueryBankAccountMoneyByFuture(dict data, dict error, int id, bool last) {}; + + virtual void onRtnOpenAccountByBank(dict data) {}; + + virtual void onRtnCancelAccountByBank(dict data) {}; + + virtual void onRtnChangeAccountByBank(dict data) {}; + + + + //------------------------------------------------------------------------------------- + //req:主动函数的请求字典 + //------------------------------------------------------------------------------------- + + void createFtdcTraderApi(string pszFlowPath = ""); + + void release(); + + void init(); + + int join(); + + int exit(); + + string getTradingDay(); + + void registerFront(string pszFrontAddress); + + void subscribePrivateTopic(int nType); + + void subscribePublicTopic(int nType); + + int reqAuthenticate(dict req, int nRequestID); + + int reqUserLogin(dict req, int nRequestID); + + int reqUserLogout(dict req, int nRequestID); + + int reqUserPasswordUpdate(dict req, int nRequestID); + + int reqTradingAccountPasswordUpdate(dict req, int nRequestID); + + int reqOrderInsert(dict req, int nRequestID); + + int reqParkedOrderInsert(dict req, int nRequestID); + + int reqParkedOrderAction(dict req, int nRequestID); + + int reqOrderAction(dict req, int nRequestID); + + int reqQueryMaxOrderVolume(dict req, int nRequestID); + + int reqSettlementInfoConfirm(dict req, int nRequestID); + + int reqRemoveParkedOrder(dict req, int nRequestID); + + int reqRemoveParkedOrderAction(dict req, int nRequestID); + + int reqExecOrderInsert(dict req, int nRequestID); + + int reqExecOrderAction(dict req, int nRequestID); + + int reqForQuoteInsert(dict req, int nRequestID); + + int reqQuoteInsert(dict req, int nRequestID); + + int reqQuoteAction(dict req, int nRequestID); + + int reqQryOrder(dict req, int nRequestID); + + int reqQryTrade(dict req, int nRequestID); + + int reqQryInvestorPosition(dict req, int nRequestID); + + int reqQryTradingAccount(dict req, int nRequestID); + + int reqQryInvestor(dict req, int nRequestID); + + int reqQryTradingCode(dict req, int nRequestID); + + int reqQryInstrumentMarginRate(dict req, int nRequestID); + + int reqQryInstrumentCommissionRate(dict req, int nRequestID); + + int reqQryExchange(dict req, int nRequestID); + + int reqQryProduct(dict req, int nRequestID); + + int reqQryInstrument(dict req, int nRequestID); + + int reqQryDepthMarketData(dict req, int nRequestID); + + int reqQrySettlementInfo(dict req, int nRequestID); + + int reqQryTransferBank(dict req, int nRequestID); + + int reqQryInvestorPositionDetail(dict req, int nRequestID); + + int reqQryNotice(dict req, int nRequestID); + + int reqQrySettlementInfoConfirm(dict req, int nRequestID); + + int reqQryInvestorPositionCombineDetail(dict req, int nRequestID); + + int reqQryCFMMCTradingAccountKey(dict req, int nRequestID); + + int reqQryEWarrantOffset(dict req, int nRequestID); + + int reqQryInvestorProductGroupMargin(dict req, int nRequestID); + + int reqQryExchangeMarginRate(dict req, int nRequestID); + + int reqQryExchangeMarginRateAdjust(dict req, int nRequestID); + + int reqQryExchangeRate(dict req, int nRequestID); + + int reqQrySecAgentACIDMap(dict req, int nRequestID); + + int reqQryOptionInstrTradeCost(dict req, int nRequestID); + + int reqQryOptionInstrCommRate(dict req, int nRequestID); + + int reqQryExecOrder(dict req, int nRequestID); + + int reqQryForQuote(dict req, int nRequestID); + + int reqQryQuote(dict req, int nRequestID); + + int reqQryTransferSerial(dict req, int nRequestID); + + int reqQryAccountregister(dict req, int nRequestID); + + int reqQryContractBank(dict req, int nRequestID); + + int reqQryParkedOrder(dict req, int nRequestID); + + int reqQryParkedOrderAction(dict req, int nRequestID); + + int reqQryTradingNotice(dict req, int nRequestID); + + int reqQryBrokerTradingParams(dict req, int nRequestID); + + int reqQryBrokerTradingAlgos(dict req, int nRequestID); + + int reqFromBankToFutureByFuture(dict req, int nRequestID); + + int reqFromFutureToBankByFuture(dict req, int nRequestID); + + int reqQueryBankAccountMoneyByFuture(dict req, int nRequestID); +}; + diff --git a/vn.lts/vnltstd/pyltstd/vnltstd.h b/vn.lts/vnltstd/pyltstd/vnltstd.h index e8a3db34..ee45a916 100644 --- a/vn.lts/vnltstd/pyltstd/vnltstd.h +++ b/vn.lts/vnltstd/pyltstd/vnltstd.h @@ -398,6 +398,7 @@ public: void processErrRtnFundInterTransfer(Task task); + //------------------------------------------------------------------------------------- //data:回调函数的数据字典 //error:回调函数的错误字典