diff --git a/tests/trader/run.py b/tests/trader/run.py index 6cac7b0c..c5f0455b 100644 --- a/tests/trader/run.py +++ b/tests/trader/run.py @@ -7,7 +7,8 @@ from vnpy.trader.ui import MainWindow, create_qapp from vnpy.gateway.bitmex import BitmexGateway from vnpy.gateway.futu import FutuGateway from vnpy.gateway.ib import IbGateway -from vnpy.gateway.ctp import CtpGateway +#from vnpy.gateway.ctp import CtpGateway +from vnpy.gateway.femas import FemasGateway from vnpy.gateway.tiger import TigerGateway from vnpy.gateway.oes import OesGateway from vnpy.gateway.okex import OkexGateway @@ -29,7 +30,8 @@ def main(): event_engine = EventEngine() main_engine = MainEngine(event_engine) - main_engine.add_gateway(CtpGateway) + # main_engine.add_gateway(CtpGateway) + main_engine.add_gateway(FemasGateway) main_engine.add_gateway(IbGateway) main_engine.add_gateway(FutuGateway) main_engine.add_gateway(BitmexGateway) diff --git a/vnpy/api/femas/USTPmduserapiAF.lib b/vnpy/api/femas/USTPmduserapiAF.lib deleted file mode 100644 index 517f0922..00000000 Binary files a/vnpy/api/femas/USTPmduserapiAF.lib and /dev/null differ diff --git a/vnpy/api/femas/USTPtraderapiAF.lib b/vnpy/api/femas/USTPtraderapiAF.lib deleted file mode 100644 index 6c8e7314..00000000 Binary files a/vnpy/api/femas/USTPtraderapiAF.lib and /dev/null differ diff --git a/vnpy/api/femas/generatefemas/USTPFtdcMduserApi.h b/vnpy/api/femas/generatefemas/USTPFtdcMduserApi.h deleted file mode 100644 index 4366cc73..00000000 --- a/vnpy/api/femas/generatefemas/USTPFtdcMduserApi.h +++ /dev/null @@ -1,206 +0,0 @@ -///////////////////////////////////////////////////////////////////////// -///@system 风控前置系统 -///@company 上海金融期货信息技术有限公司 -///@file USTPFtdcMduserApi.h -///@brief 定义了客户端接口 -///@history -///20130520 徐忠华 创建该文件 -///////////////////////////////////////////////////////////////////////// - -#if !defined(USTP_FTDCMDUSERAPI_H) -#define USTP_FTDCMDUSERAPI_H - -#if _MSC_VER > 1000 -#pragma once -#endif // _MSC_VER > 1000 - -#include "USTPFtdcUserApiStruct.h" - -#if defined(ISLIB) && defined(WIN32) -#ifdef LIB_MDUSER_API_EXPORT -#define MDUSER_API_EXPORT __declspec(dllexport) -#else -#define MDUSER_API_EXPORT __declspec(dllimport) -#endif -#else -#define MDUSER_API_EXPORT -#endif - -class CUstpFtdcMduserSpi -{ -public: - ///当客户端与交易后台建立起通信连接时(还未登录前),该方法被调用。 - virtual void OnFrontConnected(){}; - - ///当客户端与交易后台通信连接断开时,该方法被调用。当发生这个情况后,API会自动重新连接,客户端可不做处理。 - ///@param nReason 错误原因 - /// 0x1001 网络读失败 - /// 0x1002 网络写失败 - /// 0x2001 接收心跳超时 - /// 0x2002 发送心跳失败 - /// 0x2003 收到错误报文 - virtual void OnFrontDisconnected(int nReason){}; - - ///心跳超时警告。当长时间未收到报文时,该方法被调用。 - ///@param nTimeLapse 距离上次接收报文的时间 - virtual void OnHeartBeatWarning(int nTimeLapse){}; - - ///报文回调开始通知。当API收到一个报文后,首先调用本方法,然后是各数据域的回调,最后是报文回调结束通知。 - ///@param nTopicID 主题代码(如私有流、公共流、行情流等) - ///@param nSequenceNo 报文序号 - virtual void OnPackageStart(int nTopicID, int nSequenceNo){}; - - ///报文回调结束通知。当API收到一个报文后,首先调用报文回调开始通知,然后是各数据域的回调,最后调用本方法。 - ///@param nTopicID 主题代码(如私有流、公共流、行情流等) - ///@param nSequenceNo 报文序号 - virtual void OnPackageEnd(int nTopicID, int nSequenceNo){}; - - - ///错误应答 - virtual void OnRspError(CUstpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; - - ///风控前置系统用户登录应答 - virtual void OnRspUserLogin(CUstpFtdcRspUserLoginField *pRspUserLogin, CUstpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; - - ///用户退出应答 - virtual void OnRspUserLogout(CUstpFtdcRspUserLogoutField *pRspUserLogout, CUstpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; - - ///深度行情通知 - virtual void OnRtnDepthMarketData(CUstpFtdcDepthMarketDataField *pDepthMarketData) {}; - - ///订阅合约的相关信息 - virtual void OnRspSubMarketData(CUstpFtdcSpecificInstrumentField *pSpecificInstrument, CUstpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; - - ///退订合约的相关信息 - virtual void OnRspUnSubMarketData(CUstpFtdcSpecificInstrumentField *pSpecificInstrument, CUstpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; - - ///获取行情主题信息应答 - virtual void OnRspGetMarketTopic(CUstpFtdcRspMarketTopicField *pRspMarketTopic, CUstpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; - - ///获取行情快照应答 - virtual void OnRspGetMarketData(CUstpFtdcRspDepthMarketDataField *pRspDepthMarketData, CUstpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; -}; - -class MDUSER_API_EXPORT CUstpFtdcMduserApi -{ -public: - ///创建MduserApi - ///@param pszFlowPath 存贮订阅信息文件的目录,默认为当前目录 - ///@return 创建出的UserApi - static CUstpFtdcMduserApi *CreateFtdcMduserApi(const char *pszFlowPath = ""); - - ///获取系统版本号 - ///@param nMajorVersion 主版本号 - ///@param nMinorVersion 子版本号 - ///@return 系统标识字符串 - static const char *GetVersion(int &nMajorVersion, int &nMinorVersion); - - ///删除接口对象本身 - ///@remark 不再使用本接口对象时,调用该函数删除接口对象 - virtual void Release() = 0; - - ///初始化 - ///@remark 初始化运行环境,只有调用后,接口才开始工作 - virtual void Init() = 0; - - ///等待接口线程结束运行 - ///@return 线程退出代码 - virtual int Join() = 0; - - /// 是否使用多播方式接收行情 - /// @param bUseMulti 默认为false,表示不使用多播接收行情 - /// @remark 如果使用多播,则无需登录,也使用不了需要登录才能使用的接口 - virtual void SetUseMultiChannel(bool bUseMulti = false) = 0; - - ///注册多播通道 - ///@param pMultiChannel 多播通道地址地址, - ///@remark 网络地址的例子:”multi://172.25.125@232.0.0.1:5131”。 - ///@remark “multi”代表使用多播传输;“172.25.125”用来确定接收多播的网卡;”232.0.0.1:5131”代表多播通道及端口。 - ///@remark 可以多次调用,注册多个通道,接收多个通道中速度最优的行情 - virtual void RegisterMultiChannel(const char *pMultiChannel) = 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 RegisterFront优先于RegisterNameServer - virtual void RegisterNameServer(char *pszNsAddress) = 0; - - ///注册回调接口 - ///@param pSpi 派生自回调接口类的实例 - virtual void RegisterSpi(CUstpFtdcMduserSpi *pSpi) = 0; - - ///加载证书 - ///@param pszCertFileName 用户证书文件名 - ///@param pszKeyFileName 用户私钥文件名 - ///@param pszCaFileName 可信任CA证书文件名 - ///@param pszKeyFilePassword 用户私钥文件密码 - ///@return 0 操作成功 - ///@return -1 可信任CA证书载入失败 - ///@return -2 用户证书载入失败 - ///@return -3 用户私钥载入失败 - ///@return -4 用户证书校验失败 - virtual int RegisterCertificateFile(const char *pszCertFileName, const char *pszKeyFileName, - const char *pszCaFileName, const char *pszKeyFilePassword) = 0; - - ///订阅市场行情。 - ///@param nTopicID 市场行情主题 - ///@param nResumeType 市场行情重传方式 - /// USTP_TERT_RESTART:从本交易日开始重传 - /// USTP_TERT_RESUME:从上次收到的续传(非订阅全部合约时,不支持续传模式) - /// USTP_TERT_QUICK:先传送当前行情快照,再传送登录后市场行情的内容 - ///@remark 该方法要在Init方法前调用。若不调用则不会收到私有流的数据。 - virtual void SubscribeMarketDataTopic(int nTopicID, USTP_TE_RESUME_TYPE nResumeType) = 0; - - ///订阅合约行情。 - ///@param ppInstrumentID 合约ID - ///@param nCount 要订阅/退订行情的合约个数 - ///@remark - virtual int SubMarketData(char *ppInstrumentID[], int nCount)=0; - - ///退订合约行情。 - ///@param ppInstrumentID 合约ID - ///@param nCount 要订阅/退订行情的合约个数 - ///@remark - virtual int UnSubMarketData(char *ppInstrumentID[], int nCount)=0; - - ///获取行情订阅号。 - ///@param *ppExchangeID 合约ID - ///@param nCount 要获取行情订阅号的交易所个数 - ///@remark - virtual int GetMarketTopic(char *pExchangeID)=0; - - ///获取行情快照。 - ///@param *ppExchangeID 交易所ID - ///@param ppInstrumentID 合约ID - ///@param nCount 要获取行情订阅号的交易所个数 - ///@remark - virtual int GetMarketData(char *pExchangeID, char *pInstrumentID) = 0; - - ///设置心跳超时时间。 - ///@param timeout 心跳超时时间(秒) - virtual void SetHeartbeatTimeout(unsigned int timeout) = 0; - - - ///风控前置系统用户登录请求 - virtual int ReqUserLogin(CUstpFtdcReqUserLoginField *pReqUserLogin, int nRequestID) = 0; - - ///用户退出请求 - virtual int ReqUserLogout(CUstpFtdcReqUserLogoutField *pReqUserLogout, int nRequestID) = 0; -protected: - ~CUstpFtdcMduserApi(){}; -}; - -#endif diff --git a/vnpy/api/femas/generatefemas/USTPFtdcTraderApi.h b/vnpy/api/femas/generatefemas/USTPFtdcTraderApi.h deleted file mode 100644 index 9d7ccf3a..00000000 --- a/vnpy/api/femas/generatefemas/USTPFtdcTraderApi.h +++ /dev/null @@ -1,409 +0,0 @@ -///////////////////////////////////////////////////////////////////////// -///@system 风控前置系统 -///@company CFFEX -///@file USTPFtdcTraderApi.h -///@brief 定义了客户端接口 -///@history -///20130520 佘鹏飞 创建该文件 -///////////////////////////////////////////////////////////////////////// - -#if !defined(USTP_FTDCTRADERAPI_H) -#define USTP_FTDCTRADERAPI_H - -#if _MSC_VER > 1000 -#pragma once -#endif // _MSC_VER > 1000 - -#include "USTPFtdcUserApiStruct.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 CUstpFtdcTraderSpi -{ -public: - ///当客户端与交易后台建立起通信连接时(还未登录前),该方法被调用。 - virtual void OnFrontConnected(){}; - virtual void OnQryFrontConnected(){}; - ///当客户端与交易后台通信连接断开时,该方法被调用。当发生这个情况后,API会自动重新连接,客户端可不做处理。 - ///@param nReason 错误原因 - /// 0x1001 网络读失败 - /// 0x1002 网络写失败 - /// 0x2001 接收心跳超时 - /// 0x2002 发送心跳失败 - /// 0x2003 收到错误报文 - virtual void OnFrontDisconnected(int nReason){}; - virtual void OnQryFrontDisconnected(int nReason){}; - - ///心跳超时警告。当长时间未收到报文时,该方法被调用。 - ///@param nTimeLapse 距离上次接收报文的时间 - virtual void OnHeartBeatWarning(int nTimeLapse){}; - - ///报文回调开始通知。当API收到一个报文后,首先调用本方法,然后是各数据域的回调,最后是报文回调结束通知。 - ///@param nTopicID 主题代码(如私有流、公共流、行情流等) - ///@param nSequenceNo 报文序号 - virtual void OnPackageStart(int nTopicID, int nSequenceNo){}; - - ///报文回调结束通知。当API收到一个报文后,首先调用报文回调开始通知,然后是各数据域的回调,最后调用本方法。 - ///@param nTopicID 主题代码(如私有流、公共流、行情流等) - ///@param nSequenceNo 报文序号 - virtual void OnPackageEnd(int nTopicID, int nSequenceNo){}; - - - ///错误应答 - virtual void OnRspError(CUstpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; - - ///风控前置系统用户登录应答 - virtual void OnRspUserLogin(CUstpFtdcRspUserLoginField *pRspUserLogin, CUstpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; - - ///用户退出应答 - virtual void OnRspUserLogout(CUstpFtdcRspUserLogoutField *pRspUserLogout, CUstpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; - - ///用户密码修改应答 - virtual void OnRspUserPasswordUpdate(CUstpFtdcUserPasswordUpdateField *pUserPasswordUpdate, CUstpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; - - ///报单录入应答 - virtual void OnRspOrderInsert(CUstpFtdcInputOrderField *pInputOrder, CUstpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; - - ///报单操作应答 - virtual void OnRspOrderAction(CUstpFtdcOrderActionField *pOrderAction, CUstpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; - - ///报价录入应答 - virtual void OnRspQuoteInsert(CUstpFtdcInputQuoteField *pInputQuote, CUstpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; - - ///报价操作应答 - virtual void OnRspQuoteAction(CUstpFtdcQuoteActionField *pQuoteAction, CUstpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; - - ///询价请求应答 - virtual void OnRspForQuote(CUstpFtdcReqForQuoteField *pReqForQuote, CUstpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; - - ///客户申请组合应答 - virtual void OnRspMarginCombAction(CUstpFtdcInputMarginCombActionField *pInputMarginCombAction, CUstpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; - - ///用户请求出入金应答 - virtual void OnRspUserDeposit(CUstpFtdcstpUserDepositField *pstpUserDeposit, CUstpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; - - ///用户主次席出入金应答 - virtual void OnRspTransferMoney(CUstpFtdcstpTransferMoneyField *pstpTransferMoney, CUstpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; - - ///数据流回退通知 - virtual void OnRtnFlowMessageCancel(CUstpFtdcFlowMessageCancelField *pFlowMessageCancel) {}; - - ///成交回报 - virtual void OnRtnTrade(CUstpFtdcTradeField *pTrade) {}; - - ///报单回报 - virtual void OnRtnOrder(CUstpFtdcOrderField *pOrder) {}; - - ///报单录入错误回报 - virtual void OnErrRtnOrderInsert(CUstpFtdcInputOrderField *pInputOrder, CUstpFtdcRspInfoField *pRspInfo) {}; - - ///报单操作错误回报 - virtual void OnErrRtnOrderAction(CUstpFtdcOrderActionField *pOrderAction, CUstpFtdcRspInfoField *pRspInfo) {}; - - ///合约交易状态通知 - virtual void OnRtnInstrumentStatus(CUstpFtdcInstrumentStatusField *pInstrumentStatus) {}; - - ///账户出入金回报 - virtual void OnRtnInvestorAccountDeposit(CUstpFtdcInvestorAccountDepositResField *pInvestorAccountDepositRes) {}; - - ///报价回报 - virtual void OnRtnQuote(CUstpFtdcRtnQuoteField *pRtnQuote) {}; - - ///报价录入错误回报 - virtual void OnErrRtnQuoteInsert(CUstpFtdcInputQuoteField *pInputQuote, CUstpFtdcRspInfoField *pRspInfo) {}; - - ///报价撤单错误回报 - virtual void OnErrRtnQuoteAction(CUstpFtdcQuoteActionField *pQuoteAction, CUstpFtdcRspInfoField *pRspInfo) {}; - - ///询价回报 - virtual void OnRtnForQuote(CUstpFtdcReqForQuoteField *pReqForQuote) {}; - - ///增加组合规则通知 - virtual void OnRtnMarginCombinationLeg(CUstpFtdcMarginCombinationLegField *pMarginCombinationLeg) {}; - - ///客户申请组合确认 - virtual void OnRtnMarginCombAction(CUstpFtdcInputMarginCombActionField *pInputMarginCombAction) {}; - - ///用户请求出入金 - virtual void OnRtnUserDeposit(CUstpFtdcstpUserDepositField *pstpUserDeposit) {}; - - ///查询前置系统用户登录应答 - virtual void OnRspQueryUserLogin(CUstpFtdcRspUserLoginField *pRspUserLogin, CUstpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; - - ///报单查询应答 - virtual void OnRspQryOrder(CUstpFtdcOrderField *pOrder, CUstpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; - - ///成交单查询应答 - virtual void OnRspQryTrade(CUstpFtdcTradeField *pTrade, CUstpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; - - ///可用投资者账户查询应答 - virtual void OnRspQryUserInvestor(CUstpFtdcRspUserInvestorField *pRspUserInvestor, CUstpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; - - ///交易编码查询应答 - virtual void OnRspQryTradingCode(CUstpFtdcRspTradingCodeField *pRspTradingCode, CUstpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; - - ///投资者资金账户查询应答 - virtual void OnRspQryInvestorAccount(CUstpFtdcRspInvestorAccountField *pRspInvestorAccount, CUstpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; - - ///合约查询应答 - virtual void OnRspQryInstrument(CUstpFtdcRspInstrumentField *pRspInstrument, CUstpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; - - ///交易所查询应答 - virtual void OnRspQryExchange(CUstpFtdcRspExchangeField *pRspExchange, CUstpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; - - ///投资者持仓查询应答 - virtual void OnRspQryInvestorPosition(CUstpFtdcRspInvestorPositionField *pRspInvestorPosition, CUstpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; - - ///合规参数查询应答 - virtual void OnRspQryComplianceParam(CUstpFtdcRspComplianceParamField *pRspComplianceParam, CUstpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; - - ///投资者手续费率查询应答 - virtual void OnRspQryInvestorFee(CUstpFtdcInvestorFeeField *pInvestorFee, CUstpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; - - ///投资者保证金率查询应答 - virtual void OnRspQryInvestorMargin(CUstpFtdcInvestorMarginField *pInvestorMargin, CUstpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; - - ///交易编码组合持仓查询应答 - virtual void OnRspQryInvestorCombPosition(CUstpFtdcRspInvestorCombPositionField *pRspInvestorCombPosition, CUstpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; - - ///交易编码单腿持仓查询应答 - virtual void OnRspQryInvestorLegPosition(CUstpFtdcRspInvestorLegPositionField *pRspInvestorLegPosition, CUstpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; - - ///合约组信息查询应答 - virtual void OnRspQryInstrumentGroup(CUstpFtdcRspInstrumentGroupField *pRspInstrumentGroup, CUstpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; - - ///组合保证金类型查询应答 - virtual void OnRspQryClientMarginCombType(CUstpFtdcRspClientMarginCombTypeField *pRspClientMarginCombType, CUstpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; - - ///行权录入应答 - virtual void OnRspExecOrderInsert(CUstpFtdcInputExecOrderField *pInputExecOrder, CUstpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; - - ///行权操作应答 - virtual void OnRspExecOrderAction(CUstpFtdcInputExecOrderActionField *pInputExecOrderAction, CUstpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; - - ///行权通知 - virtual void OnRtnExecOrder(CUstpFtdcExecOrderField *pExecOrder) {}; - - ///行权录入错误回报 - virtual void OnErrRtnExecOrderInsert(CUstpFtdcInputExecOrderField *pInputExecOrder, CUstpFtdcRspInfoField *pRspInfo) {}; - - ///行权操作错误回报 - virtual void OnErrRtnExecOrderAction(CUstpFtdcInputExecOrderActionField *pInputExecOrderAction, CUstpFtdcRspInfoField *pRspInfo) {}; - - ///主次席资金同步通知 - virtual void OnRtnTransferMoney(CUstpFtdcSyncMoneyTransferField *pSyncMoneyTransfer) {}; - - ///系统时间查询应答 - virtual void OnRspQrySystemTime(CUstpFtdcRspQrySystemTimeField *pRspQrySystemTime, CUstpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}; -}; - -class TRADER_API_EXPORT CUstpFtdcTraderApi -{ -public: - ///创建TraderApi - ///@param pszFlowPath 存贮订阅信息文件的目录,默认为当前目录 - ///@return 创建出的UserApi - static CUstpFtdcTraderApi *CreateFtdcTraderApi(const char *pszFlowPath = ""); - - ///获取系统版本号 - ///@param nMajorVersion 主版本号 - ///@param nMinorVersion 子版本号 - ///@return 系统标识字符串 - static const char *GetVersion(int &nMajorVersion, int &nMinorVersion); - - ///删除接口对象本身 - ///@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; - virtual void RegisterQryFront(char *pszFrontAddress) = 0; - - ///注册名字服务器网络地址 - ///@param pszNsAddress:名字服务器网络地址。 - ///@remark 网络地址的格式为:“protocol://ipaddress:port”,如:”tcp://127.0.0.1:12001”。 - ///@remark “tcp”代表传输协议,“127.0.0.1”代表服务器地址。”12001”代表服务器端口号。 - ///@remark RegisterFront优先于RegisterNameServer - virtual void RegisterNameServer(char *pszNsAddress) = 0; - - ///注册回调接口 - ///@param pSpi 派生自回调接口类的实例 - virtual void RegisterSpi(CUstpFtdcTraderSpi *pSpi) = 0; - - ///加载证书 - ///@param pszCertFileName 用户证书文件名 - ///@param pszKeyFileName 用户私钥文件名 - ///@param pszCaFileName 可信任CA证书文件名 - ///@param pszKeyFilePassword 用户私钥文件密码 - ///@return 0 操作成功 - ///@return -1 可信任CA证书载入失败 - ///@return -2 用户证书载入失败 - ///@return -3 用户私钥载入失败 - ///@return -4 用户证书校验失败 - virtual int RegisterCertificateFile(const char *pszCertFileName, const char *pszKeyFileName, - const char *pszCaFileName, const char *pszKeyFilePassword) = 0; - - ///订阅私有流。 - ///@param nResumeType 私有流重传方式 - /// USTP_TERT_RESTART:从本交易日开始重传 - /// USTP_TERT_RESUME:从上次收到的续传 - /// USTP_TERT_QUICK:只传送登录后私有流的内容 - ///@remark 该方法要在Init方法前调用。若不调用则不会收到私有流的数据。 - virtual void SubscribePrivateTopic(USTP_TE_RESUME_TYPE nResumeType) = 0; - - ///订阅公共流。 - ///@param nResumeType 公共流重传方式 - /// USTP_TERT_RESTART:从本交易日开始重传 - /// USTP_TERT_RESUME:从上次收到的续传 - /// USTP_TERT_QUICK:只传送登录后公共流的内容 - ///@remark 该方法要在Init方法前调用。若不调用则不会收到公共流的数据。 - virtual void SubscribePublicTopic(USTP_TE_RESUME_TYPE nResumeType) = 0; - - ///订阅交易员流。 - ///@param nResumeType 交易员流重传方式 - /// USTP_TERT_RESTART:从本交易日开始重传 - /// USTP_TERT_RESUME:从上次收到的续传 - /// USTP_TERT_QUICK:只传送登录后交易员流的内容 - ///@remark 该方法要在Init方法前调用。若不调用则不会收到交易员流的数据。 - virtual void SubscribeUserTopic(USTP_TE_RESUME_TYPE nResumeType) = 0; - - ///订阅询价流。 - ///@param nResumeType 交易员流重传方式 - /// USTP_TERT_RESTART:从本交易日开始重传 - /// USTP_TERT_RESUME:从上次收到的续传 - /// USTP_TERT_QUICK:只传送登录后交易员流的内容 - ///@remark 该方法要在Init方法前调用。若不调用则不会收到交易员流的数据。 - virtual void SubscribeForQuote(USTP_TE_RESUME_TYPE nResumeType) = 0; - - ///设置心跳超时时间。 - ///@param timeout 心跳超时时间(秒) - virtual void SetHeartbeatTimeout(unsigned int timeout) = 0; - - ///打开请求日志文件 - ///@param pszReqLogFileName 请求日志文件名 - ///@return 0 操作成功 - ///@return -1 打开日志文件失败 - virtual int OpenRequestLog(const char *pszReqLogFileName) = 0; - - ///打开应答日志文件 - ///@param pszRspLogFileName 应答日志文件名 - ///@return 0 操作成功 - ///@return -1 打开日志文件失败 - virtual int OpenResponseLog(const char *pszRspLogFileName) = 0; - - - ///风控前置系统用户登录请求 - virtual int ReqUserLogin(CUstpFtdcReqUserLoginField *pReqUserLogin, int nRequestID) = 0; - - ///用户退出请求 - virtual int ReqUserLogout(CUstpFtdcReqUserLogoutField *pReqUserLogout, int nRequestID) = 0; - - ///用户密码修改请求 - virtual int ReqUserPasswordUpdate(CUstpFtdcUserPasswordUpdateField *pUserPasswordUpdate, int nRequestID) = 0; - - ///报单录入请求 - virtual int ReqOrderInsert(CUstpFtdcInputOrderField *pInputOrder, int nRequestID) = 0; - - ///报单操作请求 - virtual int ReqOrderAction(CUstpFtdcOrderActionField *pOrderAction, int nRequestID) = 0; - - ///请求报价录入 - virtual int ReqQuoteInsert(CUstpFtdcInputQuoteField *pInputQuote, int nRequestID) = 0; - - ///报价操作请求 - virtual int ReqQuoteAction(CUstpFtdcQuoteActionField *pQuoteAction, int nRequestID) = 0; - - ///客户询价请求 - virtual int ReqForQuote(CUstpFtdcReqForQuoteField *pReqForQuote, int nRequestID) = 0; - - ///客户申请组合请求 - virtual int ReqMarginCombAction(CUstpFtdcInputMarginCombActionField *pInputMarginCombAction, int nRequestID) = 0; - - ///用户请求出入金 - virtual int ReqUserDeposit(CUstpFtdcstpUserDepositField *pstpUserDeposit, int nRequestID) = 0; - - ///用户主次席出入金请求 - virtual int ReqTransferMoney(CUstpFtdcstpTransferMoneyField *pstpTransferMoney, int nRequestID) = 0; - - ///报单查询请求 - virtual int ReqQryOrder(CUstpFtdcQryOrderField *pQryOrder, int nRequestID) = 0; - - ///成交单查询请求 - virtual int ReqQryTrade(CUstpFtdcQryTradeField *pQryTrade, int nRequestID) = 0; - - ///可用投资者账户查询请求 - virtual int ReqQryUserInvestor(CUstpFtdcQryUserInvestorField *pQryUserInvestor, int nRequestID) = 0; - - ///交易编码查询请求 - virtual int ReqQryTradingCode(CUstpFtdcQryTradingCodeField *pQryTradingCode, int nRequestID) = 0; - - ///投资者资金账户查询请求 - virtual int ReqQryInvestorAccount(CUstpFtdcQryInvestorAccountField *pQryInvestorAccount, int nRequestID) = 0; - - ///合约查询请求 - virtual int ReqQryInstrument(CUstpFtdcQryInstrumentField *pQryInstrument, int nRequestID) = 0; - - ///交易所查询请求 - virtual int ReqQryExchange(CUstpFtdcQryExchangeField *pQryExchange, int nRequestID) = 0; - - ///投资者持仓查询请求 - virtual int ReqQryInvestorPosition(CUstpFtdcQryInvestorPositionField *pQryInvestorPosition, int nRequestID) = 0; - - ///合规参数查询请求 - virtual int ReqQryComplianceParam(CUstpFtdcQryComplianceParamField *pQryComplianceParam, int nRequestID) = 0; - - ///投资者手续费率查询请求 - virtual int ReqQryInvestorFee(CUstpFtdcQryInvestorFeeField *pQryInvestorFee, int nRequestID) = 0; - - ///投资者保证金率查询请求 - virtual int ReqQryInvestorMargin(CUstpFtdcQryInvestorMarginField *pQryInvestorMargin, int nRequestID) = 0; - - ///交易编码组合持仓查询请求 - virtual int ReqQryInvestorCombPosition(CUstpFtdcQryInvestorCombPositionField *pQryInvestorCombPosition, int nRequestID) = 0; - - ///交易编码单腿持仓查询请求 - virtual int ReqQryInvestorLegPosition(CUstpFtdcQryInvestorLegPositionField *pQryInvestorLegPosition, int nRequestID) = 0; - - ///查询合约组信息 - virtual int ReqQryInstrumentGroup(CUstpFtdcQryUstpInstrumentGroupField *pQryUstpInstrumentGroup, int nRequestID) = 0; - - ///查询组合保证金类型 - virtual int ReqQryClientMarginCombType(CUstpFtdcQryClientMarginCombTypeField *pQryClientMarginCombType, int nRequestID) = 0; - - ///行权录入请求 - virtual int ReqExecOrderInsert(CUstpFtdcInputExecOrderField *pInputExecOrder, int nRequestID) = 0; - - ///行权操作请求 - virtual int ReqExecOrderAction(CUstpFtdcInputExecOrderActionField *pInputExecOrderAction, int nRequestID) = 0; - - ///查询系统时间 - virtual int ReqQrySystemTime(CUstpFtdcReqQrySystemTimeField *pReqQrySystemTime, int nRequestID) = 0; -protected: - ~CUstpFtdcTraderApi(){}; -}; - -#endif diff --git a/vnpy/api/femas/generatefemas/USTPFtdcUserApiDataType.h b/vnpy/api/femas/generatefemas/USTPFtdcUserApiDataType.h deleted file mode 100644 index 6c160051..00000000 --- a/vnpy/api/femas/generatefemas/USTPFtdcUserApiDataType.h +++ /dev/null @@ -1,865 +0,0 @@ -///////////////////////////////////////////////////////////////////////// -///@system 风控前置系统 -///@company CFFEX -///@file USTPFtdcUserApiDataType.h -///@brief 定义了客户端接口使用的业务数据类型 -///@history -/// -///////////////////////////////////////////////////////////////////////// - -#ifndef USTP_FTDCDATATYPE_H -#define USTP_FTDCDATATYPE_H - -enum USTP_TE_RESUME_TYPE -{ - USTP_TERT_RESTART = 0, - USTP_TERT_RESUME, - USTP_TERT_QUICK -}; - -const int USTP_TSS_DIALOG = 1; //对话流 -const int USTP_TSS_PRIVATE = 2; //客户私有流 -const int USTP_TSS_PUBLIC = 3; //公共流 -const int USTP_TSS_QUERY = 4; //查询 -const int USTP_TSS_USER = 5; //用户私有流 -const int USTP_TSS_QUOTE = 6; //询价流 - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpPriceTickType是一个最小变动价位类型 -///////////////////////////////////////////////////////////////////////// -typedef double TUstpFtdcPriceTickType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpPriceType是一个价格类型 -///////////////////////////////////////////////////////////////////////// -typedef double TUstpFtdcPriceType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpRatioType是一个比率类型 -///////////////////////////////////////////////////////////////////////// -typedef double TUstpFtdcRatioType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpMoneyType是一个资金类型 -///////////////////////////////////////////////////////////////////////// -typedef double TUstpFtdcMoneyType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpLargeVolumeType是一个大额数量类型 -///////////////////////////////////////////////////////////////////////// -typedef double TUstpFtdcLargeVolumeType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpSequenceNoType是一个序列号类型 -///////////////////////////////////////////////////////////////////////// -typedef int TUstpFtdcSequenceNoType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpMillisecType是一个最后修改毫秒类型 -///////////////////////////////////////////////////////////////////////// -typedef int TUstpFtdcMillisecType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpVolumeType是一个数量类型 -///////////////////////////////////////////////////////////////////////// -typedef int TUstpFtdcVolumeType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpUnderlyingMultipleType是一个合约乘数类型 -///////////////////////////////////////////////////////////////////////// -typedef int TUstpFtdcUnderlyingMultipleType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpVolumeMultipleType是一个数量乘数类型 -///////////////////////////////////////////////////////////////////////// -typedef int TUstpFtdcVolumeMultipleType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpSequenceSeriesType是一个序列系列号类型 -///////////////////////////////////////////////////////////////////////// -typedef int TUstpFtdcSequenceSeriesType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpErrorIDType是一个错误代码类型 -///////////////////////////////////////////////////////////////////////// -typedef int TUstpFtdcErrorIDType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpDataCenterIDType是一个数据中心代码类型 -///////////////////////////////////////////////////////////////////////// -typedef int TUstpFtdcDataCenterIDType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpSettlementIDType是一个结算编号类型 -///////////////////////////////////////////////////////////////////////// -typedef int TUstpFtdcSettlementIDType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpBusinessLocalIDType是一个本地业务标识类型 -///////////////////////////////////////////////////////////////////////// -typedef int TUstpFtdcBusinessLocalIDType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpMeasureSecType是一个度量秒数类型 -///////////////////////////////////////////////////////////////////////// -typedef int TUstpFtdcMeasureSecType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpSeatNoType是一个席位序号类型 -///////////////////////////////////////////////////////////////////////// -typedef int TUstpFtdcSeatNoType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpFileSizeType是一个文件大小类型 -///////////////////////////////////////////////////////////////////////// -typedef int TUstpFtdcFileSizeType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpFemasLifeCycleType是一个飞马生命周期号类型 -///////////////////////////////////////////////////////////////////////// -typedef int TUstpFtdcFemasLifeCycleType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpMonthType是一个月份类型 -///////////////////////////////////////////////////////////////////////// -typedef int TUstpFtdcMonthType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpBoolType是一个布尔型类型 -///////////////////////////////////////////////////////////////////////// -typedef int TUstpFtdcBoolType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpYearType是一个年类型 -///////////////////////////////////////////////////////////////////////// -typedef int TUstpFtdcYearType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpPriorityType是一个优先权类型 -///////////////////////////////////////////////////////////////////////// -typedef int TUstpFtdcPriorityType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpMemTableNameType是一个内存表名类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcMemTableNameType[61]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpOrderSysIDType是一个报单编号类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcOrderSysIDType[31]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpTradeIDType是一个成交编号类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcTradeIDType[21]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpUserIDType是一个用户代码类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcUserIDType[16]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpParticipantIDType是一个会员编号类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcParticipantIDType[11]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpIPAddressType是一个IP地址类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcIPAddressType[21]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpMacAddressType是一个Mac地址类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcMacAddressType[21]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpInstrumentNameType是一个合约名称类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcInstrumentNameType[21]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpInstrumentIDType是一个合约编号类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcInstrumentIDType[31]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpExchangeNameType是一个交易所名称类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcExchangeNameType[31]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpExchangeIDType是一个交易所代码类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcExchangeIDType[11]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpDateType是一个日期类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcDateType[9]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpTimeType是一个时间类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcTimeType[9]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpClientIDType是一个客户编码类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcClientIDType[19]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpAccountIDType是一个资金帐号类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcAccountIDType[13]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpSeatIDType是一个席位号类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcSeatIDType[13]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpProductNameType是一个品种名称类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcProductNameType[41]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpUserOrderLocalIDType是一个用户本地报单号类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcUserOrderLocalIDType[21]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpOrderLocalIDType是一个本地报单编号类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcOrderLocalIDType[13]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpInvestorIDType是一个投资者编号类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcInvestorIDType[19]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpUserNameType是一个用户编码类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcUserNameType[31]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpPasswordType是一个密码类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcPasswordType[41]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpProductInfoType是一个产品信息类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcProductInfoType[41]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpProtocolInfoType是一个协议信息类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcProtocolInfoType[41]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpBusinessUnitType是一个业务单元类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcBusinessUnitType[21]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpTradingSystemNameType是一个交易系统名称类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcTradingSystemNameType[61]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpBrokerIDType是一个经纪公司代码类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcBrokerIDType[11]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpCustomType是一个用户自定义域类型类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcCustomType[65]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpTradingDayType是一个交易日类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcTradingDayType[9]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpDepartmentType是一个营业部类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcDepartmentType[41]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpProductIDType是一个品种编号类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcProductIDType[13]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpAccountSeqNoType是一个资金流水号类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcAccountSeqNoType[21]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpSettlementGroupIDType是一个结算组代码类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcSettlementGroupIDType[9]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpFemasVersionType是一个飞马版本号类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcFemasVersionType[21]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpBankIDType是一个银行机构代码类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcBankIDType[11]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpBankPasswdType是一个银行转账密码类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcBankPasswdType[36]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpAccountPasswdType是一个主席转账密码类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcAccountPasswdType[36]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpTransBankIDType是一个银行代码类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcTransBankIDType[10]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpTransSerialType是一个发起方流水号类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcTransSerialType[34]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpTransBankAccountType是一个银行账号类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcTransBankAccountType[34]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpTransTradeCodeType是一个银期业务功能码类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcTransTradeCodeType[10]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpErrorMsgType是一个错误信息类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcErrorMsgType[81]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpAuthenticate2PasswordType是一个客户认证密码类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcAuthenticate2PasswordType[41]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpTerminalCodeType是一个开发厂商终端编码类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcTerminalCodeType[41]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpVolumeConditionType是一个成交量类型类型 -///////////////////////////////////////////////////////////////////////// -///任何数量 -#define USTP_FTDC_VC_AV '1' -///最小数量 -#define USTP_FTDC_VC_MV '2' -///全部数量 -#define USTP_FTDC_VC_CV '3' - -typedef char TUstpFtdcVolumeConditionType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpForceCloseReasonType是一个强平原因类型 -///////////////////////////////////////////////////////////////////////// -///非强平 -#define USTP_FTDC_FCR_NotForceClose '0' -///资金不足 -#define USTP_FTDC_FCR_LackDeposit '1' -///客户超仓 -#define USTP_FTDC_FCR_ClientOverPositionLimit '2' -///会员超仓 -#define USTP_FTDC_FCR_MemberOverPositionLimit '3' -///持仓非整数倍 -#define USTP_FTDC_FCR_NotMultiple '4' -///违规 -#define USTP_FTDC_FCR_Violation '5' -///其他 -#define USTP_FTDC_FCR_Other '6' -///自然人临近交割 -#define USTP_FTDC_FCR_PersonDeliv '7' -///客户套保超仓 -#define USTP_FTDC_FCR_HedgeOverPositionLimit '8' - -typedef char TUstpFtdcForceCloseReasonType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpInstrumentStatusType是一个合约交易状态类型 -///////////////////////////////////////////////////////////////////////// -///开盘前 -#define USTP_FTDC_IS_BeforeTrading '0' -///非交易 -#define USTP_FTDC_IS_NoTrading '1' -///连续交易 -#define USTP_FTDC_IS_Continous '2' -///集合竞价报单 -#define USTP_FTDC_IS_AuctionOrdering '3' -///集合竞价价格平衡 -#define USTP_FTDC_IS_AuctionBalance '4' -///集合竞价撮合 -#define USTP_FTDC_IS_AuctionMatch '5' -///收盘 -#define USTP_FTDC_IS_Closed '6' - -typedef char TUstpFtdcInstrumentStatusType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpOffsetFlagType是一个开平标志类型 -///////////////////////////////////////////////////////////////////////// -///开仓 -#define USTP_FTDC_OF_Open '0' -///平仓 -#define USTP_FTDC_OF_Close '1' -///强平 -#define USTP_FTDC_OF_ForceClose '2' -///平今 -#define USTP_FTDC_OF_CloseToday '3' -///平昨 -#define USTP_FTDC_OF_CloseYesterday '4' -///ALL -#define USTP_FTDC_OF_ALL '9' - -typedef char TUstpFtdcOffsetFlagType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpOrderPriceTypeType是一个报单价格条件类型 -///////////////////////////////////////////////////////////////////////// -///任意价 -#define USTP_FTDC_OPT_AnyPrice '1' -///限价 -#define USTP_FTDC_OPT_LimitPrice '2' -///最优价 -#define USTP_FTDC_OPT_BestPrice '3' -///五档价 -#define USTP_FTDC_OPT_FiveLevelPrice '4' -///止损定单 -#define USTP_FTDC_OPT_StopLosPrice '5' -///止盈定单 -#define USTP_FTDC_OPT_StopProfitPrice '6' -///限价止损定单 -#define USTP_FTDC_OPT_LimitStopLosPrice '7' -///限价止盈定单 -#define USTP_FTDC_OPT_LimitStopProfitPrice '8' - -typedef char TUstpFtdcOrderPriceTypeType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpOrderStatusType是一个报单状态类型 -///////////////////////////////////////////////////////////////////////// -///全部成交 -#define USTP_FTDC_OS_AllTraded '0' -///部分成交还在队列中 -#define USTP_FTDC_OS_PartTradedQueueing '1' -///部分成交不在队列中 -#define USTP_FTDC_OS_PartTradedNotQueueing '2' -///未成交还在队列中 -#define USTP_FTDC_OS_NoTradeQueueing '3' -///未成交不在队列中 -#define USTP_FTDC_OS_NoTradeNotQueueing '4' -///撤单 -#define USTP_FTDC_OS_Canceled '5' -///订单已报入交易所未应答 -#define USTP_FTDC_OS_AcceptedNoReply '6' - -typedef char TUstpFtdcOrderStatusType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpUserTypeType是一个用户类型类型 -///////////////////////////////////////////////////////////////////////// -///自然人 -#define USTP_FTDC_UT_Person '1' -///理财产品 -#define USTP_FTDC_UT_Product '2' -///期货公司管理员 -#define USTP_FTDC_UT_Manager '3' -///席位 -#define USTP_FTDC_UT_Seat '4' - -typedef char TUstpFtdcUserTypeType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpTradingRightType是一个交易权限类型 -///////////////////////////////////////////////////////////////////////// -///可以交易 -#define USTP_FTDC_TR_Allow '0' -///只能平仓 -#define USTP_FTDC_TR_CloseOnly '1' -///不能交易 -#define USTP_FTDC_TR_Forbidden '2' - -typedef char TUstpFtdcTradingRightType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpTimeConditionType是一个有效期类型类型 -///////////////////////////////////////////////////////////////////////// -///立即完成,否则撤销 -#define USTP_FTDC_TC_IOC '1' -///本节有效 -#define USTP_FTDC_TC_GFS '2' -///当日有效 -#define USTP_FTDC_TC_GFD '3' -///指定日期前有效 -#define USTP_FTDC_TC_GTD '4' -///撤销前有效 -#define USTP_FTDC_TC_GTC '5' -///集合竞价有效 -#define USTP_FTDC_TC_GFA '6' - -typedef char TUstpFtdcTimeConditionType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpOrderSourceType是一个报单来源类型 -///////////////////////////////////////////////////////////////////////// -///来自参与者 -#define USTP_FTDC_OS_Participant '0' -///来自管理员 -#define USTP_FTDC_OS_Administrator '1' -///报价单拆分出来的买单或卖单 -#define USTP_FTDC_OS_QuoteSplit '2' -///强减单 -#define USTP_FTDC_OS_ForceLower '3' - -typedef char TUstpFtdcOrderSourceType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpDirectionType是一个买卖方向类型 -///////////////////////////////////////////////////////////////////////// -///买 -#define USTP_FTDC_D_Buy '0' -///卖 -#define USTP_FTDC_D_Sell '1' -///ALL -#define USTP_FTDC_D_ALL '9' - -typedef char TUstpFtdcDirectionType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpCurrencyType是一个币种类型 -///////////////////////////////////////////////////////////////////////// -///人民币 -#define USTP_FTDC_C_RMB '1' -///美元 -#define USTP_FTDC_C_UDOLLAR '2' - -typedef char TUstpFtdcCurrencyType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpAccountDirectionType是一个出入金方向类型 -///////////////////////////////////////////////////////////////////////// -///入金 -#define USTP_FTDC_AD_In '1' -///出金 -#define USTP_FTDC_AD_Out '2' - -typedef char TUstpFtdcAccountDirectionType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpSyncDirectionType是一个出入金通知类型 -///////////////////////////////////////////////////////////////////////// -///入金通知 -#define USTP_FTDC_AD_In '1' -///出金通知 -#define USTP_FTDC_AD_Out '2' -///入金冲销通知 -#define USTP_FTDC_AD_InReserval '3' -///出金冲销通知 -#define USTP_FTDC_AD_OutReserval '4' -///预出金通知 -#define USTP_FTDC_AD_PreOut '5' -///预出金成功通知 -#define USTP_FTDC_AD_PreOutSuccess '6' -///预出金失败通知 -#define USTP_FTDC_AD_PreOutFailed '7' - -typedef char TUstpFtdcSyncDirectionType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpTradeSyncSourceType是一个同步请求发起方类型 -///////////////////////////////////////////////////////////////////////// -///终端 -#define USTP_FTDC_TSS_Terminal '1' -///次席终端 -#define USTP_FTDC_TSS_Terminal_Second '2' -///银行 -#define USTP_FTDC_TSS_Bank '3' -///结算 -#define USTP_FTDC_TSS_Settle '4' - -typedef char TUstpFtdcTradeSyncSourceType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpHedgeFlagType是一个投机套保标志类型 -///////////////////////////////////////////////////////////////////////// -///交易/投机 -#define USTP_FTDC_CHF_Speculation '1' -///套利 -#define USTP_FTDC_CHF_Arbitrage '2' -///套保 -#define USTP_FTDC_CHF_Hedge '3' -///做市商 -#define USTP_FTDC_CHF_MarketMaker '4' -///投机-套保 -#define USTP_FTDC_CHF_SpecHedge '5' -///套保-投机 -#define USTP_FTDC_CHF_HedgeSpec '6' -///匹配所有的值 -#define USTP_FTDC_CHF_AllValue '9' - -typedef char TUstpFtdcHedgeFlagType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpActionFlagType是一个操作标志类型 -///////////////////////////////////////////////////////////////////////// -///删除 -#define USTP_FTDC_AF_Delete '0' -///挂起 -#define USTP_FTDC_AF_Suspend '1' -///激活 -#define USTP_FTDC_AF_Active '2' -///修改 -#define USTP_FTDC_AF_Modify '3' - -typedef char TUstpFtdcActionFlagType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpPositionTypeType是一个持仓类型类型 -///////////////////////////////////////////////////////////////////////// -///净持仓 -#define USTP_FTDC_PT_Net '1' -///综合持仓 -#define USTP_FTDC_PT_Gross '2' - -typedef char TUstpFtdcPositionTypeType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpOptionsTypeType是一个期权类型类型 -///////////////////////////////////////////////////////////////////////// -///非期权 -#define USTP_FTDC_OT_NotOptions '0' -///看涨 -#define USTP_FTDC_OT_CallOptions '1' -///看跌 -#define USTP_FTDC_OT_PutOptions '2' -///全部 -#define USTP_FTDC_OT_ALL '9' - -typedef char TUstpFtdcOptionsTypeType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpIsActiveType是一个是否活跃类型 -///////////////////////////////////////////////////////////////////////// -///不活跃 -#define USTP_FTDC_UIA_NoActive '0' -///活跃 -#define USTP_FTDC_UIA_Active '1' - -typedef char TUstpFtdcIsActiveType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpCurrencyIDType是一个币种代码类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcCurrencyIDType[5]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpClientMarginCombTypeType是一个组合保证金类型类型 -///////////////////////////////////////////////////////////////////////// -///单腿保证金组合 -#define USTP_FTDC_MCT_SingleLeg '0' -///合约组大边保证金组合 -#define USTP_FTDC_MCT_BigLeg '1' -///手动策略保证金组合 -#define USTP_FTDC_MCT_StrategyManual '2' -///自动策略保证金组合 -#define USTP_FTDC_MCT_StrategyAuto '3' -///手动策略大边保证金组合 -#define USTP_FTDC_MCT_StrategyBigLegManual '4' -///自动策略大边保证金组合 -#define USTP_FTDC_MCT_StrategyBigLegAuto '5' - -typedef char TUstpFtdcClientMarginCombTypeType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpInstrumentGroupIDType是一个合约组代码类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcInstrumentGroupIDType[31]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpQuoteSysIDType是一个报价编号类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcQuoteSysIDType[31]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpUserQuoteLocalIDType是一个用户本地报价编号类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcUserQuoteLocalIDType[21]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpQuoteLocalIDType是一个飞马本地报价编号类型 -///////////////////////////////////////////////////////////////////////// -typedef char TUstpFtdcQuoteLocalIDType[13]; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpGrantFuncSetType是一个授权功能号类型 -///////////////////////////////////////////////////////////////////////// -///正常交易 -#define USTP_FTDC_FUNC_Trading '0' -///只能平仓 -#define USTP_FTDC_FUNC_CloseOnly '1' -///禁止交易 -#define USTP_FTDC_FUNC_CanotTrade '2' - -typedef char TUstpFtdcGrantFuncSetType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpQuoteStatusType是一个报价单状态类型类型 -///////////////////////////////////////////////////////////////////////// -///在飞马中还未进入交易系统 -#define USTP_FTDC_QS_Inited_InFEMAS '0' -///已经报入交易系统中 -#define USTP_FTDC_QS_Accepted_InTradingSystem '1' -///已经撤掉单腿 -#define USTP_FTDC_QS_Canceled_SingleLeg '2' -///已经全部撤掉 -#define USTP_FTDC_QS_Canceled_All '3' -///已经有单腿成交 -#define USTP_FTDC_QS_Traded_SingleLeg '4' -///已经全部成交 -#define USTP_FTDC_QS_Traded_All '5' -///错误的撤消报价请求 -#define USTP_FTDC_QS_Error_QuoteAction '6' - -typedef char TUstpFtdcQuoteStatusType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpLegMultipleType是一个单腿乘数类型 -///////////////////////////////////////////////////////////////////////// -typedef int TUstpFtdcLegMultipleType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpLegIDType是一个单腿编号类型 -///////////////////////////////////////////////////////////////////////// -typedef int TUstpFtdcLegIDType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpCombDirectionType是一个申请保证金组合指令方向类型 -///////////////////////////////////////////////////////////////////////// -///申请组合 -#define USTP_FTDC_CA_Combine '0' -///申请拆分组合 -#define USTP_FTDC_CA_UnCombine '1' - -typedef char TUstpFtdcCombDirectionType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpArbiTypeType是一个策略类别类型 -///////////////////////////////////////////////////////////////////////// -///基本 -#define USTP_FTDC_AT_Basic '0' -///跨期套利 -#define USTP_FTDC_AT_SP '1' -///两腿跨品种套利 -#define USTP_FTDC_AT_SPC '2' -///压榨套利 -#define USTP_FTDC_AT_SPX '3' -///组合 -#define USTP_FTDC_AT_Combo '4' -///批量 -#define USTP_FTDC_AT_Strip '5' -///期权执行申请 -#define USTP_FTDC_AT_Exec '6' -///双边报价 -#define USTP_FTDC_AT_Both '7' -///互换 -#define USTP_FTDC_AT_Swap '8' -///其他策略 -#define USTP_FTDC_AT_Other '9' -///看涨期权垂直价差 -#define USTP_FTDC_AT_BUL 'a' -///看跌期权垂直价差 -#define USTP_FTDC_AT_BER 'b' -///看涨期权水平价差 -#define USTP_FTDC_AT_BLT 'c' -///看跌期权水平价差 -#define USTP_FTDC_AT_BRT 'd' -///跨式 -#define USTP_FTDC_AT_STD 'e' -///宽跨式 -#define USTP_FTDC_AT_STG 'f' -///备兑 -#define USTP_FTDC_AT_PRT 'g' -///对锁 -#define USTP_FTDC_AT_LOC 'h' - -typedef char TUstpFtdcArbiTypeType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpOrderTypeType是一个委托类型类型 -///////////////////////////////////////////////////////////////////////// -///普通委托 -#define USTP_FTDC_OT_Common '0' -///期权执行 -#define USTP_FTDC_OT_OptExec '1' -///放弃执行 -#define USTP_FTDC_OT_OptAbandon '2' -///OTC衍生 -#define USTP_FTDC_OT_OTCDerived '3' -///期转现衍生 -#define USTP_FTDC_OT_EFPDerived '4' - -typedef char TUstpFtdcOrderTypeType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpDeliveryFlagType是一个执行类型类型 -///////////////////////////////////////////////////////////////////////// -///不对冲 -#define USTP_FTDC_DF_ExecOpen '0' -///对冲(期货) -#define USTP_FTDC_DF_Delivery '1' -///对冲(期权) -#define USTP_FTDC_DF_OptDelivery '2' -///保留持仓 -#define USTP_FTDC_DF_OptHold '3' -///履约后对冲 -#define USTP_FTDC_DF_SellDelivery '4' - -typedef char TUstpFtdcDeliveryFlagType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpCombActionStatusType是一个组合操作状态类型 -///////////////////////////////////////////////////////////////////////// -///已提交 -#define USTP_FTDC_CAS_Submitted '1' -///已接收 -#define USTP_FTDC_CAS_Accepted '2' -///已拒绝 -#define USTP_FTDC_CAS_Rejected '3' - -typedef char TUstpFtdcCombActionStatusType; - -///////////////////////////////////////////////////////////////////////// -///TFtdcUstpAuthenticate2TypeType是一个客户认证类型类型 -///////////////////////////////////////////////////////////////////////// -///初始值,空,表示未设口令。即不需要进行口令验证 -#define USTP_FTDC_A2T_Blank '0' -///短信验证码 -#define USTP_FTDC_A2T_ShortMessage '1' -///动态令牌 -#define USTP_FTDC_A2T_DynamicToken '2' -///图形验证码 -#define USTP_FTDC_A2T_GraphicVerificationCode '3' - -typedef char TUstpFtdcAuthenticate2TypeType; - -#endif diff --git a/vnpy/api/femas/generatefemas/USTPFtdcUserApiStruct.h b/vnpy/api/femas/generatefemas/USTPFtdcUserApiStruct.h deleted file mode 100644 index 25db55f3..00000000 --- a/vnpy/api/femas/generatefemas/USTPFtdcUserApiStruct.h +++ /dev/null @@ -1,1950 +0,0 @@ -///////////////////////////////////////////////////////////////////////// -///@system 风控前置系统 -///@company CFFEX -///@file USTPFtdcUserApiStruct.h -///@brief 定义了客户端接口使用的业务数据结构 -///@history -///////////////////////////////////////////////////////////////////////// - -#if !defined(_USTP_FTDCSTRUCT_H) -#define _USTP_FTDCSTRUCT_H - -#if _MSC_VER > 1000 -#pragma once -#endif // _MSC_VER > 1000 - -#include "USTPFtdcUserApiDataType.h" - -///系统用户登录请求 -struct CUstpFtdcReqUserLoginField -{ - ///交易日 - TUstpFtdcDateType TradingDay; - ///交易用户代码 - TUstpFtdcUserIDType UserID; - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///密码 - TUstpFtdcPasswordType Password; - ///用户端产品信息 - TUstpFtdcProductInfoType UserProductInfo; - ///接口端产品信息 - TUstpFtdcProductInfoType InterfaceProductInfo; - ///协议信息 - TUstpFtdcProtocolInfoType ProtocolInfo; - ///IP地址 - TUstpFtdcIPAddressType IPAddress; - ///Mac地址 - TUstpFtdcMacAddressType MacAddress; - ///数据中心代码 - TUstpFtdcDataCenterIDType DataCenterID; - ///客户端运行文件大小 - TUstpFtdcFileSizeType UserProductFileSize; - ///客户认证类型 - TUstpFtdcAuthenticate2TypeType Authenticate2Type; - ///客户认证密码 - TUstpFtdcAuthenticate2PasswordType Authenticate2Password; - ///开发厂商终端编码 - TUstpFtdcTerminalCodeType TerminalCode; -}; -///系统用户登录应答 -struct CUstpFtdcRspUserLoginField -{ - ///交易日 - TUstpFtdcDateType TradingDay; - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///交易用户代码 - TUstpFtdcUserIDType UserID; - ///登录成功时间 - TUstpFtdcTimeType LoginTime; - ///登录成功时的交易所时间 - TUstpFtdcTimeType ExchangeTime; - ///用户最大本地报单号 - TUstpFtdcUserOrderLocalIDType MaxOrderLocalID; - ///交易系统名称 - TUstpFtdcTradingSystemNameType TradingSystemName; - ///数据中心代码 - TUstpFtdcDataCenterIDType DataCenterID; - ///会员私有流当前长度 - TUstpFtdcSequenceNoType PrivateFlowSize; - ///交易员私有流当前长度 - TUstpFtdcSequenceNoType UserFlowSize; - ///业务发生日期 - TUstpFtdcDateType ActionDay; - ///飞马版本号 - TUstpFtdcFemasVersionType FemasVersion; - ///飞马生命周期号 - TUstpFtdcFemasLifeCycleType FemasLifeCycle; -}; -///用户登出请求 -struct CUstpFtdcReqUserLogoutField -{ - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///交易用户代码 - TUstpFtdcUserIDType UserID; -}; -///用户登出响应 -struct CUstpFtdcRspUserLogoutField -{ - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///交易用户代码 - TUstpFtdcUserIDType UserID; -}; -///强制用户退出 -struct CUstpFtdcForceUserExitField -{ - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///交易用户代码 - TUstpFtdcUserIDType UserID; -}; -///用户口令修改 -struct CUstpFtdcUserPasswordUpdateField -{ - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///交易用户代码 - TUstpFtdcUserIDType UserID; - ///旧密码 - TUstpFtdcPasswordType OldPassword; - ///新密码 - TUstpFtdcPasswordType NewPassword; -}; -///输入报单 -struct CUstpFtdcInputOrderField -{ - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///交易所代码 - TUstpFtdcExchangeIDType ExchangeID; - ///系统报单编号 - TUstpFtdcOrderSysIDType OrderSysID; - ///投资者编号 - TUstpFtdcInvestorIDType InvestorID; - ///用户代码 - TUstpFtdcUserIDType UserID; - ///指定通过此席位序号下单 - TUstpFtdcSeatNoType SeatNo; - ///合约代码/套利组合合约号 - TUstpFtdcInstrumentIDType InstrumentID; - ///用户本地报单号 - TUstpFtdcUserOrderLocalIDType UserOrderLocalID; - ///报单类型 - TUstpFtdcOrderPriceTypeType OrderPriceType; - ///买卖方向 - TUstpFtdcDirectionType Direction; - ///开平标志 - TUstpFtdcOffsetFlagType OffsetFlag; - ///投机套保标志 - TUstpFtdcHedgeFlagType HedgeFlag; - ///价格 - TUstpFtdcPriceType LimitPrice; - ///数量 - TUstpFtdcVolumeType Volume; - ///有效期类型 - TUstpFtdcTimeConditionType TimeCondition; - ///GTD日期 - TUstpFtdcDateType GTDDate; - ///成交量类型 - TUstpFtdcVolumeConditionType VolumeCondition; - ///最小成交量 - TUstpFtdcVolumeType MinVolume; - ///止损价止赢价 - TUstpFtdcPriceType StopPrice; - ///强平原因 - TUstpFtdcForceCloseReasonType ForceCloseReason; - ///自动挂起标志 - TUstpFtdcBoolType IsAutoSuspend; - ///业务单元 - TUstpFtdcBusinessUnitType BusinessUnit; - ///用户自定义域 - TUstpFtdcCustomType UserCustom; - ///本地业务标识 - TUstpFtdcBusinessLocalIDType BusinessLocalID; - ///业务发生日期 - TUstpFtdcDateType ActionDay; - ///策略类别 - TUstpFtdcArbiTypeType ArbiType; - ///客户编码 - TUstpFtdcClientIDType ClientID; -}; -///报单操作 -struct CUstpFtdcOrderActionField -{ - ///交易所代码 - TUstpFtdcExchangeIDType ExchangeID; - ///系统报单编号 - TUstpFtdcOrderSysIDType OrderSysID; - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///投资者编号 - TUstpFtdcInvestorIDType InvestorID; - ///用户代码 - TUstpFtdcUserIDType UserID; - ///本次撤单操作的本地编号 - TUstpFtdcUserOrderLocalIDType UserOrderActionLocalID; - ///被撤订单的本地报单编号 - TUstpFtdcUserOrderLocalIDType UserOrderLocalID; - ///报单操作标志 - TUstpFtdcActionFlagType ActionFlag; - ///价格 - TUstpFtdcPriceType LimitPrice; - ///数量变化 - TUstpFtdcVolumeType VolumeChange; - ///本地业务标识 - TUstpFtdcBusinessLocalIDType BusinessLocalID; - ///客户编码 - TUstpFtdcClientIDType ClientID; -}; -///内存表导出 -struct CUstpFtdcMemDbField -{ - ///内存表名 - TUstpFtdcMemTableNameType MemTableName; -}; -///用户请求出入金 -struct CUstpFtdcstpUserDepositField -{ - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///用户代码 - TUstpFtdcUserIDType UserID; - ///投资者编号 - TUstpFtdcInvestorIDType InvestorID; - ///金额 - TUstpFtdcMoneyType Amount; - ///出入金方向 - TUstpFtdcAccountDirectionType AmountDirection; - ///用户本地报单号 - TUstpFtdcUserOrderLocalIDType UserOrderLocalID; -}; -///用户主次席出入金 -struct CUstpFtdcstpTransferMoneyField -{ - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///用户代码 - TUstpFtdcUserIDType UserID; - ///投资者编号 - TUstpFtdcInvestorIDType InvestorID; - ///金额 - TUstpFtdcMoneyType Amount; - ///出入金方向 - TUstpFtdcAccountDirectionType AmountDirection; - ///用户本地报单号 - TUstpFtdcUserOrderLocalIDType UserOrderLocalID; - ///银行机构代码 - TUstpFtdcBankIDType BankID; - ///银行转账密码 - TUstpFtdcBankPasswdType BankPasswd; - ///主席转账密码 - TUstpFtdcAccountPasswdType AccountPasswd; - ///币种 - TUstpFtdcCurrencyIDType Currency; - ///次席资金流水号 - TUstpFtdcTransSerialType SerialNo; -}; -///响应信息 -struct CUstpFtdcRspInfoField -{ - ///错误代码 - TUstpFtdcErrorIDType ErrorID; - ///错误信息 - TUstpFtdcErrorMsgType ErrorMsg; -}; -///报单查询 -struct CUstpFtdcQryOrderField -{ - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///用户代码 - TUstpFtdcUserIDType UserID; - ///交易所代码 - TUstpFtdcExchangeIDType ExchangeID; - ///投资者编号 - TUstpFtdcInvestorIDType InvestorID; - ///系统报单编号 - TUstpFtdcOrderSysIDType OrderSysID; - ///合约代码 - TUstpFtdcInstrumentIDType InstrumentID; - ///报单状态 - TUstpFtdcOrderStatusType OrderStatus; - ///委托类型 - TUstpFtdcOrderTypeType OrderType; - ///客户编码 - TUstpFtdcClientIDType ClientID; -}; -///成交查询 -struct CUstpFtdcQryTradeField -{ - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///用户代码 - TUstpFtdcUserIDType UserID; - ///交易所代码 - TUstpFtdcExchangeIDType ExchangeID; - ///投资者编号 - TUstpFtdcInvestorIDType InvestorID; - ///成交编号 - TUstpFtdcTradeIDType TradeID; - ///合约代码 - TUstpFtdcInstrumentIDType InstrumentID; - ///客户编码 - TUstpFtdcClientIDType ClientID; -}; -///合约查询 -struct CUstpFtdcQryInstrumentField -{ - ///交易所代码 - TUstpFtdcExchangeIDType ExchangeID; - ///产品代码 - TUstpFtdcProductIDType ProductID; - ///合约代码 - TUstpFtdcInstrumentIDType InstrumentID; -}; -///合约查询应答 -struct CUstpFtdcRspInstrumentField -{ - ///交易所代码 - TUstpFtdcExchangeIDType ExchangeID; - ///品种代码 - TUstpFtdcProductIDType ProductID; - ///品种名称 - TUstpFtdcProductNameType ProductName; - ///合约代码 - TUstpFtdcInstrumentIDType InstrumentID; - ///合约名称 - TUstpFtdcInstrumentNameType InstrumentName; - ///交割年份 - TUstpFtdcYearType DeliveryYear; - ///交割月 - TUstpFtdcMonthType DeliveryMonth; - ///限价单最大下单量 - TUstpFtdcVolumeType MaxLimitOrderVolume; - ///限价单最小下单量 - TUstpFtdcVolumeType MinLimitOrderVolume; - ///市价单最大下单量 - TUstpFtdcVolumeType MaxMarketOrderVolume; - ///市价单最小下单量 - TUstpFtdcVolumeType MinMarketOrderVolume; - ///数量乘数 - TUstpFtdcVolumeMultipleType VolumeMultiple; - ///报价单位 - TUstpFtdcPriceTickType PriceTick; - ///币种 - TUstpFtdcCurrencyType Currency; - ///多头限仓 - TUstpFtdcVolumeType LongPosLimit; - ///空头限仓 - TUstpFtdcVolumeType ShortPosLimit; - ///跌停板价 - TUstpFtdcPriceType LowerLimitPrice; - ///涨停板价 - TUstpFtdcPriceType UpperLimitPrice; - ///昨结算 - TUstpFtdcPriceType PreSettlementPrice; - ///合约交易状态 - TUstpFtdcInstrumentStatusType InstrumentStatus; - ///创建日 - TUstpFtdcDateType CreateDate; - ///上市日 - TUstpFtdcDateType OpenDate; - ///到期日 - TUstpFtdcDateType ExpireDate; - ///开始交割日 - TUstpFtdcDateType StartDelivDate; - ///最后交割日 - TUstpFtdcDateType EndDelivDate; - ///挂牌基准价 - TUstpFtdcPriceType BasisPrice; - ///当前是否交易 - TUstpFtdcBoolType IsTrading; - ///基础商品代码 - TUstpFtdcInstrumentIDType UnderlyingInstrID; - ///基础商品乘数 - TUstpFtdcUnderlyingMultipleType UnderlyingMultiple; - ///持仓类型 - TUstpFtdcPositionTypeType PositionType; - ///执行价 - TUstpFtdcPriceType StrikePrice; - ///期权类型 - TUstpFtdcOptionsTypeType OptionsType; - ///币种代码 - TUstpFtdcCurrencyIDType CurrencyID; - ///策略类别 - TUstpFtdcArbiTypeType ArbiType; - ///第一腿合约代码 - TUstpFtdcInstrumentIDType InstrumentID_1; - ///第一腿买卖方向 - TUstpFtdcDirectionType Direction_1; - ///第一腿数量比例 - TUstpFtdcRatioType Ratio_1; - ///第二腿合约代码 - TUstpFtdcInstrumentIDType InstrumentID_2; - ///第二腿买卖方向 - TUstpFtdcDirectionType Direction_2; - ///第二腿数量比例 - TUstpFtdcRatioType Ratio_2; -}; -///合约状态 -struct CUstpFtdcInstrumentStatusField -{ - ///交易所代码 - TUstpFtdcExchangeIDType ExchangeID; - ///品种代码 - TUstpFtdcProductIDType ProductID; - ///品种名称 - TUstpFtdcProductNameType ProductName; - ///合约代码 - TUstpFtdcInstrumentIDType InstrumentID; - ///合约名称 - TUstpFtdcInstrumentNameType InstrumentName; - ///交割年份 - TUstpFtdcYearType DeliveryYear; - ///交割月 - TUstpFtdcMonthType DeliveryMonth; - ///限价单最大下单量 - TUstpFtdcVolumeType MaxLimitOrderVolume; - ///限价单最小下单量 - TUstpFtdcVolumeType MinLimitOrderVolume; - ///市价单最大下单量 - TUstpFtdcVolumeType MaxMarketOrderVolume; - ///市价单最小下单量 - TUstpFtdcVolumeType MinMarketOrderVolume; - ///数量乘数 - TUstpFtdcVolumeMultipleType VolumeMultiple; - ///报价单位 - TUstpFtdcPriceTickType PriceTick; - ///币种 - TUstpFtdcCurrencyType Currency; - ///多头限仓 - TUstpFtdcVolumeType LongPosLimit; - ///空头限仓 - TUstpFtdcVolumeType ShortPosLimit; - ///跌停板价 - TUstpFtdcPriceType LowerLimitPrice; - ///涨停板价 - TUstpFtdcPriceType UpperLimitPrice; - ///昨结算 - TUstpFtdcPriceType PreSettlementPrice; - ///合约交易状态 - TUstpFtdcInstrumentStatusType InstrumentStatus; - ///创建日 - TUstpFtdcDateType CreateDate; - ///上市日 - TUstpFtdcDateType OpenDate; - ///到期日 - TUstpFtdcDateType ExpireDate; - ///开始交割日 - TUstpFtdcDateType StartDelivDate; - ///最后交割日 - TUstpFtdcDateType EndDelivDate; - ///挂牌基准价 - TUstpFtdcPriceType BasisPrice; - ///当前是否交易 - TUstpFtdcBoolType IsTrading; - ///基础商品代码 - TUstpFtdcInstrumentIDType UnderlyingInstrID; - ///基础商品乘数 - TUstpFtdcUnderlyingMultipleType UnderlyingMultiple; - ///持仓类型 - TUstpFtdcPositionTypeType PositionType; - ///执行价 - TUstpFtdcPriceType StrikePrice; - ///期权类型 - TUstpFtdcOptionsTypeType OptionsType; - ///币种代码 - TUstpFtdcCurrencyIDType CurrencyID; - ///策略类别 - TUstpFtdcArbiTypeType ArbiType; - ///第一腿合约代码 - TUstpFtdcInstrumentIDType InstrumentID_1; - ///第一腿买卖方向 - TUstpFtdcDirectionType Direction_1; - ///第一腿数量比例 - TUstpFtdcRatioType Ratio_1; - ///第二腿合约代码 - TUstpFtdcInstrumentIDType InstrumentID_2; - ///第二腿买卖方向 - TUstpFtdcDirectionType Direction_2; - ///第二腿数量比例 - TUstpFtdcRatioType Ratio_2; - ///进入本状态日期 - TUstpFtdcDateType EnterDate; -}; -///投资者资金查询 -struct CUstpFtdcQryInvestorAccountField -{ - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///用户代码 - TUstpFtdcUserIDType UserID; - ///投资者编号 - TUstpFtdcInvestorIDType InvestorID; -}; -///投资者资金应答 -struct CUstpFtdcRspInvestorAccountField -{ - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///投资者编号 - TUstpFtdcInvestorIDType InvestorID; - ///资金帐号 - TUstpFtdcAccountIDType AccountID; - ///上次结算准备金 - TUstpFtdcMoneyType PreBalance; - ///入金金额 - TUstpFtdcMoneyType Deposit; - ///出金金额 - TUstpFtdcMoneyType Withdraw; - ///冻结的保证金 - TUstpFtdcMoneyType FrozenMargin; - ///冻结手续费 - TUstpFtdcMoneyType FrozenFee; - ///冻结权利金 - TUstpFtdcMoneyType FrozenPremium; - ///手续费 - TUstpFtdcMoneyType Fee; - ///平仓盈亏 - TUstpFtdcMoneyType CloseProfit; - ///持仓盈亏 - TUstpFtdcMoneyType PositionProfit; - ///可用资金 - TUstpFtdcMoneyType Available; - ///多头冻结的保证金 - TUstpFtdcMoneyType LongFrozenMargin; - ///空头冻结的保证金 - TUstpFtdcMoneyType ShortFrozenMargin; - ///多头占用保证金 - TUstpFtdcMoneyType LongMargin; - ///空头占用保证金 - TUstpFtdcMoneyType ShortMargin; - ///当日释放保证金 - TUstpFtdcMoneyType ReleaseMargin; - ///动态权益 - TUstpFtdcMoneyType DynamicRights; - ///今日出入金 - TUstpFtdcMoneyType TodayInOut; - ///占用保证金 - TUstpFtdcMoneyType Margin; - ///期权权利金收支 - TUstpFtdcMoneyType Premium; - ///风险度 - TUstpFtdcMoneyType Risk; -}; -///可用投资者查询 -struct CUstpFtdcQryUserInvestorField -{ - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///用户代码 - TUstpFtdcUserIDType UserID; -}; -///可用投资者 -struct CUstpFtdcRspUserInvestorField -{ - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///交易用户代码 - TUstpFtdcUserIDType UserID; - ///投资者编号 - TUstpFtdcInvestorIDType InvestorID; -}; -///交易编码查询 -struct CUstpFtdcQryTradingCodeField -{ - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///用户代码 - TUstpFtdcUserIDType UserID; - ///投资者编号 - TUstpFtdcInvestorIDType InvestorID; - ///交易所代码 - TUstpFtdcExchangeIDType ExchangeID; - ///客户编码 - TUstpFtdcClientIDType ClientID; -}; -///交易编码查询 -struct CUstpFtdcRspTradingCodeField -{ - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///交易所代码 - TUstpFtdcExchangeIDType ExchangeID; - ///投资者编号 - TUstpFtdcInvestorIDType InvestorID; - ///客户编码 - TUstpFtdcClientIDType ClientID; - ///客户编码权限 - TUstpFtdcTradingRightType ClientRight; - ///客户保值类型 - TUstpFtdcHedgeFlagType ClientHedgeFlag; - ///是否活跃 - TUstpFtdcIsActiveType IsActive; -}; -///交易所查询请求 -struct CUstpFtdcQryExchangeField -{ - ///交易所代码 - TUstpFtdcExchangeIDType ExchangeID; -}; -///交易所查询应答 -struct CUstpFtdcRspExchangeField -{ - ///交易所代码 - TUstpFtdcExchangeIDType ExchangeID; - ///交易所名称 - TUstpFtdcExchangeNameType ExchangeName; -}; -///投资者持仓查询请求 -struct CUstpFtdcQryInvestorPositionField -{ - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///用户代码 - TUstpFtdcUserIDType UserID; - ///交易所代码 - TUstpFtdcExchangeIDType ExchangeID; - ///投资者编号 - TUstpFtdcInvestorIDType InvestorID; - ///合约代码 - TUstpFtdcInstrumentIDType InstrumentID; -}; -///投资者持仓查询应答 -struct CUstpFtdcRspInvestorPositionField -{ - ///投资者编号 - TUstpFtdcInvestorIDType InvestorID; - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///交易所代码 - TUstpFtdcExchangeIDType ExchangeID; - ///客户编码 - TUstpFtdcClientIDType ClientID; - ///合约代码 - TUstpFtdcInstrumentIDType InstrumentID; - ///买卖方向 - TUstpFtdcDirectionType Direction; - ///投机套保标志 - TUstpFtdcHedgeFlagType HedgeFlag; - ///优惠前占用保证金 - TUstpFtdcMoneyType UsedMargin; - ///今总持仓量 - TUstpFtdcVolumeType Position; - ///今日持仓成本 - TUstpFtdcPriceType PositionCost; - ///昨持仓量 - TUstpFtdcVolumeType YdPosition; - ///昨日持仓成本 - TUstpFtdcMoneyType YdPositionCost; - ///冻结的保证金 - TUstpFtdcMoneyType FrozenMargin; - ///开仓冻结持仓 - TUstpFtdcVolumeType FrozenPosition; - ///平仓冻结持仓 - TUstpFtdcVolumeType FrozenClosing; - ///平昨仓冻结持仓 - TUstpFtdcVolumeType YdFrozenClosing; - ///冻结的权利金 - TUstpFtdcMoneyType FrozenPremium; - ///最后一笔成交编号 - TUstpFtdcTradeIDType LastTradeID; - ///最后一笔本地报单编号 - TUstpFtdcOrderLocalIDType LastOrderLocalID; - ///投机持仓量 - TUstpFtdcVolumeType SpeculationPosition; - ///套利持仓量 - TUstpFtdcVolumeType ArbitragePosition; - ///套保持仓量 - TUstpFtdcVolumeType HedgePosition; - ///投机平仓冻结量 - TUstpFtdcVolumeType SpecFrozenClosing; - ///套保平仓冻结量 - TUstpFtdcVolumeType HedgeFrozenClosing; - ///币种 - TUstpFtdcCurrencyIDType Currency; -}; -///合规参数查询请求 -struct CUstpFtdcQryComplianceParamField -{ - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///用户代码 - TUstpFtdcUserIDType UserID; - ///投资者编号 - TUstpFtdcInvestorIDType InvestorID; - ///交易所代码 - TUstpFtdcExchangeIDType ExchangeID; - ///客户编码 - TUstpFtdcClientIDType ClientID; -}; -///合规参数查询应答 -struct CUstpFtdcRspComplianceParamField -{ - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///投资者编号 - TUstpFtdcInvestorIDType InvestorID; - ///交易所代码 - TUstpFtdcExchangeIDType ExchangeID; - ///客户编码 - TUstpFtdcClientIDType ClientID; - ///每日最大报单笔 - TUstpFtdcVolumeType DailyMaxOrder; - ///每日最大撤单笔 - TUstpFtdcVolumeType DailyMaxOrderAction; - ///每日最大错单笔 - TUstpFtdcVolumeType DailyMaxErrorOrder; - ///每日最大报单手 - TUstpFtdcVolumeType DailyMaxOrderVolume; - ///每日最大撤单手 - TUstpFtdcVolumeType DailyMaxOrderActionVolume; -}; -///用户查询 -struct CUstpFtdcQryUserField -{ - ///交易用户代码 - TUstpFtdcUserIDType StartUserID; - ///交易用户代码 - TUstpFtdcUserIDType EndUserID; -}; -///用户 -struct CUstpFtdcUserField -{ - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///用户代码 - TUstpFtdcUserIDType UserID; - ///用户登录密码 - TUstpFtdcPasswordType Password; - ///是否活跃 - TUstpFtdcIsActiveType IsActive; - ///用户名称 - TUstpFtdcUserNameType UserName; - ///用户类型 - TUstpFtdcUserTypeType UserType; - ///营业部 - TUstpFtdcDepartmentType Department; - ///授权功能集 - TUstpFtdcGrantFuncSetType GrantFuncSet; - ///修改用户编号 - TUstpFtdcUserIDType SetUserID; - ///操作日期 - TUstpFtdcDateType CommandDate; - ///操作时间 - TUstpFtdcTimeType CommandTime; -}; -///投资者手续费率查询 -struct CUstpFtdcQryInvestorFeeField -{ - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///用户代码 - TUstpFtdcUserIDType UserID; - ///投资者编号 - TUstpFtdcInvestorIDType InvestorID; - ///交易所代码 - TUstpFtdcExchangeIDType ExchangeID; - ///合约代码 - TUstpFtdcInstrumentIDType InstrumentID; - ///客户编码 - TUstpFtdcClientIDType ClientID; -}; -///投资者手续费率 -struct CUstpFtdcInvestorFeeField -{ - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///客户编码 - TUstpFtdcClientIDType ClientID; - ///交易所代码 - TUstpFtdcExchangeIDType ExchangeID; - ///合约代码 - TUstpFtdcInstrumentIDType InstrumentID; - ///品种代码 - TUstpFtdcProductIDType ProductID; - ///开仓手续费按比例 - TUstpFtdcRatioType OpenFeeRate; - ///开仓手续费按手数 - TUstpFtdcRatioType OpenFeeAmt; - ///平仓手续费按比例 - TUstpFtdcRatioType OffsetFeeRate; - ///平仓手续费按手数 - TUstpFtdcRatioType OffsetFeeAmt; - ///平今仓手续费按比例 - TUstpFtdcRatioType OTFeeRate; - ///平今仓手续费按手数 - TUstpFtdcRatioType OTFeeAmt; - ///行权手续费按比例 - TUstpFtdcRatioType ExecFeeRate; - ///行权手续费按手数 - TUstpFtdcRatioType ExecFeeAmt; - ///每笔委托申报费 - TUstpFtdcRatioType PerOrderAmt; - ///每笔撤单申报费 - TUstpFtdcRatioType PerCancelAmt; - ///投机套保标志 - TUstpFtdcHedgeFlagType HedgeFlag; -}; -///投资者保证金率查询 -struct CUstpFtdcQryInvestorMarginField -{ - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///用户代码 - TUstpFtdcUserIDType UserID; - ///投资者编号 - TUstpFtdcInvestorIDType InvestorID; - ///交易所代码 - TUstpFtdcExchangeIDType ExchangeID; - ///合约代码 - TUstpFtdcInstrumentIDType InstrumentID; - ///客户编码 - TUstpFtdcClientIDType ClientID; -}; -///投资者保证金率 -struct CUstpFtdcInvestorMarginField -{ - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///客户编码 - TUstpFtdcClientIDType ClientID; - ///交易所代码 - TUstpFtdcExchangeIDType ExchangeID; - ///合约代码 - TUstpFtdcInstrumentIDType InstrumentID; - ///品种代码 - TUstpFtdcProductIDType ProductID; - ///多头占用保证金按比例 - TUstpFtdcRatioType LongMarginRate; - ///多头保证金按手数 - TUstpFtdcRatioType LongMarginAmt; - ///空头占用保证金按比例 - TUstpFtdcRatioType ShortMarginRate; - ///空头保证金按手数 - TUstpFtdcRatioType ShortMarginAmt; - ///投机套保标志 - TUstpFtdcHedgeFlagType HedgeFlag; -}; -///成交 -struct CUstpFtdcTradeField -{ - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///交易所代码 - TUstpFtdcExchangeIDType ExchangeID; - ///交易日 - TUstpFtdcTradingDayType TradingDay; - ///会员编号 - TUstpFtdcParticipantIDType ParticipantID; - ///下单席位号 - TUstpFtdcSeatIDType SeatID; - ///投资者编号 - TUstpFtdcInvestorIDType InvestorID; - ///客户编码 - TUstpFtdcClientIDType ClientID; - ///用户编号 - TUstpFtdcUserIDType UserID; - ///下单用户编号 - TUstpFtdcUserIDType OrderUserID; - ///成交编号 - TUstpFtdcTradeIDType TradeID; - ///系统报单编号 - TUstpFtdcOrderSysIDType OrderSysID; - ///本地报单编号 - TUstpFtdcUserOrderLocalIDType UserOrderLocalID; - ///合约代码 - TUstpFtdcInstrumentIDType InstrumentID; - ///买卖方向 - TUstpFtdcDirectionType Direction; - ///开平标志 - TUstpFtdcOffsetFlagType OffsetFlag; - ///投机套保标志 - TUstpFtdcHedgeFlagType HedgeFlag; - ///成交价格 - TUstpFtdcPriceType TradePrice; - ///成交数量 - TUstpFtdcVolumeType TradeVolume; - ///成交时间 - TUstpFtdcTimeType TradeTime; - ///清算会员编号 - TUstpFtdcParticipantIDType ClearingPartID; - ///本次成交手续费 - TUstpFtdcMoneyType UsedFee; - ///本次成交占用保证金 - TUstpFtdcMoneyType UsedMargin; - ///本次成交占用权利金 - TUstpFtdcMoneyType Premium; - ///持仓表今持仓量 - TUstpFtdcVolumeType Position; - ///持仓表今日持仓成本 - TUstpFtdcPriceType PositionCost; - ///资金表可用资金 - TUstpFtdcMoneyType Available; - ///资金表占用保证金 - TUstpFtdcMoneyType Margin; - ///资金表冻结的保证金 - TUstpFtdcMoneyType FrozenMargin; - ///本地业务标识 - TUstpFtdcBusinessLocalIDType BusinessLocalID; - ///业务发生日期 - TUstpFtdcDateType ActionDay; - ///策略类别 - TUstpFtdcArbiTypeType ArbiType; - ///套利组合合约 - TUstpFtdcInstrumentIDType ArbiInstrumentID; -}; -///报单 -struct CUstpFtdcOrderField -{ - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///交易所代码 - TUstpFtdcExchangeIDType ExchangeID; - ///系统报单编号 - TUstpFtdcOrderSysIDType OrderSysID; - ///投资者编号 - TUstpFtdcInvestorIDType InvestorID; - ///用户代码 - TUstpFtdcUserIDType UserID; - ///指定通过此席位序号下单 - TUstpFtdcSeatNoType SeatNo; - ///合约代码/套利组合合约号 - TUstpFtdcInstrumentIDType InstrumentID; - ///用户本地报单号 - TUstpFtdcUserOrderLocalIDType UserOrderLocalID; - ///报单类型 - TUstpFtdcOrderPriceTypeType OrderPriceType; - ///买卖方向 - TUstpFtdcDirectionType Direction; - ///开平标志 - TUstpFtdcOffsetFlagType OffsetFlag; - ///投机套保标志 - TUstpFtdcHedgeFlagType HedgeFlag; - ///价格 - TUstpFtdcPriceType LimitPrice; - ///数量 - TUstpFtdcVolumeType Volume; - ///有效期类型 - TUstpFtdcTimeConditionType TimeCondition; - ///GTD日期 - TUstpFtdcDateType GTDDate; - ///成交量类型 - TUstpFtdcVolumeConditionType VolumeCondition; - ///最小成交量 - TUstpFtdcVolumeType MinVolume; - ///止损价止赢价 - TUstpFtdcPriceType StopPrice; - ///强平原因 - TUstpFtdcForceCloseReasonType ForceCloseReason; - ///自动挂起标志 - TUstpFtdcBoolType IsAutoSuspend; - ///业务单元 - TUstpFtdcBusinessUnitType BusinessUnit; - ///用户自定义域 - TUstpFtdcCustomType UserCustom; - ///本地业务标识 - TUstpFtdcBusinessLocalIDType BusinessLocalID; - ///业务发生日期 - TUstpFtdcDateType ActionDay; - ///策略类别 - TUstpFtdcArbiTypeType ArbiType; - ///交易日 - TUstpFtdcTradingDayType TradingDay; - ///会员编号 - TUstpFtdcParticipantIDType ParticipantID; - ///最初下单用户编号 - TUstpFtdcUserIDType OrderUserID; - ///客户编码 - TUstpFtdcClientIDType ClientID; - ///下单席位号 - TUstpFtdcSeatIDType SeatID; - ///插入时间 - TUstpFtdcTimeType InsertTime; - ///本地报单编号 - TUstpFtdcOrderLocalIDType OrderLocalID; - ///报单来源 - TUstpFtdcOrderSourceType OrderSource; - ///报单状态 - TUstpFtdcOrderStatusType OrderStatus; - ///撤销时间 - TUstpFtdcTimeType CancelTime; - ///撤单用户编号 - TUstpFtdcUserIDType CancelUserID; - ///今成交数量 - TUstpFtdcVolumeType VolumeTraded; - ///剩余数量 - TUstpFtdcVolumeType VolumeRemain; - ///委托类型 - TUstpFtdcOrderTypeType OrderType; - ///期权对冲标识 - TUstpFtdcDeliveryFlagType DeliveryFlag; -}; -///数据流回退 -struct CUstpFtdcFlowMessageCancelField -{ - ///序列系列号 - TUstpFtdcSequenceSeriesType SequenceSeries; - ///交易日 - TUstpFtdcDateType TradingDay; - ///数据中心代码 - TUstpFtdcDataCenterIDType DataCenterID; - ///回退起始序列号 - TUstpFtdcSequenceNoType StartSequenceNo; - ///回退结束序列号 - TUstpFtdcSequenceNoType EndSequenceNo; -}; -///信息分发 -struct CUstpFtdcDisseminationField -{ - ///序列系列号 - TUstpFtdcSequenceSeriesType SequenceSeries; - ///序列号 - TUstpFtdcSequenceNoType SequenceNo; -}; -///出入金结果 -struct CUstpFtdcInvestorAccountDepositResField -{ - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///用户代码 - TUstpFtdcUserIDType UserID; - ///投资者编号 - TUstpFtdcInvestorIDType InvestorID; - ///资金帐号 - TUstpFtdcAccountIDType AccountID; - ///资金流水号 - TUstpFtdcAccountSeqNoType AccountSeqNo; - ///金额 - TUstpFtdcMoneyType Amount; - ///出入金方向 - TUstpFtdcAccountDirectionType AmountDirection; - ///可用资金 - TUstpFtdcMoneyType Available; - ///结算准备金 - TUstpFtdcMoneyType Balance; -}; -///报价录入 -struct CUstpFtdcInputQuoteField -{ - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///交易所代码 - TUstpFtdcExchangeIDType ExchangeID; - ///投资者编号 - TUstpFtdcInvestorIDType InvestorID; - ///用户代码 - TUstpFtdcUserIDType UserID; - ///合约代码 - TUstpFtdcInstrumentIDType InstrumentID; - ///买卖方向 - TUstpFtdcDirectionType Direction; - ///交易系统返回的系统报价编号 - TUstpFtdcQuoteSysIDType QuoteSysID; - ///用户设定的本地报价编号 - TUstpFtdcUserQuoteLocalIDType UserQuoteLocalID; - ///飞马向交易系统报的本地报价编号 - TUstpFtdcQuoteLocalIDType QuoteLocalID; - ///买方买入数量 - TUstpFtdcVolumeType BidVolume; - ///买方开平标志 - TUstpFtdcOffsetFlagType BidOffsetFlag; - ///买方投机套保标志 - TUstpFtdcHedgeFlagType BidHedgeFlag; - ///买方买入价格 - TUstpFtdcPriceType BidPrice; - ///卖方卖出数量 - TUstpFtdcVolumeType AskVolume; - ///卖方开平标志 - TUstpFtdcOffsetFlagType AskOffsetFlag; - ///卖方投机套保标志 - TUstpFtdcHedgeFlagType AskHedgeFlag; - ///卖方卖出价格 - TUstpFtdcPriceType AskPrice; - ///业务单元 - TUstpFtdcBusinessUnitType BusinessUnit; - ///用户自定义域 - TUstpFtdcCustomType UserCustom; - ///拆分出来的买方用户本地报单编号 - TUstpFtdcUserOrderLocalIDType BidUserOrderLocalID; - ///拆分出来的卖方用户本地报单编号 - TUstpFtdcUserOrderLocalIDType AskUserOrderLocalID; - ///拆分出来的买方本地报单编号 - TUstpFtdcOrderLocalIDType BidOrderLocalID; - ///拆分出来的卖方本地报单编号 - TUstpFtdcOrderLocalIDType AskOrderLocalID; - ///询价编号 - TUstpFtdcQuoteSysIDType ReqForQuoteID; - ///报价停留时间(秒) - TUstpFtdcMeasureSecType StandByTime; - ///客户编码 - TUstpFtdcClientIDType ClientID; -}; -///报价通知 -struct CUstpFtdcRtnQuoteField -{ - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///交易所代码 - TUstpFtdcExchangeIDType ExchangeID; - ///投资者编号 - TUstpFtdcInvestorIDType InvestorID; - ///用户代码 - TUstpFtdcUserIDType UserID; - ///合约代码 - TUstpFtdcInstrumentIDType InstrumentID; - ///买卖方向 - TUstpFtdcDirectionType Direction; - ///交易系统返回的系统报价编号 - TUstpFtdcQuoteSysIDType QuoteSysID; - ///用户设定的本地报价编号 - TUstpFtdcUserQuoteLocalIDType UserQuoteLocalID; - ///飞马向交易系统报的本地报价编号 - TUstpFtdcQuoteLocalIDType QuoteLocalID; - ///买方买入数量 - TUstpFtdcVolumeType BidVolume; - ///买方开平标志 - TUstpFtdcOffsetFlagType BidOffsetFlag; - ///买方投机套保标志 - TUstpFtdcHedgeFlagType BidHedgeFlag; - ///买方买入价格 - TUstpFtdcPriceType BidPrice; - ///卖方卖出数量 - TUstpFtdcVolumeType AskVolume; - ///卖方开平标志 - TUstpFtdcOffsetFlagType AskOffsetFlag; - ///卖方投机套保标志 - TUstpFtdcHedgeFlagType AskHedgeFlag; - ///卖方卖出价格 - TUstpFtdcPriceType AskPrice; - ///业务单元 - TUstpFtdcBusinessUnitType BusinessUnit; - ///用户自定义域 - TUstpFtdcCustomType UserCustom; - ///拆分出来的买方用户本地报单编号 - TUstpFtdcUserOrderLocalIDType BidUserOrderLocalID; - ///拆分出来的卖方用户本地报单编号 - TUstpFtdcUserOrderLocalIDType AskUserOrderLocalID; - ///拆分出来的买方本地报单编号 - TUstpFtdcOrderLocalIDType BidOrderLocalID; - ///拆分出来的卖方本地报单编号 - TUstpFtdcOrderLocalIDType AskOrderLocalID; - ///询价编号 - TUstpFtdcQuoteSysIDType ReqForQuoteID; - ///报价停留时间(秒) - TUstpFtdcMeasureSecType StandByTime; - ///买方系统报单编号 - TUstpFtdcQuoteSysIDType BidOrderSysID; - ///卖方系统报单编号 - TUstpFtdcQuoteSysIDType AskOrderSysID; - ///报价单状态 - TUstpFtdcQuoteStatusType QuoteStatus; - ///插入时间 - TUstpFtdcTimeType InsertTime; - ///撤销时间 - TUstpFtdcTimeType CancelTime; - ///成交时间 - TUstpFtdcTimeType TradeTime; - ///客户编码 - TUstpFtdcClientIDType ClientID; -}; -///报价操作 -struct CUstpFtdcQuoteActionField -{ - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///交易所代码 - TUstpFtdcExchangeIDType ExchangeID; - ///投资者编号 - TUstpFtdcInvestorIDType InvestorID; - ///用户代码 - TUstpFtdcUserIDType UserID; - ///交易系统返回的系统报价编号 - TUstpFtdcQuoteSysIDType QuoteSysID; - ///用户设定的被撤的本地报价编号 - TUstpFtdcUserQuoteLocalIDType UserQuoteLocalID; - ///用户向飞马报的本地撤消报价编号 - TUstpFtdcUserQuoteLocalIDType UserQuoteActionLocalID; - ///报单操作标志 - TUstpFtdcActionFlagType ActionFlag; - ///业务单元 - TUstpFtdcBusinessUnitType BusinessUnit; - ///用户自定义域 - TUstpFtdcCustomType UserCustom; - ///买卖方向 - TUstpFtdcDirectionType Direction; - ///客户编码 - TUstpFtdcClientIDType ClientID; -}; -///询价请求 -struct CUstpFtdcReqForQuoteField -{ - ///询价编号 - TUstpFtdcQuoteSysIDType ReqForQuoteID; - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///交易所代码 - TUstpFtdcExchangeIDType ExchangeID; - ///投资者编号 - TUstpFtdcInvestorIDType InvestorID; - ///用户代码 - TUstpFtdcUserIDType UserID; - ///合约代码 - TUstpFtdcInstrumentIDType InstrumentID; - ///买卖方向 - TUstpFtdcDirectionType Direction; - ///交易日 - TUstpFtdcDateType TradingDay; - ///询价时间 - TUstpFtdcTimeType ReqForQuoteTime; - ///客户编码 - TUstpFtdcClientIDType ClientID; -}; -///资金同步通知 -struct CUstpFtdcSyncMoneyTransferField -{ - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///资金帐号 - TUstpFtdcAccountIDType AccountID; - ///银行代码 - TUstpFtdcTransBankIDType BankID; - ///银行帐号 - TUstpFtdcTransBankAccountType BankAccount; - ///币种 - TUstpFtdcCurrencyIDType Currency; - ///金额 - TUstpFtdcMoneyType Amount; - ///出入金事件通知 - TUstpFtdcSyncDirectionType SyncTransMoneyEvent; - ///银期业务功能码 - TUstpFtdcTransTradeCodeType TradeCode; - ///业务发起方 - TUstpFtdcTradeSyncSourceType TradeSource; - ///主席流水号 - TUstpFtdcTransSerialType TransSerialNo; - ///次席流水号 - TUstpFtdcTransSerialType SerialNo; - ///用户编号 - TUstpFtdcUserIDType UserID; - ///日期 - TUstpFtdcDateType CommandDate; - ///时间 - TUstpFtdcTimeType CommandTime; -}; -///行情基础属性 -struct CUstpFtdcMarketDataBaseField -{ - ///交易日 - TUstpFtdcDateType TradingDay; - ///结算组代码 - TUstpFtdcSettlementGroupIDType SettlementGroupID; - ///结算编号 - TUstpFtdcSettlementIDType SettlementID; - ///昨结算 - TUstpFtdcPriceType PreSettlementPrice; - ///昨收盘 - TUstpFtdcPriceType PreClosePrice; - ///昨持仓量 - TUstpFtdcLargeVolumeType PreOpenInterest; - ///昨虚实度 - TUstpFtdcRatioType PreDelta; -}; -///行情静态属性 -struct CUstpFtdcMarketDataStaticField -{ - ///今开盘 - TUstpFtdcPriceType OpenPrice; - ///最高价 - TUstpFtdcPriceType HighestPrice; - ///最低价 - TUstpFtdcPriceType LowestPrice; - ///今收盘 - TUstpFtdcPriceType ClosePrice; - ///涨停板价 - TUstpFtdcPriceType UpperLimitPrice; - ///跌停板价 - TUstpFtdcPriceType LowerLimitPrice; - ///今结算 - TUstpFtdcPriceType SettlementPrice; - ///今虚实度 - TUstpFtdcRatioType CurrDelta; -}; -///行情最新成交属性 -struct CUstpFtdcMarketDataLastMatchField -{ - ///最新价 - TUstpFtdcPriceType LastPrice; - ///数量 - TUstpFtdcVolumeType Volume; - ///成交金额 - TUstpFtdcMoneyType Turnover; - ///持仓量 - TUstpFtdcLargeVolumeType OpenInterest; -}; -///行情最优价属性 -struct CUstpFtdcMarketDataBestPriceField -{ - ///申买价一 - TUstpFtdcPriceType BidPrice1; - ///申买量一 - TUstpFtdcVolumeType BidVolume1; - ///申卖价一 - TUstpFtdcPriceType AskPrice1; - ///申卖量一 - TUstpFtdcVolumeType AskVolume1; -}; -///行情申买二、三属性 -struct CUstpFtdcMarketDataBid23Field -{ - ///申买价二 - TUstpFtdcPriceType BidPrice2; - ///申买量二 - TUstpFtdcVolumeType BidVolume2; - ///申买价三 - TUstpFtdcPriceType BidPrice3; - ///申买量三 - TUstpFtdcVolumeType BidVolume3; -}; -///行情申卖二、三属性 -struct CUstpFtdcMarketDataAsk23Field -{ - ///申卖价二 - TUstpFtdcPriceType AskPrice2; - ///申卖量二 - TUstpFtdcVolumeType AskVolume2; - ///申卖价三 - TUstpFtdcPriceType AskPrice3; - ///申卖量三 - TUstpFtdcVolumeType AskVolume3; -}; -///行情申买四、五属性 -struct CUstpFtdcMarketDataBid45Field -{ - ///申买价四 - TUstpFtdcPriceType BidPrice4; - ///申买量四 - TUstpFtdcVolumeType BidVolume4; - ///申买价五 - TUstpFtdcPriceType BidPrice5; - ///申买量五 - TUstpFtdcVolumeType BidVolume5; -}; -///行情申卖四、五属性 -struct CUstpFtdcMarketDataAsk45Field -{ - ///申卖价四 - TUstpFtdcPriceType AskPrice4; - ///申卖量四 - TUstpFtdcVolumeType AskVolume4; - ///申卖价五 - TUstpFtdcPriceType AskPrice5; - ///申卖量五 - TUstpFtdcVolumeType AskVolume5; -}; -///行情更新时间属性 -struct CUstpFtdcMarketDataUpdateTimeField -{ - ///合约代码 - TUstpFtdcInstrumentIDType InstrumentID; - ///最后修改时间 - TUstpFtdcTimeType UpdateTime; - ///最后修改毫秒 - TUstpFtdcMillisecType UpdateMillisec; - ///业务发生日期 - TUstpFtdcDateType ActionDay; -}; -///深度行情 -struct CUstpFtdcDepthMarketDataField -{ - ///交易日 - TUstpFtdcDateType TradingDay; - ///结算组代码 - TUstpFtdcSettlementGroupIDType SettlementGroupID; - ///结算编号 - TUstpFtdcSettlementIDType SettlementID; - ///昨结算 - TUstpFtdcPriceType PreSettlementPrice; - ///昨收盘 - TUstpFtdcPriceType PreClosePrice; - ///昨持仓量 - TUstpFtdcLargeVolumeType PreOpenInterest; - ///昨虚实度 - TUstpFtdcRatioType PreDelta; - ///今开盘 - TUstpFtdcPriceType OpenPrice; - ///最高价 - TUstpFtdcPriceType HighestPrice; - ///最低价 - TUstpFtdcPriceType LowestPrice; - ///今收盘 - TUstpFtdcPriceType ClosePrice; - ///涨停板价 - TUstpFtdcPriceType UpperLimitPrice; - ///跌停板价 - TUstpFtdcPriceType LowerLimitPrice; - ///今结算 - TUstpFtdcPriceType SettlementPrice; - ///今虚实度 - TUstpFtdcRatioType CurrDelta; - ///最新价 - TUstpFtdcPriceType LastPrice; - ///数量 - TUstpFtdcVolumeType Volume; - ///成交金额 - TUstpFtdcMoneyType Turnover; - ///持仓量 - TUstpFtdcLargeVolumeType OpenInterest; - ///申买价一 - TUstpFtdcPriceType BidPrice1; - ///申买量一 - TUstpFtdcVolumeType BidVolume1; - ///申卖价一 - TUstpFtdcPriceType AskPrice1; - ///申卖量一 - TUstpFtdcVolumeType AskVolume1; - ///申买价二 - TUstpFtdcPriceType BidPrice2; - ///申买量二 - TUstpFtdcVolumeType BidVolume2; - ///申买价三 - TUstpFtdcPriceType BidPrice3; - ///申买量三 - TUstpFtdcVolumeType BidVolume3; - ///申卖价二 - TUstpFtdcPriceType AskPrice2; - ///申卖量二 - TUstpFtdcVolumeType AskVolume2; - ///申卖价三 - TUstpFtdcPriceType AskPrice3; - ///申卖量三 - TUstpFtdcVolumeType AskVolume3; - ///申买价四 - TUstpFtdcPriceType BidPrice4; - ///申买量四 - TUstpFtdcVolumeType BidVolume4; - ///申买价五 - TUstpFtdcPriceType BidPrice5; - ///申买量五 - TUstpFtdcVolumeType BidVolume5; - ///申卖价四 - TUstpFtdcPriceType AskPrice4; - ///申卖量四 - TUstpFtdcVolumeType AskVolume4; - ///申卖价五 - TUstpFtdcPriceType AskPrice5; - ///申卖量五 - TUstpFtdcVolumeType AskVolume5; - ///合约代码 - TUstpFtdcInstrumentIDType InstrumentID; - ///最后修改时间 - TUstpFtdcTimeType UpdateTime; - ///最后修改毫秒 - TUstpFtdcMillisecType UpdateMillisec; - ///业务发生日期 - TUstpFtdcDateType ActionDay; - ///历史最高价 - TUstpFtdcPriceType HisHighestPrice; - ///历史最低价 - TUstpFtdcPriceType HisLowestPrice; - ///最新成交量 - TUstpFtdcVolumeType LatestVolume; - ///初始持仓量 - TUstpFtdcVolumeType InitVolume; - ///持仓量变化 - TUstpFtdcVolumeType ChangeVolume; - ///申买推导量 - TUstpFtdcVolumeType BidImplyVolume; - ///申卖推导量 - TUstpFtdcVolumeType AskImplyVolume; - ///当日均价 - TUstpFtdcPriceType AvgPrice; - ///策略类别 - TUstpFtdcArbiTypeType ArbiType; - ///第一腿合约代码 - TUstpFtdcInstrumentIDType InstrumentID_1; - ///第二腿合约代码 - TUstpFtdcInstrumentIDType InstrumentID_2; - ///合约名称 - TUstpFtdcInstrumentIDType InstrumentName; - ///总买入量 - TUstpFtdcVolumeType TotalBidVolume; - ///总卖出量 - TUstpFtdcVolumeType TotalAskVolume; -}; -///订阅合约的相关信息 -struct CUstpFtdcSpecificInstrumentField -{ - ///合约代码 - TUstpFtdcInstrumentIDType InstrumentID; -}; -///多播通道心跳 -struct CUstpFtdcMultiChannelHeartBeatField -{ - ///心跳超时时间(秒) - TUstpFtdcVolumeType UstpMultiChannelHeartBeatTimeOut; -}; -///获取行情订阅号请求 -struct CUstpFtdcReqMarketTopicField -{ - ///交易所代码 - TUstpFtdcExchangeIDType ExchangeID; -}; -///获取行情订阅号应答 -struct CUstpFtdcRspMarketTopicField -{ - ///交易所代码 - TUstpFtdcExchangeIDType ExchangeID; - ///订阅号 - TUstpFtdcSequenceSeriesType TopicID; -}; -///申请组合 -struct CUstpFtdcInputMarginCombActionField -{ - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///交易所代码 - TUstpFtdcExchangeIDType ExchangeID; - ///交易用户代码 - TUstpFtdcUserIDType UserID; - ///投资者编号 - TUstpFtdcInvestorIDType InvestorID; - ///投机套保标志 - TUstpFtdcHedgeFlagType HedgeFlag; - ///用户本地编号 - TUstpFtdcUserOrderLocalIDType UserActionLocalID; - ///组合合约代码 - TUstpFtdcInstrumentIDType CombInstrumentID; - ///组合数量 - TUstpFtdcVolumeType CombVolume; - ///组合动作方向 - TUstpFtdcCombDirectionType CombDirection; - ///本地编号 - TUstpFtdcOrderLocalIDType ActionLocalID; - ///组合持仓方向 - TUstpFtdcDirectionType Direction; - ///系统编号 - TUstpFtdcOrderSysIDType OrderSysID; - ///组合操作状态 - TUstpFtdcCombActionStatusType CombActionStatus; -}; -///交易编码组合持仓查询 -struct CUstpFtdcQryInvestorCombPositionField -{ - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///交易所代码 - TUstpFtdcExchangeIDType ExchangeID; - ///投资者编号 - TUstpFtdcInvestorIDType InvestorID; - ///投机套保标志 - TUstpFtdcHedgeFlagType HedgeFlag; - ///组合合约代码 - TUstpFtdcInstrumentIDType CombInstrumentID; -}; -///交易编码组合持仓查询应答 -struct CUstpFtdcRspInvestorCombPositionField -{ - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///交易所代码 - TUstpFtdcExchangeIDType ExchangeID; - ///持仓方向 - TUstpFtdcDirectionType Direction; - ///投资者编号 - TUstpFtdcInvestorIDType InvestorID; - ///投机套保标志 - TUstpFtdcHedgeFlagType HedgeFlag; - ///客户编码 - TUstpFtdcClientIDType ClientID; - ///组合合约代码 - TUstpFtdcInstrumentIDType CombInstrumentID; - ///单腿1合约代码 - TUstpFtdcInstrumentIDType Leg1InstrumentID; - ///单腿2合约代码 - TUstpFtdcInstrumentIDType Leg2InstrumentID; - ///组合持仓 - TUstpFtdcVolumeType CombPosition; - ///冻结组合持仓 - TUstpFtdcVolumeType CombFrozenPosition; - ///组合一手释放的保证金 - TUstpFtdcMoneyType CombFreeMargin; -}; -///组合规则 -struct CUstpFtdcMarginCombinationLegField -{ - ///交易所代码 - TUstpFtdcExchangeIDType ExchangeID; - ///组合合约代码 - TUstpFtdcInstrumentIDType CombInstrumentID; - ///单腿编号 - TUstpFtdcLegIDType LegID; - ///单腿合约代码 - TUstpFtdcInstrumentIDType LegInstrumentID; - ///买卖方向 - TUstpFtdcDirectionType Direction; - ///单腿乘数 - TUstpFtdcLegMultipleType LegMultiple; - ///优先级 - TUstpFtdcPriorityType Priority; -}; -///交易编码单腿持仓查询 -struct CUstpFtdcQryInvestorLegPositionField -{ - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///交易所代码 - TUstpFtdcExchangeIDType ExchangeID; - ///投资者编号 - TUstpFtdcInvestorIDType InvestorID; - ///投机套保标志 - TUstpFtdcHedgeFlagType HedgeFlag; - ///单腿合约代码 - TUstpFtdcInstrumentIDType LegInstrumentID; -}; -///交易编码单腿持仓查询应答 -struct CUstpFtdcRspInvestorLegPositionField -{ - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///交易所代码 - TUstpFtdcExchangeIDType ExchangeID; - ///投资者编号 - TUstpFtdcInvestorIDType InvestorID; - ///投机套保标志 - TUstpFtdcHedgeFlagType HedgeFlag; - ///客户编码 - TUstpFtdcClientIDType ClientID; - ///单腿合约代码 - TUstpFtdcInstrumentIDType InstrumentID; - ///多头持仓 - TUstpFtdcVolumeType LongPosition; - ///空头持仓 - TUstpFtdcVolumeType ShortPosition; - ///多头占用保证金 - TUstpFtdcMoneyType LongMargin; - ///空头占用保证金 - TUstpFtdcMoneyType ShortMargin; - ///多头冻结持仓 - TUstpFtdcVolumeType LongFrozenPosition; - ///空头冻结持仓 - TUstpFtdcVolumeType ShortFrozenPosition; - ///多头冻结保证金 - TUstpFtdcMoneyType LongFrozenMargin; - ///空头冻结保证金 - TUstpFtdcMoneyType ShortFrozenMargin; -}; -///查询合约组信息 -struct CUstpFtdcQryUstpInstrumentGroupField -{ - ///交易所代码 - TUstpFtdcExchangeIDType ExchangeID; - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///合约代码 - TUstpFtdcInstrumentIDType InstrumentID; -}; -///合约组信息查询应答 -struct CUstpFtdcRspInstrumentGroupField -{ - ///交易所代码 - TUstpFtdcExchangeIDType ExchangeID; - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///合约代码 - TUstpFtdcInstrumentIDType InstrumentID; - ///合约组代码 - TUstpFtdcInstrumentGroupIDType InstrumentGroupID; -}; -///查询组合保证金类型 -struct CUstpFtdcQryClientMarginCombTypeField -{ - ///交易所代码 - TUstpFtdcExchangeIDType ExchangeID; - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///投资者编号 - TUstpFtdcInvestorIDType InvestorID; - ///投机套保标志 - TUstpFtdcHedgeFlagType HedgeFlag; - ///合约组代码 - TUstpFtdcInstrumentGroupIDType InstrumentGroupID; -}; -///组合保证金类型查询应答 -struct CUstpFtdcRspClientMarginCombTypeField -{ - ///交易所代码 - TUstpFtdcExchangeIDType ExchangeID; - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///会员代码 - TUstpFtdcParticipantIDType ParticipantID; - ///客户编码 - TUstpFtdcClientIDType ClientID; - ///合约组代码 - TUstpFtdcInstrumentGroupIDType InstrumentGroupID; - ///保证金组合类型 - TUstpFtdcClientMarginCombTypeType MarginCombType; -}; -///系统时间 -struct CUstpFtdcReqQrySystemTimeField -{ - ///交易所代码 - TUstpFtdcExchangeIDType ExchangeID; -}; -///系统时间 -struct CUstpFtdcRspQrySystemTimeField -{ - ///交易所代码 - TUstpFtdcExchangeIDType ExchangeID; - ///系统时间 - TUstpFtdcTimeType SystemTime; -}; -///输入行权 -struct CUstpFtdcInputExecOrderField -{ - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///交易所代码 - TUstpFtdcExchangeIDType ExchangeID; - ///系统报单编号 - TUstpFtdcOrderSysIDType OrderSysID; - ///投资者编号 - TUstpFtdcInvestorIDType InvestorID; - ///用户代码 - TUstpFtdcUserIDType UserID; - ///合约代码 - TUstpFtdcInstrumentIDType InstrumentID; - ///用户本地报单号 - TUstpFtdcUserOrderLocalIDType UserOrderLocalID; - ///委托类型 - TUstpFtdcOrderTypeType OrderType; - ///期权对冲标识 - TUstpFtdcDeliveryFlagType DeliveryFlag; - ///投机套保标志 - TUstpFtdcHedgeFlagType HedgeFlag; - ///数量 - TUstpFtdcVolumeType Volume; - ///用户自定义域 - TUstpFtdcCustomType UserCustom; - ///业务发生日期 - TUstpFtdcDateType ActionDay; - ///本地业务标识 - TUstpFtdcBusinessLocalIDType BusinessLocalID; - ///业务单元 - TUstpFtdcBusinessUnitType BusinessUnit; -}; -///输入行权操作 -struct CUstpFtdcInputExecOrderActionField -{ - ///交易所代码 - TUstpFtdcExchangeIDType ExchangeID; - ///系统报单编号 - TUstpFtdcOrderSysIDType OrderSysID; - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///投资者编号 - TUstpFtdcInvestorIDType InvestorID; - ///用户代码 - TUstpFtdcUserIDType UserID; - ///本次撤单操作的本地编号 - TUstpFtdcUserOrderLocalIDType UserOrderActionLocalID; - ///被撤订单的本地报单编号 - TUstpFtdcUserOrderLocalIDType UserOrderLocalID; - ///报单操作标志 - TUstpFtdcActionFlagType ActionFlag; - ///数量变化 - TUstpFtdcVolumeType VolumeChange; - ///本地业务标识 - TUstpFtdcBusinessLocalIDType BusinessLocalID; - ///委托类型 - TUstpFtdcOrderTypeType OrderType; -}; -///行权通知 -struct CUstpFtdcExecOrderField -{ - ///经纪公司编号 - TUstpFtdcBrokerIDType BrokerID; - ///交易所代码 - TUstpFtdcExchangeIDType ExchangeID; - ///系统报单编号 - TUstpFtdcOrderSysIDType OrderSysID; - ///投资者编号 - TUstpFtdcInvestorIDType InvestorID; - ///用户代码 - TUstpFtdcUserIDType UserID; - ///合约代码 - TUstpFtdcInstrumentIDType InstrumentID; - ///用户本地报单号 - TUstpFtdcUserOrderLocalIDType UserOrderLocalID; - ///委托类型 - TUstpFtdcOrderTypeType OrderType; - ///期权对冲标识 - TUstpFtdcDeliveryFlagType DeliveryFlag; - ///投机套保标志 - TUstpFtdcHedgeFlagType HedgeFlag; - ///数量 - TUstpFtdcVolumeType Volume; - ///用户自定义域 - TUstpFtdcCustomType UserCustom; - ///业务发生日期 - TUstpFtdcDateType ActionDay; - ///本地业务标识 - TUstpFtdcBusinessLocalIDType BusinessLocalID; - ///业务单元 - TUstpFtdcBusinessUnitType BusinessUnit; - ///交易日 - TUstpFtdcTradingDayType TradingDay; - ///会员编号 - TUstpFtdcParticipantIDType ParticipantID; - ///最初下单用户编号 - TUstpFtdcUserIDType OrderUserID; - ///客户编码 - TUstpFtdcClientIDType ClientID; - ///下单席位号 - TUstpFtdcSeatIDType SeatID; - ///插入时间 - TUstpFtdcTimeType InsertTime; - ///本地报单编号 - TUstpFtdcOrderLocalIDType OrderLocalID; - ///报单来源 - TUstpFtdcOrderSourceType OrderSource; - ///报单状态 - TUstpFtdcOrderStatusType OrderStatus; - ///撤销时间 - TUstpFtdcTimeType CancelTime; - ///撤单用户编号 - TUstpFtdcUserIDType CancelUserID; -}; -///查询行情快照 -struct CUstpFtdcReqQryMarketDataField -{ - ///交易所代码 - TUstpFtdcExchangeIDType ExchangeID; - ///合约代码 - TUstpFtdcInstrumentIDType InstrumentID; -}; -///查询行情快应答 -struct CUstpFtdcRspDepthMarketDataField -{ - ///交易日 - TUstpFtdcDateType TradingDay; - ///结算组代码 - TUstpFtdcSettlementGroupIDType SettlementGroupID; - ///结算编号 - TUstpFtdcSettlementIDType SettlementID; - ///昨结算 - TUstpFtdcPriceType PreSettlementPrice; - ///昨收盘 - TUstpFtdcPriceType PreClosePrice; - ///昨持仓量 - TUstpFtdcLargeVolumeType PreOpenInterest; - ///昨虚实度 - TUstpFtdcRatioType PreDelta; - ///今开盘 - TUstpFtdcPriceType OpenPrice; - ///最高价 - TUstpFtdcPriceType HighestPrice; - ///最低价 - TUstpFtdcPriceType LowestPrice; - ///今收盘 - TUstpFtdcPriceType ClosePrice; - ///涨停板价 - TUstpFtdcPriceType UpperLimitPrice; - ///跌停板价 - TUstpFtdcPriceType LowerLimitPrice; - ///今结算 - TUstpFtdcPriceType SettlementPrice; - ///今虚实度 - TUstpFtdcRatioType CurrDelta; - ///最新价 - TUstpFtdcPriceType LastPrice; - ///数量 - TUstpFtdcVolumeType Volume; - ///成交金额 - TUstpFtdcMoneyType Turnover; - ///持仓量 - TUstpFtdcLargeVolumeType OpenInterest; - ///申买价一 - TUstpFtdcPriceType BidPrice1; - ///申买量一 - TUstpFtdcVolumeType BidVolume1; - ///申卖价一 - TUstpFtdcPriceType AskPrice1; - ///申卖量一 - TUstpFtdcVolumeType AskVolume1; - ///申买价二 - TUstpFtdcPriceType BidPrice2; - ///申买量二 - TUstpFtdcVolumeType BidVolume2; - ///申买价三 - TUstpFtdcPriceType BidPrice3; - ///申买量三 - TUstpFtdcVolumeType BidVolume3; - ///申卖价二 - TUstpFtdcPriceType AskPrice2; - ///申卖量二 - TUstpFtdcVolumeType AskVolume2; - ///申卖价三 - TUstpFtdcPriceType AskPrice3; - ///申卖量三 - TUstpFtdcVolumeType AskVolume3; - ///申买价四 - TUstpFtdcPriceType BidPrice4; - ///申买量四 - TUstpFtdcVolumeType BidVolume4; - ///申买价五 - TUstpFtdcPriceType BidPrice5; - ///申买量五 - TUstpFtdcVolumeType BidVolume5; - ///申卖价四 - TUstpFtdcPriceType AskPrice4; - ///申卖量四 - TUstpFtdcVolumeType AskVolume4; - ///申卖价五 - TUstpFtdcPriceType AskPrice5; - ///申卖量五 - TUstpFtdcVolumeType AskVolume5; - ///合约代码 - TUstpFtdcInstrumentIDType InstrumentID; - ///最后修改时间 - TUstpFtdcTimeType UpdateTime; - ///最后修改毫秒 - TUstpFtdcMillisecType UpdateMillisec; - ///业务发生日期 - TUstpFtdcDateType ActionDay; - ///历史最高价 - TUstpFtdcPriceType HisHighestPrice; - ///历史最低价 - TUstpFtdcPriceType HisLowestPrice; - ///最新成交量 - TUstpFtdcVolumeType LatestVolume; - ///初始持仓量 - TUstpFtdcVolumeType InitVolume; - ///持仓量变化 - TUstpFtdcVolumeType ChangeVolume; - ///申买推导量 - TUstpFtdcVolumeType BidImplyVolume; - ///申卖推导量 - TUstpFtdcVolumeType AskImplyVolume; - ///当日均价 - TUstpFtdcPriceType AvgPrice; - ///策略类别 - TUstpFtdcArbiTypeType ArbiType; - ///第一腿合约代码 - TUstpFtdcInstrumentIDType InstrumentID_1; - ///第二腿合约代码 - TUstpFtdcInstrumentIDType InstrumentID_2; - ///合约名称 - TUstpFtdcInstrumentIDType InstrumentName; - ///总买入量 - TUstpFtdcVolumeType TotalBidVolume; - ///总卖出量 - TUstpFtdcVolumeType TotalAskVolume; -}; - - -#endif diff --git a/vnpy/api/femas/generatefemas/generate_api_functions.py b/vnpy/api/femas/generator/generate_api_functions.py similarity index 98% rename from vnpy/api/femas/generatefemas/generate_api_functions.py rename to vnpy/api/femas/generator/generate_api_functions.py index 8cc95060..993708c1 100644 --- a/vnpy/api/femas/generatefemas/generate_api_functions.py +++ b/vnpy/api/femas/generator/generate_api_functions.py @@ -336,8 +336,10 @@ class ApiGenerator: if __name__ == "__main__": - md_generator = ApiGenerator("USTPFtdcMduserApi.h", "femas", "md", "MdApi") + md_generator = ApiGenerator( + "../include/femas/USTPFtdcMduserApi.h", "femas", "md", "MdApi") md_generator.run() - td_generator = ApiGenerator("USTPFtdcTraderApi.h", "femas", "td", "TdApi") + td_generator = ApiGenerator( + "../include/femas/USTPFtdcTraderApi.h", "femas", "td", "TdApi") td_generator.run() diff --git a/vnpy/api/femas/generatefemas/generate_data_type.py b/vnpy/api/femas/generator/generate_data_type.py similarity index 94% rename from vnpy/api/femas/generatefemas/generate_data_type.py rename to vnpy/api/femas/generator/generate_data_type.py index 399003c5..98f7b117 100644 --- a/vnpy/api/femas/generatefemas/generate_data_type.py +++ b/vnpy/api/femas/generator/generate_data_type.py @@ -72,5 +72,6 @@ class DataTypeGenerator: if __name__ == "__main__": - generator = DataTypeGenerator("USTPFtdcUserApiDataType.h", "femas") + generator = DataTypeGenerator( + "../include/femas/USTPFtdcUserApiDataType.h", "femas") generator.run() diff --git a/vnpy/api/femas/generatefemas/generate_struct.py b/vnpy/api/femas/generator/generate_struct.py similarity index 95% rename from vnpy/api/femas/generatefemas/generate_struct.py rename to vnpy/api/femas/generator/generate_struct.py index d4ea9f02..5c5b92e5 100644 --- a/vnpy/api/femas/generatefemas/generate_struct.py +++ b/vnpy/api/femas/generator/generate_struct.py @@ -80,5 +80,6 @@ class StructGenerator: if __name__ == "__main__": - generator = StructGenerator("USTPFtdcUserApiStruct.h", "femas") + generator = StructGenerator( + "../include/femas/USTPFtdcUserApiStruct.h", "femas") generator.run() diff --git a/vnpy/api/femas/test/mdtest.py b/vnpy/api/femas/test/mdtest.py deleted file mode 100644 index b2c58c48..00000000 --- a/vnpy/api/femas/test/mdtest.py +++ /dev/null @@ -1,173 +0,0 @@ -# encoding: UTF-8 -# flake8: noqa - -from __future__ import print_function -import sys -from time import sleep - -from PyQt4 import QtGui - -from vnfemasmd 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 onRspQryTopic(self, data, error, n, last): - """璁㈤槄鍚堢害鍥炴姤""" - print_dict(data) - print_dict(error) - - #---------------------------------------------------------------------- - @simple_log - def onRspSubscribeTopic(self, data, error, n, last): - """閫璁㈠悎绾﹀洖鎶""" - print_dict(data) - print_dict(error) - - -#---------------------------------------------------------------------- -def main(): - """涓绘祴璇曞嚱鏁帮紝鍑虹幇鍫靛鏃跺彲浠ヨ冭檻浣跨敤sleep""" - reqid = 0 - - # 鍒涘缓Qt搴旂敤瀵硅薄锛岀敤浜庝簨浠跺惊鐜 - app = QtGui.QApplication(sys.argv) - - # 鍒涘缓API瀵硅薄 - api = TestMdApi() - - # 鍦–++鐜涓垱寤篗dApi瀵硅薄锛屼紶鍏ュ弬鏁版槸甯屾湜鐢ㄦ潵淇濆瓨.con鏂囦欢鐨勫湴鍧 - api.createFtdcMdApi('') - - # 娉ㄥ唽鍓嶇疆鏈哄湴鍧 - api.registerFront("tcp://118.126.16.229:17101") - - # 鍒濆鍖朼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/vnpy/api/femas/test/tdtest.py b/vnpy/api/femas/test/tdtest.py deleted file mode 100644 index ef21f0e1..00000000 --- a/vnpy/api/femas/test/tdtest.py +++ /dev/null @@ -1,166 +0,0 @@ -# encoding: UTF-8 -# flake8: noqa - -from __future__ import print_function -import sys -from time import sleep - -from PyQt4 import QtGui - -from vnfemastd 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.subscribeUserTopic(1) - - # 娉ㄥ唽鍓嶇疆鏈哄湴鍧锛屾祴璇曢氳繃 - api.registerFront("tcp://118.126.16.229:17111") - - # 鍒濆鍖朼pi锛岃繛鎺ュ墠缃満锛屾祴璇曢氳繃 - api.init() - sleep(2) - - # 鐧婚檰锛屾祴璇曢氳繃 - 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/vnpy/api/femas/vnfemas/vnfemasmd/vnfemasmd.cpp b/vnpy/api/femas/vnfemas/vnfemasmd/vnfemasmd.cpp index 4ec0ddc9..c94bba42 100644 --- a/vnpy/api/femas/vnfemas/vnfemasmd/vnfemasmd.cpp +++ b/vnpy/api/femas/vnfemas/vnfemasmd/vnfemasmd.cpp @@ -717,7 +717,7 @@ public: PYBIND11_MODULE(vnfemasmd, m) { - class_ mdapi(m, "MdApi"); + class_ mdapi(m, "MdApi", module_local()); mdapi .def(init<>()) .def("createFtdcMdApi", &MdApi::createFtdcMdApi) diff --git a/vnpy/api/femas/vnfemas/vnfemasmd/vnfemasmd.vcxproj b/vnpy/api/femas/vnfemas/vnfemasmd/vnfemasmd.vcxproj index dea02d7d..734ee427 100644 --- a/vnpy/api/femas/vnfemas/vnfemasmd/vnfemasmd.vcxproj +++ b/vnpy/api/femas/vnfemas/vnfemasmd/vnfemasmd.vcxproj @@ -23,7 +23,7 @@ {F00054FF-282F-4826-848E-D58BFB9E9D9F} Win32Proj vnfemasmd - 10.0.17763.0 + 10.0.17134.0 vnfemasmd @@ -95,10 +95,10 @@ false - C:\Python37\include;$(SolutionDir);$(SolutionDir)..\include;$(SolutionDir)..\include\femas;$(IncludePath) + C:\Miniconda3\include;$(SolutionDir);$(SolutionDir)..\include;$(SolutionDir)..\include\femas;$(IncludePath) $(ReferencePath) .pyd - C:\Python37\libs;$(SolutionDir)..\libs;$(LibraryPath) + C:\Miniconda3\include\libs;$(SolutionDir)..\libs;$(LibraryPath) $(SolutionDir)..\ @@ -181,7 +181,7 @@ true true true - C:\ProgramData\VNConda\libs;C:\Users\Administrator\Documents\GitHub\vnpy\vnpy\api\femasctp\libs;%(AdditionalLibraryDirectories) + C:\Miniconda3\libs;$(SolutionDir)..\libs;%(AdditionalLibraryDirectories) USTPmduserapiAF.lib;USTPtraderapiAF.lib;%(AdditionalDependencies) diff --git a/vnpy/api/femas/vnfemas/vnfemastd/vnfemastd.cpp b/vnpy/api/femas/vnfemas/vnfemastd/vnfemastd.cpp index a071f8c1..1b911e4e 100644 --- a/vnpy/api/femas/vnfemas/vnfemastd/vnfemastd.cpp +++ b/vnpy/api/femas/vnfemas/vnfemastd/vnfemastd.cpp @@ -2451,14 +2451,11 @@ void TdApi::processRspQryInvestorAccount(Task *task) data["Margin"] = task_data->Margin; data["Premium"] = task_data->Premium; data["Risk"] = task_data->Risk; - print("processRspQryInvestorAccount"); - print(data["AccountID"]); delete task->task_data; } dict error; if (task->task_error) { - print("task->task_error"); CUstpFtdcRspInfoField *task_error = (CUstpFtdcRspInfoField*)task->task_error; error["ErrorID"] = task_error->ErrorID; error["ErrorMsg"] = toUtf(task_error->ErrorMsg); @@ -4237,7 +4234,7 @@ public: PYBIND11_MODULE(vnfemastd, m) { - class_ TdApi(m, "TdApi"); + class_ TdApi(m, "TdApi", module_local()); TdApi .def(init<>()) .def("createFtdcTraderApi", &TdApi::createFtdcTraderApi) diff --git a/vnpy/api/femas/vnfemas/vnfemastd/vnfemastd.vcxproj b/vnpy/api/femas/vnfemas/vnfemastd/vnfemastd.vcxproj index 8fc2e28a..77ab8b70 100644 --- a/vnpy/api/femas/vnfemas/vnfemastd/vnfemastd.vcxproj +++ b/vnpy/api/femas/vnfemas/vnfemastd/vnfemastd.vcxproj @@ -23,7 +23,7 @@ {016732E6-5789-4F7C-9A1C-C46A249080CF} Win32Proj vnfemastd - 10.0.17763.0 + 10.0.17134.0 vnfemastd @@ -95,8 +95,8 @@ false .pyd - C:\Python37\include;$(SolutionDir);$(SolutionDir)..\include;$(SolutionDir)..\include\femas;$(IncludePath) - C:\Python37\libs;$(SolutionDir)..\libs;$(LibraryPath) + C:\Miniconda3\include;$(SolutionDir);$(SolutionDir)..\include;$(SolutionDir)..\include\femas;$(IncludePath) + C:\Miniconda3\include\libs;$(SolutionDir)..\libs;$(LibraryPath) $(SolutionDir)..\ @@ -178,7 +178,7 @@ true true true - C:\ProgramData\VNConda\libs;C:\Users\Administrator\Documents\GitHub\vnpy\vnpy\api\femasctp\libs;%(AdditionalLibraryDirectories) + C:\Miniconda3\libs;$(SolutionDir)..\libs;%(AdditionalLibraryDirectories) USTPmduserapiAF.lib;USTPtraderapiAF.lib;%(AdditionalDependencies) diff --git a/vnpy/api/femas/vnfemasmd.lib b/vnpy/api/femas/vnfemasmd.lib deleted file mode 100644 index 6451c8b1..00000000 Binary files a/vnpy/api/femas/vnfemasmd.lib and /dev/null differ diff --git a/vnpy/api/femas/vnfemasmd.pyd b/vnpy/api/femas/vnfemasmd.pyd index 42069546..4f9b2954 100644 Binary files a/vnpy/api/femas/vnfemasmd.pyd and b/vnpy/api/femas/vnfemasmd.pyd differ diff --git a/vnpy/api/femas/vnfemastd.lib b/vnpy/api/femas/vnfemastd.lib deleted file mode 100644 index 2fb95362..00000000 Binary files a/vnpy/api/femas/vnfemastd.lib and /dev/null differ diff --git a/vnpy/api/femas/vnfemastd.pyd b/vnpy/api/femas/vnfemastd.pyd index 13222642..49d52c83 100644 Binary files a/vnpy/api/femas/vnfemastd.pyd and b/vnpy/api/femas/vnfemastd.pyd differ diff --git a/vnpy/gateway/femas/femas_gateway.py b/vnpy/gateway/femas/femas_gateway.py index 9db695e6..5b45f4ed 100644 --- a/vnpy/gateway/femas/femas_gateway.py +++ b/vnpy/gateway/femas/femas_gateway.py @@ -30,7 +30,7 @@ from vnpy.api.femas import ( USTP_FTDC_TC_GFD, USTP_FTDC_TC_IOC, USTP_FTDC_VC_AV, - USTP_FTDC_VC_CV, + USTP_FTDC_VC_CV ) from vnpy.trader.constant import ( Direction, @@ -39,6 +39,7 @@ from vnpy.trader.constant import ( OptionType, OrderType, Status, + Product ) from vnpy.trader.event import EVENT_TIMER from vnpy.trader.gateway import BaseGateway @@ -86,6 +87,12 @@ OFFSET_VT2FEMAS = { } OFFSET_FEMAS2VT = {v: k for k, v in OFFSET_VT2FEMAS.items()} +# PRODUCT_CTP2VT = { +# THOST_FTDC_PC_Futures: Product.FUTURES, +# THOST_FTDC_PC_Options: Product.OPTION, +# THOST_FTDC_PC_Combination: Product.SPREAD +# } + DIRECTION_FEMAS2VT = {v: k for k, v in DIRECTION_VT2FEMAS.items()} DIRECTION_FEMAS2VT[USTP_FTDC_PD_Long] = Direction.LONG DIRECTION_FEMAS2VT[USTP_FTDC_PD_Short] = Direction.SHORT @@ -237,16 +244,15 @@ class FemasMdApi(MdApi): """ self.connect_status = False self.login_status = False - self.gateway.write_log(f"琛屾儏杩炴帴鏂紑锛屽師鍥爗reason}") + self.gateway.write_log(f"琛屾儏鏈嶅姟鍣ㄨ繛鎺ユ柇寮锛屽師鍥爗reason}") def onRspUserLogin(self, data: dict, error: dict, reqid: int, last: bool): """ Callback when user is logged in. """ - if self.gateway.if_error_write_error("琛屾儏鐧诲綍澶辫触", error): + if self.gateway.if_error_write_error("琛屾儏鏈嶅姟鍣ㄧ櫥褰曞け璐", error): return self.login_status = True - self.gateway.write_log("onRspUserLogin琛屾儏鏈嶅姟鍣ㄧ櫥褰曟垚鍔") self.gateway.write_log("琛屾儏鏈嶅姟鍣ㄧ櫥褰曟垚鍔") for symbol in self.subscribed: @@ -354,8 +360,8 @@ class FemasTdApi(TdApi): self.gateway = gateway self.gateway_name = gateway.gateway_name - self.reqid = int(10e5) - self.localID = int(10e5 + 8888) + self.reqid = 0 + self.localid = int(10e5 + 8888) self.connect_status = False self.login_status = False @@ -373,7 +379,7 @@ class FemasTdApi(TdApi): def onFrontConnected(self): """""" self.connect_status = True - self.gateway.write_log("onFrontConnected浜ゆ槗杩炴帴鎴愬姛") + self.gateway.write_log("浜ゆ槗鏈嶅姟鍣ㄨ繛鎺ユ垚鍔") self.login() @@ -381,23 +387,23 @@ class FemasTdApi(TdApi): """""" self.connect_status = False self.login_status = False - self.gateway.write_log(f"浜ゆ槗杩炴帴鏂紑锛屽師鍥爗reason}") + self.gateway.write_log(f"浜ゆ槗鏈嶅姟鍣ㄨ繛鎺ユ柇寮锛屽師鍥爗reason}") def onRspUserLogin(self, data: dict, error: dict, reqid: int, last: bool): """""" if not error["ErrorID"]: if data["MaxOrderLocalID"]: - self.localID = max( - self.localID, int(data["MaxOrderLocalID"]) - ) # 鐩墠鏈澶ф湰鍦版姤鍗曞彿 + self.localid = int(data["MaxOrderLocalID"]) + self.login_status = True - self.gateway.write_log("onRspUserLogin浜ゆ槗鐧诲綍鎴愬姛") + self.gateway.write_log("浜ゆ槗鏈嶅姟鍣ㄧ櫥褰曟垚鍔") + self.reqid += 1 self.reqQryInstrument({}, self.reqid) else: self.login_failed = True - self.gateway.if_error_write_error("浜ゆ槗鐧诲綍澶辫触", error) + self.gateway.if_error_write_error("浜ゆ槗鏈嶅姟鍣ㄧ櫥褰曞け璐", error) def onRspOrderInsert(self, data: dict, error: dict, reqid: int, last: bool): """""" @@ -486,28 +492,41 @@ class FemasTdApi(TdApi): balance=data["PreBalance"], gateway_name=self.gateway_name, ) - # todo: check for error + self.gateway.on_account(account) def onRspQryInstrument(self, data: dict, error: dict, reqid: int, last: bool): """ Callback of instrument query. """ + # Femas gateway provides no ProductClass data, so need to determine + # product type using other logic. + option_type = OPTIONTYPE_FEMAS2VT.get(data["OptionsType"], None) + if option_type: + product = Product.OPTION + elif data["InstrumentID_2"]: + product = Product.SPREAD + else: + product = Product.FUTURES contract = ContractData( - product=data["ProductID"], symbol=data["InstrumentID"], exchange=EXCHANGE_FEMAS2VT[data["ExchangeID"]], name=data["InstrumentName"], size=data["VolumeMultiple"], pricetick=data["PriceTick"], - option_underlying=data["UnderlyingInstrID"], - option_type=OPTIONTYPE_FEMAS2VT.get(data["OptionsType"], None), - option_strike=data["StrikePrice"], - option_expiry=datetime.strptime(data["ExpireDate"], "%Y%m%d"), - gateway_name=self.gateway_name, + product=product, + gateway_name=self.gateway_name ) + if product == Product.OPTION: + contract.option_underlying = data["UnderlyingInstrID"] + contract.option_type = OPTIONTYPE_FEMAS2VT.get( + data["OptionsType"], None) + contract.option_strike = data["StrikePrice"] + contract.option_expiry = datetime.strptime( + data["ExpireDate"], "%Y%m%d") + self.gateway.on_contract(contract) symbol_exchange_map[contract.symbol] = contract.exchange @@ -522,7 +541,8 @@ class FemasTdApi(TdApi): Callback of order status update. """ # 鏇存柊鏈澶ф姤鍗曠紪鍙 - self.localID = max(self.localID, int(data["UserOrderLocalID"])) # 妫鏌ュ苟澧炲姞鏈湴鎶ュ崟缂栧彿 + self.localid = max(self.localid, int( + data["UserOrderLocalID"])) # 妫鏌ュ苟澧炲姞鏈湴鎶ュ崟缂栧彿 symbol = data["InstrumentID"] exchange = symbol_exchange_map.get(symbol, "") @@ -617,8 +637,9 @@ class FemasTdApi(TdApi): """ Send new order. """ - self.localID += 1 - strLocalID = str(self.localID).rjust(12, "0") + self.localid += 1 + orderid = str(self.localid).rjust(12, "0") + femas_req = { "InstrumentID": req.symbol, "ExchangeID": str(req.exchange).split(".")[1], @@ -630,7 +651,7 @@ class FemasTdApi(TdApi): "OrderPriceType": ORDERTYPE_VT2FEMAS.get(req.type, ""), "Direction": DIRECTION_VT2FEMAS.get(req.direction, ""), "OffsetFlag": OFFSET_VT2FEMAS.get(req.offset, ""), - "UserOrderLocalID": strLocalID, + "UserOrderLocalID": orderid, "HedgeFlag": USTP_FTDC_CHF_Speculation, "ForceCloseReason": USTP_FTDC_FCR_NotForceClose, "IsAutoSuspend": 0, @@ -651,8 +672,6 @@ class FemasTdApi(TdApi): self.reqid += 1 self.reqOrderInsert(femas_req, self.reqid) - orderid = femas_req["UserOrderLocalID"] - req.volume = femas_req["Volume"] order = req.create_order_data(orderid, self.gateway_name) self.gateway.on_order(order) @@ -662,13 +681,14 @@ class FemasTdApi(TdApi): """ Cancel existing order. """ - self.localID += 1 - strLocalID = str(self.localID) + self.localid += 1 + orderid = str(self.localid).rjust(12, "0") + femas_req = { "InstrumentID": req.symbol, "ExchangeID": str(req.exchange).split(".")[1], "UserOrderLocalID": req.orderid, - "UserOrderActionLocalID": strLocalID, + "UserOrderActionLocalID": orderid, "ActionFlag": USTP_FTDC_AF_Delete, "BrokerID": self.brokerid, "InvestorID": self.userid,