diff --git a/vn.ctp/vnctpmd/Visual Studio 2013/settings/Windows Azure Subscriptions.xml b/vn.ctp/vnctpmd/Visual Studio 2013/settings/Windows Azure Subscriptions.xml
index 1ebb14536d..0759817f9e 100644
--- a/vn.ctp/vnctpmd/Visual Studio 2013/settings/Windows Azure Subscriptions.xml
+++ b/vn.ctp/vnctpmd/Visual Studio 2013/settings/Windows Azure Subscriptions.xml
@@ -1,5 +1,5 @@
- AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAFu2zqVyKekyvVmiKknbo5gAAAAACAAAAAAAQZgAAAAEAACAAAAAAYmnCE5TZ7OTMycBfVOT5oRy7AAf9RG/yNygue3I/KgAAAAAOgAAAAAIAACAAAABNPnwcQSkIhCBqPDlzsY14A7QhHxWle3w4tJAd8EpvmhAAAADpa6MuW7qJqbUoGp68HfxTQAAAAFM1L12/VZX0bKg3A4QLJrHd62B2rhv4emdG+dsfUENr0YV2ELCAkb6TcoqTvRHrEn1GlvU9G5THu0m1mllqFPs=
+ AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAyRIhRmRN8UK7w5RuPHePCQAAAAACAAAAAAAQZgAAAAEAACAAAABOKZJ+rmRrqvwh5QNfnCozvUYDOg+U0BzjckGAMhcYjQAAAAAOgAAAAAIAACAAAABhb4q4toOQ9w2A0T0uaQRj2eZRLPM5uC94WAyAcK9T+RAAAADkg9a8iCcry5TKQN55FgXBQAAAAA/yyrOHkXNSwl7z644L4X680aDKtmMvD38Fwvi8mIW48PLSVfOFYjTlhO/lbIPFWfHENRgYSShBuwZq2JZC4Cg=
\ No newline at end of file
diff --git a/vn.ctp/vnctptd/Visual Studio 2013/settings/Windows Azure Subscriptions.xml b/vn.ctp/vnctptd/Visual Studio 2013/settings/Windows Azure Subscriptions.xml
new file mode 100644
index 0000000000..cbc957e64a
--- /dev/null
+++ b/vn.ctp/vnctptd/Visual Studio 2013/settings/Windows Azure Subscriptions.xml
@@ -0,0 +1,5 @@
+
+
+
+ AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAyRIhRmRN8UK7w5RuPHePCQAAAAACAAAAAAAQZgAAAAEAACAAAADf91WYlm11XNlY7oqd3a/lm23SaZ+dbvdXbsHLH8XtIQAAAAAOgAAAAAIAACAAAACabh6Uk42N14p8/h/LJl5cueb8GnuquGzdgRt632QaqBAAAACJ3D67W4v3AJfMXokvrZL0QAAAACKDHSe4qcbNXTFiPSsWABZTXHPj/HA8LEdrFx2kT2ihCkykngHqEnoX0Jxjpb35ruIVUL0YVwZxLkAjjPPSttk=
+
\ No newline at end of file
diff --git a/vn.how/tick2trade/vn.ctp_t2t/CMakeLists.txt b/vn.how/tick2trade/vn.ctp_t2t/CMakeLists.txt
new file mode 100644
index 0000000000..c024981b19
--- /dev/null
+++ b/vn.how/tick2trade/vn.ctp_t2t/CMakeLists.txt
@@ -0,0 +1,106 @@
+cmake_minimum_required(VERSION 2.8)
+project(vn_ctp_api)
+
+# 设置使用的编译器
+set(CMAKE_BUILD_TYPE "Release")
+if (CMAKE_COMPILER_IS_GNUC OR CMAKE_COMPILER_IS_GNUCXX)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -std=c++11")
+endif ()
+
+# 设置输出目录
+set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin)
+set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib)
+
+# 使用64位编译
+option(USE_64BITS "comiple 64bits" ON)
+if (USE_64BITS)
+ add_definitions(-DUSE_64BITS)
+ #set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32")
+ #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32")
+endif()
+
+# 设置C++ API源文件的所在目录
+if (WIN32)
+ set(CTPAPI_PATH ctpapi)
+elseif (UNIX)
+ message("Under unix: " ${CMAKE_SIZEOF_VOID_P})
+ if (CMAKE_SIZEOF_VOID_P MATCHES "8")
+ set(CTPAPI_PATH ctpapi/x64_linux)
+ endif()
+endif()
+include_directories(${CTPAPI_PATH})
+set(CTPAPI_LIBRARY )
+find_library(CTPAPI_MD_LIBRARY
+ NAMES thostmduserapi
+ PATHS ${CTPAPI_PATH})
+find_library(CTPAPI_TD_LIBRARY
+ NAMES thosttraderapi
+ PATHS ${CTPAPI_PATH})
+
+
+# 设置编译源文件
+set (vnctpmd )
+set (vnctptd )
+
+option(BUILD_CTP_MD "build ctp md" ON)
+if (BUILD_CTP_MD)
+ add_definitions(-DBUILD_CTP_MD)
+ set(CTP_MD_PATH vnctpmd/vnctpmd)
+ include_directories(CTP_MD_PATH)
+ set(VN_CTP_MD_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/vnctpmd/vnctpmd/vnctpmd.cpp)
+ add_library(vnctpmd SHARED ${VN_CTP_MD_SOURCE})
+endif()
+option(BUILD_CTP_TD "build ctp td" ON)
+if (BUILD_CTP_TD)
+ add_definitions(-DBUILD_CTP_TD)
+ set(CTP_TD_PATH vnctptd/vnctptd)
+ include_directories(CTP_TD_PATH)
+ set(VN_CTP_TD_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/vnctptd/vnctptd/vnctptd.cpp)
+ add_library(vnctptd SHARED ${VN_CTP_TD_SOURCE})
+endif()
+
+# 设置Python所在的目录
+set(PYTHON_LIBRARY )
+if (WIN32)
+set(PYTHON_INCLUDE_PATH C:/Python27/include)
+find_library(PYTHON_LIBRARY
+ NAMES python27
+ PATHS C:/Python27/libs)
+include_directories(${PYTHON_INCLUDE_PATH})
+else()
+set(PYTHON_INCLUDE_PATH /usr/include/python2.7/)
+find_library(PYTHON_LIBRARY
+ NAMES python2.7
+ PATHS /usr/lib/x86_64-linux-gnu)
+include_directories(${PYTHON_INCLUDE_PATH})
+endif()
+
+# 链接boost库,anaconda
+if (WIN32)
+ set(Boost_USE_STATIC_LIBS ON) #链接boost静态库
+endif()
+set(Boost_USE_MULTITHREADED ON)
+find_package(Boost 1.55.0 COMPONENTS python thread date_time system chrono REQUIRED) # 如果boost库没有完全编译,需要将编译的库明确地指出,否者message(${Boost_LIBRARIES})会出错
+if(Boost_FOUND)
+ include_directories(${Boost_INCLUDE_DIRS})
+endif()
+
+# 去掉生成的so文件名中前缀的lib
+set_target_properties(vnctpmd PROPERTIES PREFIX "")
+
+# 链接生成.so文件
+target_link_libraries(vnctpmd ${Boost_LIBRARIES} ${PYTHON_LIBRARY} ${CTPAPI_MD_LIBRARY})
+
+# 将生成的dll文件后缀名修改为pyd(仅在windows下)
+set(MD_DLL "${LIBRARY_OUTPUT_PATH}/Release/vnctpmd.dll")
+if (EXISTS ${MD_DLL})
+ file(RENAME ${MD_DLL} ${LIBRARY_OUTPUT_PATH}/Release/vnctpmd.pyd)
+endif()
+
+# 和上面的MD相同
+set_target_properties(vnctptd PROPERTIES PREFIX "")
+target_link_libraries(vnctptd ${Boost_LIBRARIES} ${PYTHON_LIBRARY} ${CTPAPI_TD_LIBRARY})
+set(TD_DLL ${LIBRARY_OUTPUT_PATH}/Release/vnctptd.dll)
+if (EXISTS ${TD_DLL})
+ file(RENAME ${TD_DLL} ${LIBRARY_OUTPUT_PATH}/Release/vnctptd.pyd)
+endif()
diff --git a/vn.how/tick2trade/vn.ctp_t2t/build.sh b/vn.how/tick2trade/vn.ctp_t2t/build.sh
new file mode 100644
index 0000000000..83858574c1
--- /dev/null
+++ b/vn.how/tick2trade/vn.ctp_t2t/build.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+# Written by Suzhengchun on 20160213
+
+set -e
+BUILDDIR=build
+rm -rf $BUILDDIR
+if [ ! -f $BUILDDIR ]; then
+ mkdir -p $BUILDDIR
+fi
+pushd $BUILDDIR
+cmake ..
+make VERBOSE=1 -j 1
+ln -fs `pwd`/lib/vnctpmd.so ../vnctpmd/test/vnctpmd.so
+ln -fs `pwd`/lib/vnctptd.so ../vnctptd/test/vnctptd.so
+cp ../vnctpmd/test/vnctpmd.* ../../vn.trader/ctpGateway/
+cp ../vnctptd/test/vnctptd.* ../../vn.trader/ctpGateway/
+popd
diff --git a/vn.how/tick2trade/vn.ctp_t2t/ctpapi/ThostFtdcMdApi.h b/vn.how/tick2trade/vn.ctp_t2t/ctpapi/ThostFtdcMdApi.h
new file mode 100644
index 0000000000..ece33f7e7e
--- /dev/null
+++ b/vn.how/tick2trade/vn.ctp_t2t/ctpapi/ThostFtdcMdApi.h
@@ -0,0 +1,162 @@
+/////////////////////////////////////////////////////////////////////////
+///@system һϵͳ
+///@company ϺڻϢ˾
+///@file ThostFtdcMdApi.h
+///@brief ˿ͻ˽ӿ
+///@history
+///20060106 Ժ ļ
+/////////////////////////////////////////////////////////////////////////
+
+#if !defined(THOST_FTDCMDAPI_H)
+#define THOST_FTDCMDAPI_H
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include "ThostFtdcUserApiStruct.h"
+
+#if defined(ISLIB) && defined(WIN32)
+#ifdef LIB_MD_API_EXPORT
+#define MD_API_EXPORT __declspec(dllexport)
+#else
+#define MD_API_EXPORT __declspec(dllimport)
+#endif
+#else
+#define MD_API_EXPORT
+#endif
+
+class CThostFtdcMdSpi
+{
+public:
+ ///ͻ뽻̨ͨʱδ¼ǰ÷á
+ virtual void OnFrontConnected(){};
+
+ ///ͻ뽻̨ͨӶϿʱ÷áAPIԶӣͻ˿ɲ
+ ///@param nReason ԭ
+ /// 0x1001 ʧ
+ /// 0x1002 дʧ
+ /// 0x2001 ʱ
+ /// 0x2002 ʧ
+ /// 0x2003 յ
+ virtual void OnFrontDisconnected(int nReason){};
+
+ ///ʱ档ʱδյʱ÷á
+ ///@param nTimeLapse ϴνձĵʱ
+ virtual void OnHeartBeatWarning(int nTimeLapse){};
+
+
+ ///¼Ӧ
+ virtual void OnRspUserLogin(CThostFtdcRspUserLoginField *pRspUserLogin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///dzӦ
+ virtual void OnRspUserLogout(CThostFtdcUserLogoutField *pUserLogout, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///Ӧ
+ virtual void OnRspError(CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///Ӧ
+ virtual void OnRspSubMarketData(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ȡӦ
+ virtual void OnRspUnSubMarketData(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯӦ
+ virtual void OnRspSubForQuoteRsp(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ȡѯӦ
+ virtual void OnRspUnSubForQuoteRsp(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///֪ͨ
+ virtual void OnRtnDepthMarketData(CThostFtdcDepthMarketDataField *pDepthMarketData) {};
+
+ ///ѯ֪ͨ
+ virtual void OnRtnForQuoteRsp(CThostFtdcForQuoteRspField *pForQuoteRsp) {};
+};
+
+class MD_API_EXPORT CThostFtdcMdApi
+{
+public:
+ ///MdApi
+ ///@param pszFlowPath ϢļĿ¼ĬΪǰĿ¼
+ ///@return UserApi
+ ///modify for udp marketdata
+ static CThostFtdcMdApi *CreateFtdcMdApi(const char *pszFlowPath = "", const bool bIsUsingUdp=false, const bool bIsMulticast=false);
+
+ ///ȡAPIİ汾Ϣ
+ ///@retrun ȡİ汾
+ static const char *GetApiVersion();
+
+ ///ɾӿڶ
+ ///@remark ʹñӿڶʱ,øúɾӿڶ
+ virtual void Release() = 0;
+
+ ///ʼ
+ ///@remark ʼл,ֻеú,ӿڲſʼ
+ virtual void Init() = 0;
+
+ ///ȴӿ߳̽
+ ///@return ߳˳
+ virtual int Join() = 0;
+
+ ///ȡǰ
+ ///@retrun ȡĽ
+ ///@remark ֻе¼ɹ,ܵõȷĽ
+ virtual const char *GetTradingDay() = 0;
+
+ ///עǰûַ
+ ///@param pszFrontAddressǰûַ
+ ///@remark ַĸʽΪprotocol://ipaddress:port磺tcp://127.0.0.1:17001
+ ///@remark tcpЭ飬127.0.0.1ַ17001˿ںš
+ virtual void RegisterFront(char *pszFrontAddress) = 0;
+
+ ///עַַ
+ ///@param pszNsAddressַַ
+ ///@remark ַĸʽΪprotocol://ipaddress:port磺tcp://127.0.0.1:12001
+ ///@remark tcpЭ飬127.0.0.1ַ12001˿ںš
+ ///@remark RegisterNameServerRegisterFront
+ virtual void RegisterNameServer(char *pszNsAddress) = 0;
+
+ ///עַûϢ
+ ///@param pFensUserInfoûϢ
+ virtual void RegisterFensUserInfo(CThostFtdcFensUserInfoField * pFensUserInfo) = 0;
+
+ ///עصӿ
+ ///@param pSpi Իصӿʵ
+ virtual void RegisterSpi(CThostFtdcMdSpi *pSpi) = 0;
+
+ ///顣
+ ///@param ppInstrumentID ԼID
+ ///@param nCount Ҫ/˶ĺԼ
+ ///@remark
+ virtual int SubscribeMarketData(char *ppInstrumentID[], int nCount) = 0;
+
+ ///˶顣
+ ///@param ppInstrumentID ԼID
+ ///@param nCount Ҫ/˶ĺԼ
+ ///@remark
+ virtual int UnSubscribeMarketData(char *ppInstrumentID[], int nCount) = 0;
+
+ ///ѯۡ
+ ///@param ppInstrumentID ԼID
+ ///@param nCount Ҫ/˶ĺԼ
+ ///@remark
+ virtual int SubscribeForQuoteRsp(char *ppInstrumentID[], int nCount) = 0;
+
+ ///˶ѯۡ
+ ///@param ppInstrumentID ԼID
+ ///@param nCount Ҫ/˶ĺԼ
+ ///@remark
+ virtual int UnSubscribeForQuoteRsp(char *ppInstrumentID[], int nCount) = 0;
+
+ ///û¼
+ virtual int ReqUserLogin(CThostFtdcReqUserLoginField *pReqUserLoginField, int nRequestID) = 0;
+
+
+ ///dz
+ virtual int ReqUserLogout(CThostFtdcUserLogoutField *pUserLogout, int nRequestID) = 0;
+protected:
+ ~CThostFtdcMdApi(){};
+};
+
+#endif
diff --git a/vn.how/tick2trade/vn.ctp_t2t/ctpapi/ThostFtdcTraderApi.h b/vn.how/tick2trade/vn.ctp_t2t/ctpapi/ThostFtdcTraderApi.h
new file mode 100644
index 0000000000..94dd4c0b3c
--- /dev/null
+++ b/vn.how/tick2trade/vn.ctp_t2t/ctpapi/ThostFtdcTraderApi.h
@@ -0,0 +1,660 @@
+/////////////////////////////////////////////////////////////////////////
+///@system һϵͳ
+///@company ϺڻϢ˾
+///@file ThostFtdcTraderApi.h
+///@brief ˿ͻ˽ӿ
+///@history
+///20060106 Ժ ļ
+/////////////////////////////////////////////////////////////////////////
+
+#if !defined(THOST_FTDCTRADERAPI_H)
+#define THOST_FTDCTRADERAPI_H
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include "ThostFtdcUserApiStruct.h"
+
+#if defined(ISLIB) && defined(WIN32)
+#ifdef LIB_TRADER_API_EXPORT
+#define TRADER_API_EXPORT __declspec(dllexport)
+#else
+#define TRADER_API_EXPORT __declspec(dllimport)
+#endif
+#else
+#define TRADER_API_EXPORT
+#endif
+
+class CThostFtdcTraderSpi
+{
+public:
+ ///ͻ뽻̨ͨʱδ¼ǰ÷á
+ virtual void OnFrontConnected(){};
+
+ ///ͻ뽻̨ͨӶϿʱ÷áAPIԶӣͻ˿ɲ
+ ///@param nReason ԭ
+ /// 0x1001 ʧ
+ /// 0x1002 дʧ
+ /// 0x2001 ʱ
+ /// 0x2002 ʧ
+ /// 0x2003 յ
+ virtual void OnFrontDisconnected(int nReason){};
+
+ ///ʱ档ʱδյʱ÷á
+ ///@param nTimeLapse ϴνձĵʱ
+ virtual void OnHeartBeatWarning(int nTimeLapse){};
+
+ ///ͻ֤Ӧ
+ virtual void OnRspAuthenticate(CThostFtdcRspAuthenticateField *pRspAuthenticateField, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+
+ ///¼Ӧ
+ virtual void OnRspUserLogin(CThostFtdcRspUserLoginField *pRspUserLogin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///dzӦ
+ virtual void OnRspUserLogout(CThostFtdcUserLogoutField *pUserLogout, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ûӦ
+ virtual void OnRspUserPasswordUpdate(CThostFtdcUserPasswordUpdateField *pUserPasswordUpdate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ʽ˻Ӧ
+ virtual void OnRspTradingAccountPasswordUpdate(CThostFtdcTradingAccountPasswordUpdateField *pTradingAccountPasswordUpdate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///¼Ӧ
+ virtual void OnRspOrderInsert(CThostFtdcInputOrderField *pInputOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///Ԥ¼Ӧ
+ virtual void OnRspParkedOrderInsert(CThostFtdcParkedOrderField *pParkedOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///Ԥ¼Ӧ
+ virtual void OnRspParkedOrderAction(CThostFtdcParkedOrderActionField *pParkedOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///Ӧ
+ virtual void OnRspOrderAction(CThostFtdcInputOrderActionField *pInputOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯӦ
+ virtual void OnRspQueryMaxOrderVolume(CThostFtdcQueryMaxOrderVolumeField *pQueryMaxOrderVolume, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///Ͷ߽ȷӦ
+ virtual void OnRspSettlementInfoConfirm(CThostFtdcSettlementInfoConfirmField *pSettlementInfoConfirm, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ɾԤӦ
+ virtual void OnRspRemoveParkedOrder(CThostFtdcRemoveParkedOrderField *pRemoveParkedOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ɾԤӦ
+ virtual void OnRspRemoveParkedOrderAction(CThostFtdcRemoveParkedOrderActionField *pRemoveParkedOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ִ¼Ӧ
+ virtual void OnRspExecOrderInsert(CThostFtdcInputExecOrderField *pInputExecOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ִӦ
+ virtual void OnRspExecOrderAction(CThostFtdcInputExecOrderActionField *pInputExecOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯ¼Ӧ
+ virtual void OnRspForQuoteInsert(CThostFtdcInputForQuoteField *pInputForQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///¼Ӧ
+ virtual void OnRspQuoteInsert(CThostFtdcInputQuoteField *pInputQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///۲Ӧ
+ virtual void OnRspQuoteAction(CThostFtdcInputQuoteActionField *pInputQuoteAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///Ӧ
+ virtual void OnRspLockInsert(CThostFtdcInputLockField *pInputLock, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///¼Ӧ
+ virtual void OnRspCombActionInsert(CThostFtdcInputCombActionField *pInputCombAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯӦ
+ virtual void OnRspQryOrder(CThostFtdcOrderField *pOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯɽӦ
+ virtual void OnRspQryTrade(CThostFtdcTradeField *pTrade, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯͶֲ߳Ӧ
+ virtual void OnRspQryInvestorPosition(CThostFtdcInvestorPositionField *pInvestorPosition, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯʽ˻Ӧ
+ virtual void OnRspQryTradingAccount(CThostFtdcTradingAccountField *pTradingAccount, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯͶӦ
+ virtual void OnRspQryInvestor(CThostFtdcInvestorField *pInvestor, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯױӦ
+ virtual void OnRspQryTradingCode(CThostFtdcTradingCodeField *pTradingCode, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯԼ֤Ӧ
+ virtual void OnRspQryInstrumentMarginRate(CThostFtdcInstrumentMarginRateField *pInstrumentMarginRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯԼӦ
+ virtual void OnRspQryInstrumentCommissionRate(CThostFtdcInstrumentCommissionRateField *pInstrumentCommissionRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯӦ
+ virtual void OnRspQryExchange(CThostFtdcExchangeField *pExchange, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯƷӦ
+ virtual void OnRspQryProduct(CThostFtdcProductField *pProduct, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯԼӦ
+ virtual void OnRspQryInstrument(CThostFtdcInstrumentField *pInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯӦ
+ virtual void OnRspQryDepthMarketData(CThostFtdcDepthMarketDataField *pDepthMarketData, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯͶ߽Ӧ
+ virtual void OnRspQrySettlementInfo(CThostFtdcSettlementInfoField *pSettlementInfo, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯתӦ
+ virtual void OnRspQryTransferBank(CThostFtdcTransferBankField *pTransferBank, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯͶֲ߳ϸӦ
+ virtual void OnRspQryInvestorPositionDetail(CThostFtdcInvestorPositionDetailField *pInvestorPositionDetail, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯͻ֪ͨӦ
+ virtual void OnRspQryNotice(CThostFtdcNoticeField *pNotice, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯϢȷӦ
+ virtual void OnRspQrySettlementInfoConfirm(CThostFtdcSettlementInfoConfirmField *pSettlementInfoConfirm, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯͶֲ߳ϸӦ
+ virtual void OnRspQryInvestorPositionCombineDetail(CThostFtdcInvestorPositionCombineDetailField *pInvestorPositionCombineDetail, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯ֤ϵͳ˾ʽ˻ԿӦ
+ virtual void OnRspQryCFMMCTradingAccountKey(CThostFtdcCFMMCTradingAccountKeyField *pCFMMCTradingAccountKey, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯֵ۵ϢӦ
+ virtual void OnRspQryEWarrantOffset(CThostFtdcEWarrantOffsetField *pEWarrantOffset, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯͶƷ/Ʒֱ֤Ӧ
+ virtual void OnRspQryInvestorProductGroupMargin(CThostFtdcInvestorProductGroupMarginField *pInvestorProductGroupMargin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯ֤Ӧ
+ virtual void OnRspQryExchangeMarginRate(CThostFtdcExchangeMarginRateField *pExchangeMarginRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯ֤Ӧ
+ virtual void OnRspQryExchangeMarginRateAdjust(CThostFtdcExchangeMarginRateAdjustField *pExchangeMarginRateAdjust, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯӦ
+ virtual void OnRspQryExchangeRate(CThostFtdcExchangeRateField *pExchangeRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯԱȨӦ
+ virtual void OnRspQrySecAgentACIDMap(CThostFtdcSecAgentACIDMapField *pSecAgentACIDMap, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯƷۻ
+ virtual void OnRspQryProductExchRate(CThostFtdcProductExchRateField *pProductExchRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯƷ
+ virtual void OnRspQryProductGroup(CThostFtdcProductGroupField *pProductGroup, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯȨ׳ɱӦ
+ virtual void OnRspQryOptionInstrTradeCost(CThostFtdcOptionInstrTradeCostField *pOptionInstrTradeCost, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯȨԼӦ
+ virtual void OnRspQryOptionInstrCommRate(CThostFtdcOptionInstrCommRateField *pOptionInstrCommRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯִӦ
+ virtual void OnRspQryExecOrder(CThostFtdcExecOrderField *pExecOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯѯӦ
+ virtual void OnRspQryForQuote(CThostFtdcForQuoteField *pForQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯӦ
+ virtual void OnRspQryQuote(CThostFtdcQuoteField *pQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯӦ
+ virtual void OnRspQryLock(CThostFtdcLockField *pLock, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯ֤ȯλӦ
+ virtual void OnRspQryLockPosition(CThostFtdcLockPositionField *pLockPosition, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯͶ߷ּ
+ virtual void OnRspQryInvestorLevel(CThostFtdcInvestorLevelField *pInvestorLevel, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯE+1ȨӦ
+ virtual void OnRspQryExecFreeze(CThostFtdcExecFreezeField *pExecFreeze, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯϺԼȫϵӦ
+ virtual void OnRspQryCombInstrumentGuard(CThostFtdcCombInstrumentGuardField *pCombInstrumentGuard, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯӦ
+ virtual void OnRspQryCombAction(CThostFtdcCombActionField *pCombAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯתˮӦ
+ virtual void OnRspQryTransferSerial(CThostFtdcTransferSerialField *pTransferSerial, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯǩԼϵӦ
+ virtual void OnRspQryAccountregister(CThostFtdcAccountregisterField *pAccountregister, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///Ӧ
+ virtual void OnRspError(CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///֪ͨ
+ virtual void OnRtnOrder(CThostFtdcOrderField *pOrder) {};
+
+ ///ɽ֪ͨ
+ virtual void OnRtnTrade(CThostFtdcTradeField *pTrade) {};
+
+ ///¼ر
+ virtual void OnErrRtnOrderInsert(CThostFtdcInputOrderField *pInputOrder, CThostFtdcRspInfoField *pRspInfo) {};
+
+ ///ر
+ virtual void OnErrRtnOrderAction(CThostFtdcOrderActionField *pOrderAction, CThostFtdcRspInfoField *pRspInfo) {};
+
+ ///Լ״̬֪ͨ
+ virtual void OnRtnInstrumentStatus(CThostFtdcInstrumentStatusField *pInstrumentStatus) {};
+
+ ///֪ͨ
+ virtual void OnRtnTradingNotice(CThostFtdcTradingNoticeInfoField *pTradingNoticeInfo) {};
+
+ ///ʾУ
+ virtual void OnRtnErrorConditionalOrder(CThostFtdcErrorConditionalOrderField *pErrorConditionalOrder) {};
+
+ ///ִ֪ͨ
+ virtual void OnRtnExecOrder(CThostFtdcExecOrderField *pExecOrder) {};
+
+ ///ִ¼ر
+ virtual void OnErrRtnExecOrderInsert(CThostFtdcInputExecOrderField *pInputExecOrder, CThostFtdcRspInfoField *pRspInfo) {};
+
+ ///ִر
+ virtual void OnErrRtnExecOrderAction(CThostFtdcExecOrderActionField *pExecOrderAction, CThostFtdcRspInfoField *pRspInfo) {};
+
+ ///ѯ¼ر
+ virtual void OnErrRtnForQuoteInsert(CThostFtdcInputForQuoteField *pInputForQuote, CThostFtdcRspInfoField *pRspInfo) {};
+
+ ///֪ͨ
+ virtual void OnRtnQuote(CThostFtdcQuoteField *pQuote) {};
+
+ ///¼ر
+ virtual void OnErrRtnQuoteInsert(CThostFtdcInputQuoteField *pInputQuote, CThostFtdcRspInfoField *pRspInfo) {};
+
+ ///۲ر
+ virtual void OnErrRtnQuoteAction(CThostFtdcQuoteActionField *pQuoteAction, CThostFtdcRspInfoField *pRspInfo) {};
+
+ ///ѯ֪ͨ
+ virtual void OnRtnForQuoteRsp(CThostFtdcForQuoteRspField *pForQuoteRsp) {};
+
+ ///֤û
+ virtual void OnRtnCFMMCTradingAccountToken(CThostFtdcCFMMCTradingAccountTokenField *pCFMMCTradingAccountToken) {};
+
+ ///֪ͨ
+ virtual void OnRtnLock(CThostFtdcLockField *pLock) {};
+
+ ///֪ͨ
+ virtual void OnErrRtnLockInsert(CThostFtdcInputLockField *pInputLock, CThostFtdcRspInfoField *pRspInfo) {};
+
+ ///֪ͨ
+ virtual void OnRtnCombAction(CThostFtdcCombActionField *pCombAction) {};
+
+ ///¼ر
+ virtual void OnErrRtnCombActionInsert(CThostFtdcInputCombActionField *pInputCombAction, CThostFtdcRspInfoField *pRspInfo) {};
+
+ ///ѯǩԼӦ
+ virtual void OnRspQryContractBank(CThostFtdcContractBankField *pContractBank, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯԤӦ
+ virtual void OnRspQryParkedOrder(CThostFtdcParkedOrderField *pParkedOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯԤӦ
+ virtual void OnRspQryParkedOrderAction(CThostFtdcParkedOrderActionField *pParkedOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯ֪ͨӦ
+ virtual void OnRspQryTradingNotice(CThostFtdcTradingNoticeField *pTradingNotice, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯ˾ײӦ
+ virtual void OnRspQryBrokerTradingParams(CThostFtdcBrokerTradingParamsField *pBrokerTradingParams, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯ˾㷨Ӧ
+ virtual void OnRspQryBrokerTradingAlgos(CThostFtdcBrokerTradingAlgosField *pBrokerTradingAlgos, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯû
+ virtual void OnRspQueryCFMMCTradingAccountToken(CThostFtdcQueryCFMMCTradingAccountTokenField *pQueryCFMMCTradingAccountToken, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///зʽתڻ֪ͨ
+ virtual void OnRtnFromBankToFutureByBank(CThostFtdcRspTransferField *pRspTransfer) {};
+
+ ///зڻʽת֪ͨ
+ virtual void OnRtnFromFutureToBankByBank(CThostFtdcRspTransferField *pRspTransfer) {};
+
+ ///зתڻ֪ͨ
+ virtual void OnRtnRepealFromBankToFutureByBank(CThostFtdcRspRepealField *pRspRepeal) {};
+
+ ///зڻת֪ͨ
+ virtual void OnRtnRepealFromFutureToBankByBank(CThostFtdcRspRepealField *pRspRepeal) {};
+
+ ///ڻʽתڻ֪ͨ
+ virtual void OnRtnFromBankToFutureByFuture(CThostFtdcRspTransferField *pRspTransfer) {};
+
+ ///ڻڻʽת֪ͨ
+ virtual void OnRtnFromFutureToBankByFuture(CThostFtdcRspTransferField *pRspTransfer) {};
+
+ ///ϵͳʱڻֹתڻдϺ̷ص֪ͨ
+ virtual void OnRtnRepealFromBankToFutureByFutureManual(CThostFtdcRspRepealField *pRspRepeal) {};
+
+ ///ϵͳʱڻֹڻתдϺ̷ص֪ͨ
+ virtual void OnRtnRepealFromFutureToBankByFutureManual(CThostFtdcRspRepealField *pRspRepeal) {};
+
+ ///ڻѯ֪ͨ
+ virtual void OnRtnQueryBankBalanceByFuture(CThostFtdcNotifyQueryAccountField *pNotifyQueryAccount) {};
+
+ ///ڻʽתڻر
+ virtual void OnErrRtnBankToFutureByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo) {};
+
+ ///ڻڻʽתдر
+ virtual void OnErrRtnFutureToBankByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo) {};
+
+ ///ϵͳʱڻֹתڻر
+ virtual void OnErrRtnRepealBankToFutureByFutureManual(CThostFtdcReqRepealField *pReqRepeal, CThostFtdcRspInfoField *pRspInfo) {};
+
+ ///ϵͳʱڻֹڻתдر
+ virtual void OnErrRtnRepealFutureToBankByFutureManual(CThostFtdcReqRepealField *pReqRepeal, CThostFtdcRspInfoField *pRspInfo) {};
+
+ ///ڻѯر
+ virtual void OnErrRtnQueryBankBalanceByFuture(CThostFtdcReqQueryAccountField *pReqQueryAccount, CThostFtdcRspInfoField *pRspInfo) {};
+
+ ///ڻתڻдϺ̷ص֪ͨ
+ virtual void OnRtnRepealFromBankToFutureByFuture(CThostFtdcRspRepealField *pRspRepeal) {};
+
+ ///ڻڻתдϺ̷ص֪ͨ
+ virtual void OnRtnRepealFromFutureToBankByFuture(CThostFtdcRspRepealField *pRspRepeal) {};
+
+ ///ڻʽתڻӦ
+ virtual void OnRspFromBankToFutureByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ڻڻʽתӦ
+ virtual void OnRspFromFutureToBankByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ڻѯӦ
+ virtual void OnRspQueryBankAccountMoneyByFuture(CThostFtdcReqQueryAccountField *pReqQueryAccount, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///зڿ֪ͨ
+ virtual void OnRtnOpenAccountByBank(CThostFtdcOpenAccountField *pOpenAccount) {};
+
+ ///з֪ͨ
+ virtual void OnRtnCancelAccountByBank(CThostFtdcCancelAccountField *pCancelAccount) {};
+
+ ///з˺֪ͨ
+ virtual void OnRtnChangeAccountByBank(CThostFtdcChangeAccountField *pChangeAccount) {};
+};
+
+class TRADER_API_EXPORT CThostFtdcTraderApi
+{
+public:
+ ///TraderApi
+ ///@param pszFlowPath ϢļĿ¼ĬΪǰĿ¼
+ ///@return UserApi
+ static CThostFtdcTraderApi *CreateFtdcTraderApi(const char *pszFlowPath = "");
+
+ ///ȡAPIİ汾Ϣ
+ ///@retrun ȡİ汾
+ static const char *GetApiVersion();
+
+ ///ɾӿڶ
+ ///@remark ʹñӿڶʱ,øúɾӿڶ
+ virtual void Release() = 0;
+
+ ///ʼ
+ ///@remark ʼл,ֻеú,ӿڲſʼ
+ virtual void Init() = 0;
+
+ ///ȴӿ߳̽
+ ///@return ߳˳
+ virtual int Join() = 0;
+
+ ///ȡǰ
+ ///@retrun ȡĽ
+ ///@remark ֻе¼ɹ,ܵõȷĽ
+ virtual const char *GetTradingDay() = 0;
+
+ ///עǰûַ
+ ///@param pszFrontAddressǰûַ
+ ///@remark ַĸʽΪprotocol://ipaddress:port磺tcp://127.0.0.1:17001
+ ///@remark tcpЭ飬127.0.0.1ַ17001˿ںš
+ virtual void RegisterFront(char *pszFrontAddress) = 0;
+
+ ///עַַ
+ ///@param pszNsAddressַַ
+ ///@remark ַĸʽΪprotocol://ipaddress:port磺tcp://127.0.0.1:12001
+ ///@remark tcpЭ飬127.0.0.1ַ12001˿ںš
+ ///@remark RegisterNameServerRegisterFront
+ virtual void RegisterNameServer(char *pszNsAddress) = 0;
+
+ ///עַûϢ
+ ///@param pFensUserInfoûϢ
+ virtual void RegisterFensUserInfo(CThostFtdcFensUserInfoField * pFensUserInfo) = 0;
+
+ ///עصӿ
+ ///@param pSpi Իصӿʵ
+ virtual void RegisterSpi(CThostFtdcTraderSpi *pSpi) = 0;
+
+ ///˽
+ ///@param nResumeType ˽شʽ
+ /// THOST_TERT_RESTART:ӱտʼش
+ /// THOST_TERT_RESUME:ϴյ
+ /// THOST_TERT_QUICK:ֻ͵¼˽
+ ///@remark ÷ҪInitǰáյ˽ݡ
+ virtual void SubscribePrivateTopic(THOST_TE_RESUME_TYPE nResumeType) = 0;
+
+ ///Ĺ
+ ///@param nResumeType شʽ
+ /// THOST_TERT_RESTART:ӱտʼش
+ /// THOST_TERT_RESUME:ϴյ
+ /// THOST_TERT_QUICK:ֻ͵¼
+ ///@remark ÷ҪInitǰáյݡ
+ virtual void SubscribePublicTopic(THOST_TE_RESUME_TYPE nResumeType) = 0;
+
+ ///ͻ֤
+ virtual int ReqAuthenticate(CThostFtdcReqAuthenticateField *pReqAuthenticateField, int nRequestID) = 0;
+
+ ///û¼
+ virtual int ReqUserLogin(CThostFtdcReqUserLoginField *pReqUserLoginField, int nRequestID) = 0;
+
+
+ ///dz
+ virtual int ReqUserLogout(CThostFtdcUserLogoutField *pUserLogout, int nRequestID) = 0;
+
+ ///û
+ virtual int ReqUserPasswordUpdate(CThostFtdcUserPasswordUpdateField *pUserPasswordUpdate, int nRequestID) = 0;
+
+ ///ʽ˻
+ virtual int ReqTradingAccountPasswordUpdate(CThostFtdcTradingAccountPasswordUpdateField *pTradingAccountPasswordUpdate, int nRequestID) = 0;
+
+ ///¼
+ virtual int ReqOrderInsert(CThostFtdcInputOrderField *pInputOrder, int nRequestID) = 0;
+
+ ///Ԥ¼
+ virtual int ReqParkedOrderInsert(CThostFtdcParkedOrderField *pParkedOrder, int nRequestID) = 0;
+
+ ///Ԥ¼
+ virtual int ReqParkedOrderAction(CThostFtdcParkedOrderActionField *pParkedOrderAction, int nRequestID) = 0;
+
+ ///
+ virtual int ReqOrderAction(CThostFtdcInputOrderActionField *pInputOrderAction, int nRequestID) = 0;
+
+ ///ѯ
+ virtual int ReqQueryMaxOrderVolume(CThostFtdcQueryMaxOrderVolumeField *pQueryMaxOrderVolume, int nRequestID) = 0;
+
+ ///Ͷ߽ȷ
+ virtual int ReqSettlementInfoConfirm(CThostFtdcSettlementInfoConfirmField *pSettlementInfoConfirm, int nRequestID) = 0;
+
+ ///ɾԤ
+ virtual int ReqRemoveParkedOrder(CThostFtdcRemoveParkedOrderField *pRemoveParkedOrder, int nRequestID) = 0;
+
+ ///ɾԤ
+ virtual int ReqRemoveParkedOrderAction(CThostFtdcRemoveParkedOrderActionField *pRemoveParkedOrderAction, int nRequestID) = 0;
+
+ ///ִ¼
+ virtual int ReqExecOrderInsert(CThostFtdcInputExecOrderField *pInputExecOrder, int nRequestID) = 0;
+
+ ///ִ
+ virtual int ReqExecOrderAction(CThostFtdcInputExecOrderActionField *pInputExecOrderAction, int nRequestID) = 0;
+
+ ///ѯ¼
+ virtual int ReqForQuoteInsert(CThostFtdcInputForQuoteField *pInputForQuote, int nRequestID) = 0;
+
+ ///¼
+ virtual int ReqQuoteInsert(CThostFtdcInputQuoteField *pInputQuote, int nRequestID) = 0;
+
+ ///۲
+ virtual int ReqQuoteAction(CThostFtdcInputQuoteActionField *pInputQuoteAction, int nRequestID) = 0;
+
+ ///
+ virtual int ReqLockInsert(CThostFtdcInputLockField *pInputLock, int nRequestID) = 0;
+
+ ///¼
+ virtual int ReqCombActionInsert(CThostFtdcInputCombActionField *pInputCombAction, int nRequestID) = 0;
+
+ ///ѯ
+ virtual int ReqQryOrder(CThostFtdcQryOrderField *pQryOrder, int nRequestID) = 0;
+
+ ///ѯɽ
+ virtual int ReqQryTrade(CThostFtdcQryTradeField *pQryTrade, int nRequestID) = 0;
+
+ ///ѯͶֲ߳
+ virtual int ReqQryInvestorPosition(CThostFtdcQryInvestorPositionField *pQryInvestorPosition, int nRequestID) = 0;
+
+ ///ѯʽ˻
+ virtual int ReqQryTradingAccount(CThostFtdcQryTradingAccountField *pQryTradingAccount, int nRequestID) = 0;
+
+ ///ѯͶ
+ virtual int ReqQryInvestor(CThostFtdcQryInvestorField *pQryInvestor, int nRequestID) = 0;
+
+ ///ѯױ
+ virtual int ReqQryTradingCode(CThostFtdcQryTradingCodeField *pQryTradingCode, int nRequestID) = 0;
+
+ ///ѯԼ֤
+ virtual int ReqQryInstrumentMarginRate(CThostFtdcQryInstrumentMarginRateField *pQryInstrumentMarginRate, int nRequestID) = 0;
+
+ ///ѯԼ
+ virtual int ReqQryInstrumentCommissionRate(CThostFtdcQryInstrumentCommissionRateField *pQryInstrumentCommissionRate, int nRequestID) = 0;
+
+ ///ѯ
+ virtual int ReqQryExchange(CThostFtdcQryExchangeField *pQryExchange, int nRequestID) = 0;
+
+ ///ѯƷ
+ virtual int ReqQryProduct(CThostFtdcQryProductField *pQryProduct, int nRequestID) = 0;
+
+ ///ѯԼ
+ virtual int ReqQryInstrument(CThostFtdcQryInstrumentField *pQryInstrument, int nRequestID) = 0;
+
+ ///ѯ
+ virtual int ReqQryDepthMarketData(CThostFtdcQryDepthMarketDataField *pQryDepthMarketData, int nRequestID) = 0;
+
+ ///ѯͶ߽
+ virtual int ReqQrySettlementInfo(CThostFtdcQrySettlementInfoField *pQrySettlementInfo, int nRequestID) = 0;
+
+ ///ѯת
+ virtual int ReqQryTransferBank(CThostFtdcQryTransferBankField *pQryTransferBank, int nRequestID) = 0;
+
+ ///ѯͶֲ߳ϸ
+ virtual int ReqQryInvestorPositionDetail(CThostFtdcQryInvestorPositionDetailField *pQryInvestorPositionDetail, int nRequestID) = 0;
+
+ ///ѯͻ֪ͨ
+ virtual int ReqQryNotice(CThostFtdcQryNoticeField *pQryNotice, int nRequestID) = 0;
+
+ ///ѯϢȷ
+ virtual int ReqQrySettlementInfoConfirm(CThostFtdcQrySettlementInfoConfirmField *pQrySettlementInfoConfirm, int nRequestID) = 0;
+
+ ///ѯͶֲ߳ϸ
+ virtual int ReqQryInvestorPositionCombineDetail(CThostFtdcQryInvestorPositionCombineDetailField *pQryInvestorPositionCombineDetail, int nRequestID) = 0;
+
+ ///ѯ֤ϵͳ˾ʽ˻Կ
+ virtual int ReqQryCFMMCTradingAccountKey(CThostFtdcQryCFMMCTradingAccountKeyField *pQryCFMMCTradingAccountKey, int nRequestID) = 0;
+
+ ///ѯֵ۵Ϣ
+ virtual int ReqQryEWarrantOffset(CThostFtdcQryEWarrantOffsetField *pQryEWarrantOffset, int nRequestID) = 0;
+
+ ///ѯͶƷ/Ʒֱ֤
+ virtual int ReqQryInvestorProductGroupMargin(CThostFtdcQryInvestorProductGroupMarginField *pQryInvestorProductGroupMargin, int nRequestID) = 0;
+
+ ///ѯ֤
+ virtual int ReqQryExchangeMarginRate(CThostFtdcQryExchangeMarginRateField *pQryExchangeMarginRate, int nRequestID) = 0;
+
+ ///ѯ֤
+ virtual int ReqQryExchangeMarginRateAdjust(CThostFtdcQryExchangeMarginRateAdjustField *pQryExchangeMarginRateAdjust, int nRequestID) = 0;
+
+ ///ѯ
+ virtual int ReqQryExchangeRate(CThostFtdcQryExchangeRateField *pQryExchangeRate, int nRequestID) = 0;
+
+ ///ѯԱȨ
+ virtual int ReqQrySecAgentACIDMap(CThostFtdcQrySecAgentACIDMapField *pQrySecAgentACIDMap, int nRequestID) = 0;
+
+ ///ѯƷۻ
+ virtual int ReqQryProductExchRate(CThostFtdcQryProductExchRateField *pQryProductExchRate, int nRequestID) = 0;
+
+ ///ѯƷ
+ virtual int ReqQryProductGroup(CThostFtdcQryProductGroupField *pQryProductGroup, int nRequestID) = 0;
+
+ ///ѯȨ׳ɱ
+ virtual int ReqQryOptionInstrTradeCost(CThostFtdcQryOptionInstrTradeCostField *pQryOptionInstrTradeCost, int nRequestID) = 0;
+
+ ///ѯȨԼ
+ virtual int ReqQryOptionInstrCommRate(CThostFtdcQryOptionInstrCommRateField *pQryOptionInstrCommRate, int nRequestID) = 0;
+
+ ///ѯִ
+ virtual int ReqQryExecOrder(CThostFtdcQryExecOrderField *pQryExecOrder, int nRequestID) = 0;
+
+ ///ѯѯ
+ virtual int ReqQryForQuote(CThostFtdcQryForQuoteField *pQryForQuote, int nRequestID) = 0;
+
+ ///ѯ
+ virtual int ReqQryQuote(CThostFtdcQryQuoteField *pQryQuote, int nRequestID) = 0;
+
+ ///ѯ
+ virtual int ReqQryLock(CThostFtdcQryLockField *pQryLock, int nRequestID) = 0;
+
+ ///ѯ֤ȯλ
+ virtual int ReqQryLockPosition(CThostFtdcQryLockPositionField *pQryLockPosition, int nRequestID) = 0;
+
+ ///ѯͶ߷ּ
+ virtual int ReqQryInvestorLevel(CThostFtdcQryInvestorLevelField *pQryInvestorLevel, int nRequestID) = 0;
+
+ ///ѯE+1Ȩ
+ virtual int ReqQryExecFreeze(CThostFtdcQryExecFreezeField *pQryExecFreeze, int nRequestID) = 0;
+
+ ///ѯϺԼȫϵ
+ virtual int ReqQryCombInstrumentGuard(CThostFtdcQryCombInstrumentGuardField *pQryCombInstrumentGuard, int nRequestID) = 0;
+
+ ///ѯ
+ virtual int ReqQryCombAction(CThostFtdcQryCombActionField *pQryCombAction, int nRequestID) = 0;
+
+ ///ѯתˮ
+ virtual int ReqQryTransferSerial(CThostFtdcQryTransferSerialField *pQryTransferSerial, int nRequestID) = 0;
+
+ ///ѯǩԼϵ
+ virtual int ReqQryAccountregister(CThostFtdcQryAccountregisterField *pQryAccountregister, int nRequestID) = 0;
+
+ ///ѯǩԼ
+ virtual int ReqQryContractBank(CThostFtdcQryContractBankField *pQryContractBank, int nRequestID) = 0;
+
+ ///ѯԤ
+ virtual int ReqQryParkedOrder(CThostFtdcQryParkedOrderField *pQryParkedOrder, int nRequestID) = 0;
+
+ ///ѯԤ
+ virtual int ReqQryParkedOrderAction(CThostFtdcQryParkedOrderActionField *pQryParkedOrderAction, int nRequestID) = 0;
+
+ ///ѯ֪ͨ
+ virtual int ReqQryTradingNotice(CThostFtdcQryTradingNoticeField *pQryTradingNotice, int nRequestID) = 0;
+
+ ///ѯ˾ײ
+ virtual int ReqQryBrokerTradingParams(CThostFtdcQryBrokerTradingParamsField *pQryBrokerTradingParams, int nRequestID) = 0;
+
+ ///ѯ˾㷨
+ virtual int ReqQryBrokerTradingAlgos(CThostFtdcQryBrokerTradingAlgosField *pQryBrokerTradingAlgos, int nRequestID) = 0;
+
+ ///ѯû
+ virtual int ReqQueryCFMMCTradingAccountToken(CThostFtdcQueryCFMMCTradingAccountTokenField *pQueryCFMMCTradingAccountToken, int nRequestID) = 0;
+
+ ///ڻʽתڻ
+ virtual int ReqFromBankToFutureByFuture(CThostFtdcReqTransferField *pReqTransfer, int nRequestID) = 0;
+
+ ///ڻڻʽת
+ virtual int ReqFromFutureToBankByFuture(CThostFtdcReqTransferField *pReqTransfer, int nRequestID) = 0;
+
+ ///ڻѯ
+ virtual int ReqQueryBankAccountMoneyByFuture(CThostFtdcReqQueryAccountField *pReqQueryAccount, int nRequestID) = 0;
+protected:
+ ~CThostFtdcTraderApi(){};
+};
+
+#endif
diff --git a/vn.how/tick2trade/vn.ctp_t2t/ctpapi/ThostFtdcUserApiDataType.h b/vn.how/tick2trade/vn.ctp_t2t/ctpapi/ThostFtdcUserApiDataType.h
new file mode 100644
index 0000000000..ca7e082545
--- /dev/null
+++ b/vn.how/tick2trade/vn.ctp_t2t/ctpapi/ThostFtdcUserApiDataType.h
@@ -0,0 +1,6460 @@
+/////////////////////////////////////////////////////////////////////////
+///@system һϵͳ
+///@company ϺڻϢ˾
+///@file ThostFtdcUserApiDataType.h
+///@brief ˿ͻ˽ӿʹõҵ
+///@history
+///20060106 Ժ ļ
+/////////////////////////////////////////////////////////////////////////
+
+#ifndef THOST_FTDCDATATYPE_H
+#define THOST_FTDCDATATYPE_H
+
+enum THOST_TE_RESUME_TYPE
+{
+ THOST_TERT_RESTART = 0,
+ THOST_TERT_RESUME,
+ THOST_TERT_QUICK
+};
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTraderIDTypeһԱ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcTraderIDType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInvestorIDTypeһͶߴ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcInvestorIDType[13];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBrokerIDTypeһ˾
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBrokerIDType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBrokerAbbrTypeһ˾
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBrokerAbbrType[9];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBrokerNameTypeһ˾
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBrokerNameType[81];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcExchangeInstIDTypeһԼڽĴ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcExchangeInstIDType[31];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOrderRefTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcOrderRefType[13];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcParticipantIDTypeһԱ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcParticipantIDType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUserIDTypeһû
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcUserIDType[16];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPasswordTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcPasswordType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcClientIDTypeһױ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcClientIDType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInstrumentIDTypeһԼ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcInstrumentIDType[31];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInstrumentCodeTypeһԼʶ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcInstrumentCodeType[31];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcMarketIDTypeһг
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcMarketIDType[31];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcProductNameTypeһƷ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcProductNameType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcExchangeIDTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcExchangeIDType[9];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcExchangeNameTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcExchangeNameType[61];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcExchangeAbbrTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcExchangeAbbrType[9];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcExchangeFlagTypeһ־
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcExchangeFlagType[2];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcMacAddressTypeһMacַ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcMacAddressType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSystemIDTypeһϵͳ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcSystemIDType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcExchangePropertyTypeһ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_EXP_Normal '0'
+///ݳɽɱ
+#define THOST_FTDC_EXP_GenOrderByTrade '1'
+
+typedef char TThostFtdcExchangePropertyType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDateTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcDateType[9];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTimeTypeһʱ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcTimeType[9];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcLongTimeTypeһʱ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcLongTimeType[13];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInstrumentNameTypeһԼ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcInstrumentNameType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSettlementGroupIDTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcSettlementGroupIDType[9];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOrderSysIDTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcOrderSysIDType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTradeIDTypeһɽ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcTradeIDType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCommandTypeTypeһDB
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCommandTypeType[65];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcIPAddressTypeһIPַ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcIPAddressType[16];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcIPPortTypeһIP˿
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcIPPortType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcProductInfoTypeһƷϢ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcProductInfoType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcProtocolInfoTypeһЭϢ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcProtocolInfoType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBusinessUnitTypeһҵԪ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBusinessUnitType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDepositSeqNoTypeһˮ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcDepositSeqNoType[15];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcIdentifiedCardNoTypeһ֤
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcIdentifiedCardNoType[51];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcIdCardTypeTypeһ֤
+/////////////////////////////////////////////////////////////////////////
+///֯
+#define THOST_FTDC_ICT_EID '0'
+///й֤
+#define THOST_FTDC_ICT_IDCard '1'
+///֤
+#define THOST_FTDC_ICT_OfficerIDCard '2'
+///֤
+#define THOST_FTDC_ICT_PoliceIDCard '3'
+///ʿ֤
+#define THOST_FTDC_ICT_SoldierIDCard '4'
+///ڲ
+#define THOST_FTDC_ICT_HouseholdRegister '5'
+///
+#define THOST_FTDC_ICT_Passport '6'
+///̨֤
+#define THOST_FTDC_ICT_TaiwanCompatriotIDCard '7'
+///֤
+#define THOST_FTDC_ICT_HomeComingCard '8'
+///Ӫҵִպ
+#define THOST_FTDC_ICT_LicenseNo '9'
+///˰ǼǺ/˰ID
+#define THOST_FTDC_ICT_TaxNo 'A'
+///۰ľڵ֤ͨ
+#define THOST_FTDC_ICT_HMMainlandTravelPermit 'B'
+///̨½֤ͨ
+#define THOST_FTDC_ICT_TwMainlandTravelPermit 'C'
+///
+#define THOST_FTDC_ICT_DrivingLicense 'D'
+///籣ID
+#define THOST_FTDC_ICT_SocialID 'F'
+///֤
+#define THOST_FTDC_ICT_LocalID 'G'
+///ҵǼ֤
+#define THOST_FTDC_ICT_BusinessRegistration 'H'
+///۰Ծ֤
+#define THOST_FTDC_ICT_HKMCIDCard 'I'
+///п֤
+#define THOST_FTDC_ICT_AccountsPermits 'J'
+///֤
+#define THOST_FTDC_ICT_OtherCard 'x'
+
+typedef char TThostFtdcIdCardTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOrderLocalIDTypeһر
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcOrderLocalIDType[13];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUserNameTypeһû
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcUserNameType[81];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPartyNameTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcPartyNameType[81];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcErrorMsgTypeһϢ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcErrorMsgType[81];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFieldNameTypeһֶ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFieldNameType[2049];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFieldContentTypeһֶ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFieldContentType[2049];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSystemNameTypeһϵͳ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcSystemNameType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcContentTypeһϢ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcContentType[501];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInvestorRangeTypeһͶ߷Χ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_IR_All '1'
+///Ͷ
+#define THOST_FTDC_IR_Group '2'
+///һͶ
+#define THOST_FTDC_IR_Single '3'
+
+typedef char TThostFtdcInvestorRangeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDepartmentRangeTypeһͶ߷Χ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_DR_All '1'
+///ܹ֯
+#define THOST_FTDC_DR_Group '2'
+///һͶ
+#define THOST_FTDC_DR_Single '3'
+
+typedef char TThostFtdcDepartmentRangeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDataSyncStatusTypeһͬ״̬
+/////////////////////////////////////////////////////////////////////////
+///δͬ
+#define THOST_FTDC_DS_Asynchronous '1'
+///ͬ
+#define THOST_FTDC_DS_Synchronizing '2'
+///ͬ
+#define THOST_FTDC_DS_Synchronized '3'
+
+typedef char TThostFtdcDataSyncStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBrokerDataSyncStatusTypeһ˾ͬ״̬
+/////////////////////////////////////////////////////////////////////////
+///ͬ
+#define THOST_FTDC_BDS_Synchronized '1'
+///ͬ
+#define THOST_FTDC_BDS_Synchronizing '2'
+
+typedef char TThostFtdcBrokerDataSyncStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcExchangeConnectStatusTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+///ûκ
+#define THOST_FTDC_ECS_NoConnection '1'
+///ѾԼѯ
+#define THOST_FTDC_ECS_QryInstrumentSent '2'
+///ѾȡϢ
+#define THOST_FTDC_ECS_GotInformation '9'
+
+typedef char TThostFtdcExchangeConnectStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTraderConnectStatusTypeһԱ״̬
+/////////////////////////////////////////////////////////////////////////
+///ûκ
+#define THOST_FTDC_TCS_NotConnected '1'
+///Ѿ
+#define THOST_FTDC_TCS_Connected '2'
+///ѾԼѯ
+#define THOST_FTDC_TCS_QryInstrumentSent '3'
+///˽
+#define THOST_FTDC_TCS_SubPrivateFlow '4'
+
+typedef char TThostFtdcTraderConnectStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFunctionCodeTypeһܴ
+/////////////////////////////////////////////////////////////////////////
+///첽
+#define THOST_FTDC_FC_DataAsync '1'
+///ǿûdz
+#define THOST_FTDC_FC_ForceUserLogout '2'
+///û
+#define THOST_FTDC_FC_UserPasswordUpdate '3'
+///˾
+#define THOST_FTDC_FC_BrokerPasswordUpdate '4'
+///Ͷ߿
+#define THOST_FTDC_FC_InvestorPasswordUpdate '5'
+///
+#define THOST_FTDC_FC_OrderInsert '6'
+///
+#define THOST_FTDC_FC_OrderAction '7'
+///ͬϵͳ
+#define THOST_FTDC_FC_SyncSystemData '8'
+///ͬ˾
+#define THOST_FTDC_FC_SyncBrokerData '9'
+///ͬ˾
+#define THOST_FTDC_FC_BachSyncBrokerData 'A'
+///ѯ
+#define THOST_FTDC_FC_SuperQuery 'B'
+///Ԥ
+#define THOST_FTDC_FC_ParkedOrderInsert 'C'
+///Ԥ
+#define THOST_FTDC_FC_ParkedOrderAction 'D'
+///̬ͬ
+#define THOST_FTDC_FC_SyncOTP 'E'
+///ɾδ֪
+#define THOST_FTDC_FC_DeleteOrder 'F'
+
+typedef char TThostFtdcFunctionCodeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBrokerFunctionCodeTypeһ˾ܴ
+/////////////////////////////////////////////////////////////////////////
+///ǿûdz
+#define THOST_FTDC_BFC_ForceUserLogout '1'
+///û
+#define THOST_FTDC_BFC_UserPasswordUpdate '2'
+///ͬ˾
+#define THOST_FTDC_BFC_SyncBrokerData '3'
+///ͬ˾
+#define THOST_FTDC_BFC_BachSyncBrokerData '4'
+///
+#define THOST_FTDC_BFC_OrderInsert '5'
+///
+#define THOST_FTDC_BFC_OrderAction '6'
+///ȫѯ
+#define THOST_FTDC_BFC_AllQuery '7'
+///ϵͳܣ/dz/
+#define THOST_FTDC_BFC_log 'a'
+///ѯѯݣԼȳ
+#define THOST_FTDC_BFC_BaseQry 'b'
+///ײѯɽί
+#define THOST_FTDC_BFC_TradeQry 'c'
+///ܣ
+#define THOST_FTDC_BFC_Trade 'd'
+///ת
+#define THOST_FTDC_BFC_Virement 'e'
+///ռ
+#define THOST_FTDC_BFC_Risk 'f'
+///ѯ/ѯỰ˵
+#define THOST_FTDC_BFC_Session 'g'
+///֪ͨ
+#define THOST_FTDC_BFC_RiskNoticeCtl 'h'
+///֪ͨ
+#define THOST_FTDC_BFC_RiskNotice 'i'
+///쿴˾ʽȨ
+#define THOST_FTDC_BFC_BrokerDeposit 'j'
+///ʽѯ
+#define THOST_FTDC_BFC_QueryFund 'k'
+///ѯ
+#define THOST_FTDC_BFC_QueryOrder 'l'
+///ɽѯ
+#define THOST_FTDC_BFC_QueryTrade 'm'
+///ֲֲѯ
+#define THOST_FTDC_BFC_QueryPosition 'n'
+///ѯ
+#define THOST_FTDC_BFC_QueryMarketData 'o'
+///û¼ѯ
+#define THOST_FTDC_BFC_QueryUserEvent 'p'
+///֪ͨѯ
+#define THOST_FTDC_BFC_QueryRiskNotify 'q'
+///ѯ
+#define THOST_FTDC_BFC_QueryFundChange 'r'
+///ͶϢѯ
+#define THOST_FTDC_BFC_QueryInvestor 's'
+///ױѯ
+#define THOST_FTDC_BFC_QueryTradingCode 't'
+///ǿƽ
+#define THOST_FTDC_BFC_ForceClose 'u'
+///ѹ
+#define THOST_FTDC_BFC_PressTest 'v'
+///Ȩ淴
+#define THOST_FTDC_BFC_RemainCalc 'w'
+///ֱֲָ֤
+#define THOST_FTDC_BFC_NetPositionInd 'x'
+///Ԥ
+#define THOST_FTDC_BFC_RiskPredict 'y'
+///ݵ
+#define THOST_FTDC_BFC_DataExport 'z'
+///ָ
+#define THOST_FTDC_BFC_RiskTargetSetup 'A'
+///Ԥ
+#define THOST_FTDC_BFC_MarketDataWarn 'B'
+///ҵ֪ͨѯ
+#define THOST_FTDC_BFC_QryBizNotice 'C'
+///ҵ֪ͨģ
+#define THOST_FTDC_BFC_CfgBizNotice 'D'
+///̬ͬ
+#define THOST_FTDC_BFC_SyncOTP 'E'
+///ҵ֪ͨ
+#define THOST_FTDC_BFC_SendBizNotice 'F'
+///ռ
+#define THOST_FTDC_BFC_CfgRiskLevelStd 'G'
+///նӦ
+#define THOST_FTDC_BFC_TbCommand 'H'
+///ɾδ֪
+#define THOST_FTDC_BFC_DeleteOrder 'J'
+///Ԥ
+#define THOST_FTDC_BFC_ParkedOrderInsert 'K'
+///Ԥ
+#define THOST_FTDC_BFC_ParkedOrderAction 'L'
+
+typedef char TThostFtdcBrokerFunctionCodeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOrderActionStatusTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+///Ѿύ
+#define THOST_FTDC_OAS_Submitted 'a'
+///Ѿ
+#define THOST_FTDC_OAS_Accepted 'b'
+///Ѿܾ
+#define THOST_FTDC_OAS_Rejected 'c'
+
+typedef char TThostFtdcOrderActionStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOrderStatusTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+///ȫɽ
+#define THOST_FTDC_OST_AllTraded '0'
+///ֳɽڶ
+#define THOST_FTDC_OST_PartTradedQueueing '1'
+///ֳɽڶ
+#define THOST_FTDC_OST_PartTradedNotQueueing '2'
+///δɽڶ
+#define THOST_FTDC_OST_NoTradeQueueing '3'
+///δɽڶ
+#define THOST_FTDC_OST_NoTradeNotQueueing '4'
+///
+#define THOST_FTDC_OST_Canceled '5'
+///δ֪
+#define THOST_FTDC_OST_Unknown 'a'
+///δ
+#define THOST_FTDC_OST_NotTouched 'b'
+///Ѵ
+#define THOST_FTDC_OST_Touched 'c'
+
+typedef char TThostFtdcOrderStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOrderSubmitStatusTypeһύ״̬
+/////////////////////////////////////////////////////////////////////////
+///Ѿύ
+#define THOST_FTDC_OSS_InsertSubmitted '0'
+///Ѿύ
+#define THOST_FTDC_OSS_CancelSubmitted '1'
+///Ѿύ
+#define THOST_FTDC_OSS_ModifySubmitted '2'
+///Ѿ
+#define THOST_FTDC_OSS_Accepted '3'
+///Ѿܾ
+#define THOST_FTDC_OSS_InsertRejected '4'
+///Ѿܾ
+#define THOST_FTDC_OSS_CancelRejected '5'
+///ĵѾܾ
+#define THOST_FTDC_OSS_ModifyRejected '6'
+
+typedef char TThostFtdcOrderSubmitStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPositionDateTypeһֲ
+/////////////////////////////////////////////////////////////////////////
+///ճֲ
+#define THOST_FTDC_PSD_Today '1'
+///ʷֲ
+#define THOST_FTDC_PSD_History '2'
+
+typedef char TThostFtdcPositionDateType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPositionDateTypeTypeһֲ
+/////////////////////////////////////////////////////////////////////////
+///ʹʷֲ
+#define THOST_FTDC_PDT_UseHistory '1'
+///ʹʷֲ
+#define THOST_FTDC_PDT_NoUseHistory '2'
+
+typedef char TThostFtdcPositionDateTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTradingRoleTypeһɫ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_ER_Broker '1'
+///Ӫ
+#define THOST_FTDC_ER_Host '2'
+///
+#define THOST_FTDC_ER_Maker '3'
+
+typedef char TThostFtdcTradingRoleType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcProductClassTypeһƷ
+/////////////////////////////////////////////////////////////////////////
+///ڻ
+#define THOST_FTDC_PC_Futures '1'
+///ڻȨ
+#define THOST_FTDC_PC_Options '2'
+///
+#define THOST_FTDC_PC_Combination '3'
+///
+#define THOST_FTDC_PC_Spot '4'
+///ת
+#define THOST_FTDC_PC_EFP '5'
+///ֻȨ
+#define THOST_FTDC_PC_SpotOption '6'
+///Ȩ
+#define THOST_FTDC_PC_ETFOption '7'
+///֤ȯ
+#define THOST_FTDC_PC_Stock '8'
+
+typedef char TThostFtdcProductClassType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInstLifePhaseTypeһԼ״̬
+/////////////////////////////////////////////////////////////////////////
+///δ
+#define THOST_FTDC_IP_NotStart '0'
+///
+#define THOST_FTDC_IP_Started '1'
+///ͣ
+#define THOST_FTDC_IP_Pause '2'
+///
+#define THOST_FTDC_IP_Expired '3'
+
+typedef char TThostFtdcInstLifePhaseType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDirectionTypeһ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_D_Buy '0'
+///
+#define THOST_FTDC_D_Sell '1'
+
+typedef char TThostFtdcDirectionType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPositionTypeTypeһֲ
+/////////////////////////////////////////////////////////////////////////
+///ֲ
+#define THOST_FTDC_PT_Net '1'
+///ۺϳֲ
+#define THOST_FTDC_PT_Gross '2'
+
+typedef char TThostFtdcPositionTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPosiDirectionTypeһֲֶշ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_PD_Net '1'
+///ͷ
+#define THOST_FTDC_PD_Long '2'
+///ͷ
+#define THOST_FTDC_PD_Short '3'
+
+typedef char TThostFtdcPosiDirectionType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSysSettlementStatusTypeһϵͳ״̬
+/////////////////////////////////////////////////////////////////////////
+///Ծ
+#define THOST_FTDC_SS_NonActive '1'
+///
+#define THOST_FTDC_SS_Startup '2'
+///
+#define THOST_FTDC_SS_Operating '3'
+///
+#define THOST_FTDC_SS_Settlement '4'
+///
+#define THOST_FTDC_SS_SettlementFinished '5'
+
+typedef char TThostFtdcSysSettlementStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRatioAttrTypeһ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_RA_Trade '0'
+///
+#define THOST_FTDC_RA_Settlement '1'
+
+typedef char TThostFtdcRatioAttrType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcHedgeFlagTypeһͶױ־
+/////////////////////////////////////////////////////////////////////////
+///Ͷ
+#define THOST_FTDC_HF_Speculation '1'
+///
+#define THOST_FTDC_HF_Arbitrage '2'
+///ױ
+#define THOST_FTDC_HF_Hedge '3'
+///
+#define THOST_FTDC_HF_Covered '4'
+
+typedef char TThostFtdcHedgeFlagType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBillHedgeFlagTypeһͶױ־
+/////////////////////////////////////////////////////////////////////////
+///Ͷ
+#define THOST_FTDC_BHF_Speculation '1'
+///
+#define THOST_FTDC_BHF_Arbitrage '2'
+///ױ
+#define THOST_FTDC_BHF_Hedge '3'
+
+typedef char TThostFtdcBillHedgeFlagType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcClientIDTypeTypeһױ
+/////////////////////////////////////////////////////////////////////////
+///Ͷ
+#define THOST_FTDC_CIDT_Speculation '1'
+///
+#define THOST_FTDC_CIDT_Arbitrage '2'
+///ױ
+#define THOST_FTDC_CIDT_Hedge '3'
+
+typedef char TThostFtdcClientIDTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOrderPriceTypeTypeһ۸
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_OPT_AnyPrice '1'
+///
+#define THOST_FTDC_OPT_LimitPrice '2'
+///ż
+#define THOST_FTDC_OPT_BestPrice '3'
+///¼
+#define THOST_FTDC_OPT_LastPrice '4'
+///¼۸ϸ1ticks
+#define THOST_FTDC_OPT_LastPricePlusOneTicks '5'
+///¼۸ϸ2ticks
+#define THOST_FTDC_OPT_LastPricePlusTwoTicks '6'
+///¼۸ϸ3ticks
+#define THOST_FTDC_OPT_LastPricePlusThreeTicks '7'
+///һ
+#define THOST_FTDC_OPT_AskPrice1 '8'
+///һ۸ϸ1ticks
+#define THOST_FTDC_OPT_AskPrice1PlusOneTicks '9'
+///һ۸ϸ2ticks
+#define THOST_FTDC_OPT_AskPrice1PlusTwoTicks 'A'
+///һ۸ϸ3ticks
+#define THOST_FTDC_OPT_AskPrice1PlusThreeTicks 'B'
+///һ
+#define THOST_FTDC_OPT_BidPrice1 'C'
+///һ۸ϸ1ticks
+#define THOST_FTDC_OPT_BidPrice1PlusOneTicks 'D'
+///һ۸ϸ2ticks
+#define THOST_FTDC_OPT_BidPrice1PlusTwoTicks 'E'
+///һ۸ϸ3ticks
+#define THOST_FTDC_OPT_BidPrice1PlusThreeTicks 'F'
+///嵵
+#define THOST_FTDC_OPT_FiveLevelPrice 'G'
+///ż
+#define THOST_FTDC_OPT_BestPriceThisSide 'H'
+
+typedef char TThostFtdcOrderPriceTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOffsetFlagTypeһƽ־
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_OF_Open '0'
+///ƽ
+#define THOST_FTDC_OF_Close '1'
+///ǿƽ
+#define THOST_FTDC_OF_ForceClose '2'
+///ƽ
+#define THOST_FTDC_OF_CloseToday '3'
+///ƽ
+#define THOST_FTDC_OF_CloseYesterday '4'
+///ǿ
+#define THOST_FTDC_OF_ForceOff '5'
+///ǿƽ
+#define THOST_FTDC_OF_LocalForceClose '6'
+
+typedef char TThostFtdcOffsetFlagType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcForceCloseReasonTypeһǿƽԭ
+/////////////////////////////////////////////////////////////////////////
+///ǿƽ
+#define THOST_FTDC_FCC_NotForceClose '0'
+///ʽ
+#define THOST_FTDC_FCC_LackDeposit '1'
+///ͻ
+#define THOST_FTDC_FCC_ClientOverPositionLimit '2'
+///Ա
+#define THOST_FTDC_FCC_MemberOverPositionLimit '3'
+///ֲַ
+#define THOST_FTDC_FCC_NotMultiple '4'
+///Υ
+#define THOST_FTDC_FCC_Violation '5'
+///
+#define THOST_FTDC_FCC_Other '6'
+///Ȼٽ
+#define THOST_FTDC_FCC_PersonDeliv '7'
+
+typedef char TThostFtdcForceCloseReasonType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOrderTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_ORDT_Normal '0'
+///
+#define THOST_FTDC_ORDT_DeriveFromQuote '1'
+///
+#define THOST_FTDC_ORDT_DeriveFromCombination '2'
+///ϱ
+#define THOST_FTDC_ORDT_Combination '3'
+///
+#define THOST_FTDC_ORDT_ConditionalOrder '4'
+///
+#define THOST_FTDC_ORDT_Swap '5'
+
+typedef char TThostFtdcOrderTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTimeConditionTypeһЧ
+/////////////////////////////////////////////////////////////////////////
+///ɣ
+#define THOST_FTDC_TC_IOC '1'
+///Ч
+#define THOST_FTDC_TC_GFS '2'
+///Ч
+#define THOST_FTDC_TC_GFD '3'
+///ָǰЧ
+#define THOST_FTDC_TC_GTD '4'
+///ǰЧ
+#define THOST_FTDC_TC_GTC '5'
+///ϾЧ
+#define THOST_FTDC_TC_GFA '6'
+
+typedef char TThostFtdcTimeConditionType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcVolumeConditionTypeһɽ
+/////////////////////////////////////////////////////////////////////////
+///κ
+#define THOST_FTDC_VC_AV '1'
+///С
+#define THOST_FTDC_VC_MV '2'
+///ȫ
+#define THOST_FTDC_VC_CV '3'
+
+typedef char TThostFtdcVolumeConditionType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcContingentConditionTypeһ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_CC_Immediately '1'
+///ֹ
+#define THOST_FTDC_CC_Touch '2'
+///ֹӮ
+#define THOST_FTDC_CC_TouchProfit '3'
+///Ԥ
+#define THOST_FTDC_CC_ParkedOrder '4'
+///¼۴
+#define THOST_FTDC_CC_LastPriceGreaterThanStopPrice '5'
+///¼۴ڵ
+#define THOST_FTDC_CC_LastPriceGreaterEqualStopPrice '6'
+///¼С
+#define THOST_FTDC_CC_LastPriceLesserThanStopPrice '7'
+///¼Сڵ
+#define THOST_FTDC_CC_LastPriceLesserEqualStopPrice '8'
+///һ۴
+#define THOST_FTDC_CC_AskPriceGreaterThanStopPrice '9'
+///һ۴ڵ
+#define THOST_FTDC_CC_AskPriceGreaterEqualStopPrice 'A'
+///һС
+#define THOST_FTDC_CC_AskPriceLesserThanStopPrice 'B'
+///һСڵ
+#define THOST_FTDC_CC_AskPriceLesserEqualStopPrice 'C'
+///һ۴
+#define THOST_FTDC_CC_BidPriceGreaterThanStopPrice 'D'
+///һ۴ڵ
+#define THOST_FTDC_CC_BidPriceGreaterEqualStopPrice 'E'
+///һС
+#define THOST_FTDC_CC_BidPriceLesserThanStopPrice 'F'
+///һСڵ
+#define THOST_FTDC_CC_BidPriceLesserEqualStopPrice 'H'
+
+typedef char TThostFtdcContingentConditionType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcActionFlagTypeһ־
+/////////////////////////////////////////////////////////////////////////
+///ɾ
+#define THOST_FTDC_AF_Delete '0'
+///
+#define THOST_FTDC_AF_Modify '3'
+
+typedef char TThostFtdcActionFlagType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTradingRightTypeһȨ
+/////////////////////////////////////////////////////////////////////////
+///Խ
+#define THOST_FTDC_TR_Allow '0'
+///ֻƽ
+#define THOST_FTDC_TR_CloseOnly '1'
+///ܽ
+#define THOST_FTDC_TR_Forbidden '2'
+
+typedef char TThostFtdcTradingRightType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOrderSourceTypeһԴ
+/////////////////////////////////////////////////////////////////////////
+///Բ
+#define THOST_FTDC_OSRC_Participant '0'
+///ԹԱ
+#define THOST_FTDC_OSRC_Administrator '1'
+
+typedef char TThostFtdcOrderSourceType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTradeTypeTypeһɽ
+/////////////////////////////////////////////////////////////////////////
+///ϳֲֲΪһֲ,ʼӦ͵ijֲ
+#define THOST_FTDC_TRDT_SplitCombination '#'
+///ͨɽ
+#define THOST_FTDC_TRDT_Common '0'
+///Ȩִ
+#define THOST_FTDC_TRDT_OptionsExecution '1'
+///OTCɽ
+#define THOST_FTDC_TRDT_OTC '2'
+///תɽ
+#define THOST_FTDC_TRDT_EFPDerived '3'
+///ɽ
+#define THOST_FTDC_TRDT_CombinationDerived '4'
+
+typedef char TThostFtdcTradeTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPriceSourceTypeһɽԴ
+/////////////////////////////////////////////////////////////////////////
+///ǰɽ
+#define THOST_FTDC_PSRC_LastPrice '0'
+///ίм
+#define THOST_FTDC_PSRC_Buy '1'
+///ίм
+#define THOST_FTDC_PSRC_Sell '2'
+
+typedef char TThostFtdcPriceSourceType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInstrumentStatusTypeһԼ״̬
+/////////////////////////////////////////////////////////////////////////
+///ǰ
+#define THOST_FTDC_IS_BeforeTrading '0'
+///ǽ
+#define THOST_FTDC_IS_NoTrading '1'
+///
+#define THOST_FTDC_IS_Continous '2'
+///Ͼ۱
+#define THOST_FTDC_IS_AuctionOrdering '3'
+///Ͼۼ۸ƽ
+#define THOST_FTDC_IS_AuctionBalance '4'
+///Ͼ۴
+#define THOST_FTDC_IS_AuctionMatch '5'
+///
+#define THOST_FTDC_IS_Closed '6'
+
+typedef char TThostFtdcInstrumentStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInstStatusEnterReasonTypeһƷֽ뽻״̬ԭ
+/////////////////////////////////////////////////////////////////////////
+///Զл
+#define THOST_FTDC_IER_Automatic '1'
+///ֶл
+#define THOST_FTDC_IER_Manual '2'
+///۶
+#define THOST_FTDC_IER_Fuse '3'
+
+typedef char TThostFtdcInstStatusEnterReasonType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOrderActionRefTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcOrderActionRefType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInstallCountTypeһװ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcInstallCountType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInstallIDTypeһװ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcInstallIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcErrorIDTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcErrorIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSettlementIDTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcSettlementIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcVolumeTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcVolumeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFrontIDTypeһǰñ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcFrontIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSessionIDTypeһỰ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcSessionIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSequenceNoTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcSequenceNoType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCommandNoTypeһDB
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcCommandNoType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcMillisecTypeһʱ䣨룩
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcMillisecType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcVolumeMultipleTypeһԼ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcVolumeMultipleType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTradingSegmentSNTypeһα
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcTradingSegmentSNType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRequestIDTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcRequestIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcYearTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcYearType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcMonthTypeһ·
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcMonthType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBoolTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcBoolType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPriceTypeһ۸
+/////////////////////////////////////////////////////////////////////////
+typedef double TThostFtdcPriceType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCombOffsetFlagTypeһϿƽ־
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCombOffsetFlagType[5];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCombHedgeFlagTypeһͶױ־
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCombHedgeFlagType[5];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRatioTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef double TThostFtdcRatioType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcMoneyTypeһʽ
+/////////////////////////////////////////////////////////////////////////
+typedef double TThostFtdcMoneyType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcLargeVolumeTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef double TThostFtdcLargeVolumeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSequenceSeriesTypeһϵк
+/////////////////////////////////////////////////////////////////////////
+typedef short TThostFtdcSequenceSeriesType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCommPhaseNoTypeһͨѶʱα
+/////////////////////////////////////////////////////////////////////////
+typedef short TThostFtdcCommPhaseNoType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSequenceLabelTypeһб
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcSequenceLabelType[2];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUnderlyingMultipleTypeһƷ
+/////////////////////////////////////////////////////////////////////////
+typedef double TThostFtdcUnderlyingMultipleType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPriorityTypeһȼ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcPriorityType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcContractCodeTypeһͬ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcContractCodeType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCityTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCityType[51];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcIsStockTypeһǷ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcIsStockType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcChannelTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcChannelType[51];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAddressTypeһͨѶַ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAddressType[101];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcZipCodeTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcZipCodeType[7];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTelephoneTypeһϵ绰
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcTelephoneType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFaxTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFaxType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcMobileTypeһֻ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcMobileType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcEMailTypeһʼ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcEMailType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcMemoTypeһע
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcMemoType[161];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCompanyCodeTypeһҵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCompanyCodeType[51];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcWebsiteTypeһվַ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcWebsiteType[51];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTaxNoTypeһ˰ǼǺ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcTaxNoType[31];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBatchStatusTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+///δϴ
+#define THOST_FTDC_BS_NoUpload '1'
+///ϴ
+#define THOST_FTDC_BS_Uploaded '2'
+///ʧ
+#define THOST_FTDC_BS_Failed '3'
+
+typedef char TThostFtdcBatchStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPropertyIDTypeһԴ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcPropertyIDType[33];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPropertyNameTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcPropertyNameType[65];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcLicenseNoTypeһӪҵִպ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcLicenseNoType[51];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAgentIDTypeһ˴
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAgentIDType[13];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAgentNameTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAgentNameType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAgentGroupIDTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAgentGroupIDType[13];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAgentGroupNameTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAgentGroupNameType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcReturnStyleTypeһƷַʽ
+/////////////////////////////////////////////////////////////////////////
+///Ʒ
+#define THOST_FTDC_RS_All '1'
+///Ʒ
+#define THOST_FTDC_RS_ByProduct '2'
+
+typedef char TThostFtdcReturnStyleType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcReturnPatternTypeһģʽ
+/////////////////////////////////////////////////////////////////////////
+///ɽ
+#define THOST_FTDC_RP_ByVolume '1'
+///
+#define THOST_FTDC_RP_ByFeeOnHand '2'
+
+typedef char TThostFtdcReturnPatternType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcReturnLevelTypeһ
+/////////////////////////////////////////////////////////////////////////
+///1
+#define THOST_FTDC_RL_Level1 '1'
+///2
+#define THOST_FTDC_RL_Level2 '2'
+///3
+#define THOST_FTDC_RL_Level3 '3'
+///4
+#define THOST_FTDC_RL_Level4 '4'
+///5
+#define THOST_FTDC_RL_Level5 '5'
+///6
+#define THOST_FTDC_RL_Level6 '6'
+///7
+#define THOST_FTDC_RL_Level7 '7'
+///8
+#define THOST_FTDC_RL_Level8 '8'
+///9
+#define THOST_FTDC_RL_Level9 '9'
+
+typedef char TThostFtdcReturnLevelType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcReturnStandardTypeһ
+/////////////////////////////////////////////////////////////////////////
+///ֽη
+#define THOST_FTDC_RSD_ByPeriod '1'
+///ijһ
+#define THOST_FTDC_RSD_ByStandard '2'
+
+typedef char TThostFtdcReturnStandardType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcMortgageTypeTypeһѺ
+/////////////////////////////////////////////////////////////////////////
+///ʳ
+#define THOST_FTDC_MT_Out '0'
+///
+#define THOST_FTDC_MT_In '1'
+
+typedef char TThostFtdcMortgageTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInvestorSettlementParamIDTypeһͶ߽
+/////////////////////////////////////////////////////////////////////////
+///Ѻ
+#define THOST_FTDC_ISPI_MortgageRatio '4'
+///֤㷨
+#define THOST_FTDC_ISPI_MarginWay '5'
+///㵥ǷѺ
+#define THOST_FTDC_ISPI_BillDeposit '9'
+
+typedef char TThostFtdcInvestorSettlementParamIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcExchangeSettlementParamIDTypeһ
+/////////////////////////////////////////////////////////////////////////
+///Ѻ
+#define THOST_FTDC_ESPI_MortgageRatio '1'
+///ʽ
+#define THOST_FTDC_ESPI_OtherFundItem '2'
+///ʽ뽻
+#define THOST_FTDC_ESPI_OtherFundImport '3'
+///нͿý
+#define THOST_FTDC_ESPI_CFFEXMinPrepa '6'
+///֣㷽ʽ
+#define THOST_FTDC_ESPI_CZCESettlementType '7'
+///ȡʽ
+#define THOST_FTDC_ESPI_ExchDelivFeeMode '9'
+///Ͷ߽ȡʽ
+#define THOST_FTDC_ESPI_DelivFeeMode '0'
+///֣ϳֱֲ֤ȡʽ
+#define THOST_FTDC_ESPI_CZCEComMarginType 'A'
+///֤ǷŻ
+#define THOST_FTDC_ESPI_DceComMarginType 'B'
+///ֵȨ֤Żݱ
+#define THOST_FTDC_ESPI_OptOutDisCountRate 'a'
+///ͱϵ
+#define THOST_FTDC_ESPI_OptMiniGuarantee 'b'
+
+typedef char TThostFtdcExchangeSettlementParamIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSystemParamIDTypeһϵͳ
+/////////////////////////////////////////////////////////////////////////
+///ͶߴС
+#define THOST_FTDC_SPI_InvestorIDMinLength '1'
+///ͶʺŴС
+#define THOST_FTDC_SPI_AccountIDMinLength '2'
+///Ͷ߿Ĭϵ¼Ȩ
+#define THOST_FTDC_SPI_UserRightLogon '3'
+///Ͷ߽㵥ɽܷʽ
+#define THOST_FTDC_SPI_SettlementBillTrade '4'
+///ͳһ½ױ뷽ʽ
+#define THOST_FTDC_SPI_TradingCode '5'
+///Ƿжϴδ˵ijͷʽ
+#define THOST_FTDC_SPI_CheckFund '6'
+///ǷģȨ
+#define THOST_FTDC_SPI_CommModelRight '7'
+///Ƿñ֤ģȨ
+#define THOST_FTDC_SPI_MarginModelRight '9'
+///Ƿ淶ûܼ
+#define THOST_FTDC_SPI_IsStandardActive '8'
+///ϴĽļ·
+#define THOST_FTDC_SPI_UploadSettlementFile 'U'
+///ϱ֤ļ·
+#define THOST_FTDC_SPI_DownloadCSRCFile 'D'
+///ɵĽ㵥ļ·
+#define THOST_FTDC_SPI_SettlementBillFile 'S'
+///֤ļʶ
+#define THOST_FTDC_SPI_CSRCOthersFile 'C'
+///ͶƬ·
+#define THOST_FTDC_SPI_InvestorPhoto 'P'
+///ȫᾭ˾ϴļ·
+#define THOST_FTDC_SPI_CSRCData 'R'
+///¼뷽ʽ
+#define THOST_FTDC_SPI_InvestorPwdModel 'I'
+///Ͷнļ·
+#define THOST_FTDC_SPI_CFFEXInvestorSettleFile 'F'
+///Ͷߴ뷽ʽ
+#define THOST_FTDC_SPI_InvestorIDType 'a'
+///Ȩ
+#define THOST_FTDC_SPI_FreezeMaxReMain 'r'
+///زʵʱϳ
+#define THOST_FTDC_SPI_IsSync 'A'
+///Ȩ
+#define THOST_FTDC_SPI_RelieveOpenLimit 'O'
+///Ƿ淶û
+#define THOST_FTDC_SPI_IsStandardFreeze 'X'
+///֣ǷƷױ
+#define THOST_FTDC_SPI_CZCENormalProductHedge 'B'
+
+typedef char TThostFtdcSystemParamIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTradeParamIDTypeһϵͳ
+/////////////////////////////////////////////////////////////////////////
+///ϵͳ㷨
+#define THOST_FTDC_TPID_EncryptionStandard 'E'
+///ϵͳ㷨
+#define THOST_FTDC_TPID_RiskMode 'R'
+///ϵͳ㷨Ƿȫ 0- 1-
+#define THOST_FTDC_TPID_RiskModeGlobal 'G'
+///㷨
+#define THOST_FTDC_TPID_modeEncode 'P'
+///۸Сλ
+#define THOST_FTDC_TPID_tickMode 'T'
+///ûỰ
+#define THOST_FTDC_TPID_SingleUserSessionMaxNum 'S'
+///¼ʧ
+#define THOST_FTDC_TPID_LoginFailMaxNum 'L'
+///Ƿǿ֤
+#define THOST_FTDC_TPID_IsAuthForce 'A'
+///Ƿ֤ȯֲ
+#define THOST_FTDC_TPID_IsPosiFreeze 'F'
+///Ƿ
+#define THOST_FTDC_TPID_IsPosiLimit 'M'
+///֣ѯʱ
+#define THOST_FTDC_TPID_ForQuoteTimeInterval 'Q'
+
+typedef char TThostFtdcTradeParamIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSettlementParamValueTypeһֵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcSettlementParamValueType[256];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCounterIDTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCounterIDType[33];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInvestorGroupNameTypeһͶ߷
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcInvestorGroupNameType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBrandCodeTypeһƺ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBrandCodeType[257];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcWarehouseTypeһֿ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcWarehouseType[257];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcProductDateTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcProductDateType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcGradeTypeһȼ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcGradeType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcClassifyTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcClassifyType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPositionTypeһλ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcPositionType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcYieldlyTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcYieldlyType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcWeightTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcWeightType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSubEntryFundNoTypeһʽˮ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcSubEntryFundNoType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFileIDTypeһļʶ
+/////////////////////////////////////////////////////////////////////////
+///ʽ
+#define THOST_FTDC_FI_SettlementFund 'F'
+///ɽ
+#define THOST_FTDC_FI_Trade 'T'
+///Ͷֲ߳
+#define THOST_FTDC_FI_InvestorPosition 'P'
+///Ͷ߷ʽ
+#define THOST_FTDC_FI_SubEntryFund 'O'
+///ϳֲ
+#define THOST_FTDC_FI_CZCECombinationPos 'C'
+///ϱ֤
+#define THOST_FTDC_FI_CSRCData 'R'
+///֣ƽ˽
+#define THOST_FTDC_FI_CZCEClose 'L'
+///֣ƽ˽
+#define THOST_FTDC_FI_CZCENoClose 'N'
+///ֲϸ
+#define THOST_FTDC_FI_PositionDtl 'D'
+///Ȩִļ
+#define THOST_FTDC_FI_OptionStrike 'S'
+///۱ȶļ
+#define THOST_FTDC_FI_SettlementPriceComparison 'M'
+///dzֱֲ䶯ϸ
+#define THOST_FTDC_FI_NonTradePosChange 'B'
+
+typedef char TThostFtdcFileIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFileNameTypeһļ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFileNameType[257];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFileTypeTypeһļϴ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_FUT_Settlement '0'
+///˶
+#define THOST_FTDC_FUT_Check '1'
+
+typedef char TThostFtdcFileTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFileFormatTypeһļʽ
+/////////////////////////////////////////////////////////////////////////
+///ıļ(.txt)
+#define THOST_FTDC_FFT_Txt '0'
+///ѹļ(.zip)
+#define THOST_FTDC_FFT_Zip '1'
+///DBFļ(.dbf)
+#define THOST_FTDC_FFT_DBF '2'
+
+typedef char TThostFtdcFileFormatType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFileUploadStatusTypeһļ״̬
+/////////////////////////////////////////////////////////////////////////
+///ϴɹ
+#define THOST_FTDC_FUS_SucceedUpload '1'
+///ϴʧ
+#define THOST_FTDC_FUS_FailedUpload '2'
+///ɹ
+#define THOST_FTDC_FUS_SucceedLoad '3'
+///벿ֳɹ
+#define THOST_FTDC_FUS_PartSucceedLoad '4'
+///ʧ
+#define THOST_FTDC_FUS_FailedLoad '5'
+
+typedef char TThostFtdcFileUploadStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTransferDirectionTypeһƲַ
+/////////////////////////////////////////////////////////////////////////
+///Ƴ
+#define THOST_FTDC_TD_Out '0'
+///
+#define THOST_FTDC_TD_In '1'
+
+typedef char TThostFtdcTransferDirectionType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUploadModeTypeһϴļ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcUploadModeType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAccountIDTypeһͶʺ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAccountIDType[13];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankFlagTypeһͳһʶ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBankFlagType[4];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankAccountTypeһ˻
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBankAccountType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOpenNameTypeһ˻Ŀ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcOpenNameType[61];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOpenBankTypeһ˻Ŀ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcOpenBankType[101];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankNameTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBankNameType[101];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPublishPathTypeһ·
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcPublishPathType[257];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOperatorIDTypeһԱ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcOperatorIDType[65];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcMonthCountTypeһ·
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcMonthCountType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAdvanceMonthArrayTypeһ·ǰ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAdvanceMonthArrayType[13];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDateExprTypeһڱʽ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcDateExprType[1025];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInstrumentIDExprTypeһԼʽ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcInstrumentIDExprType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInstrumentNameExprTypeһԼƱʽ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcInstrumentNameExprType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSpecialCreateRuleTypeһĴ
+/////////////////////////////////////////////////////////////////////////
+///ûⴴ
+#define THOST_FTDC_SC_NoSpecialRule '0'
+///
+#define THOST_FTDC_SC_NoSpringFestival '1'
+
+typedef char TThostFtdcSpecialCreateRuleType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBasisPriceTypeTypeһƻ
+/////////////////////////////////////////////////////////////////////////
+///һԼ
+#define THOST_FTDC_IPT_LastSettlement '1'
+///һԼ̼
+#define THOST_FTDC_IPT_LaseClose '2'
+
+typedef char TThostFtdcBasisPriceTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcProductLifePhaseTypeһƷ״̬
+/////////////////////////////////////////////////////////////////////////
+///Ծ
+#define THOST_FTDC_PLP_Active '1'
+///Ծ
+#define THOST_FTDC_PLP_NonActive '2'
+///ע
+#define THOST_FTDC_PLP_Canceled '3'
+
+typedef char TThostFtdcProductLifePhaseType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDeliveryModeTypeһʽ
+/////////////////////////////////////////////////////////////////////////
+///ֽ
+#define THOST_FTDC_DM_CashDeliv '1'
+///ʵサ
+#define THOST_FTDC_DM_CommodityDeliv '2'
+
+typedef char TThostFtdcDeliveryModeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcLogLevelTypeһ־
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcLogLevelType[33];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcProcessNameTypeһ洢
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcProcessNameType[257];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOperationMemoTypeһժҪ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcOperationMemoType[1025];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFundIOTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_FIOT_FundIO '1'
+///ת
+#define THOST_FTDC_FIOT_Transfer '2'
+///ڻ
+#define THOST_FTDC_FIOT_SwapCurrency '3'
+
+typedef char TThostFtdcFundIOTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFundTypeTypeһʽ
+/////////////////////////////////////////////////////////////////////////
+///д
+#define THOST_FTDC_FT_Deposite '1'
+///ʽ
+#define THOST_FTDC_FT_ItemFund '2'
+///˾
+#define THOST_FTDC_FT_Company '3'
+///ʽת
+#define THOST_FTDC_FT_InnerTransfer '4'
+
+typedef char TThostFtdcFundTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFundDirectionTypeһ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_FD_In '1'
+///
+#define THOST_FTDC_FD_Out '2'
+
+typedef char TThostFtdcFundDirectionType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFundStatusTypeһʽ״̬
+/////////////////////////////////////////////////////////////////////////
+///¼
+#define THOST_FTDC_FS_Record '1'
+///Ѹ
+#define THOST_FTDC_FS_Check '2'
+///ѳ
+#define THOST_FTDC_FS_Charge '3'
+
+typedef char TThostFtdcFundStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBillNoTypeһƱݺ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBillNoType[15];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBillNameTypeһƱ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBillNameType[33];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPublishStatusTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+///δ
+#define THOST_FTDC_PS_None '1'
+///ڷ
+#define THOST_FTDC_PS_Publishing '2'
+///ѷ
+#define THOST_FTDC_PS_Published '3'
+
+typedef char TThostFtdcPublishStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcEnumValueIDTypeһöֵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcEnumValueIDType[65];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcEnumValueTypeTypeһöֵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcEnumValueTypeType[33];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcEnumValueLabelTypeһöֵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcEnumValueLabelType[65];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcEnumValueResultTypeһöֵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcEnumValueResultType[33];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSystemStatusTypeһϵͳ״̬
+/////////////////////////////////////////////////////////////////////////
+///Ծ
+#define THOST_FTDC_ES_NonActive '1'
+///
+#define THOST_FTDC_ES_Startup '2'
+///ʼʼ
+#define THOST_FTDC_ES_Initialize '3'
+///ɳʼ
+#define THOST_FTDC_ES_Initialized '4'
+///пʼ
+#define THOST_FTDC_ES_Close '5'
+///
+#define THOST_FTDC_ES_Closed '6'
+///
+#define THOST_FTDC_ES_Settlement '7'
+
+typedef char TThostFtdcSystemStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSettlementStatusTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+///ʼ
+#define THOST_FTDC_STS_Initialize '0'
+///
+#define THOST_FTDC_STS_Settlementing '1'
+///ѽ
+#define THOST_FTDC_STS_Settlemented '2'
+///
+#define THOST_FTDC_STS_Finished '3'
+
+typedef char TThostFtdcSettlementStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRangeIntTypeTypeһֵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcRangeIntTypeType[33];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRangeIntFromTypeһֵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcRangeIntFromType[33];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRangeIntToTypeһֵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcRangeIntToType[33];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFunctionIDTypeһܴ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFunctionIDType[25];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFunctionValueCodeTypeһܱ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFunctionValueCodeType[257];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFunctionNameTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFunctionNameType[65];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRoleIDTypeһɫ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcRoleIDType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRoleNameTypeһɫ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcRoleNameType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDescriptionTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcDescriptionType[401];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCombineIDTypeһϱ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCombineIDType[25];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCombineTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCombineTypeType[25];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInvestorTypeTypeһͶ
+/////////////////////////////////////////////////////////////////////////
+///Ȼ
+#define THOST_FTDC_CT_Person '0'
+///
+#define THOST_FTDC_CT_Company '1'
+///Ͷʻ
+#define THOST_FTDC_CT_Fund '2'
+///ⷨ
+#define THOST_FTDC_CT_SpecialOrgan '3'
+///ʹܻ
+#define THOST_FTDC_CT_Asset '4'
+
+typedef char TThostFtdcInvestorTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBrokerTypeTypeһ˾
+/////////////////////////////////////////////////////////////////////////
+///Ա
+#define THOST_FTDC_BT_Trade '0'
+///Ա
+#define THOST_FTDC_BT_TradeSettle '1'
+
+typedef char TThostFtdcBrokerTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRiskLevelTypeһյȼ
+/////////////////////////////////////////////////////////////////////////
+///ͷտͻ
+#define THOST_FTDC_FAS_Low '1'
+///ͨͻ
+#define THOST_FTDC_FAS_Normal '2'
+///עͻ
+#define THOST_FTDC_FAS_Focus '3'
+///տͻ
+#define THOST_FTDC_FAS_Risk '4'
+
+typedef char TThostFtdcRiskLevelType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFeeAcceptStyleTypeһȡʽ
+/////////////////////////////////////////////////////////////////////////
+///ȡ
+#define THOST_FTDC_FAS_ByTrade '1'
+///ȡ
+#define THOST_FTDC_FAS_ByDeliv '2'
+///
+#define THOST_FTDC_FAS_None '3'
+///ָȡ
+#define THOST_FTDC_FAS_FixFee '4'
+
+typedef char TThostFtdcFeeAcceptStyleType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPasswordTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_PWDT_Trade '1'
+///ʽ
+#define THOST_FTDC_PWDT_Account '2'
+
+typedef char TThostFtdcPasswordTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAlgorithmTypeһӯ㷨
+/////////////////////////////////////////////////////////////////////////
+///ӯ
+#define THOST_FTDC_AG_All '1'
+///ӯƣ
+#define THOST_FTDC_AG_OnlyLost '2'
+///ӯƣ
+#define THOST_FTDC_AG_OnlyGain '3'
+///ӯ
+#define THOST_FTDC_AG_None '4'
+
+typedef char TThostFtdcAlgorithmType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcIncludeCloseProfitTypeһǷƽӯ
+/////////////////////////////////////////////////////////////////////////
+///ƽӯ
+#define THOST_FTDC_ICP_Include '0'
+///ƽӯ
+#define THOST_FTDC_ICP_NotInclude '2'
+
+typedef char TThostFtdcIncludeCloseProfitType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAllWithoutTradeTypeһǷܿ
+/////////////////////////////////////////////////////////////////////////
+///ɽܿ
+#define THOST_FTDC_AWT_Enable '0'
+///ܿ
+#define THOST_FTDC_AWT_Disable '2'
+///ֲܿ
+#define THOST_FTDC_AWT_NoHoldEnable '3'
+
+typedef char TThostFtdcAllWithoutTradeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCommentTypeһӯ㷨˵
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCommentType[31];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcVersionTypeһ汾
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcVersionType[4];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTradeCodeTypeһ״
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcTradeCodeType[7];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTradeDateTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcTradeDateType[9];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTradeTimeTypeһʱ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcTradeTimeType[9];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTradeSerialTypeһˮ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcTradeSerialType[9];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTradeSerialNoTypeһˮ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcTradeSerialNoType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFutureIDTypeһڻ˾
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFutureIDType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankIDTypeһд
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBankIDType[4];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankBrchIDTypeһзĴ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBankBrchIDType[5];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankBranchIDTypeһĴ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBankBranchIDType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOperNoTypeһԱ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcOperNoType[17];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDeviceIDTypeһ־
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcDeviceIDType[3];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRecordNumTypeһ¼
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcRecordNumType[7];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFutureAccountTypeһڻʽ˺
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFutureAccountType[22];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFuturePwdFlagTypeһʽ˶Ա־
+/////////////////////////////////////////////////////////////////////////
+///˶
+#define THOST_FTDC_FPWD_UnCheck '0'
+///˶
+#define THOST_FTDC_FPWD_Check '1'
+
+typedef char TThostFtdcFuturePwdFlagType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTransferTypeTypeһת
+/////////////////////////////////////////////////////////////////////////
+///תڻ
+#define THOST_FTDC_TT_BankToFuture '0'
+///ڻת
+#define THOST_FTDC_TT_FutureToBank '1'
+
+typedef char TThostFtdcTransferTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFutureAccPwdTypeһڻʽ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFutureAccPwdType[17];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCurrencyCodeTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCurrencyCodeType[4];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRetCodeTypeһӦ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcRetCodeType[5];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRetInfoTypeһӦϢ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcRetInfoType[129];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTradeAmtTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcTradeAmtType[20];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUseAmtTypeһп
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcUseAmtType[20];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFetchAmtTypeһпȡ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFetchAmtType[20];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTransferValidFlagTypeһתЧ־
+/////////////////////////////////////////////////////////////////////////
+///Чʧ
+#define THOST_FTDC_TVF_Invalid '0'
+///Ч
+#define THOST_FTDC_TVF_Valid '1'
+///
+#define THOST_FTDC_TVF_Reverse '2'
+
+typedef char TThostFtdcTransferValidFlagType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCertCodeTypeһ֤
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCertCodeType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcReasonTypeһ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_RN_CD '0'
+///ʽ;
+#define THOST_FTDC_RN_ZT '1'
+///
+#define THOST_FTDC_RN_QT '2'
+
+typedef char TThostFtdcReasonType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFundProjectIDTypeһʽĿ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFundProjectIDType[5];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSexTypeһԱ
+/////////////////////////////////////////////////////////////////////////
+///δ֪
+#define THOST_FTDC_SEX_None '0'
+///
+#define THOST_FTDC_SEX_Man '1'
+///Ů
+#define THOST_FTDC_SEX_Woman '2'
+
+typedef char TThostFtdcSexType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcProfessionTypeһְҵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcProfessionType[101];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcNationalTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcNationalType[31];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcProvinceTypeһʡ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcProvinceType[51];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRegionTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcRegionType[16];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCountryTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCountryType[16];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcLicenseNOTypeһӪҵִ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcLicenseNOType[33];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCompanyTypeTypeһҵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCompanyTypeType[16];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBusinessScopeTypeһӪΧ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBusinessScopeType[1001];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCapitalCurrencyTypeһעʱ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCapitalCurrencyType[4];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUserTypeTypeһû
+/////////////////////////////////////////////////////////////////////////
+///Ͷ
+#define THOST_FTDC_UT_Investor '0'
+///Ա
+#define THOST_FTDC_UT_Operator '1'
+///Ա
+#define THOST_FTDC_UT_SuperUser '2'
+
+typedef char TThostFtdcUserTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBranchIDTypeһӪҵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBranchIDType[9];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRateTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+///֤
+#define THOST_FTDC_RATETYPE_MarginRate '2'
+
+typedef char TThostFtdcRateTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcNoteTypeTypeһ֪ͨ
+/////////////////////////////////////////////////////////////////////////
+///㵥
+#define THOST_FTDC_NOTETYPE_TradeSettleBill '1'
+///±
+#define THOST_FTDC_NOTETYPE_TradeSettleMonth '2'
+///ӱ֤֪ͨ
+#define THOST_FTDC_NOTETYPE_CallMarginNotes '3'
+///ǿƽ֪ͨ
+#define THOST_FTDC_NOTETYPE_ForceCloseNotes '4'
+///ɽ֪ͨ
+#define THOST_FTDC_NOTETYPE_TradeNotes '5'
+///֪ͨ
+#define THOST_FTDC_NOTETYPE_DelivNotes '6'
+
+typedef char TThostFtdcNoteTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSettlementStyleTypeһ㵥ʽ
+/////////////////////////////////////////////////////////////////////////
+///ն
+#define THOST_FTDC_SBS_Day '1'
+///ʶԳ
+#define THOST_FTDC_SBS_Volume '2'
+
+typedef char TThostFtdcSettlementStyleType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBrokerDNSTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBrokerDNSType[256];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSentenceTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcSentenceType[501];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSettlementBillTypeTypeһ㵥
+/////////////////////////////////////////////////////////////////////////
+///ձ
+#define THOST_FTDC_ST_Day '0'
+///±
+#define THOST_FTDC_ST_Month '1'
+
+typedef char TThostFtdcSettlementBillTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUserRightTypeTypeһͻȨ
+/////////////////////////////////////////////////////////////////////////
+///¼
+#define THOST_FTDC_URT_Logon '1'
+///ת
+#define THOST_FTDC_URT_Transfer '2'
+///ʼĽ㵥
+#define THOST_FTDC_URT_EMail '3'
+///㵥
+#define THOST_FTDC_URT_Fax '4'
+///
+#define THOST_FTDC_URT_ConditionOrder '5'
+
+typedef char TThostFtdcUserRightTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcMarginPriceTypeTypeһ֤۸
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_MPT_PreSettlementPrice '1'
+///¼
+#define THOST_FTDC_MPT_SettlementPrice '2'
+///ɽ
+#define THOST_FTDC_MPT_AveragePrice '3'
+///ּ
+#define THOST_FTDC_MPT_OpenPrice '4'
+
+typedef char TThostFtdcMarginPriceTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBillGenStatusTypeһ㵥״̬
+/////////////////////////////////////////////////////////////////////////
+///δ
+#define THOST_FTDC_BGS_None '0'
+///
+#define THOST_FTDC_BGS_NoGenerated '1'
+///
+#define THOST_FTDC_BGS_Generated '2'
+
+typedef char TThostFtdcBillGenStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAlgoTypeTypeһ㷨
+/////////////////////////////////////////////////////////////////////////
+///ֲִ㷨
+#define THOST_FTDC_AT_HandlePositionAlgo '1'
+///Ѱұ֤㷨
+#define THOST_FTDC_AT_FindMarginRateAlgo '2'
+
+typedef char TThostFtdcAlgoTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcHandlePositionAlgoIDTypeһֲִ㷨
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_HPA_Base '1'
+///Ʒ
+#define THOST_FTDC_HPA_DCE '2'
+///֣Ʒ
+#define THOST_FTDC_HPA_CZCE '3'
+
+typedef char TThostFtdcHandlePositionAlgoIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFindMarginRateAlgoIDTypeһѰұ֤㷨
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_FMRA_Base '1'
+///Ʒ
+#define THOST_FTDC_FMRA_DCE '2'
+///֣Ʒ
+#define THOST_FTDC_FMRA_CZCE '3'
+
+typedef char TThostFtdcFindMarginRateAlgoIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcHandleTradingAccountAlgoIDTypeһʽ㷨
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_HTAA_Base '1'
+///Ʒ
+#define THOST_FTDC_HTAA_DCE '2'
+///֣Ʒ
+#define THOST_FTDC_HTAA_CZCE '3'
+
+typedef char TThostFtdcHandleTradingAccountAlgoIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPersonTypeTypeһϵ
+/////////////////////////////////////////////////////////////////////////
+///ָµ
+#define THOST_FTDC_PST_Order '1'
+///Ȩ
+#define THOST_FTDC_PST_Open '2'
+///ʽ
+#define THOST_FTDC_PST_Fund '3'
+///㵥ȷ
+#define THOST_FTDC_PST_Settlement '4'
+///
+#define THOST_FTDC_PST_Company '5'
+///˴
+#define THOST_FTDC_PST_Corporation '6'
+///Ͷϵ
+#define THOST_FTDC_PST_LinkMan '7'
+///ֻʲ
+#define THOST_FTDC_PST_Ledger '8'
+///У
+#define THOST_FTDC_PST_Trustee '9'
+///Уܻ˴
+#define THOST_FTDC_PST_TrusteeCorporation 'A'
+///УܻȨ
+#define THOST_FTDC_PST_TrusteeOpen 'B'
+///Уܻϵ
+#define THOST_FTDC_PST_TrusteeContact 'C'
+///Ȼ˲ο֤
+#define THOST_FTDC_PST_ForeignerRefer 'D'
+///˴ο֤
+#define THOST_FTDC_PST_CorporationRefer 'E'
+
+typedef char TThostFtdcPersonTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcQueryInvestorRangeTypeһѯΧ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_QIR_All '1'
+///ѯ
+#define THOST_FTDC_QIR_Group '2'
+///һͶ
+#define THOST_FTDC_QIR_Single '3'
+
+typedef char TThostFtdcQueryInvestorRangeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInvestorRiskStatusTypeһͶ߷״̬
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_IRS_Normal '1'
+///
+#define THOST_FTDC_IRS_Warn '2'
+///
+#define THOST_FTDC_IRS_Call '3'
+///ǿƽ
+#define THOST_FTDC_IRS_Force '4'
+///쳣
+#define THOST_FTDC_IRS_Exception '5'
+
+typedef char TThostFtdcInvestorRiskStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcLegIDTypeһȱ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcLegIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcLegMultipleTypeһȳ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcLegMultipleType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcImplyLevelTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcImplyLevelType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcClearAccountTypeһ˻
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcClearAccountType[33];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOrganNOTypeһ˻
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcOrganNOType[6];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcClearbarchIDTypeһ˻к
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcClearbarchIDType[6];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUserEventTypeTypeһû¼
+/////////////////////////////////////////////////////////////////////////
+///¼
+#define THOST_FTDC_UET_Login '1'
+///dz
+#define THOST_FTDC_UET_Logout '2'
+///׳ɹ
+#define THOST_FTDC_UET_Trading '3'
+///ʧ
+#define THOST_FTDC_UET_TradingError '4'
+///
+#define THOST_FTDC_UET_UpdatePassword '5'
+///ͻ֤
+#define THOST_FTDC_UET_Authenticate '6'
+///
+#define THOST_FTDC_UET_Other '9'
+
+typedef char TThostFtdcUserEventTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUserEventInfoTypeһû¼Ϣ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcUserEventInfoType[1025];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCloseStyleTypeһƽַʽ
+/////////////////////////////////////////////////////////////////////////
+///ȿƽ
+#define THOST_FTDC_ICS_Close '0'
+///ƽƽ
+#define THOST_FTDC_ICS_CloseToday '1'
+
+typedef char TThostFtdcCloseStyleType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcStatModeTypeһͳƷʽ
+/////////////////////////////////////////////////////////////////////////
+///----
+#define THOST_FTDC_SM_Non '0'
+///Լͳ
+#define THOST_FTDC_SM_Instrument '1'
+///Ʒͳ
+#define THOST_FTDC_SM_Product '2'
+///Ͷͳ
+#define THOST_FTDC_SM_Investor '3'
+
+typedef char TThostFtdcStatModeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcParkedOrderStatusTypeһԤ״̬
+/////////////////////////////////////////////////////////////////////////
+///δ
+#define THOST_FTDC_PAOS_NotSend '1'
+///ѷ
+#define THOST_FTDC_PAOS_Send '2'
+///ɾ
+#define THOST_FTDC_PAOS_Deleted '3'
+
+typedef char TThostFtdcParkedOrderStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcParkedOrderIDTypeһԤ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcParkedOrderIDType[13];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcParkedOrderActionIDTypeһԤ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcParkedOrderActionIDType[13];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcVirDealStatusTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+///ڴ
+#define THOST_FTDC_VDS_Dealing '1'
+///ɹ
+#define THOST_FTDC_VDS_DeaclSucceed '2'
+
+typedef char TThostFtdcVirDealStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOrgSystemIDTypeһԭϵͳ
+/////////////////////////////////////////////////////////////////////////
+///ۺϽƽ̨
+#define THOST_FTDC_ORGS_Standard '0'
+///ʢϵͳ
+#define THOST_FTDC_ORGS_ESunny '1'
+///˴V6ϵͳ
+#define THOST_FTDC_ORGS_KingStarV6 '2'
+
+typedef char TThostFtdcOrgSystemIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcVirTradeStatusTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_VTS_NaturalDeal '0'
+///ɹ
+#define THOST_FTDC_VTS_SucceedEnd '1'
+///ʧܽ
+#define THOST_FTDC_VTS_FailedEND '2'
+///쳣
+#define THOST_FTDC_VTS_Exception '3'
+///˹쳣
+#define THOST_FTDC_VTS_ManualDeal '4'
+///ͨѶ쳣 ˹
+#define THOST_FTDC_VTS_MesException '5'
+///ϵͳ˹
+#define THOST_FTDC_VTS_SysException '6'
+
+typedef char TThostFtdcVirTradeStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcVirBankAccTypeTypeһʻ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_VBAT_BankBook '1'
+///
+#define THOST_FTDC_VBAT_BankCard '2'
+///ÿ
+#define THOST_FTDC_VBAT_CreditCard '3'
+
+typedef char TThostFtdcVirBankAccTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcVirementStatusTypeһʻ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_VMS_Natural '0'
+///
+#define THOST_FTDC_VMS_Canceled '9'
+
+typedef char TThostFtdcVirementStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcVirementAvailAbilityTypeһЧ־
+/////////////////////////////////////////////////////////////////////////
+///δȷ
+#define THOST_FTDC_VAA_NoAvailAbility '0'
+///Ч
+#define THOST_FTDC_VAA_AvailAbility '1'
+///
+#define THOST_FTDC_VAA_Repeal '2'
+
+typedef char TThostFtdcVirementAvailAbilityType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcVirementTradeCodeTypeһ״
+/////////////////////////////////////////////////////////////////////////
+///зʽתڻ
+#define THOST_FTDC_VTC_BankBankToFuture '102001'
+///зڻʽת
+#define THOST_FTDC_VTC_BankFutureToBank '102002'
+///ڻʽתڻ
+#define THOST_FTDC_VTC_FutureBankToFuture '202001'
+///ڻڻʽת
+#define THOST_FTDC_VTC_FutureFutureToBank '202002'
+
+typedef char TThostFtdcVirementTradeCodeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPhotoTypeNameTypeһӰ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcPhotoTypeNameType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPhotoTypeIDTypeһӰʹ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcPhotoTypeIDType[5];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPhotoNameTypeһӰ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcPhotoNameType[161];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTopicIDTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcTopicIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcReportTypeIDTypeһױͱʶ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcReportTypeIDType[3];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCharacterIDTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCharacterIDType[5];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLParamIDTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLParamIDType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLInvestorTypeTypeһͶ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLInvestorTypeType[3];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLIdCardTypeTypeһ֤
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLIdCardTypeType[3];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLTradeDirectTypeһʽ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLTradeDirectType[3];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLTradeModelTypeһʽʽ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLTradeModelType[3];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLParamIDTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLParamIDType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLOpParamValueTypeһҵֵ
+/////////////////////////////////////////////////////////////////////////
+typedef double TThostFtdcAMLOpParamValueType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLCustomerCardTypeTypeһͻ֤/֤ļ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLCustomerCardTypeType[81];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLInstitutionNameTypeһڻ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLInstitutionNameType[65];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLDistrictIDTypeһڻڵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLDistrictIDType[7];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLRelationShipTypeһڻĹϵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLRelationShipType[3];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLInstitutionTypeTypeһڻ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLInstitutionTypeType[3];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLInstitutionIDTypeһڻ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLInstitutionIDType[13];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLAccountTypeTypeһ˻
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLAccountTypeType[5];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLTradingTypeTypeһʽ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLTradingTypeType[7];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLTransactClassTypeһ֧
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLTransactClassType[7];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLCapitalIOTypeһʽոʶ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLCapitalIOType[3];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLSiteTypeһص
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLSiteType[10];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLCapitalPurposeTypeһʽ;
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLCapitalPurposeType[129];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLReportTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLReportTypeType[2];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLSerialNoTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLSerialNoType[5];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLStatusTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLStatusType[2];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLGenStatusTypeһAmlɷʽ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_GEN_Program '0'
+///˹
+#define THOST_FTDC_GEN_HandWork '1'
+
+typedef char TThostFtdcAMLGenStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLSeqCodeTypeһҵʶ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLSeqCodeType[65];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLFileNameTypeһAMLļ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLFileNameType[257];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLMoneyTypeһϴǮʽ
+/////////////////////////////////////////////////////////////////////////
+typedef double TThostFtdcAMLMoneyType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLFileAmountTypeһϴǮʽ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcAMLFileAmountType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCFMMCKeyTypeһԿ(֤)
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCFMMCKeyType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCFMMCTokenTypeһ(֤)
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCFMMCTokenType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCFMMCKeyKindTypeһ̬Կ(֤)
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_CFMMCKK_REQUEST 'R'
+///CFMMCԶ
+#define THOST_FTDC_CFMMCKK_AUTO 'A'
+///CFMMCֶ
+#define THOST_FTDC_CFMMCKK_MANUAL 'M'
+
+typedef char TThostFtdcCFMMCKeyKindType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLReportNameTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLReportNameType[81];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDBFComdTypeTypeһDBF
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcDBFComdTypeType[65];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDBFComTimeTypeһDBFʱ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcDBFComTimeType[65];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDBFComNoTypeһDBFˮ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcDBFComNoType[17];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDBFFdNameTypeһDBFֶ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcDBFFdNameType[256];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDBFFdContentTypeһDBFֶ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcDBFFdContentType[256];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcIndividualNameTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcIndividualNameType[51];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCurrencyIDTypeһִ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCurrencyIDType[4];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCustNumberTypeһͻ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCustNumberType[36];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOrganCodeTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcOrganCodeType[36];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOrganNameTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcOrganNameType[71];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSuperOrganCodeTypeһϼ,ڻ˾ܲ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcSuperOrganCodeType[12];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSubBranchIDTypeһ֧
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcSubBranchIDType[31];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSubBranchNameTypeһ֧
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcSubBranchNameType[71];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBranchNetCodeTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBranchNetCodeType[31];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBranchNetNameTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBranchNetNameType[71];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOrganFlagTypeһʶ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcOrganFlagType[2];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankCodingForFutureTypeһжڻ˾ı
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBankCodingForFutureType[33];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankReturnCodeTypeһжԷĶ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBankReturnCodeType[7];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPlateReturnCodeTypeһתƽ̨ԷĶ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcPlateReturnCodeType[5];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankSubBranchIDTypeһз֧
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBankSubBranchIDType[31];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFutureBranchIDTypeһڻ֧
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFutureBranchIDType[31];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcReturnCodeTypeһش
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcReturnCodeType[7];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOperatorCodeTypeһԱ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcOperatorCodeType[17];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcClearDepIDTypeһʻ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcClearDepIDType[6];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcClearBrchIDTypeһʻк
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcClearBrchIDType[6];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcClearNameTypeһʻ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcClearNameType[71];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankAccountNameTypeһʻ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBankAccountNameType[71];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInvDepIDTypeһͶ˺Ż
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcInvDepIDType[6];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInvBrchIDTypeһͶк
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcInvBrchIDType[6];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcMessageFormatVersionTypeһϢʽ汾
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcMessageFormatVersionType[36];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDigestTypeһժҪ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcDigestType[36];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAuthenticDataTypeһ֤
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAuthenticDataType[129];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPasswordKeyTypeһԿ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcPasswordKeyType[129];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFutureAccountNameTypeһڻʻ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFutureAccountNameType[129];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcMobilePhoneTypeһֻ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcMobilePhoneType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFutureMainKeyTypeһڻ˾Կ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFutureMainKeyType[129];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFutureWorkKeyTypeһڻ˾Կ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFutureWorkKeyType[129];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFutureTransKeyTypeһڻ˾Կ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFutureTransKeyType[129];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankMainKeyTypeһԿ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBankMainKeyType[129];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankWorkKeyTypeһйԿ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBankWorkKeyType[129];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankTransKeyTypeһдԿ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBankTransKeyType[129];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankServerDescriptionTypeһзϢ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBankServerDescriptionType[129];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAddInfoTypeһϢ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAddInfoType[129];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDescrInfoForReturnCodeTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcDescrInfoForReturnCodeType[129];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCountryCodeTypeһҴ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCountryCodeType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSerialTypeһˮ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcSerialType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPlateSerialTypeһƽ̨ˮ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcPlateSerialType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankSerialTypeһˮ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBankSerialType[13];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCorrectSerialTypeһˮ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcCorrectSerialType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFutureSerialTypeһڻ˾ˮ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcFutureSerialType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcApplicationIDTypeһӦñʶ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcApplicationIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankProxyIDTypeһдʶ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcBankProxyIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBTCoreIDTypeһתʺϵͳʶ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcFBTCoreIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcServerPortTypeһ˿ں
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcServerPortType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRepealedTimesTypeһѾ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcRepealedTimesType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRepealTimeIntervalTypeһʱ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcRepealTimeIntervalType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTotalTimesTypeһÿۼתʴ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcTotalTimesType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBTRequestIDTypeһID
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcFBTRequestIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTIDTypeһID
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcTIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTradeAmountTypeһԪ
+/////////////////////////////////////////////////////////////////////////
+typedef double TThostFtdcTradeAmountType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCustFeeTypeһӦտͻãԪ
+/////////////////////////////////////////////////////////////////////////
+typedef double TThostFtdcCustFeeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFutureFeeTypeһӦڻ˾ãԪ
+/////////////////////////////////////////////////////////////////////////
+typedef double TThostFtdcFutureFeeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSingleMaxAmtTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef double TThostFtdcSingleMaxAmtType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSingleMinAmtTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef double TThostFtdcSingleMinAmtType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTotalAmtTypeһÿۼתʶ
+/////////////////////////////////////////////////////////////////////////
+typedef double TThostFtdcTotalAmtType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCertificationTypeTypeһ֤
+/////////////////////////////////////////////////////////////////////////
+///֤
+#define THOST_FTDC_CFT_IDCard '0'
+///
+#define THOST_FTDC_CFT_Passport '1'
+///֤
+#define THOST_FTDC_CFT_OfficerIDCard '2'
+///ʿ֤
+#define THOST_FTDC_CFT_SoldierIDCard '3'
+///֤
+#define THOST_FTDC_CFT_HomeComingCard '4'
+///ڲ
+#define THOST_FTDC_CFT_HouseholdRegister '5'
+///Ӫҵִպ
+#define THOST_FTDC_CFT_LicenseNo '6'
+///֤֯
+#define THOST_FTDC_CFT_InstitutionCodeCard '7'
+///ʱӪҵִպ
+#define THOST_FTDC_CFT_TempLicenseNo '8'
+///ҵǼ֤
+#define THOST_FTDC_CFT_NoEnterpriseLicenseNo '9'
+///֤
+#define THOST_FTDC_CFT_OtherCard 'x'
+///ܲ
+#define THOST_FTDC_CFT_SuperDepAgree 'a'
+
+typedef char TThostFtdcCertificationTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFileBusinessCodeTypeһļҵ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_FBC_Others '0'
+///ת˽ϸ
+#define THOST_FTDC_FBC_TransferDetails '1'
+///ͻ˻״̬
+#define THOST_FTDC_FBC_CustAccStatus '2'
+///˻ཻϸ
+#define THOST_FTDC_FBC_AccountTradeDetails '3'
+///ڻ˻Ϣϸ
+#define THOST_FTDC_FBC_FutureAccountChangeInfoDetails '4'
+///ͻʽ̨ϸ
+#define THOST_FTDC_FBC_CustMoneyDetail '5'
+///ͻϢϸ
+#define THOST_FTDC_FBC_CustCancelAccountInfo '6'
+///ͻʽ˽
+#define THOST_FTDC_FBC_CustMoneyResult '7'
+///쳣ļ
+#define THOST_FTDC_FBC_OthersExceptionResult '8'
+///ͻϢϸ
+#define THOST_FTDC_FBC_CustInterestNetMoneyDetails '9'
+///ͻʽϸ
+#define THOST_FTDC_FBC_CustMoneySendAndReceiveDetails 'a'
+///˴ʽջ
+#define THOST_FTDC_FBC_CorporationMoneyTotal 'b'
+///ʽջ
+#define THOST_FTDC_FBC_MainbodyMoneyTotal 'c'
+///ܷƽ
+#define THOST_FTDC_FBC_MainPartMonitorData 'd'
+///б
+#define THOST_FTDC_FBC_PreparationMoney 'e'
+///Эʽ
+#define THOST_FTDC_FBC_BankMoneyMonitorData 'f'
+
+typedef char TThostFtdcFileBusinessCodeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCashExchangeCodeTypeһ㳮־
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_CEC_Exchange '1'
+///
+#define THOST_FTDC_CEC_Cash '2'
+
+typedef char TThostFtdcCashExchangeCodeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcYesNoIndicatorTypeһǻʶ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_YNI_Yes '0'
+///
+#define THOST_FTDC_YNI_No '1'
+
+typedef char TThostFtdcYesNoIndicatorType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBanlanceTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+///ǰ
+#define THOST_FTDC_BLT_CurrentMoney '0'
+///
+#define THOST_FTDC_BLT_UsableMoney '1'
+///ȡ
+#define THOST_FTDC_BLT_FetchableMoney '2'
+///
+#define THOST_FTDC_BLT_FreezeMoney '3'
+
+typedef char TThostFtdcBanlanceTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcGenderTypeһԱ
+/////////////////////////////////////////////////////////////////////////
+///δ֪״̬
+#define THOST_FTDC_GD_Unknown '0'
+///
+#define THOST_FTDC_GD_Male '1'
+///Ů
+#define THOST_FTDC_GD_Female '2'
+
+typedef char TThostFtdcGenderType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFeePayFlagTypeһ֧־
+/////////////////////////////////////////////////////////////////////////
+///淽֧
+#define THOST_FTDC_FPF_BEN '0'
+///ɷͷ֧
+#define THOST_FTDC_FPF_OUR '1'
+///ɷͷ֧ķã淽֧ܵķ
+#define THOST_FTDC_FPF_SHA '2'
+
+typedef char TThostFtdcFeePayFlagType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPassWordKeyTypeTypeһԿ
+/////////////////////////////////////////////////////////////////////////
+///Կ
+#define THOST_FTDC_PWKT_ExchangeKey '0'
+///Կ
+#define THOST_FTDC_PWKT_PassWordKey '1'
+///MACԿ
+#define THOST_FTDC_PWKT_MACKey '2'
+///Կ
+#define THOST_FTDC_PWKT_MessageKey '3'
+
+typedef char TThostFtdcPassWordKeyTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBTPassWordTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+///ѯ
+#define THOST_FTDC_PWT_Query '0'
+///ȡ
+#define THOST_FTDC_PWT_Fetch '1'
+///ת
+#define THOST_FTDC_PWT_Transfer '2'
+///
+#define THOST_FTDC_PWT_Trade '3'
+
+typedef char TThostFtdcFBTPassWordTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBTEncryModeTypeһܷʽ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_EM_NoEncry '0'
+///DES
+#define THOST_FTDC_EM_DES '1'
+///3DES
+#define THOST_FTDC_EM_3DES '2'
+
+typedef char TThostFtdcFBTEncryModeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankRepealFlagTypeһг־
+/////////////////////////////////////////////////////////////////////////
+///Զ
+#define THOST_FTDC_BRF_BankNotNeedRepeal '0'
+///дԶ
+#define THOST_FTDC_BRF_BankWaitingRepeal '1'
+///Զ
+#define THOST_FTDC_BRF_BankBeenRepealed '2'
+
+typedef char TThostFtdcBankRepealFlagType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBrokerRepealFlagTypeһ̳־
+/////////////////////////////////////////////////////////////////////////
+///Զ
+#define THOST_FTDC_BRORF_BrokerNotNeedRepeal '0'
+///̴Զ
+#define THOST_FTDC_BRORF_BrokerWaitingRepeal '1'
+///Զ
+#define THOST_FTDC_BRORF_BrokerBeenRepealed '2'
+
+typedef char TThostFtdcBrokerRepealFlagType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInstitutionTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_TS_Bank '0'
+///
+#define THOST_FTDC_TS_Future '1'
+///ȯ
+#define THOST_FTDC_TS_Store '2'
+
+typedef char TThostFtdcInstitutionTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcLastFragmentTypeһƬ־
+/////////////////////////////////////////////////////////////////////////
+///Ƭ
+#define THOST_FTDC_LF_Yes '0'
+///Ƭ
+#define THOST_FTDC_LF_No '1'
+
+typedef char TThostFtdcLastFragmentType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankAccStatusTypeһ˻״̬
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_BAS_Normal '0'
+///
+#define THOST_FTDC_BAS_Freeze '1'
+///ʧ
+#define THOST_FTDC_BAS_ReportLoss '2'
+
+typedef char TThostFtdcBankAccStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcMoneyAccountStatusTypeһʽ˻״̬
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_MAS_Normal '0'
+///
+#define THOST_FTDC_MAS_Cancel '1'
+
+typedef char TThostFtdcMoneyAccountStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcManageStatusTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+///ָ
+#define THOST_FTDC_MSS_Point '0'
+///Ԥָ
+#define THOST_FTDC_MSS_PrePoint '1'
+///ָ
+#define THOST_FTDC_MSS_CancelPoint '2'
+
+typedef char TThostFtdcManageStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSystemTypeTypeһӦϵͳ
+/////////////////////////////////////////////////////////////////////////
+///ת
+#define THOST_FTDC_SYT_FutureBankTransfer '0'
+///֤ת
+#define THOST_FTDC_SYT_StockBankTransfer '1'
+///
+#define THOST_FTDC_SYT_TheThirdPartStore '2'
+
+typedef char TThostFtdcSystemTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTxnEndFlagTypeһתʻת־
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_TEF_NormalProcessing '0'
+///ɹ
+#define THOST_FTDC_TEF_Success '1'
+///ʧܽ
+#define THOST_FTDC_TEF_Failed '2'
+///쳣
+#define THOST_FTDC_TEF_Abnormal '3'
+///˹쳣
+#define THOST_FTDC_TEF_ManualProcessedForException '4'
+///ͨѶ쳣 ˹
+#define THOST_FTDC_TEF_CommuFailedNeedManualProcess '5'
+///ϵͳ˹
+#define THOST_FTDC_TEF_SysErrorNeedManualProcess '6'
+
+typedef char TThostFtdcTxnEndFlagType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcProcessStatusTypeһתʷ״̬
+/////////////////////////////////////////////////////////////////////////
+///δ
+#define THOST_FTDC_PSS_NotProcess '0'
+///ʼ
+#define THOST_FTDC_PSS_StartProcess '1'
+///
+#define THOST_FTDC_PSS_Finished '2'
+
+typedef char TThostFtdcProcessStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCustTypeTypeһͻ
+/////////////////////////////////////////////////////////////////////////
+///Ȼ
+#define THOST_FTDC_CUSTT_Person '0'
+///
+#define THOST_FTDC_CUSTT_Institution '1'
+
+typedef char TThostFtdcCustTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBTTransferDirectionTypeһתʷ
+/////////////////////////////////////////////////////////////////////////
+///תڻ
+#define THOST_FTDC_FBTTD_FromBankToFuture '1'
+///ڻת
+#define THOST_FTDC_FBTTD_FromFutureToBank '2'
+
+typedef char TThostFtdcFBTTransferDirectionType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOpenOrDestroyTypeһ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_OOD_Open '1'
+///
+#define THOST_FTDC_OOD_Destroy '0'
+
+typedef char TThostFtdcOpenOrDestroyType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAvailabilityFlagTypeһЧ־
+/////////////////////////////////////////////////////////////////////////
+///δȷ
+#define THOST_FTDC_AVAF_Invalid '0'
+///Ч
+#define THOST_FTDC_AVAF_Valid '1'
+///
+#define THOST_FTDC_AVAF_Repeal '2'
+
+typedef char TThostFtdcAvailabilityFlagType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOrganTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+///д
+#define THOST_FTDC_OT_Bank '1'
+///ǰ
+#define THOST_FTDC_OT_Future '2'
+///תƽ̨
+#define THOST_FTDC_OT_PlateForm '9'
+
+typedef char TThostFtdcOrganTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOrganLevelTypeһ
+/////////////////////////////////////////////////////////////////////////
+///лܲ
+#define THOST_FTDC_OL_HeadQuarters '1'
+///зĻڻ˾Ӫҵ
+#define THOST_FTDC_OL_Branch '2'
+
+typedef char TThostFtdcOrganLevelType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcProtocalIDTypeһЭ
+/////////////////////////////////////////////////////////////////////////
+///Э
+#define THOST_FTDC_PID_FutureProtocal '0'
+///Э
+#define THOST_FTDC_PID_ICBCProtocal '1'
+///ũЭ
+#define THOST_FTDC_PID_ABCProtocal '2'
+///йЭ
+#define THOST_FTDC_PID_CBCProtocal '3'
+///Э
+#define THOST_FTDC_PID_CCBProtocal '4'
+///Э
+#define THOST_FTDC_PID_BOCOMProtocal '5'
+///תƽ̨Э
+#define THOST_FTDC_PID_FBTPlateFormProtocal 'X'
+
+typedef char TThostFtdcProtocalIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcConnectModeTypeһӷʽ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_CM_ShortConnect '0'
+///
+#define THOST_FTDC_CM_LongConnect '1'
+
+typedef char TThostFtdcConnectModeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSyncModeTypeһͨŷʽ
+/////////////////////////////////////////////////////////////////////////
+///첽
+#define THOST_FTDC_SRM_ASync '0'
+///ͬ
+#define THOST_FTDC_SRM_Sync '1'
+
+typedef char TThostFtdcSyncModeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankAccTypeTypeһʺ
+/////////////////////////////////////////////////////////////////////////
+///д
+#define THOST_FTDC_BAT_BankBook '1'
+///
+#define THOST_FTDC_BAT_SavingCard '2'
+///ÿ
+#define THOST_FTDC_BAT_CreditCard '3'
+
+typedef char TThostFtdcBankAccTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFutureAccTypeTypeһڻ˾ʺ
+/////////////////////////////////////////////////////////////////////////
+///д
+#define THOST_FTDC_FAT_BankBook '1'
+///
+#define THOST_FTDC_FAT_SavingCard '2'
+///ÿ
+#define THOST_FTDC_FAT_CreditCard '3'
+
+typedef char TThostFtdcFutureAccTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOrganStatusTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_OS_Ready '0'
+///ǩ
+#define THOST_FTDC_OS_CheckIn '1'
+///ǩ
+#define THOST_FTDC_OS_CheckOut '2'
+///ļ
+#define THOST_FTDC_OS_CheckFileArrived '3'
+///
+#define THOST_FTDC_OS_CheckDetail '4'
+///
+#define THOST_FTDC_OS_DayEndClean '5'
+///ע
+#define THOST_FTDC_OS_Invalid '9'
+
+typedef char TThostFtdcOrganStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCCBFeeModeTypeһշģʽ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_CCBFM_ByAmount '1'
+///¿
+#define THOST_FTDC_CCBFM_ByMonth '2'
+
+typedef char TThostFtdcCCBFeeModeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCommApiTypeTypeһͨѶAPI
+/////////////////////////////////////////////////////////////////////////
+///ͻ
+#define THOST_FTDC_CAPIT_Client '1'
+///
+#define THOST_FTDC_CAPIT_Server '2'
+///ϵͳUserApi
+#define THOST_FTDC_CAPIT_UserApi '3'
+
+typedef char TThostFtdcCommApiTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcServiceIDTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcServiceIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcServiceLineNoTypeһ·
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcServiceLineNoType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcServiceNameTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcServiceNameType[61];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcLinkStatusTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+///Ѿ
+#define THOST_FTDC_LS_Connected '1'
+///û
+#define THOST_FTDC_LS_Disconnected '2'
+
+typedef char TThostFtdcLinkStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCommApiPointerTypeһͨѶAPIָ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcCommApiPointerType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPwdFlagTypeһ˶Ա־
+/////////////////////////////////////////////////////////////////////////
+///˶
+#define THOST_FTDC_BPWDF_NoCheck '0'
+///ĺ˶
+#define THOST_FTDC_BPWDF_BlankCheck '1'
+///ĺ˶
+#define THOST_FTDC_BPWDF_EncryptCheck '2'
+
+typedef char TThostFtdcPwdFlagType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSecuAccTypeTypeһڻʺ
+/////////////////////////////////////////////////////////////////////////
+///ʽʺ
+#define THOST_FTDC_SAT_AccountID '1'
+///ʽ
+#define THOST_FTDC_SAT_CardID '2'
+///Ϻɶʺ
+#define THOST_FTDC_SAT_SHStockholderID '3'
+///ڹɶʺ
+#define THOST_FTDC_SAT_SZStockholderID '4'
+
+typedef char TThostFtdcSecuAccTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTransferStatusTypeһת˽״̬
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_TRFS_Normal '0'
+///
+#define THOST_FTDC_TRFS_Repealed '1'
+
+typedef char TThostFtdcTransferStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSponsorTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_SPTYPE_Broker '0'
+///
+#define THOST_FTDC_SPTYPE_Bank '1'
+
+typedef char TThostFtdcSponsorTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcReqRspTypeTypeһӦ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_REQRSP_Request '0'
+///Ӧ
+#define THOST_FTDC_REQRSP_Response '1'
+
+typedef char TThostFtdcReqRspTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBTUserEventTypeTypeһתû¼
+/////////////////////////////////////////////////////////////////////////
+///ǩ
+#define THOST_FTDC_FBTUET_SignIn '0'
+///תڻ
+#define THOST_FTDC_FBTUET_FromBankToFuture '1'
+///ڻת
+#define THOST_FTDC_FBTUET_FromFutureToBank '2'
+///
+#define THOST_FTDC_FBTUET_OpenAccount '3'
+///
+#define THOST_FTDC_FBTUET_CancelAccount '4'
+///˻
+#define THOST_FTDC_FBTUET_ChangeAccount '5'
+///תڻ
+#define THOST_FTDC_FBTUET_RepealFromBankToFuture '6'
+///ڻת
+#define THOST_FTDC_FBTUET_RepealFromFutureToBank '7'
+///ѯ˻
+#define THOST_FTDC_FBTUET_QueryBankAccount '8'
+///ѯڻ˻
+#define THOST_FTDC_FBTUET_QueryFutureAccount '9'
+///ǩ
+#define THOST_FTDC_FBTUET_SignOut 'A'
+///Կͬ
+#define THOST_FTDC_FBTUET_SyncKey 'B'
+///
+#define THOST_FTDC_FBTUET_Other 'Z'
+
+typedef char TThostFtdcFBTUserEventTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankIDByBankTypeһԼı
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBankIDByBankType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankOperNoTypeһвԱ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBankOperNoType[4];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankCustNoTypeһпͻ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBankCustNoType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDBOPSeqNoTypeһк
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcDBOPSeqNoType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTableNameTypeһFBT
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcTableNameType[61];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPKNameTypeһFBT
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcPKNameType[201];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPKValueTypeһFBTֵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcPKValueType[501];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDBOperationTypeһ¼
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_DBOP_Insert '0'
+///
+#define THOST_FTDC_DBOP_Update '1'
+///ɾ
+#define THOST_FTDC_DBOP_Delete '2'
+
+typedef char TThostFtdcDBOperationType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSyncFlagTypeһͬ
+/////////////////////////////////////////////////////////////////////////
+///ͬ
+#define THOST_FTDC_SYNF_Yes '0'
+///δͬ
+#define THOST_FTDC_SYNF_No '1'
+
+typedef char TThostFtdcSyncFlagType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTargetIDTypeһͬĿ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcTargetIDType[4];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSyncTypeTypeһͬ
+/////////////////////////////////////////////////////////////////////////
+///һͬ
+#define THOST_FTDC_SYNT_OneOffSync '0'
+///ʱͬ
+#define THOST_FTDC_SYNT_TimerSync '1'
+///ʱȫͬ
+#define THOST_FTDC_SYNT_TimerFullSync '2'
+
+typedef char TThostFtdcSyncTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBETimeTypeһֻʱ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFBETimeType[7];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBEBankNoTypeһк
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFBEBankNoType[13];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBECertNoTypeһƾ֤
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFBECertNoType[13];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcExDirectionTypeһ㷽
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_FBEDIR_Settlement '0'
+///ۻ
+#define THOST_FTDC_FBEDIR_Sale '1'
+
+typedef char TThostFtdcExDirectionType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBEBankAccountTypeһ˻
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFBEBankAccountType[33];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBEBankAccountNameTypeһ˻
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFBEBankAccountNameType[61];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBEAmtTypeһֻ
+/////////////////////////////////////////////////////////////////////////
+typedef double TThostFtdcFBEAmtType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBEBusinessTypeTypeһҵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFBEBusinessTypeType[3];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBEPostScriptTypeһ㸽
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFBEPostScriptType[61];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBERemarkTypeһ㱸ע
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFBERemarkType[71];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcExRateTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef double TThostFtdcExRateType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBEResultFlagTypeһɹ־
+/////////////////////////////////////////////////////////////////////////
+///ɹ
+#define THOST_FTDC_FBERES_Success '0'
+///˻
+#define THOST_FTDC_FBERES_InsufficientBalance '1'
+///δ֪
+#define THOST_FTDC_FBERES_UnknownTrading '8'
+///ʧ
+#define THOST_FTDC_FBERES_Fail 'x'
+
+typedef char TThostFtdcFBEResultFlagType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBERtnMsgTypeһ㷵Ϣ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFBERtnMsgType[61];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBEExtendMsgTypeһչϢ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFBEExtendMsgType[61];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBEBusinessSerialTypeһˮ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFBEBusinessSerialType[31];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBESystemSerialTypeһˮ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFBESystemSerialType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBETotalExCntTypeһ㽻ܱ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcFBETotalExCntType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBEExchStatusTypeһ㽻״̬
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_FBEES_Normal '0'
+///ط
+#define THOST_FTDC_FBEES_ReExchange '1'
+
+typedef char TThostFtdcFBEExchStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBEFileFlagTypeһļ־
+/////////////////////////////////////////////////////////////////////////
+///ݰ
+#define THOST_FTDC_FBEFG_DataPackage '0'
+///ļ
+#define THOST_FTDC_FBEFG_File '1'
+
+typedef char TThostFtdcFBEFileFlagType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBEAlreadyTradeTypeһѽױ־
+/////////////////////////////////////////////////////////////////////////
+///δ
+#define THOST_FTDC_FBEAT_NotTrade '0'
+///ѽ
+#define THOST_FTDC_FBEAT_Trade '1'
+
+typedef char TThostFtdcFBEAlreadyTradeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBEOpenBankTypeһ˻
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFBEOpenBankType[61];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBEUserEventTypeTypeһڻû¼
+/////////////////////////////////////////////////////////////////////////
+///ǩ
+#define THOST_FTDC_FBEUET_SignIn '0'
+///
+#define THOST_FTDC_FBEUET_Exchange '1'
+///ط
+#define THOST_FTDC_FBEUET_ReExchange '2'
+///˻ѯ
+#define THOST_FTDC_FBEUET_QueryBankAccount '3'
+///ϸѯ
+#define THOST_FTDC_FBEUET_QueryExchDetial '4'
+///ܲѯ
+#define THOST_FTDC_FBEUET_QueryExchSummary '5'
+///ʲѯ
+#define THOST_FTDC_FBEUET_QueryExchRate '6'
+///ļ֪ͨ
+#define THOST_FTDC_FBEUET_CheckBankAccount '7'
+///ǩ
+#define THOST_FTDC_FBEUET_SignOut '8'
+///
+#define THOST_FTDC_FBEUET_Other 'Z'
+
+typedef char TThostFtdcFBEUserEventTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBEFileNameTypeһļ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFBEFileNameType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBEBatchSerialTypeһκ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFBEBatchSerialType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBEReqFlagTypeһ㷢ͱ־
+/////////////////////////////////////////////////////////////////////////
+///δ
+#define THOST_FTDC_FBERF_UnProcessed '0'
+///ȴ
+#define THOST_FTDC_FBERF_WaitSend '1'
+///ͳɹ
+#define THOST_FTDC_FBERF_SendSuccess '2'
+///ʧ
+#define THOST_FTDC_FBERF_SendFailed '3'
+///ȴط
+#define THOST_FTDC_FBERF_WaitReSend '4'
+
+typedef char TThostFtdcFBEReqFlagType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcNotifyClassTypeһ֪ͨ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_NC_NOERROR '0'
+///ʾ
+#define THOST_FTDC_NC_Warn '1'
+///
+#define THOST_FTDC_NC_Call '2'
+///ǿƽ
+#define THOST_FTDC_NC_Force '3'
+///
+#define THOST_FTDC_NC_CHUANCANG '4'
+///쳣
+#define THOST_FTDC_NC_Exception '5'
+
+typedef char TThostFtdcNotifyClassType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRiskNofityInfoTypeһͻ֪ͨϢ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcRiskNofityInfoType[257];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcForceCloseSceneIdTypeһǿƽ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcForceCloseSceneIdType[24];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcForceCloseTypeTypeһǿƽ
+/////////////////////////////////////////////////////////////////////////
+///ֹǿƽ
+#define THOST_FTDC_FCT_Manual '0'
+///һͶ߸ǿƽ
+#define THOST_FTDC_FCT_Single '1'
+///Ͷ߸ǿƽ
+#define THOST_FTDC_FCT_Group '2'
+
+typedef char TThostFtdcForceCloseTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInstrumentIDsTypeһƷ,+ָ,cu+zn
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcInstrumentIDsType[101];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRiskNotifyMethodTypeһ֪ͨ;
+/////////////////////////////////////////////////////////////////////////
+///ϵͳ֪ͨ
+#define THOST_FTDC_RNM_System '0'
+///֪ͨ
+#define THOST_FTDC_RNM_SMS '1'
+///ʼ֪ͨ
+#define THOST_FTDC_RNM_EMail '2'
+///˹֪ͨ
+#define THOST_FTDC_RNM_Manual '3'
+
+typedef char TThostFtdcRiskNotifyMethodType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRiskNotifyStatusTypeһ֪ͨ״̬
+/////////////////////////////////////////////////////////////////////////
+///δ
+#define THOST_FTDC_RNS_NotGen '0'
+///δ
+#define THOST_FTDC_RNS_Generated '1'
+///ʧ
+#define THOST_FTDC_RNS_SendError '2'
+///ѷδ
+#define THOST_FTDC_RNS_SendOk '3'
+///ѽδȷ
+#define THOST_FTDC_RNS_Received '4'
+///ȷ
+#define THOST_FTDC_RNS_Confirmed '5'
+
+typedef char TThostFtdcRiskNotifyStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRiskUserEventTypeһû¼
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_RUE_ExportData '0'
+
+typedef char TThostFtdcRiskUserEventType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcParamIDTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcParamIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcParamNameTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcParamNameType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcParamValueTypeһֵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcParamValueType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcConditionalOrderSortTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+///ʹ¼
+#define THOST_FTDC_COST_LastPriceAsc '0'
+///ʹ¼۽
+#define THOST_FTDC_COST_LastPriceDesc '1'
+///ʹ
+#define THOST_FTDC_COST_AskPriceAsc '2'
+///ʹ۽
+#define THOST_FTDC_COST_AskPriceDesc '3'
+///ʹ
+#define THOST_FTDC_COST_BidPriceAsc '4'
+///ʹ۽
+#define THOST_FTDC_COST_BidPriceDesc '5'
+
+typedef char TThostFtdcConditionalOrderSortTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSendTypeTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+///δ
+#define THOST_FTDC_UOAST_NoSend '0'
+///ѷ
+#define THOST_FTDC_UOAST_Sended '1'
+///
+#define THOST_FTDC_UOAST_Generated '2'
+///ʧ
+#define THOST_FTDC_UOAST_SendFail '3'
+///ճɹ
+#define THOST_FTDC_UOAST_Success '4'
+///ʧ
+#define THOST_FTDC_UOAST_Fail '5'
+///ȡ
+#define THOST_FTDC_UOAST_Cancel '6'
+
+typedef char TThostFtdcSendTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcClientIDStatusTypeһױ״̬
+/////////////////////////////////////////////////////////////////////////
+///δ
+#define THOST_FTDC_UOACS_NoApply '1'
+///ύ
+#define THOST_FTDC_UOACS_Submited '2'
+///ѷ
+#define THOST_FTDC_UOACS_Sended '3'
+///
+#define THOST_FTDC_UOACS_Success '4'
+///ܾ
+#define THOST_FTDC_UOACS_Refuse '5'
+///ѳ
+#define THOST_FTDC_UOACS_Cancel '6'
+
+typedef char TThostFtdcClientIDStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcIndustryIDTypeһҵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcIndustryIDType[17];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcQuestionIDTypeһϢ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcQuestionIDType[5];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcQuestionContentTypeһϢ˵
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcQuestionContentType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOptionIDTypeһѡ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcOptionIDType[13];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOptionContentTypeһѡ˵
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcOptionContentType[61];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcQuestionTypeTypeһϢ
+/////////////////////////////////////////////////////////////////////////
+///ѡ
+#define THOST_FTDC_QT_Radio '1'
+///ѡ
+#define THOST_FTDC_QT_Option '2'
+///
+#define THOST_FTDC_QT_Blank '3'
+
+typedef char TThostFtdcQuestionTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcProcessIDTypeһҵˮ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcProcessIDType[33];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSeqNoTypeһˮ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcSeqNoType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUOAProcessStatusTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcUOAProcessStatusType[3];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcProcessTypeTypeһ̹
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcProcessTypeType[3];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBusinessTypeTypeһҵ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_BT_Request '1'
+///Ӧ
+#define THOST_FTDC_BT_Response '2'
+///֪ͨ
+#define THOST_FTDC_BT_Notice '3'
+
+typedef char TThostFtdcBusinessTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCfmmcReturnCodeTypeһķ
+/////////////////////////////////////////////////////////////////////////
+///ɹ
+#define THOST_FTDC_CRC_Success '0'
+///ÿͻѾڴ
+#define THOST_FTDC_CRC_Working '1'
+///пͻϼʧ
+#define THOST_FTDC_CRC_InfoFail '2'
+///ʵƼʧ
+#define THOST_FTDC_CRC_IDCardFail '3'
+///
+#define THOST_FTDC_CRC_OtherFail '4'
+
+typedef char TThostFtdcCfmmcReturnCodeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcExReturnCodeTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcExReturnCodeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcClientTypeTypeһͻ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_CfMMCCT_All '0'
+///
+#define THOST_FTDC_CfMMCCT_Person '1'
+///λ
+#define THOST_FTDC_CfMMCCT_Company '2'
+///
+#define THOST_FTDC_CfMMCCT_Other '3'
+///ⷨ
+#define THOST_FTDC_CfMMCCT_SpecialOrgan '4'
+///ʹܻ
+#define THOST_FTDC_CfMMCCT_Asset '5'
+
+typedef char TThostFtdcClientTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcExchangeIDTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+///Ϻڻ
+#define THOST_FTDC_EIDT_SHFE 'S'
+///֣Ʒ
+#define THOST_FTDC_EIDT_CZCE 'Z'
+///Ʒ
+#define THOST_FTDC_EIDT_DCE 'D'
+///йڻ
+#define THOST_FTDC_EIDT_CFFEX 'J'
+///ϺԴĹɷ˾
+#define THOST_FTDC_EIDT_INE 'N'
+///Ϻ֤ȯ
+#define THOST_FTDC_EIDT_SSE 'A'
+///֤ȯ
+#define THOST_FTDC_EIDT_SZSE 'E'
+
+typedef char TThostFtdcExchangeIDTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcExClientIDTypeTypeһױ
+/////////////////////////////////////////////////////////////////////////
+///ױ
+#define THOST_FTDC_ECIDT_Hedge '1'
+///
+#define THOST_FTDC_ECIDT_Arbitrage '2'
+///Ͷ
+#define THOST_FTDC_ECIDT_Speculation '3'
+
+typedef char TThostFtdcExClientIDTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcClientClassifyTypeһͻ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcClientClassifyType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUOAOrganTypeTypeһλ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcUOAOrganTypeType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUOACountryCodeTypeһҴ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcUOACountryCodeType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAreaCodeTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAreaCodeType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFuturesIDTypeһΪͻĴ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFuturesIDType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCffmcDateTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCffmcDateType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCffmcTimeTypeһʱ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCffmcTimeType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcNocIDTypeһ֯
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcNocIDType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUpdateFlagTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+///δ
+#define THOST_FTDC_UF_NoUpdate '0'
+///ȫϢɹ
+#define THOST_FTDC_UF_Success '1'
+///ȫϢʧ
+#define THOST_FTDC_UF_Fail '2'
+///½ױɹ
+#define THOST_FTDC_UF_TCSuccess '3'
+///½ױʧ
+#define THOST_FTDC_UF_TCFail '4'
+///Ѷ
+#define THOST_FTDC_UF_Cancel '5'
+
+typedef char TThostFtdcUpdateFlagType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcApplyOperateIDTypeһ붯
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_AOID_OpenInvestor '1'
+///Ϣ
+#define THOST_FTDC_AOID_ModifyIDCard '2'
+///һϢ
+#define THOST_FTDC_AOID_ModifyNoIDCard '3'
+///뽻ױ
+#define THOST_FTDC_AOID_ApplyTradingCode '4'
+///ױ
+#define THOST_FTDC_AOID_CancelTradingCode '5'
+///
+#define THOST_FTDC_AOID_CancelInvestor '6'
+///˻
+#define THOST_FTDC_AOID_FreezeAccount '8'
+///˻
+#define THOST_FTDC_AOID_ActiveFreezeAccount '9'
+
+typedef char TThostFtdcApplyOperateIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcApplyStatusIDTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+///δȫ
+#define THOST_FTDC_ASID_NoComplete '1'
+///ύ
+#define THOST_FTDC_ASID_Submited '2'
+///
+#define THOST_FTDC_ASID_Checked '3'
+///Ѿܾ
+#define THOST_FTDC_ASID_Refused '4'
+///ɾ
+#define THOST_FTDC_ASID_Deleted '5'
+
+typedef char TThostFtdcApplyStatusIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSendMethodTypeһͷʽ
+/////////////////////////////////////////////////////////////////////////
+///ļ
+#define THOST_FTDC_UOASM_ByAPI '1'
+///ӷ
+#define THOST_FTDC_UOASM_ByFile '2'
+
+typedef char TThostFtdcSendMethodType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcEventTypeTypeһҵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcEventTypeType[33];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcEventModeTypeһ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_EvM_ADD '1'
+///
+#define THOST_FTDC_EvM_UPDATE '2'
+///ɾ
+#define THOST_FTDC_EvM_DELETE '3'
+///
+#define THOST_FTDC_EvM_CHECK '4'
+///
+#define THOST_FTDC_EvM_COPY '5'
+///ע
+#define THOST_FTDC_EvM_CANCEL '6'
+///
+#define THOST_FTDC_EvM_Reverse '7'
+
+typedef char TThostFtdcEventModeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUOAAutoSendTypeһͳһԶ
+/////////////////////////////////////////////////////////////////////////
+///ԶͲ
+#define THOST_FTDC_UOAA_ASR '1'
+///ԶͣԶ
+#define THOST_FTDC_UOAA_ASNR '2'
+///ԶͣԶ
+#define THOST_FTDC_UOAA_NSAR '3'
+///ԶͣҲԶ
+#define THOST_FTDC_UOAA_NSR '4'
+
+typedef char TThostFtdcUOAAutoSendType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcQueryDepthTypeһѯ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcQueryDepthType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDataCenterIDTypeһĴ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcDataCenterIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFlowIDTypeһID
+/////////////////////////////////////////////////////////////////////////
+///Ͷ߶ӦͶ
+#define THOST_FTDC_EvM_InvestorGroupFlow '1'
+///Ͷ
+#define THOST_FTDC_EvM_InvestorRate '2'
+///Ͷģϵ
+#define THOST_FTDC_EvM_InvestorCommRateModel '3'
+
+typedef char TThostFtdcFlowIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCheckLevelTypeһ˼
+/////////////////////////////////////////////////////////////////////////
+///㼶
+#define THOST_FTDC_CL_Zero '0'
+///һ
+#define THOST_FTDC_CL_One '1'
+///
+#define THOST_FTDC_CL_Two '2'
+
+typedef char TThostFtdcCheckLevelType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCheckNoTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcCheckNoType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCheckStatusTypeһ˼
+/////////////////////////////////////////////////////////////////////////
+///δ
+#define THOST_FTDC_CHS_Init '0'
+///
+#define THOST_FTDC_CHS_Checking '1'
+///Ѹ
+#define THOST_FTDC_CHS_Checked '2'
+///ܾ
+#define THOST_FTDC_CHS_Refuse '3'
+///
+#define THOST_FTDC_CHS_Cancel '4'
+
+typedef char TThostFtdcCheckStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUsedStatusTypeһЧ״̬
+/////////////////////////////////////////////////////////////////////////
+///δЧ
+#define THOST_FTDC_CHU_Unused '0'
+///Ч
+#define THOST_FTDC_CHU_Used '1'
+///Чʧ
+#define THOST_FTDC_CHU_Fail '2'
+
+typedef char TThostFtdcUsedStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRateTemplateNameTypeһģ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcRateTemplateNameType[61];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPropertyStringTypeһڲѯͶֶ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcPropertyStringType[2049];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankAcountOriginTypeһ˻Դ
+/////////////////////////////////////////////////////////////////////////
+///ֹ¼
+#define THOST_FTDC_BAO_ByAccProperty '0'
+///ת
+#define THOST_FTDC_BAO_ByFBTransfer '1'
+
+typedef char TThostFtdcBankAcountOriginType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcMonthBillTradeSumTypeһ㵥±ɽܷʽ
+/////////////////////////////////////////////////////////////////////////
+///ͬͬԼ
+#define THOST_FTDC_MBTS_ByInstrument '0'
+///ͬͬԼͬ۸
+#define THOST_FTDC_MBTS_ByDayInsPrc '1'
+///ͬԼ
+#define THOST_FTDC_MBTS_ByDayIns '2'
+
+typedef char TThostFtdcMonthBillTradeSumType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBTTradeCodeEnumTypeһڽ״ö
+/////////////////////////////////////////////////////////////////////////
+///зתڻ
+#define THOST_FTDC_FTC_BankLaunchBankToBroker '102001'
+///ڻתڻ
+#define THOST_FTDC_FTC_BrokerLaunchBankToBroker '202001'
+///зڻת
+#define THOST_FTDC_FTC_BankLaunchBrokerToBank '102002'
+///ڻڻת
+#define THOST_FTDC_FTC_BrokerLaunchBrokerToBank '202002'
+
+typedef char TThostFtdcFBTTradeCodeEnumType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRateTemplateIDTypeһģʹ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcRateTemplateIDType[9];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRiskRateTypeһն
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcRiskRateType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTimestampTypeһʱ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcTimestampType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInvestorIDRuleNameTypeһŶι
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcInvestorIDRuleNameType[61];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInvestorIDRuleExprTypeһŶιʽ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcInvestorIDRuleExprType[513];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcLastDriftTypeһϴOTPƯֵ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcLastDriftType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcLastSuccessTypeһϴOTPɹֵ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcLastSuccessType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAuthKeyTypeһԿ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAuthKeyType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSerialNumberTypeһк
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcSerialNumberType[17];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOTPTypeTypeһ̬
+/////////////////////////////////////////////////////////////////////////
+///̬
+#define THOST_FTDC_OTP_NONE '0'
+///ʱ
+#define THOST_FTDC_OTP_TOTP '1'
+
+typedef char TThostFtdcOTPTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOTPVendorsIDTypeһ̬ṩ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcOTPVendorsIDType[2];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOTPVendorsNameTypeһ̬ṩ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcOTPVendorsNameType[61];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOTPStatusTypeһ̬״̬
+/////////////////////////////////////////////////////////////////////////
+///δʹ
+#define THOST_FTDC_OTPS_Unused '0'
+///ʹ
+#define THOST_FTDC_OTPS_Used '1'
+///ע
+#define THOST_FTDC_OTPS_Disuse '2'
+
+typedef char TThostFtdcOTPStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBrokerUserTypeTypeһù˾û
+/////////////////////////////////////////////////////////////////////////
+///Ͷ
+#define THOST_FTDC_BUT_Investor '1'
+///Ա
+#define THOST_FTDC_BUT_BrokerUser '2'
+
+typedef char TThostFtdcBrokerUserTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFutureTypeTypeһڻ
+/////////////////////////////////////////////////////////////////////////
+///Ʒڻ
+#define THOST_FTDC_FUTT_Commodity '1'
+///ڻ
+#define THOST_FTDC_FUTT_Financial '2'
+
+typedef char TThostFtdcFutureTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFundEventTypeTypeһʽ
+/////////////////////////////////////////////////////////////////////////
+///ת
+#define THOST_FTDC_FET_Restriction '0'
+///ת
+#define THOST_FTDC_FET_TodayRestriction '1'
+///ˮ
+#define THOST_FTDC_FET_Transfer '2'
+///ʽ
+#define THOST_FTDC_FET_Credit '3'
+///Ͷ߿ʽ
+#define THOST_FTDC_FET_InvestorWithdrawAlm '4'
+///ʻת
+#define THOST_FTDC_FET_BankRestriction '5'
+///ǩԼ˻
+#define THOST_FTDC_FET_Accountregister '6'
+///
+#define THOST_FTDC_FET_ExchangeFundIO '7'
+///Ͷ߳
+#define THOST_FTDC_FET_InvestorFundIO '8'
+
+typedef char TThostFtdcFundEventTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAccountSourceTypeTypeһʽ˻Դ
+/////////////////////////////////////////////////////////////////////////
+///ͬ
+#define THOST_FTDC_AST_FBTransfer '0'
+///ֹ¼
+#define THOST_FTDC_AST_ManualEntry '1'
+
+typedef char TThostFtdcAccountSourceTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCodeSourceTypeTypeһױԴ
+/////////////////////////////////////////////////////////////////////////
+///ͳһ(ѹ淶)
+#define THOST_FTDC_CST_UnifyAccount '0'
+///ֹ¼(δ淶)
+#define THOST_FTDC_CST_ManualEntry '1'
+
+typedef char TThostFtdcCodeSourceTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUserRangeTypeһԱΧ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_UR_All '0'
+///һԱ
+#define THOST_FTDC_UR_Single '1'
+
+typedef char TThostFtdcUserRangeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTimeSpanTypeһʱ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcTimeSpanType[9];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcImportSequenceIDTypeһ̬Ƶα
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcImportSequenceIDType[17];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcByGroupTypeһͳƱͻͳƷʽ
+/////////////////////////////////////////////////////////////////////////
+///Ͷͳ
+#define THOST_FTDC_BG_Investor '2'
+///ͳ
+#define THOST_FTDC_BG_Group '1'
+
+typedef char TThostFtdcByGroupType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTradeSumStatModeTypeһͳƱΧͳƷʽ
+/////////////////////////////////////////////////////////////////////////
+///Լͳ
+#define THOST_FTDC_TSSM_Instrument '1'
+///Ʒͳ
+#define THOST_FTDC_TSSM_Product '2'
+///ͳ
+#define THOST_FTDC_TSSM_Exchange '3'
+
+typedef char TThostFtdcTradeSumStatModeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcComTypeTypeһϳɽ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcComTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUserProductIDTypeһƷʶ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcUserProductIDType[33];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUserProductNameTypeһƷ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcUserProductNameType[65];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUserProductMemoTypeһƷ˵
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcUserProductMemoType[129];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCCancelFlagTypeһ־
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCCancelFlagType[2];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCDateTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCDateType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCInvestorNameTypeһͻ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCInvestorNameType[201];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCOpenInvestorNameTypeһͻ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCOpenInvestorNameType[101];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCInvestorIDTypeһͻ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCInvestorIDType[13];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCIdentifiedCardNoTypeһ֤
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCIdentifiedCardNoType[51];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCClientIDTypeһױ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCClientIDType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCBankFlagTypeһбʶ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCBankFlagType[3];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCBankAccountTypeһ˻
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCBankAccountType[23];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCOpenNameTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCOpenNameType[401];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCMemoTypeһ˵
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCMemoType[101];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCTimeTypeһʱ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCTimeType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCTradeIDTypeһɽˮ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCTradeIDType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCExchangeInstIDTypeһԼ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCExchangeInstIDType[31];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCMortgageNameTypeһѺƷ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCMortgageNameType[7];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCReasonTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCReasonType[3];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcIsSettlementTypeһǷΪǽԱ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcIsSettlementType[2];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCMoneyTypeһʽ
+/////////////////////////////////////////////////////////////////////////
+typedef double TThostFtdcCSRCMoneyType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCPriceTypeһ۸
+/////////////////////////////////////////////////////////////////////////
+typedef double TThostFtdcCSRCPriceType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCOptionsTypeTypeһȨ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCOptionsTypeType[2];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCStrikePriceTypeһִм
+/////////////////////////////////////////////////////////////////////////
+typedef double TThostFtdcCSRCStrikePriceType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCTargetProductIDTypeһƷ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCTargetProductIDType[3];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCTargetInstrIDTypeһĺԼ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCTargetInstrIDType[31];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCommModelNameTypeһģ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCommModelNameType[161];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCommModelMemoTypeһģ屸ע
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCommModelMemoType[1025];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcExprSetModeTypeһڱʽ
+/////////////////////////////////////////////////////////////////////////
+///й
+#define THOST_FTDC_ESM_Relative '1'
+///
+#define THOST_FTDC_ESM_Typical '2'
+
+typedef char TThostFtdcExprSetModeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRateInvestorRangeTypeһͶ߷Χ
+/////////////////////////////////////////////////////////////////////////
+///˾
+#define THOST_FTDC_RIR_All '1'
+///ģ
+#define THOST_FTDC_RIR_Model '2'
+///һͶ
+#define THOST_FTDC_RIR_Single '3'
+
+typedef char TThostFtdcRateInvestorRangeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAgentBrokerIDTypeһ˾
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAgentBrokerIDType[13];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDRIdentityIDTypeһĴ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcDRIdentityIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDRIdentityNameTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcDRIdentityNameType[65];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDBLinkIDTypeһDBLinkʶ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcDBLinkIDType[31];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSyncDataStatusTypeһϵͳͬ״̬
+/////////////////////////////////////////////////////////////////////////
+///δͬ
+#define THOST_FTDC_SDS_Initialize '0'
+///ͬ
+#define THOST_FTDC_SDS_Settlementing '1'
+///ͬ
+#define THOST_FTDC_SDS_Settlemented '2'
+
+typedef char TThostFtdcSyncDataStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTradeSourceTypeһɽԴ
+/////////////////////////////////////////////////////////////////////////
+///Խͨر
+#define THOST_FTDC_TSRC_NORMAL '0'
+///Բѯ
+#define THOST_FTDC_TSRC_QUERY '1'
+
+typedef char TThostFtdcTradeSourceType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFlexStatModeTypeһƷԼͳƷʽ
+/////////////////////////////////////////////////////////////////////////
+///Ʒͳ
+#define THOST_FTDC_FSM_Product '1'
+///ͳ
+#define THOST_FTDC_FSM_Exchange '2'
+///ͳ
+#define THOST_FTDC_FSM_All '3'
+
+typedef char TThostFtdcFlexStatModeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcByInvestorRangeTypeһͶ߷ΧͳƷʽ
+/////////////////////////////////////////////////////////////////////////
+///ͳ
+#define THOST_FTDC_BIR_Property '1'
+///ͳ
+#define THOST_FTDC_BIR_All '2'
+
+typedef char TThostFtdcByInvestorRangeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSRiskRateTypeһն
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcSRiskRateType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSequenceNo12Typeһ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcSequenceNo12Type;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPropertyInvestorRangeTypeһͶ߷Χ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_PIR_All '1'
+///Ͷ
+#define THOST_FTDC_PIR_Property '2'
+///һͶ
+#define THOST_FTDC_PIR_Single '3'
+
+typedef char TThostFtdcPropertyInvestorRangeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFileStatusTypeһļ״̬
+/////////////////////////////////////////////////////////////////////////
+///δ
+#define THOST_FTDC_FIS_NoCreate '0'
+///
+#define THOST_FTDC_FIS_Created '1'
+///ʧ
+#define THOST_FTDC_FIS_Failed '2'
+
+typedef char TThostFtdcFileStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFileGenStyleTypeһļɷʽ
+/////////////////////////////////////////////////////////////////////////
+///·
+#define THOST_FTDC_FGS_FileTransmit '0'
+///
+#define THOST_FTDC_FGS_FileGen '1'
+
+typedef char TThostFtdcFileGenStyleType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSysOperModeTypeһϵͳ־
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_SoM_Add '1'
+///
+#define THOST_FTDC_SoM_Update '2'
+///ɾ
+#define THOST_FTDC_SoM_Delete '3'
+///
+#define THOST_FTDC_SoM_Copy '4'
+///
+#define THOST_FTDC_SoM_AcTive '5'
+///ע
+#define THOST_FTDC_SoM_CanCel '6'
+///
+#define THOST_FTDC_SoM_ReSet '7'
+
+typedef char TThostFtdcSysOperModeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSysOperTypeTypeһϵͳ־
+/////////////////////////////////////////////////////////////////////////
+///IJԱ
+#define THOST_FTDC_SoT_UpdatePassword '0'
+///Աܹ֯ϵ
+#define THOST_FTDC_SoT_UserDepartment '1'
+///ɫ
+#define THOST_FTDC_SoT_RoleManager '2'
+///ɫ
+#define THOST_FTDC_SoT_RoleFunction '3'
+///
+#define THOST_FTDC_SoT_BaseParam '4'
+///òԱ
+#define THOST_FTDC_SoT_SetUserID '5'
+///ûɫ
+#define THOST_FTDC_SoT_SetUserRole '6'
+///ûIP
+#define THOST_FTDC_SoT_UserIpRestriction '7'
+///ܹ֯
+#define THOST_FTDC_SoT_DepartmentManager '8'
+///ܹ֯ѯิ
+#define THOST_FTDC_SoT_DepartmentCopy '9'
+///ױ
+#define THOST_FTDC_SoT_Tradingcode 'A'
+///Ͷ״̬ά
+#define THOST_FTDC_SoT_InvestorStatus 'B'
+///ͶȨ
+#define THOST_FTDC_SoT_InvestorAuthority 'C'
+///
+#define THOST_FTDC_SoT_PropertySet 'D'
+///Ͷ
+#define THOST_FTDC_SoT_ReSetInvestorPasswd 'E'
+///Ͷ߸Ϣά
+#define THOST_FTDC_SoT_InvestorPersonalityInfo 'F'
+
+typedef char TThostFtdcSysOperTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCDataQueyTypeTypeһϱݲѯ
+/////////////////////////////////////////////////////////////////////////
+///ѯǰձ͵
+#define THOST_FTDC_CSRCQ_Current '0'
+///ѯʷ͵Ĵ˾
+#define THOST_FTDC_CSRCQ_History '1'
+
+typedef char TThostFtdcCSRCDataQueyTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFreezeStatusTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+///Ծ
+#define THOST_FTDC_FRS_Normal '1'
+///
+#define THOST_FTDC_FRS_Freeze '0'
+
+typedef char TThostFtdcFreezeStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcStandardStatusTypeһ淶״̬
+/////////////////////////////////////////////////////////////////////////
+///ѹ淶
+#define THOST_FTDC_STST_Standard '0'
+///δ淶
+#define THOST_FTDC_STST_NonStandard '1'
+
+typedef char TThostFtdcStandardStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCFreezeStatusTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCFreezeStatusType[2];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRightParamTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_RPT_Freeze '1'
+///
+#define THOST_FTDC_RPT_FreezeActive '2'
+///Ȩ
+#define THOST_FTDC_RPT_OpenLimit '3'
+///Ȩ
+#define THOST_FTDC_RPT_RelieveOpenLimit '4'
+
+typedef char TThostFtdcRightParamTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRightTemplateIDTypeһģ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcRightTemplateIDType[9];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRightTemplateNameTypeһģ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcRightTemplateNameType[61];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDataStatusTypeһϴǮ˱״̬
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_AMLDS_Normal '0'
+///ɾ
+#define THOST_FTDC_AMLDS_Deleted '1'
+
+typedef char TThostFtdcDataStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLCheckStatusTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+///δ
+#define THOST_FTDC_AMLCHS_Init '0'
+///
+#define THOST_FTDC_AMLCHS_Checking '1'
+///Ѹ
+#define THOST_FTDC_AMLCHS_Checked '2'
+///ܾϱ
+#define THOST_FTDC_AMLCHS_RefuseReport '3'
+
+typedef char TThostFtdcAMLCheckStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAmlDateTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_AMLDT_DrawDay '0'
+///
+#define THOST_FTDC_AMLDT_TouchDay '1'
+
+typedef char TThostFtdcAmlDateTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAmlCheckLevelTypeһ˼
+/////////////////////////////////////////////////////////////////////////
+///㼶
+#define THOST_FTDC_AMLCL_CheckLevel0 '0'
+///һ
+#define THOST_FTDC_AMLCL_CheckLevel1 '1'
+///
+#define THOST_FTDC_AMLCL_CheckLevel2 '2'
+///
+#define THOST_FTDC_AMLCL_CheckLevel3 '3'
+
+typedef char TThostFtdcAmlCheckLevelType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAmlCheckFlowTypeһϴǮݳȡ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAmlCheckFlowType[2];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDataTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcDataTypeType[129];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcExportFileTypeTypeһļ
+/////////////////////////////////////////////////////////////////////////
+///CSV
+#define THOST_FTDC_EFT_CSV '0'
+///Excel
+#define THOST_FTDC_EFT_EXCEL '1'
+///DBF
+#define THOST_FTDC_EFT_DBF '2'
+
+typedef char TThostFtdcExportFileTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSettleManagerTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+///ǰ
+#define THOST_FTDC_SMT_Before '1'
+///
+#define THOST_FTDC_SMT_Settlement '2'
+///˶
+#define THOST_FTDC_SMT_After '3'
+///
+#define THOST_FTDC_SMT_Settlemented '4'
+
+typedef char TThostFtdcSettleManagerTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSettleManagerIDTypeһô
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcSettleManagerIDType[33];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSettleManagerNameTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcSettleManagerNameType[129];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSettleManagerLevelTypeһõȼ
+/////////////////////////////////////////////////////////////////////////
+///Ҫ
+#define THOST_FTDC_SML_Must '1'
+///
+#define THOST_FTDC_SML_Alarm '2'
+///ʾ
+#define THOST_FTDC_SML_Prompt '3'
+///
+#define THOST_FTDC_SML_Ignore '4'
+
+typedef char TThostFtdcSettleManagerLevelType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSettleManagerGroupTypeһģ
+/////////////////////////////////////////////////////////////////////////
+///˶
+#define THOST_FTDC_SMG_Exhcange '1'
+///ڲ˶
+#define THOST_FTDC_SMG_ASP '2'
+///ϱݺ˶
+#define THOST_FTDC_SMG_CSRC '3'
+
+typedef char TThostFtdcSettleManagerGroupType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCheckResultMemoTypeһ˶Խ˵
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCheckResultMemoType[1025];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFunctionUrlTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFunctionUrlType[1025];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAuthInfoTypeһͻ֤Ϣ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAuthInfoType[129];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAuthCodeTypeһͻ֤
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAuthCodeType[17];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcLimitUseTypeTypeһֵʹ
+/////////////////////////////////////////////////////////////////////////
+///ظʹ
+#define THOST_FTDC_LUT_Repeatable '1'
+///ظʹ
+#define THOST_FTDC_LUT_Unrepeatable '2'
+
+typedef char TThostFtdcLimitUseTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDataResourceTypeһԴ
+/////////////////////////////////////////////////////////////////////////
+///ϵͳ
+#define THOST_FTDC_DAR_Settle '1'
+///
+#define THOST_FTDC_DAR_Exchange '2'
+///
+#define THOST_FTDC_DAR_CSRC '3'
+
+typedef char TThostFtdcDataResourceType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcMarginTypeTypeһ֤
+/////////////////////////////////////////////////////////////////////////
+///֤
+#define THOST_FTDC_MGT_ExchMarginRate '0'
+///Ͷ֤߱
+#define THOST_FTDC_MGT_InstrMarginRate '1'
+///Ͷ߽ױ֤
+#define THOST_FTDC_MGT_InstrMarginRateTrade '2'
+
+typedef char TThostFtdcMarginTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcActiveTypeTypeһЧ
+/////////////////////////////////////////////////////////////////////////
+///Ч
+#define THOST_FTDC_ACT_Intraday '1'
+///Ч
+#define THOST_FTDC_ACT_Long '2'
+
+typedef char TThostFtdcActiveTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcMarginRateTypeTypeһͻ֤
+/////////////////////////////////////////////////////////////////////////
+///֤
+#define THOST_FTDC_MRT_Exchange '1'
+///Ͷ֤߱
+#define THOST_FTDC_MRT_Investor '2'
+///Ͷ߽ױ֤
+#define THOST_FTDC_MRT_InvestorTrade '3'
+
+typedef char TThostFtdcMarginRateTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBackUpStatusTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+///δɱ
+#define THOST_FTDC_BUS_UnBak '0'
+///
+#define THOST_FTDC_BUS_BakUp '1'
+///ɱ
+#define THOST_FTDC_BUS_BakUped '2'
+///ʧ
+#define THOST_FTDC_BUS_BakFail '3'
+
+typedef char TThostFtdcBackUpStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInitSettlementTypeһʼ״̬
+/////////////////////////////////////////////////////////////////////////
+///ʼδʼ
+#define THOST_FTDC_SIS_UnInitialize '0'
+///ʼ
+#define THOST_FTDC_SIS_Initialize '1'
+///ʼ
+#define THOST_FTDC_SIS_Initialized '2'
+
+typedef char TThostFtdcInitSettlementType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcReportStatusTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+///δɱ
+#define THOST_FTDC_SRS_NoCreate '0'
+///
+#define THOST_FTDC_SRS_Create '1'
+///ɱ
+#define THOST_FTDC_SRS_Created '2'
+///ɱʧ
+#define THOST_FTDC_SRS_CreateFail '3'
+
+typedef char TThostFtdcReportStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSaveStatusTypeһݹ鵵״̬
+/////////////////////////////////////////////////////////////////////////
+///鵵δ
+#define THOST_FTDC_SSS_UnSaveData '0'
+///鵵
+#define THOST_FTDC_SSS_SaveDatad '1'
+
+typedef char TThostFtdcSaveStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSettArchiveStatusTypeһȷݹ鵵״̬
+/////////////////////////////////////////////////////////////////////////
+///δ鵵
+#define THOST_FTDC_SAS_UnArchived '0'
+///ݹ鵵
+#define THOST_FTDC_SAS_Archiving '1'
+///ѹ鵵
+#define THOST_FTDC_SAS_Archived '2'
+///鵵ʧ
+#define THOST_FTDC_SAS_ArchiveFail '3'
+
+typedef char TThostFtdcSettArchiveStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCTPTypeTypeһCTPϵͳ
+/////////////////////////////////////////////////////////////////////////
+///δ֪
+#define THOST_FTDC_CTPT_Unkown '0'
+///
+#define THOST_FTDC_CTPT_MainCenter '1'
+///
+#define THOST_FTDC_CTPT_BackUp '2'
+
+typedef char TThostFtdcCTPTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcToolIDTypeһߴ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcToolIDType[9];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcToolNameTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcToolNameType[81];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCloseDealTypeTypeһƽִ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_CDT_Normal '0'
+///Ͷƽ
+#define THOST_FTDC_CDT_SpecFirst '1'
+
+typedef char TThostFtdcCloseDealTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcMortgageFundUseRangeTypeһѺʽ÷Χ
+/////////////////////////////////////////////////////////////////////////
+///ʹ
+#define THOST_FTDC_MFUR_None '0'
+///ڱ֤
+#define THOST_FTDC_MFUR_Margin '1'
+///ѡӯ֤
+#define THOST_FTDC_MFUR_All '2'
+
+typedef char TThostFtdcMortgageFundUseRangeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCurrencyUnitTypeһֵλ
+/////////////////////////////////////////////////////////////////////////
+typedef double TThostFtdcCurrencyUnitType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcExchangeRateTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef double TThostFtdcExchangeRateType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSpecProductTypeTypeһƷ
+/////////////////////////////////////////////////////////////////////////
+///֣ױƷ
+#define THOST_FTDC_SPT_CzceHedge '1'
+///ѺƷ
+#define THOST_FTDC_SPT_IneForeignCurrency '2'
+///߿ƽֲƷ
+#define THOST_FTDC_SPT_DceOpenClose '3'
+
+typedef char TThostFtdcSpecProductTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFundMortgageTypeTypeһѺ
+/////////////////////////////////////////////////////////////////////////
+///Ѻ
+#define THOST_FTDC_FMT_Mortgage '1'
+///
+#define THOST_FTDC_FMT_Redemption '2'
+
+typedef char TThostFtdcFundMortgageTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAccountSettlementParamIDTypeһͶ˻
+/////////////////////////////////////////////////////////////////////////
+///֤
+#define THOST_FTDC_ASPI_BaseMargin '1'
+///Ȩ
+#define THOST_FTDC_ASPI_LowestInterest '2'
+
+typedef char TThostFtdcAccountSettlementParamIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCurrencyNameTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCurrencyNameType[31];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCurrencySignTypeһַ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCurrencySignType[4];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFundMortDirectionTypeһѺ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_FMD_In '1'
+///ʳ
+#define THOST_FTDC_FMD_Out '2'
+
+typedef char TThostFtdcFundMortDirectionType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBusinessClassTypeһ
+/////////////////////////////////////////////////////////////////////////
+///ӯ
+#define THOST_FTDC_BT_Profit '0'
+///
+#define THOST_FTDC_BT_Loss '1'
+///
+#define THOST_FTDC_BT_Other 'Z'
+
+typedef char TThostFtdcBusinessClassType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSwapSourceTypeTypeһԴ
+/////////////////////////////////////////////////////////////////////////
+///ֹ
+#define THOST_FTDC_SST_Manual '0'
+///Զ
+#define THOST_FTDC_SST_Automatic '1'
+
+typedef char TThostFtdcSwapSourceTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCurrExDirectionTypeһ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_CED_Settlement '0'
+///ۻ
+#define THOST_FTDC_CED_Sale '1'
+
+typedef char TThostFtdcCurrExDirectionType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCurrencySwapStatusTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+///¼
+#define THOST_FTDC_CSS_Entry '1'
+///
+#define THOST_FTDC_CSS_Approve '2'
+///Ѿܾ
+#define THOST_FTDC_CSS_Refuse '3'
+///ѳ
+#define THOST_FTDC_CSS_Revoke '4'
+///ѷ
+#define THOST_FTDC_CSS_Send '5'
+///ɹ
+#define THOST_FTDC_CSS_Success '6'
+///ʧ
+#define THOST_FTDC_CSS_Failure '7'
+
+typedef char TThostFtdcCurrencySwapStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCurrExchCertNoTypeһƾ֤
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCurrExchCertNoType[13];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBatchSerialNoTypeһκ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBatchSerialNoType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcReqFlagTypeһ㷢ͱ־
+/////////////////////////////////////////////////////////////////////////
+///δ
+#define THOST_FTDC_REQF_NoSend '0'
+///ͳɹ
+#define THOST_FTDC_REQF_SendSuccess '1'
+///ʧ
+#define THOST_FTDC_REQF_SendFailed '2'
+///ȴط
+#define THOST_FTDC_REQF_WaitReSend '3'
+
+typedef char TThostFtdcReqFlagType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcResFlagTypeһ㷵سɹ־
+/////////////////////////////////////////////////////////////////////////
+///ɹ
+#define THOST_FTDC_RESF_Success '0'
+///˻
+#define THOST_FTDC_RESF_InsuffiCient '1'
+///δ֪
+#define THOST_FTDC_RESF_UnKnown '8'
+
+typedef char TThostFtdcResFlagType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPageControlTypeһҳ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcPageControlType[2];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRecordCountTypeһ¼
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcRecordCountType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCurrencySwapMemoTypeһȷϢ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCurrencySwapMemoType[101];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcExStatusTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+///ǰ
+#define THOST_FTDC_EXS_Before '0'
+///ĺ
+#define THOST_FTDC_EXS_After '1'
+
+typedef char TThostFtdcExStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcClientRegionTypeһͻ
+/////////////////////////////////////////////////////////////////////////
+///ڿͻ
+#define THOST_FTDC_CR_Domestic '1'
+///۰̨ͻ
+#define THOST_FTDC_CR_GMT '2'
+///ͻ
+#define THOST_FTDC_CR_Foreign '3'
+
+typedef char TThostFtdcClientRegionType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcWorkPlaceTypeһλ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcWorkPlaceType[101];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBusinessPeriodTypeһӪ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBusinessPeriodType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcWebSiteTypeһַ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcWebSiteType[101];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUOAIdCardTypeTypeһͳһ֤
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcUOAIdCardTypeType[3];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcClientModeTypeһģʽ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcClientModeType[3];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInvestorFullNameTypeһͶȫ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcInvestorFullNameType[101];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUOABrokerIDTypeһнID
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcUOABrokerIDType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUOAZipCodeTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcUOAZipCodeType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUOAEMailTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcUOAEMailType[101];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOldCityTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcOldCityType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCorporateIdentifiedCardNoTypeһ˴֤
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCorporateIdentifiedCardNoType[101];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcHasBoardTypeһǷж»
+/////////////////////////////////////////////////////////////////////////
+///û
+#define THOST_FTDC_HB_No '0'
+///
+#define THOST_FTDC_HB_Yes '1'
+
+typedef char TThostFtdcHasBoardType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcStartModeTypeһģʽ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_SM_Normal '1'
+///Ӧ
+#define THOST_FTDC_SM_Emerge '2'
+///ָ
+#define THOST_FTDC_SM_Restore '3'
+
+typedef char TThostFtdcStartModeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTemplateTypeTypeһģ
+/////////////////////////////////////////////////////////////////////////
+///ȫ
+#define THOST_FTDC_TPT_Full '1'
+///
+#define THOST_FTDC_TPT_Increment '2'
+///
+#define THOST_FTDC_TPT_BackUp '3'
+
+typedef char TThostFtdcTemplateTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcLoginModeTypeһ¼ģʽ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_LM_Trade '0'
+///ת
+#define THOST_FTDC_LM_Transfer '1'
+
+typedef char TThostFtdcLoginModeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPromptTypeTypeһʾ
+/////////////////////////////////////////////////////////////////////////
+///Լ
+#define THOST_FTDC_CPT_Instrument '1'
+///ֶ֤Ч
+#define THOST_FTDC_CPT_Margin '2'
+
+typedef char TThostFtdcPromptTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcLedgerManageIDTypeһֻʲ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcLedgerManageIDType[51];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInvestVarietyTypeһͶƷ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcInvestVarietyType[101];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankAccountTypeTypeһ˻
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBankAccountTypeType[2];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcLedgerManageBankTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcLedgerManageBankType[101];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCffexDepartmentNameTypeһӪҵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCffexDepartmentNameType[101];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCffexDepartmentCodeTypeһӪҵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCffexDepartmentCodeType[9];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcHasTrusteeTypeһǷй
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_HT_Yes '1'
+///û
+#define THOST_FTDC_HT_No '0'
+
+typedef char TThostFtdcHasTrusteeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCMemo1Typeһ˵
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCMemo1Type[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAssetmgrCFullNameTypeһʲҵڻ˾ȫ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAssetmgrCFullNameType[101];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAssetmgrApprovalNOTypeһʲҵĺ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAssetmgrApprovalNOType[51];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAssetmgrMgrNameTypeһʲҵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAssetmgrMgrNameType[401];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAmTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_AMT_Bank '1'
+///֤ȯ˾
+#define THOST_FTDC_AMT_Securities '2'
+///˾
+#define THOST_FTDC_AMT_Fund '3'
+///չ˾
+#define THOST_FTDC_AMT_Insurance '4'
+///й˾
+#define THOST_FTDC_AMT_Trust '5'
+///
+#define THOST_FTDC_AMT_Other '9'
+
+typedef char TThostFtdcAmTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCAmTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCAmTypeType[5];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCFundIOTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_CFIOT_FundIO '0'
+///ڻ
+#define THOST_FTDC_CFIOT_SwapCurrency '1'
+
+typedef char TThostFtdcCSRCFundIOTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCusAccountTypeTypeһ˻
+/////////////////////////////////////////////////////////////////////////
+///ڻ˻
+#define THOST_FTDC_CAT_Futures '1'
+///ڻʹҵµʹܽ˻
+#define THOST_FTDC_CAT_AssetmgrFuture '2'
+///ۺʹҵµڻʹй˻
+#define THOST_FTDC_CAT_AssetmgrTrustee '3'
+///ۺʹҵµʽת˻
+#define THOST_FTDC_CAT_AssetmgrTransfer '4'
+
+typedef char TThostFtdcCusAccountTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCNationalTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCNationalType[4];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCSecAgentIDTypeһID
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCSecAgentIDType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcLanguageTypeTypeһ֪ͨ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_LT_Chinese '1'
+///Ӣ
+#define THOST_FTDC_LT_English '2'
+
+typedef char TThostFtdcLanguageTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAmAccountTypeһͶ˻
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAmAccountType[23];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAssetmgrClientTypeTypeһʲͻ
+/////////////////////////////////////////////////////////////////////////
+///ʹܿͻ
+#define THOST_FTDC_AMCT_Person '1'
+///λʹܿͻ
+#define THOST_FTDC_AMCT_Organ '2'
+///ⵥλʹܿͻ
+#define THOST_FTDC_AMCT_SpecialOrgan '4'
+
+typedef char TThostFtdcAssetmgrClientTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAssetmgrTypeTypeһͶ
+/////////////////////////////////////////////////////////////////////////
+///ڻ
+#define THOST_FTDC_ASST_Futures '3'
+///ۺ
+#define THOST_FTDC_ASST_SpecialOrgan '4'
+
+typedef char TThostFtdcAssetmgrTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUOMTypeһλ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcUOMType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSHFEInstLifePhaseTypeһԼ״̬
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcSHFEInstLifePhaseType[3];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSHFEProductClassTypeһƷ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcSHFEProductClassType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPriceDecimalTypeһ۸Сλ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcPriceDecimalType[2];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInTheMoneyFlagTypeһƽֵȨ־
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcInTheMoneyFlagType[2];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCheckInstrTypeTypeһԼȽ
+/////////////////////////////////////////////////////////////////////////
+///Լ
+#define THOST_FTDC_CIT_HasExch '0'
+///Լϵͳ
+#define THOST_FTDC_CIT_HasATP '1'
+///ԼȽϲһ
+#define THOST_FTDC_CIT_HasDiff '2'
+
+typedef char TThostFtdcCheckInstrTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDeliveryTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+///ֹ
+#define THOST_FTDC_DT_HandDeliv '1'
+///ڽ
+#define THOST_FTDC_DT_PersonDeliv '2'
+
+typedef char TThostFtdcDeliveryTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBigMoneyTypeһʽ
+/////////////////////////////////////////////////////////////////////////
+typedef double TThostFtdcBigMoneyType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcMaxMarginSideAlgorithmTypeһ֤߱㷨
+/////////////////////////////////////////////////////////////////////////
+///ʹô֤߱㷨
+#define THOST_FTDC_MMSA_NO '0'
+///ʹô֤߱㷨
+#define THOST_FTDC_MMSA_YES '1'
+
+typedef char TThostFtdcMaxMarginSideAlgorithmType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDAClientTypeTypeһʲͻ
+/////////////////////////////////////////////////////////////////////////
+///Ȼ
+#define THOST_FTDC_CACT_Person '0'
+///
+#define THOST_FTDC_CACT_Company '1'
+///
+#define THOST_FTDC_CACT_Other '2'
+
+typedef char TThostFtdcDAClientTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCombinInstrIDTypeһԼ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCombinInstrIDType[61];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCombinSettlePriceTypeһȽ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCombinSettlePriceType[61];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDCEPriorityTypeһȼ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcDCEPriorityType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTradeGroupIDTypeһɽ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcTradeGroupIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcIsCheckPrepaTypeһǷУ鿪ʽ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcIsCheckPrepaType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUOAAssetmgrTypeTypeһͶ
+/////////////////////////////////////////////////////////////////////////
+///ڻ
+#define THOST_FTDC_UOAAT_Futures '1'
+///ۺ
+#define THOST_FTDC_UOAAT_SpecialOrgan '2'
+
+typedef char TThostFtdcUOAAssetmgrTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDirectionEnTypeһ
+/////////////////////////////////////////////////////////////////////////
+///Buy
+#define THOST_FTDC_DEN_Buy '0'
+///Sell
+#define THOST_FTDC_DEN_Sell '1'
+
+typedef char TThostFtdcDirectionEnType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOffsetFlagEnTypeһƽ־
+/////////////////////////////////////////////////////////////////////////
+///Position Opening
+#define THOST_FTDC_OFEN_Open '0'
+///Position Close
+#define THOST_FTDC_OFEN_Close '1'
+///Forced Liquidation
+#define THOST_FTDC_OFEN_ForceClose '2'
+///Close Today
+#define THOST_FTDC_OFEN_CloseToday '3'
+///Close Prev.
+#define THOST_FTDC_OFEN_CloseYesterday '4'
+///Forced Reduction
+#define THOST_FTDC_OFEN_ForceOff '5'
+///Local Forced Liquidation
+#define THOST_FTDC_OFEN_LocalForceClose '6'
+
+typedef char TThostFtdcOffsetFlagEnType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcHedgeFlagEnTypeһͶױ־
+/////////////////////////////////////////////////////////////////////////
+///Speculation
+#define THOST_FTDC_HFEN_Speculation '1'
+///Arbitrage
+#define THOST_FTDC_HFEN_Arbitrage '2'
+///Hedge
+#define THOST_FTDC_HFEN_Hedge '3'
+
+typedef char TThostFtdcHedgeFlagEnType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFundIOTypeEnTypeһ
+/////////////////////////////////////////////////////////////////////////
+///Deposit/Withdrawal
+#define THOST_FTDC_FIOTEN_FundIO '1'
+///Bank-Futures Transfer
+#define THOST_FTDC_FIOTEN_Transfer '2'
+///Bank-Futures FX Exchange
+#define THOST_FTDC_FIOTEN_SwapCurrency '3'
+
+typedef char TThostFtdcFundIOTypeEnType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFundTypeEnTypeһʽ
+/////////////////////////////////////////////////////////////////////////
+///Bank Deposit
+#define THOST_FTDC_FTEN_Deposite '1'
+///Payment/Fee
+#define THOST_FTDC_FTEN_ItemFund '2'
+///Brokerage Adj
+#define THOST_FTDC_FTEN_Company '3'
+///Internal Transfer
+#define THOST_FTDC_FTEN_InnerTransfer '4'
+
+typedef char TThostFtdcFundTypeEnType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFundDirectionEnTypeһ
+/////////////////////////////////////////////////////////////////////////
+///Deposit
+#define THOST_FTDC_FDEN_In '1'
+///Withdrawal
+#define THOST_FTDC_FDEN_Out '2'
+
+typedef char TThostFtdcFundDirectionEnType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFundMortDirectionEnTypeһѺ
+/////////////////////////////////////////////////////////////////////////
+///Pledge
+#define THOST_FTDC_FMDEN_In '1'
+///Redemption
+#define THOST_FTDC_FMDEN_Out '2'
+
+typedef char TThostFtdcFundMortDirectionEnType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSwapBusinessTypeTypeһҵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcSwapBusinessTypeType[3];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOptionsTypeTypeһȨ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_CP_CallOptions '1'
+///
+#define THOST_FTDC_CP_PutOptions '2'
+
+typedef char TThostFtdcOptionsTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcStrikeModeTypeһִзʽ
+/////////////////////////////////////////////////////////////////////////
+///ŷʽ
+#define THOST_FTDC_STM_Continental '0'
+///ʽ
+#define THOST_FTDC_STM_American '1'
+///Ľ
+#define THOST_FTDC_STM_Bermuda '2'
+
+typedef char TThostFtdcStrikeModeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcStrikeTypeTypeһִ
+/////////////////////////////////////////////////////////////////////////
+///Գ
+#define THOST_FTDC_STT_Hedge '0'
+///ƥִ
+#define THOST_FTDC_STT_Match '1'
+
+typedef char TThostFtdcStrikeTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcApplyTypeTypeһнȨִ
+/////////////////////////////////////////////////////////////////////////
+///ִ
+#define THOST_FTDC_APPT_NotStrikeNum '4'
+
+typedef char TThostFtdcApplyTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcGiveUpDataSourceTypeһִԴ
+/////////////////////////////////////////////////////////////////////////
+///ϵͳ
+#define THOST_FTDC_GUDS_Gen '0'
+///ֹ
+#define THOST_FTDC_GUDS_Hand '1'
+
+typedef char TThostFtdcGiveUpDataSourceType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcExecOrderSysIDTypeһִϵͳ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcExecOrderSysIDType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcExecResultTypeһִн
+/////////////////////////////////////////////////////////////////////////
+///ûִ
+#define THOST_FTDC_OER_NoExec 'n'
+///Ѿȡ
+#define THOST_FTDC_OER_Canceled 'c'
+///ִгɹ
+#define THOST_FTDC_OER_OK '0'
+///Ȩֲֲ
+#define THOST_FTDC_OER_NoPosition '1'
+///ʽ
+#define THOST_FTDC_OER_NoDeposit '2'
+///Ա
+#define THOST_FTDC_OER_NoParticipant '3'
+///ͻ
+#define THOST_FTDC_OER_NoClient '4'
+///Լ
+#define THOST_FTDC_OER_NoInstrument '6'
+///ûִȨ
+#define THOST_FTDC_OER_NoRight '7'
+///
+#define THOST_FTDC_OER_InvalidVolume '8'
+///û㹻ʷɽ
+#define THOST_FTDC_OER_NoEnoughHistoryTrade '9'
+///δ֪
+#define THOST_FTDC_OER_Unknown 'a'
+
+typedef char TThostFtdcExecResultType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcStrikeSequenceTypeһִ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcStrikeSequenceType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcStrikeTimeTypeһִʱ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcStrikeTimeType[13];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCombinationTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+///ڻ
+#define THOST_FTDC_COMBT_Future '0'
+///ֱ۲BUL
+#define THOST_FTDC_COMBT_BUL '1'
+///ֱ۲BER
+#define THOST_FTDC_COMBT_BER '2'
+///ʽ
+#define THOST_FTDC_COMBT_STD '3'
+///ʽ
+#define THOST_FTDC_COMBT_STG '4'
+///
+#define THOST_FTDC_COMBT_PRT '5'
+///ʱ۲
+#define THOST_FTDC_COMBT_CLD '6'
+
+typedef char TThostFtdcCombinationTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOptionRoyaltyPriceTypeTypeһȨȨ۸
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_ORPT_PreSettlementPrice '1'
+///ּ
+#define THOST_FTDC_ORPT_OpenPrice '4'
+
+typedef char TThostFtdcOptionRoyaltyPriceTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBalanceAlgorithmTypeһȨ㷨
+/////////////////////////////////////////////////////////////////////////
+///Ȩֵӯ
+#define THOST_FTDC_BLAG_Default '1'
+///Ȩֵ
+#define THOST_FTDC_BLAG_IncludeOptValLost '2'
+
+typedef char TThostFtdcBalanceAlgorithmType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcActionTypeTypeһִ
+/////////////////////////////////////////////////////////////////////////
+///ִ
+#define THOST_FTDC_ACTP_Exec '1'
+///
+#define THOST_FTDC_ACTP_Abandon '2'
+
+typedef char TThostFtdcActionTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcForQuoteStatusTypeһѯ״̬
+/////////////////////////////////////////////////////////////////////////
+///Ѿύ
+#define THOST_FTDC_FQST_Submitted 'a'
+///Ѿ
+#define THOST_FTDC_FQST_Accepted 'b'
+///Ѿܾ
+#define THOST_FTDC_FQST_Rejected 'c'
+
+typedef char TThostFtdcForQuoteStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcValueMethodTypeһȡֵʽ
+/////////////////////////////////////////////////////////////////////////
+///ֵ
+#define THOST_FTDC_VM_Absolute '0'
+///
+#define THOST_FTDC_VM_Ratio '1'
+
+typedef char TThostFtdcValueMethodType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcExecOrderPositionFlagTypeһȨȨǷڻͷı
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_EOPF_Reserve '0'
+///
+#define THOST_FTDC_EOPF_UnReserve '1'
+
+typedef char TThostFtdcExecOrderPositionFlagType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcExecOrderCloseFlagTypeһȨȨɵͷǷԶƽ
+/////////////////////////////////////////////////////////////////////////
+///Զƽ
+#define THOST_FTDC_EOCF_AutoClose '0'
+///Զƽ
+#define THOST_FTDC_EOCF_NotToClose '1'
+
+typedef char TThostFtdcExecOrderCloseFlagType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcProductTypeTypeһƷ
+/////////////////////////////////////////////////////////////////////////
+///ڻ
+#define THOST_FTDC_PTE_Futures '1'
+///Ȩ
+#define THOST_FTDC_PTE_Options '2'
+
+typedef char TThostFtdcProductTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCZCEUploadFileNameTypeһ֣ļ
+/////////////////////////////////////////////////////////////////////////
+///^\d{8}_zz_\d{4}
+#define THOST_FTDC_CUFN_CUFN_O 'O'
+///^\d{8}ɽ
+#define THOST_FTDC_CUFN_CUFN_T 'T'
+///^\d{8}ȳֱֲnew
+#define THOST_FTDC_CUFN_CUFN_P 'P'
+///^\d{8}ƽ˽
+#define THOST_FTDC_CUFN_CUFN_N 'N'
+///^\d{8}ƽֱ
+#define THOST_FTDC_CUFN_CUFN_L 'L'
+///^\d{8}ʽ
+#define THOST_FTDC_CUFN_CUFN_F 'F'
+///^\d{8}ϳֱֲ
+#define THOST_FTDC_CUFN_CUFN_C 'C'
+///^\d{8}֤
+#define THOST_FTDC_CUFN_CUFN_M 'M'
+
+typedef char TThostFtdcCZCEUploadFileNameType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDCEUploadFileNameTypeһļ
+/////////////////////////////////////////////////////////////////////////
+///^\d{8}_dl_\d{3}
+#define THOST_FTDC_DUFN_DUFN_O 'O'
+///^\d{8}_ɽ
+#define THOST_FTDC_DUFN_DUFN_T 'T'
+///^\d{8}_ֱֲ
+#define THOST_FTDC_DUFN_DUFN_P 'P'
+///^\d{8}_ʽ
+#define THOST_FTDC_DUFN_DUFN_F 'F'
+///^\d{8}_Żϳֲϸ
+#define THOST_FTDC_DUFN_DUFN_C 'C'
+///^\d{8}_ֲϸ
+#define THOST_FTDC_DUFN_DUFN_D 'D'
+///^\d{8}_֤
+#define THOST_FTDC_DUFN_DUFN_M 'M'
+///^\d{8}_Ȩִб
+#define THOST_FTDC_DUFN_DUFN_S 'S'
+
+typedef char TThostFtdcDCEUploadFileNameType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSHFEUploadFileNameTypeһļ
+/////////////////////////////////////////////////////////////////////////
+///^\d{4}_\d{8}_\d{8}_DailyFundChg
+#define THOST_FTDC_SUFN_SUFN_O 'O'
+///^\d{4}_\d{8}_\d{8}_Trade
+#define THOST_FTDC_SUFN_SUFN_T 'T'
+///^\d{4}_\d{8}_\d{8}_SettlementDetail
+#define THOST_FTDC_SUFN_SUFN_P 'P'
+///^\d{4}_\d{8}_\d{8}_Capital
+#define THOST_FTDC_SUFN_SUFN_F 'F'
+
+typedef char TThostFtdcSHFEUploadFileNameType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCFFEXUploadFileNameTypeһнļ
+/////////////////////////////////////////////////////////////////////////
+///^\d{4}_SG\d{1}_\d{8}_\d{1}_Trade
+#define THOST_FTDC_CFUFN_SUFN_T 'T'
+///^\d{4}_SG\d{1}_\d{8}_\d{1}_SettlementDetail
+#define THOST_FTDC_CFUFN_SUFN_P 'P'
+///^\d{4}_SG\d{1}_\d{8}_\d{1}_Capital
+#define THOST_FTDC_CFUFN_SUFN_F 'F'
+///^\d{4}_SG\d{1}_\d{8}_\d{1}_OptionExec
+#define THOST_FTDC_CFUFN_SUFN_S 'S'
+
+typedef char TThostFtdcCFFEXUploadFileNameType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCombDirectionTypeһָ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_CMDR_Comb '0'
+///
+#define THOST_FTDC_CMDR_UnComb '1'
+
+typedef char TThostFtdcCombDirectionType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcLockTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_LCKT_Lock '1'
+///
+#define THOST_FTDC_LCKT_Unlock '2'
+
+typedef char TThostFtdcLockTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBizTypeTypeһҵ
+/////////////////////////////////////////////////////////////////////////
+///ڻ
+#define THOST_FTDC_BZTP_Future '1'
+///֤ȯ
+#define THOST_FTDC_BZTP_Stock '2'
+
+typedef char TThostFtdcBizTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDesignateTypeTypeһָ
+/////////////////////////////////////////////////////////////////////////
+///ָǼ
+#define THOST_FTDC_DSTP_Register '1'
+///ָ
+#define THOST_FTDC_DSTP_Cancel '2'
+
+typedef char TThostFtdcDesignateTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFreezeReasonTypeTypeһԭ
+/////////////////////////////////////////////////////////////////////////
+///ʼ
+#define THOST_FTDC_FRTP_Init '1'
+///
+#define THOST_FTDC_FRTP_Lock '2'
+///ִ
+#define THOST_FTDC_FRTP_Exec '3'
+///λУ
+#define THOST_FTDC_FRTP_Check '4'
+///E+1ִж
+#define THOST_FTDC_FRTP_ExecFreeze '5'
+
+typedef char TThostFtdcFreezeReasonTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFreezeTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_FZTP_Freeze '1'
+///ⶳ
+#define THOST_FTDC_FZTP_Unfreeze '2'
+///ǿִ
+#define THOST_FTDC_FZTP_Force '3'
+
+typedef char TThostFtdcFreezeTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTradeSystemTypeTypeһϵͳ
+/////////////////////////////////////////////////////////////////////////
+///δ֪ϵͳ
+#define THOST_FTDC_TSTP_Unknow '0'
+///ڻϵͳ
+#define THOST_FTDC_TSTP_Future '1'
+///ϵͳ
+#define THOST_FTDC_TSTP_IShare '2'
+
+typedef char TThostFtdcTradeSystemTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcStockDisposalTypeTypeһ֤ȯ÷
+/////////////////////////////////////////////////////////////////////////
+///뾭˾˻
+#define THOST_FTDC_STPT_ToBroker '1'
+///Ͷ˻
+#define THOST_FTDC_STPT_ToInvestor '2'
+
+typedef char TThostFtdcStockDisposalTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcStockDisposalSysIDTypeһ֤ȯñ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcStockDisposalSysIDType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcStockDisposalStatusTypeһ֤ȯ״̬
+/////////////////////////////////////////////////////////////////////////
+///Ѿύ
+#define THOST_FTDC_SDPS_Submitted 'a'
+///Ѿ
+#define THOST_FTDC_SDPS_Accepted 'b'
+///Ѿܾ
+#define THOST_FTDC_SDPS_Rejected 'c'
+///Ѿ
+#define THOST_FTDC_SDPS_Cancelled 'd'
+
+typedef char TThostFtdcStockDisposalStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInstructionRightTypeTypeһָȨ
+/////////////////////////////////////////////////////////////////////////
+///۵
+#define THOST_FTDC_ISTR_Limit '1'
+///ȫɽȡ
+#define THOST_FTDC_ISTR_Limit_FOK '2'
+///м۶ʣת
+#define THOST_FTDC_ISTR_Market_RemainLimit '3'
+///м۶ʣ
+#define THOST_FTDC_ISTR_Market_FAK '4'
+///мȫɽȡ
+#define THOST_FTDC_ISTR_Market_FOK '5'
+///֤ȯ
+#define THOST_FTDC_ISTR_Lock '6'
+///֤ȯ
+#define THOST_FTDC_ISTR_Unlock '7'
+
+typedef char TThostFtdcInstructionRightTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcLevelTypeTypeһͶ߷ּ
+/////////////////////////////////////////////////////////////////////////
+///һͶ
+#define THOST_FTDC_IVLV_FirstLevel '1'
+///Ͷ
+#define THOST_FTDC_IVLV_SecondLevel '2'
+///Ͷ
+#define THOST_FTDC_IVLV_ThirdLevel '3'
+
+typedef char TThostFtdcLevelTypeType;
+
+#endif
diff --git a/vn.how/tick2trade/vn.ctp_t2t/ctpapi/ThostFtdcUserApiStruct.h b/vn.how/tick2trade/vn.ctp_t2t/ctpapi/ThostFtdcUserApiStruct.h
new file mode 100644
index 0000000000..a54a39092f
--- /dev/null
+++ b/vn.how/tick2trade/vn.ctp_t2t/ctpapi/ThostFtdcUserApiStruct.h
@@ -0,0 +1,8941 @@
+/////////////////////////////////////////////////////////////////////////
+///@system һϵͳ
+///@company ϺڻϢ˾
+///@file ThostFtdcUserApiStruct.h
+///@brief ˿ͻ˽ӿʹõҵݽṹ
+///@history
+///20060106 Ժ ļ
+/////////////////////////////////////////////////////////////////////////
+
+#if !defined(THOST_FTDCSTRUCT_H)
+#define THOST_FTDCSTRUCT_H
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include "ThostFtdcUserApiDataType.h"
+
+///Ϣַ
+struct CThostFtdcDisseminationField
+{
+ ///ϵк
+ TThostFtdcSequenceSeriesType SequenceSeries;
+ ///к
+ TThostFtdcSequenceNoType SequenceNo;
+};
+
+///û¼
+struct CThostFtdcReqUserLoginField
+{
+ ///
+ TThostFtdcDateType TradingDay;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///
+ TThostFtdcPasswordType Password;
+ ///û˲ƷϢ
+ TThostFtdcProductInfoType UserProductInfo;
+ ///ӿڶ˲ƷϢ
+ TThostFtdcProductInfoType InterfaceProductInfo;
+ ///ЭϢ
+ TThostFtdcProtocolInfoType ProtocolInfo;
+ ///Macַ
+ TThostFtdcMacAddressType MacAddress;
+ ///̬
+ TThostFtdcPasswordType OneTimePassword;
+ ///նIPַ
+ TThostFtdcIPAddressType ClientIPAddress;
+};
+
+///û¼Ӧ
+struct CThostFtdcRspUserLoginField
+{
+ ///
+ TThostFtdcDateType TradingDay;
+ ///¼ɹʱ
+ TThostFtdcTimeType LoginTime;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///ϵͳ
+ TThostFtdcSystemNameType SystemName;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///
+ TThostFtdcOrderRefType MaxOrderRef;
+ ///ʱ
+ TThostFtdcTimeType SHFETime;
+ ///ʱ
+ TThostFtdcTimeType DCETime;
+ ///֣ʱ
+ TThostFtdcTimeType CZCETime;
+ ///нʱ
+ TThostFtdcTimeType FFEXTime;
+ ///Դʱ
+ TThostFtdcTimeType INETime;
+};
+
+///ûdz
+struct CThostFtdcUserLogoutField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+};
+
+///ǿƽԱ˳
+struct CThostFtdcForceUserLogoutField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+};
+
+///ͻ֤
+struct CThostFtdcReqAuthenticateField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///û˲ƷϢ
+ TThostFtdcProductInfoType UserProductInfo;
+ ///֤
+ TThostFtdcAuthCodeType AuthCode;
+};
+
+///ͻ֤Ӧ
+struct CThostFtdcRspAuthenticateField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///û˲ƷϢ
+ TThostFtdcProductInfoType UserProductInfo;
+};
+
+///ͻ֤Ϣ
+struct CThostFtdcAuthenticationInfoField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///û˲ƷϢ
+ TThostFtdcProductInfoType UserProductInfo;
+ ///֤Ϣ
+ TThostFtdcAuthInfoType AuthInfo;
+ ///ǷΪ֤
+ TThostFtdcBoolType IsResult;
+};
+
+///תʱͷ
+struct CThostFtdcTransferHeaderField
+{
+ ///汾ţ1.0
+ TThostFtdcVersionType Version;
+ ///״룬
+ TThostFtdcTradeCodeType TradeCode;
+ ///ڣʽyyyymmdd
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ䣬ʽhhmmss
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮţN/A
+ TThostFtdcTradeSerialType TradeSerial;
+ ///ڻ˾룬
+ TThostFtdcFutureIDType FutureID;
+ ///д룬ݲѯеõ
+ TThostFtdcBankIDType BankID;
+ ///зĴ룬ݲѯеõ
+ TThostFtdcBankBrchIDType BankBrchID;
+ ///ԱN/A
+ TThostFtdcOperNoType OperNo;
+ ///豸ͣN/A
+ TThostFtdcDeviceIDType DeviceID;
+ ///¼N/A
+ TThostFtdcRecordNumType RecordNum;
+ ///ỰţN/A
+ TThostFtdcSessionIDType SessionID;
+ ///ţN/A
+ TThostFtdcRequestIDType RequestID;
+};
+
+///ʽתڻTradeCode=202001
+struct CThostFtdcTransferBankToFutureReqField
+{
+ ///ڻʽ˻
+ TThostFtdcAccountIDType FutureAccount;
+ ///־
+ TThostFtdcFuturePwdFlagType FuturePwdFlag;
+ ///
+ TThostFtdcFutureAccPwdType FutureAccPwd;
+ ///ת˽
+ TThostFtdcMoneyType TradeAmt;
+ ///ͻ
+ TThostFtdcMoneyType CustFee;
+ ///֣RMB- USD-Բ HKD-Ԫ
+ TThostFtdcCurrencyCodeType CurrencyCode;
+};
+
+///ʽתڻӦ
+struct CThostFtdcTransferBankToFutureRspField
+{
+ ///Ӧ
+ TThostFtdcRetCodeType RetCode;
+ ///ӦϢ
+ TThostFtdcRetInfoType RetInfo;
+ ///ʽ˻
+ TThostFtdcAccountIDType FutureAccount;
+ ///תʽ
+ TThostFtdcMoneyType TradeAmt;
+ ///Ӧտͻ
+ TThostFtdcMoneyType CustFee;
+ ///
+ TThostFtdcCurrencyCodeType CurrencyCode;
+};
+
+///ڻʽתTradeCode=202002
+struct CThostFtdcTransferFutureToBankReqField
+{
+ ///ڻʽ˻
+ TThostFtdcAccountIDType FutureAccount;
+ ///־
+ TThostFtdcFuturePwdFlagType FuturePwdFlag;
+ ///
+ TThostFtdcFutureAccPwdType FutureAccPwd;
+ ///ת˽
+ TThostFtdcMoneyType TradeAmt;
+ ///ͻ
+ TThostFtdcMoneyType CustFee;
+ ///֣RMB- USD-Բ HKD-Ԫ
+ TThostFtdcCurrencyCodeType CurrencyCode;
+};
+
+///ڻʽתӦ
+struct CThostFtdcTransferFutureToBankRspField
+{
+ ///Ӧ
+ TThostFtdcRetCodeType RetCode;
+ ///ӦϢ
+ TThostFtdcRetInfoType RetInfo;
+ ///ʽ˻
+ TThostFtdcAccountIDType FutureAccount;
+ ///תʽ
+ TThostFtdcMoneyType TradeAmt;
+ ///Ӧտͻ
+ TThostFtdcMoneyType CustFee;
+ ///
+ TThostFtdcCurrencyCodeType CurrencyCode;
+};
+
+///ѯʽTradeCode=204002
+struct CThostFtdcTransferQryBankReqField
+{
+ ///ڻʽ˻
+ TThostFtdcAccountIDType FutureAccount;
+ ///־
+ TThostFtdcFuturePwdFlagType FuturePwdFlag;
+ ///
+ TThostFtdcFutureAccPwdType FutureAccPwd;
+ ///֣RMB- USD-Բ HKD-Ԫ
+ TThostFtdcCurrencyCodeType CurrencyCode;
+};
+
+///ѯʽӦ
+struct CThostFtdcTransferQryBankRspField
+{
+ ///Ӧ
+ TThostFtdcRetCodeType RetCode;
+ ///ӦϢ
+ TThostFtdcRetInfoType RetInfo;
+ ///ʽ˻
+ TThostFtdcAccountIDType FutureAccount;
+ ///
+ TThostFtdcMoneyType TradeAmt;
+ ///п
+ TThostFtdcMoneyType UseAmt;
+ ///пȡ
+ TThostFtdcMoneyType FetchAmt;
+ ///
+ TThostFtdcCurrencyCodeType CurrencyCode;
+};
+
+///ѯнϸTradeCode=204999
+struct CThostFtdcTransferQryDetailReqField
+{
+ ///ڻʽ˻
+ TThostFtdcAccountIDType FutureAccount;
+};
+
+///ѯнϸӦ
+struct CThostFtdcTransferQryDetailRspField
+{
+ ///
+ TThostFtdcDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///״
+ TThostFtdcTradeCodeType TradeCode;
+ ///ڻˮ
+ TThostFtdcTradeSerialNoType FutureSerial;
+ ///ڻ˾
+ TThostFtdcFutureIDType FutureID;
+ ///ʽʺ
+ TThostFtdcFutureAccountType FutureAccount;
+ ///ˮ
+ TThostFtdcTradeSerialNoType BankSerial;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///зĴ
+ TThostFtdcBankBrchIDType BankBrchID;
+ ///˺
+ TThostFtdcBankAccountType BankAccount;
+ ///֤
+ TThostFtdcCertCodeType CertCode;
+ ///Ҵ
+ TThostFtdcCurrencyCodeType CurrencyCode;
+ ///
+ TThostFtdcMoneyType TxAmount;
+ ///Ч־
+ TThostFtdcTransferValidFlagType Flag;
+};
+
+///ӦϢ
+struct CThostFtdcRspInfoField
+{
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+};
+
+///
+struct CThostFtdcExchangeField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcExchangeNameType ExchangeName;
+ ///
+ TThostFtdcExchangePropertyType ExchangeProperty;
+};
+
+///Ʒ
+struct CThostFtdcProductField
+{
+ ///Ʒ
+ TThostFtdcInstrumentIDType ProductID;
+ ///Ʒ
+ TThostFtdcProductNameType ProductName;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ʒ
+ TThostFtdcProductClassType ProductClass;
+ ///Լ
+ TThostFtdcVolumeMultipleType VolumeMultiple;
+ ///С䶯λ
+ TThostFtdcPriceType PriceTick;
+ ///м۵µ
+ TThostFtdcVolumeType MaxMarketOrderVolume;
+ ///м۵Сµ
+ TThostFtdcVolumeType MinMarketOrderVolume;
+ ///۵µ
+ TThostFtdcVolumeType MaxLimitOrderVolume;
+ ///۵Сµ
+ TThostFtdcVolumeType MinLimitOrderVolume;
+ ///ֲ
+ TThostFtdcPositionTypeType PositionType;
+ ///ֲ
+ TThostFtdcPositionDateTypeType PositionDateType;
+ ///ƽִ
+ TThostFtdcCloseDealTypeType CloseDealType;
+ ///ױ
+ TThostFtdcCurrencyIDType TradeCurrencyID;
+ ///Ѻʽ÷Χ
+ TThostFtdcMortgageFundUseRangeType MortgageFundUseRange;
+ ///Ʒ
+ TThostFtdcInstrumentIDType ExchangeProductID;
+ ///ԼƷ
+ TThostFtdcUnderlyingMultipleType UnderlyingMultiple;
+};
+
+///Լ
+struct CThostFtdcInstrumentField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Լ
+ TThostFtdcInstrumentNameType InstrumentName;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///Ʒ
+ TThostFtdcInstrumentIDType ProductID;
+ ///Ʒ
+ TThostFtdcProductClassType ProductClass;
+ ///
+ TThostFtdcYearType DeliveryYear;
+ ///
+ TThostFtdcMonthType DeliveryMonth;
+ ///м۵µ
+ TThostFtdcVolumeType MaxMarketOrderVolume;
+ ///м۵Сµ
+ TThostFtdcVolumeType MinMarketOrderVolume;
+ ///۵µ
+ TThostFtdcVolumeType MaxLimitOrderVolume;
+ ///۵Сµ
+ TThostFtdcVolumeType MinLimitOrderVolume;
+ ///Լ
+ TThostFtdcVolumeMultipleType VolumeMultiple;
+ ///С䶯λ
+ TThostFtdcPriceType PriceTick;
+ ///
+ TThostFtdcDateType CreateDate;
+ ///
+ TThostFtdcDateType OpenDate;
+ ///
+ TThostFtdcDateType ExpireDate;
+ ///ʼ
+ TThostFtdcDateType StartDelivDate;
+ ///
+ TThostFtdcDateType EndDelivDate;
+ ///Լ״̬
+ TThostFtdcInstLifePhaseType InstLifePhase;
+ ///ǰǷ
+ TThostFtdcBoolType IsTrading;
+ ///ֲ
+ TThostFtdcPositionTypeType PositionType;
+ ///ֲ
+ TThostFtdcPositionDateTypeType PositionDateType;
+ ///ͷ֤
+ TThostFtdcRatioType LongMarginRatio;
+ ///ͷ֤
+ TThostFtdcRatioType ShortMarginRatio;
+ ///Ƿʹô֤߱㷨
+ TThostFtdcMaxMarginSideAlgorithmType MaxMarginSideAlgorithm;
+ ///Ʒ
+ TThostFtdcInstrumentIDType UnderlyingInstrID;
+ ///ִм
+ TThostFtdcPriceType StrikePrice;
+ ///Ȩ
+ TThostFtdcOptionsTypeType OptionsType;
+ ///ԼƷ
+ TThostFtdcUnderlyingMultipleType UnderlyingMultiple;
+ ///
+ TThostFtdcCombinationTypeType CombinationType;
+ ///Сµλ
+ TThostFtdcVolumeType MinBuyVolume;
+ ///Сµλ
+ TThostFtdcVolumeType MinSellVolume;
+ ///Լʶ
+ TThostFtdcInstrumentCodeType InstrumentCode;
+};
+
+///˾
+struct CThostFtdcBrokerField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///˾
+ TThostFtdcBrokerAbbrType BrokerAbbr;
+ ///˾
+ TThostFtdcBrokerNameType BrokerName;
+ ///ǷԾ
+ TThostFtdcBoolType IsActive;
+};
+
+///Ա
+struct CThostFtdcTraderField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///
+ TThostFtdcPasswordType Password;
+ ///װ
+ TThostFtdcInstallCountType InstallCount;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+};
+
+///Ͷ
+struct CThostFtdcInvestorField
+{
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷ߷
+ TThostFtdcInvestorIDType InvestorGroupID;
+ ///Ͷ
+ TThostFtdcPartyNameType InvestorName;
+ ///֤
+ TThostFtdcIdCardTypeType IdentifiedCardType;
+ ///֤
+ TThostFtdcIdentifiedCardNoType IdentifiedCardNo;
+ ///ǷԾ
+ TThostFtdcBoolType IsActive;
+ ///ϵ绰
+ TThostFtdcTelephoneType Telephone;
+ ///ͨѶַ
+ TThostFtdcAddressType Address;
+ ///
+ TThostFtdcDateType OpenDate;
+ ///ֻ
+ TThostFtdcMobileType Mobile;
+ ///ģ
+ TThostFtdcInvestorIDType CommModelID;
+ ///֤ģ
+ TThostFtdcInvestorIDType MarginModelID;
+};
+
+///ױ
+struct CThostFtdcTradingCodeField
+{
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ǷԾ
+ TThostFtdcBoolType IsActive;
+ ///ױ
+ TThostFtdcClientIDTypeType ClientIDType;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+ ///ҵ
+ TThostFtdcBizTypeType BizType;
+};
+
+///Ա;˾ձ
+struct CThostFtdcPartBrokerField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ǷԾ
+ TThostFtdcBoolType IsActive;
+};
+
+///û
+struct CThostFtdcSuperUserField
+{
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///û
+ TThostFtdcUserNameType UserName;
+ ///
+ TThostFtdcPasswordType Password;
+ ///ǷԾ
+ TThostFtdcBoolType IsActive;
+};
+
+///ûȨ
+struct CThostFtdcSuperUserFunctionField
+{
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///ܴ
+ TThostFtdcFunctionCodeType FunctionCode;
+};
+
+///Ͷ
+struct CThostFtdcInvestorGroupField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷ߷
+ TThostFtdcInvestorIDType InvestorGroupID;
+ ///Ͷ߷
+ TThostFtdcInvestorGroupNameType InvestorGroupName;
+};
+
+///ʽ˻
+struct CThostFtdcTradingAccountField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ϴѺ
+ TThostFtdcMoneyType PreMortgage;
+ ///ϴö
+ TThostFtdcMoneyType PreCredit;
+ ///ϴδ
+ TThostFtdcMoneyType PreDeposit;
+ ///ϴν
+ TThostFtdcMoneyType PreBalance;
+ ///ϴռõı֤
+ TThostFtdcMoneyType PreMargin;
+ ///Ϣ
+ TThostFtdcMoneyType InterestBase;
+ ///Ϣ
+ TThostFtdcMoneyType Interest;
+ ///
+ TThostFtdcMoneyType Deposit;
+ ///
+ TThostFtdcMoneyType Withdraw;
+ ///ı֤
+ TThostFtdcMoneyType FrozenMargin;
+ ///ʽ
+ TThostFtdcMoneyType FrozenCash;
+ ///
+ TThostFtdcMoneyType FrozenCommission;
+ ///ǰ֤ܶ
+ TThostFtdcMoneyType CurrMargin;
+ ///ʽ
+ TThostFtdcMoneyType CashIn;
+ ///
+ TThostFtdcMoneyType Commission;
+ ///ƽӯ
+ TThostFtdcMoneyType CloseProfit;
+ ///ֲӯ
+ TThostFtdcMoneyType PositionProfit;
+ ///ڻ
+ TThostFtdcMoneyType Balance;
+ ///ʽ
+ TThostFtdcMoneyType Available;
+ ///ȡʽ
+ TThostFtdcMoneyType WithdrawQuota;
+ ///
+ TThostFtdcMoneyType Reserve;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///ö
+ TThostFtdcMoneyType Credit;
+ ///Ѻ
+ TThostFtdcMoneyType Mortgage;
+ ///֤
+ TThostFtdcMoneyType ExchangeMargin;
+ ///Ͷ߽֤
+ TThostFtdcMoneyType DeliveryMargin;
+ ///֤
+ TThostFtdcMoneyType ExchangeDeliveryMargin;
+ ///ڻ
+ TThostFtdcMoneyType ReserveBalance;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///ϴλ
+ TThostFtdcMoneyType PreFundMortgageIn;
+ ///ϴλʳ
+ TThostFtdcMoneyType PreFundMortgageOut;
+ ///
+ TThostFtdcMoneyType FundMortgageIn;
+ ///ʳ
+ TThostFtdcMoneyType FundMortgageOut;
+ ///Ѻ
+ TThostFtdcMoneyType FundMortgageAvailable;
+ ///Ѻҽ
+ TThostFtdcMoneyType MortgageableFund;
+ ///Ʒռñ֤
+ TThostFtdcMoneyType SpecProductMargin;
+ ///Ʒᱣ֤
+ TThostFtdcMoneyType SpecProductFrozenMargin;
+ ///Ʒ
+ TThostFtdcMoneyType SpecProductCommission;
+ ///Ʒ
+ TThostFtdcMoneyType SpecProductFrozenCommission;
+ ///Ʒֲӯ
+ TThostFtdcMoneyType SpecProductPositionProfit;
+ ///Ʒƽӯ
+ TThostFtdcMoneyType SpecProductCloseProfit;
+ ///ݳֲӯ㷨Ʒֲӯ
+ TThostFtdcMoneyType SpecProductPositionProfitByAlg;
+ ///Ʒ֤
+ TThostFtdcMoneyType SpecProductExchangeMargin;
+ ///ҵ
+ TThostFtdcBizTypeType BizType;
+};
+
+///Ͷֲ߳
+struct CThostFtdcInvestorPositionField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ֲֶշ
+ TThostFtdcPosiDirectionType PosiDirection;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///ֲ
+ TThostFtdcPositionDateType PositionDate;
+ ///ճֲ
+ TThostFtdcVolumeType YdPosition;
+ ///ճֲ
+ TThostFtdcVolumeType Position;
+ ///ͷ
+ TThostFtdcVolumeType LongFrozen;
+ ///ͷ
+ TThostFtdcVolumeType ShortFrozen;
+ ///ֶ
+ TThostFtdcMoneyType LongFrozenAmount;
+ ///ֶ
+ TThostFtdcMoneyType ShortFrozenAmount;
+ ///
+ TThostFtdcVolumeType OpenVolume;
+ ///ƽ
+ TThostFtdcVolumeType CloseVolume;
+ ///ֽ
+ TThostFtdcMoneyType OpenAmount;
+ ///ƽֽ
+ TThostFtdcMoneyType CloseAmount;
+ ///ֲֳɱ
+ TThostFtdcMoneyType PositionCost;
+ ///ϴռõı֤
+ TThostFtdcMoneyType PreMargin;
+ ///ռõı֤
+ TThostFtdcMoneyType UseMargin;
+ ///ı֤
+ TThostFtdcMoneyType FrozenMargin;
+ ///ʽ
+ TThostFtdcMoneyType FrozenCash;
+ ///
+ TThostFtdcMoneyType FrozenCommission;
+ ///ʽ
+ TThostFtdcMoneyType CashIn;
+ ///
+ TThostFtdcMoneyType Commission;
+ ///ƽӯ
+ TThostFtdcMoneyType CloseProfit;
+ ///ֲӯ
+ TThostFtdcMoneyType PositionProfit;
+ ///ϴν
+ TThostFtdcPriceType PreSettlementPrice;
+ ///ν
+ TThostFtdcPriceType SettlementPrice;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///ֳɱ
+ TThostFtdcMoneyType OpenCost;
+ ///֤
+ TThostFtdcMoneyType ExchangeMargin;
+ ///ϳɽγɵijֲ
+ TThostFtdcVolumeType CombPosition;
+ ///϶ͷ
+ TThostFtdcVolumeType CombLongFrozen;
+ ///Ͽͷ
+ TThostFtdcVolumeType CombShortFrozen;
+ ///նƽӯ
+ TThostFtdcMoneyType CloseProfitByDate;
+ ///ʶԳƽӯ
+ TThostFtdcMoneyType CloseProfitByTrade;
+ ///ճֲ
+ TThostFtdcVolumeType TodayPosition;
+ ///֤
+ TThostFtdcRatioType MarginRateByMoney;
+ ///֤()
+ TThostFtdcRatioType MarginRateByVolume;
+ ///ִж
+ TThostFtdcVolumeType StrikeFrozen;
+ ///ִж
+ TThostFtdcMoneyType StrikeFrozenAmount;
+ ///ִж
+ TThostFtdcVolumeType AbandonFrozen;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ִж
+ TThostFtdcVolumeType YdStrikeFrozen;
+};
+
+///Լ֤
+struct CThostFtdcInstrumentMarginRateField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷ߷Χ
+ TThostFtdcInvestorRangeType InvestorRange;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///ͷ֤
+ TThostFtdcRatioType LongMarginRatioByMoney;
+ ///ͷ֤
+ TThostFtdcMoneyType LongMarginRatioByVolume;
+ ///ͷ֤
+ TThostFtdcRatioType ShortMarginRatioByMoney;
+ ///ͷ֤
+ TThostFtdcMoneyType ShortMarginRatioByVolume;
+ ///ǷԽȡ
+ TThostFtdcBoolType IsRelative;
+};
+
+///Լ
+struct CThostFtdcInstrumentCommissionRateField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷ߷Χ
+ TThostFtdcInvestorRangeType InvestorRange;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcRatioType OpenRatioByMoney;
+ ///
+ TThostFtdcRatioType OpenRatioByVolume;
+ ///ƽ
+ TThostFtdcRatioType CloseRatioByMoney;
+ ///ƽ
+ TThostFtdcRatioType CloseRatioByVolume;
+ ///ƽ
+ TThostFtdcRatioType CloseTodayRatioByMoney;
+ ///ƽ
+ TThostFtdcRatioType CloseTodayRatioByVolume;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ҵ
+ TThostFtdcBizTypeType BizType;
+};
+
+///
+struct CThostFtdcDepthMarketDataField
+{
+ ///
+ TThostFtdcDateType TradingDay;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///¼
+ TThostFtdcPriceType LastPrice;
+ ///ϴν
+ TThostFtdcPriceType PreSettlementPrice;
+ ///
+ TThostFtdcPriceType PreClosePrice;
+ ///ֲ
+ TThostFtdcLargeVolumeType PreOpenInterest;
+ ///
+ TThostFtdcPriceType OpenPrice;
+ ///
+ TThostFtdcPriceType HighestPrice;
+ ///ͼ
+ TThostFtdcPriceType LowestPrice;
+ ///
+ TThostFtdcVolumeType Volume;
+ ///ɽ
+ TThostFtdcMoneyType Turnover;
+ ///ֲ
+ TThostFtdcLargeVolumeType OpenInterest;
+ ///
+ TThostFtdcPriceType ClosePrice;
+ ///ν
+ TThostFtdcPriceType SettlementPrice;
+ ///ͣ
+ TThostFtdcPriceType UpperLimitPrice;
+ ///ͣ
+ TThostFtdcPriceType LowerLimitPrice;
+ ///ʵ
+ TThostFtdcRatioType PreDelta;
+ ///ʵ
+ TThostFtdcRatioType CurrDelta;
+ ///ʱ
+ TThostFtdcTimeType UpdateTime;
+ ///ĺ
+ TThostFtdcMillisecType UpdateMillisec;
+ ///һ
+ TThostFtdcPriceType BidPrice1;
+ ///һ
+ TThostFtdcVolumeType BidVolume1;
+ ///һ
+ TThostFtdcPriceType AskPrice1;
+ ///һ
+ TThostFtdcVolumeType AskVolume1;
+ ///۶
+ TThostFtdcPriceType BidPrice2;
+ ///
+ TThostFtdcVolumeType BidVolume2;
+ ///۶
+ TThostFtdcPriceType AskPrice2;
+ ///
+ TThostFtdcVolumeType AskVolume2;
+ ///
+ TThostFtdcPriceType BidPrice3;
+ ///
+ TThostFtdcVolumeType BidVolume3;
+ ///
+ TThostFtdcPriceType AskPrice3;
+ ///
+ TThostFtdcVolumeType AskVolume3;
+ ///
+ TThostFtdcPriceType BidPrice4;
+ ///
+ TThostFtdcVolumeType BidVolume4;
+ ///
+ TThostFtdcPriceType AskPrice4;
+ ///
+ TThostFtdcVolumeType AskVolume4;
+ ///
+ TThostFtdcPriceType BidPrice5;
+ ///
+ TThostFtdcVolumeType BidVolume5;
+ ///
+ TThostFtdcPriceType AskPrice5;
+ ///
+ TThostFtdcVolumeType AskVolume5;
+ ///վ
+ TThostFtdcPriceType AveragePrice;
+ ///ҵ
+ TThostFtdcDateType ActionDay;
+};
+
+///ͶߺԼȨ
+struct CThostFtdcInstrumentTradingRightField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷ߷Χ
+ TThostFtdcInvestorRangeType InvestorRange;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Ȩ
+ TThostFtdcTradingRightType TradingRight;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ҵ
+ TThostFtdcBizTypeType BizType;
+};
+
+///˾û
+struct CThostFtdcBrokerUserField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///û
+ TThostFtdcUserNameType UserName;
+ ///û
+ TThostFtdcUserTypeType UserType;
+ ///ǷԾ
+ TThostFtdcBoolType IsActive;
+ ///Ƿʹ
+ TThostFtdcBoolType IsUsingOTP;
+};
+
+///˾û
+struct CThostFtdcBrokerUserPasswordField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///
+ TThostFtdcPasswordType Password;
+};
+
+///˾ûȨ
+struct CThostFtdcBrokerUserFunctionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///˾ܴ
+ TThostFtdcBrokerFunctionCodeType BrokerFunctionCode;
+};
+
+///Ա̻
+struct CThostFtdcTraderOfferField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///
+ TThostFtdcPasswordType Password;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ر
+ TThostFtdcOrderLocalIDType OrderLocalID;
+ ///Ա״̬
+ TThostFtdcTraderConnectStatusType TraderConnectStatus;
+ ///
+ TThostFtdcDateType ConnectRequestDate;
+ ///ʱ
+ TThostFtdcTimeType ConnectRequestTime;
+ ///ϴα
+ TThostFtdcDateType LastReportDate;
+ ///ϴαʱ
+ TThostFtdcTimeType LastReportTime;
+ ///
+ TThostFtdcDateType ConnectDate;
+ ///ʱ
+ TThostFtdcTimeType ConnectTime;
+ ///
+ TThostFtdcDateType StartDate;
+ ///ʱ
+ TThostFtdcTimeType StartTime;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///ϯλɽ
+ TThostFtdcTradeIDType MaxTradeID;
+ ///ϯλ
+ TThostFtdcReturnCodeType MaxOrderMessageReference;
+ ///ҵ
+ TThostFtdcBizTypeType BizType;
+};
+
+///Ͷ߽
+struct CThostFtdcSettlementInfoField
+{
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcSequenceNoType SequenceNo;
+ ///Ϣ
+ TThostFtdcContentType Content;
+};
+
+///Լ֤ʵ
+struct CThostFtdcInstrumentMarginRateAdjustField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷ߷Χ
+ TThostFtdcInvestorRangeType InvestorRange;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///ͷ֤
+ TThostFtdcRatioType LongMarginRatioByMoney;
+ ///ͷ֤
+ TThostFtdcMoneyType LongMarginRatioByVolume;
+ ///ͷ֤
+ TThostFtdcRatioType ShortMarginRatioByMoney;
+ ///ͷ֤
+ TThostFtdcMoneyType ShortMarginRatioByVolume;
+ ///ǷԽȡ
+ TThostFtdcBoolType IsRelative;
+};
+
+///֤
+struct CThostFtdcExchangeMarginRateField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///ͷ֤
+ TThostFtdcRatioType LongMarginRatioByMoney;
+ ///ͷ֤
+ TThostFtdcMoneyType LongMarginRatioByVolume;
+ ///ͷ֤
+ TThostFtdcRatioType ShortMarginRatioByMoney;
+ ///ͷ֤
+ TThostFtdcMoneyType ShortMarginRatioByVolume;
+};
+
+///֤ʵ
+struct CThostFtdcExchangeMarginRateAdjustField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///潻Ͷ߶ͷ֤
+ TThostFtdcRatioType LongMarginRatioByMoney;
+ ///潻Ͷ߶ͷ֤
+ TThostFtdcMoneyType LongMarginRatioByVolume;
+ ///潻Ͷ߿ͷ֤
+ TThostFtdcRatioType ShortMarginRatioByMoney;
+ ///潻Ͷ߿ͷ֤
+ TThostFtdcMoneyType ShortMarginRatioByVolume;
+ ///ͷ֤
+ TThostFtdcRatioType ExchLongMarginRatioByMoney;
+ ///ͷ֤
+ TThostFtdcMoneyType ExchLongMarginRatioByVolume;
+ ///ͷ֤
+ TThostFtdcRatioType ExchShortMarginRatioByMoney;
+ ///ͷ֤
+ TThostFtdcMoneyType ExchShortMarginRatioByVolume;
+ ///潻Ͷ߶ͷ֤
+ TThostFtdcRatioType NoLongMarginRatioByMoney;
+ ///潻Ͷ߶ͷ֤
+ TThostFtdcMoneyType NoLongMarginRatioByVolume;
+ ///潻Ͷ߿ͷ֤
+ TThostFtdcRatioType NoShortMarginRatioByMoney;
+ ///潻Ͷ߿ͷ֤
+ TThostFtdcMoneyType NoShortMarginRatioByVolume;
+};
+
+///
+struct CThostFtdcExchangeRateField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Դ
+ TThostFtdcCurrencyIDType FromCurrencyID;
+ ///Դֵλ
+ TThostFtdcCurrencyUnitType FromCurrencyUnit;
+ ///Ŀ
+ TThostFtdcCurrencyIDType ToCurrencyID;
+ ///
+ TThostFtdcExchangeRateType ExchangeRate;
+};
+
+///
+struct CThostFtdcSettlementRefField
+{
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+};
+
+///ǰʱ
+struct CThostFtdcCurrentTimeField
+{
+ ///ǰ
+ TThostFtdcDateType CurrDate;
+ ///ǰʱ
+ TThostFtdcTimeType CurrTime;
+ ///ǰʱ䣨룩
+ TThostFtdcMillisecType CurrMillisec;
+ ///ҵ
+ TThostFtdcDateType ActionDay;
+};
+
+///ͨѶ
+struct CThostFtdcCommPhaseField
+{
+ ///
+ TThostFtdcDateType TradingDay;
+ ///ͨѶʱα
+ TThostFtdcCommPhaseNoType CommPhaseNo;
+ ///ϵͳ
+ TThostFtdcSystemIDType SystemID;
+};
+
+///¼Ϣ
+struct CThostFtdcLoginInfoField
+{
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///¼
+ TThostFtdcDateType LoginDate;
+ ///¼ʱ
+ TThostFtdcTimeType LoginTime;
+ ///IPַ
+ TThostFtdcIPAddressType IPAddress;
+ ///û˲ƷϢ
+ TThostFtdcProductInfoType UserProductInfo;
+ ///ӿڶ˲ƷϢ
+ TThostFtdcProductInfoType InterfaceProductInfo;
+ ///ЭϢ
+ TThostFtdcProtocolInfoType ProtocolInfo;
+ ///ϵͳ
+ TThostFtdcSystemNameType SystemName;
+ ///
+ TThostFtdcPasswordType Password;
+ ///
+ TThostFtdcOrderRefType MaxOrderRef;
+ ///ʱ
+ TThostFtdcTimeType SHFETime;
+ ///ʱ
+ TThostFtdcTimeType DCETime;
+ ///֣ʱ
+ TThostFtdcTimeType CZCETime;
+ ///нʱ
+ TThostFtdcTimeType FFEXTime;
+ ///Macַ
+ TThostFtdcMacAddressType MacAddress;
+ ///̬
+ TThostFtdcPasswordType OneTimePassword;
+ ///Դʱ
+ TThostFtdcTimeType INETime;
+};
+
+///¼Ϣ
+struct CThostFtdcLogoutAllField
+{
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///ϵͳ
+ TThostFtdcSystemNameType SystemName;
+};
+
+///ǰ״̬
+struct CThostFtdcFrontStatusField
+{
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///ϴα
+ TThostFtdcDateType LastReportDate;
+ ///ϴαʱ
+ TThostFtdcTimeType LastReportTime;
+ ///ǷԾ
+ TThostFtdcBoolType IsActive;
+};
+
+///û
+struct CThostFtdcUserPasswordUpdateField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///ԭĿ
+ TThostFtdcPasswordType OldPassword;
+ ///µĿ
+ TThostFtdcPasswordType NewPassword;
+};
+
+///뱨
+struct CThostFtdcInputOrderField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcOrderRefType OrderRef;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///۸
+ TThostFtdcOrderPriceTypeType OrderPriceType;
+ ///
+ TThostFtdcDirectionType Direction;
+ ///Ͽƽ־
+ TThostFtdcCombOffsetFlagType CombOffsetFlag;
+ ///Ͷױ־
+ TThostFtdcCombHedgeFlagType CombHedgeFlag;
+ ///۸
+ TThostFtdcPriceType LimitPrice;
+ ///
+ TThostFtdcVolumeType VolumeTotalOriginal;
+ ///Ч
+ TThostFtdcTimeConditionType TimeCondition;
+ ///GTD
+ TThostFtdcDateType GTDDate;
+ ///ɽ
+ TThostFtdcVolumeConditionType VolumeCondition;
+ ///Сɽ
+ TThostFtdcVolumeType MinVolume;
+ ///
+ TThostFtdcContingentConditionType ContingentCondition;
+ ///ֹ
+ TThostFtdcPriceType StopPrice;
+ ///ǿƽԭ
+ TThostFtdcForceCloseReasonType ForceCloseReason;
+ ///Զ־
+ TThostFtdcBoolType IsAutoSuspend;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ûǿ־
+ TThostFtdcBoolType UserForceClose;
+ ///־
+ TThostFtdcBoolType IsSwapOrder;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///
+struct CThostFtdcOrderField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcOrderRefType OrderRef;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///۸
+ TThostFtdcOrderPriceTypeType OrderPriceType;
+ ///
+ TThostFtdcDirectionType Direction;
+ ///Ͽƽ־
+ TThostFtdcCombOffsetFlagType CombOffsetFlag;
+ ///Ͷױ־
+ TThostFtdcCombHedgeFlagType CombHedgeFlag;
+ ///۸
+ TThostFtdcPriceType LimitPrice;
+ ///
+ TThostFtdcVolumeType VolumeTotalOriginal;
+ ///Ч
+ TThostFtdcTimeConditionType TimeCondition;
+ ///GTD
+ TThostFtdcDateType GTDDate;
+ ///ɽ
+ TThostFtdcVolumeConditionType VolumeCondition;
+ ///Сɽ
+ TThostFtdcVolumeType MinVolume;
+ ///
+ TThostFtdcContingentConditionType ContingentCondition;
+ ///ֹ
+ TThostFtdcPriceType StopPrice;
+ ///ǿƽԭ
+ TThostFtdcForceCloseReasonType ForceCloseReason;
+ ///Զ־
+ TThostFtdcBoolType IsAutoSuspend;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ر
+ TThostFtdcOrderLocalIDType OrderLocalID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ύ״̬
+ TThostFtdcOrderSubmitStatusType OrderSubmitStatus;
+ ///ʾ
+ TThostFtdcSequenceNoType NotifySequence;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///
+ TThostFtdcOrderSysIDType OrderSysID;
+ ///Դ
+ TThostFtdcOrderSourceType OrderSource;
+ ///״̬
+ TThostFtdcOrderStatusType OrderStatus;
+ ///
+ TThostFtdcOrderTypeType OrderType;
+ ///ɽ
+ TThostFtdcVolumeType VolumeTraded;
+ ///ʣ
+ TThostFtdcVolumeType VolumeTotal;
+ ///
+ TThostFtdcDateType InsertDate;
+ ///ίʱ
+ TThostFtdcTimeType InsertTime;
+ ///ʱ
+ TThostFtdcTimeType ActiveTime;
+ ///ʱ
+ TThostFtdcTimeType SuspendTime;
+ ///ʱ
+ TThostFtdcTimeType UpdateTime;
+ ///ʱ
+ TThostFtdcTimeType CancelTime;
+ ///ĽԱ
+ TThostFtdcTraderIDType ActiveTraderID;
+ ///Ա
+ TThostFtdcParticipantIDType ClearingPartID;
+ ///
+ TThostFtdcSequenceNoType SequenceNo;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///û˲ƷϢ
+ TThostFtdcProductInfoType UserProductInfo;
+ ///״̬Ϣ
+ TThostFtdcErrorMsgType StatusMsg;
+ ///ûǿ־
+ TThostFtdcBoolType UserForceClose;
+ ///û
+ TThostFtdcUserIDType ActiveUserID;
+ ///˾
+ TThostFtdcSequenceNoType BrokerOrderSeq;
+ ///ر
+ TThostFtdcOrderSysIDType RelativeOrderSysID;
+ ///֣ɽ
+ TThostFtdcVolumeType ZCETotalTradedVolume;
+ ///־
+ TThostFtdcBoolType IsSwapOrder;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+};
+
+///
+struct CThostFtdcExchangeOrderField
+{
+ ///۸
+ TThostFtdcOrderPriceTypeType OrderPriceType;
+ ///
+ TThostFtdcDirectionType Direction;
+ ///Ͽƽ־
+ TThostFtdcCombOffsetFlagType CombOffsetFlag;
+ ///Ͷױ־
+ TThostFtdcCombHedgeFlagType CombHedgeFlag;
+ ///۸
+ TThostFtdcPriceType LimitPrice;
+ ///
+ TThostFtdcVolumeType VolumeTotalOriginal;
+ ///Ч
+ TThostFtdcTimeConditionType TimeCondition;
+ ///GTD
+ TThostFtdcDateType GTDDate;
+ ///ɽ
+ TThostFtdcVolumeConditionType VolumeCondition;
+ ///Сɽ
+ TThostFtdcVolumeType MinVolume;
+ ///
+ TThostFtdcContingentConditionType ContingentCondition;
+ ///ֹ
+ TThostFtdcPriceType StopPrice;
+ ///ǿƽԭ
+ TThostFtdcForceCloseReasonType ForceCloseReason;
+ ///Զ־
+ TThostFtdcBoolType IsAutoSuspend;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ر
+ TThostFtdcOrderLocalIDType OrderLocalID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ύ״̬
+ TThostFtdcOrderSubmitStatusType OrderSubmitStatus;
+ ///ʾ
+ TThostFtdcSequenceNoType NotifySequence;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///
+ TThostFtdcOrderSysIDType OrderSysID;
+ ///Դ
+ TThostFtdcOrderSourceType OrderSource;
+ ///״̬
+ TThostFtdcOrderStatusType OrderStatus;
+ ///
+ TThostFtdcOrderTypeType OrderType;
+ ///ɽ
+ TThostFtdcVolumeType VolumeTraded;
+ ///ʣ
+ TThostFtdcVolumeType VolumeTotal;
+ ///
+ TThostFtdcDateType InsertDate;
+ ///ίʱ
+ TThostFtdcTimeType InsertTime;
+ ///ʱ
+ TThostFtdcTimeType ActiveTime;
+ ///ʱ
+ TThostFtdcTimeType SuspendTime;
+ ///ʱ
+ TThostFtdcTimeType UpdateTime;
+ ///ʱ
+ TThostFtdcTimeType CancelTime;
+ ///ĽԱ
+ TThostFtdcTraderIDType ActiveTraderID;
+ ///Ա
+ TThostFtdcParticipantIDType ClearingPartID;
+ ///
+ TThostFtdcSequenceNoType SequenceNo;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+};
+
+///ʧ
+struct CThostFtdcExchangeOrderInsertErrorField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ر
+ TThostFtdcOrderLocalIDType OrderLocalID;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+};
+
+///뱨
+struct CThostFtdcInputOrderActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcOrderActionRefType OrderActionRef;
+ ///
+ TThostFtdcOrderRefType OrderRef;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcOrderSysIDType OrderSysID;
+ ///־
+ TThostFtdcActionFlagType ActionFlag;
+ ///۸
+ TThostFtdcPriceType LimitPrice;
+ ///仯
+ TThostFtdcVolumeType VolumeChange;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+};
+
+///
+struct CThostFtdcOrderActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcOrderActionRefType OrderActionRef;
+ ///
+ TThostFtdcOrderRefType OrderRef;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcOrderSysIDType OrderSysID;
+ ///־
+ TThostFtdcActionFlagType ActionFlag;
+ ///۸
+ TThostFtdcPriceType LimitPrice;
+ ///仯
+ TThostFtdcVolumeType VolumeChange;
+ ///
+ TThostFtdcDateType ActionDate;
+ ///ʱ
+ TThostFtdcTimeType ActionTime;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ر
+ TThostFtdcOrderLocalIDType OrderLocalID;
+ ///ر
+ TThostFtdcOrderLocalIDType ActionLocalID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///״̬
+ TThostFtdcOrderActionStatusType OrderActionStatus;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///״̬Ϣ
+ TThostFtdcErrorMsgType StatusMsg;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+};
+
+///
+struct CThostFtdcExchangeOrderActionField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcOrderSysIDType OrderSysID;
+ ///־
+ TThostFtdcActionFlagType ActionFlag;
+ ///۸
+ TThostFtdcPriceType LimitPrice;
+ ///仯
+ TThostFtdcVolumeType VolumeChange;
+ ///
+ TThostFtdcDateType ActionDate;
+ ///ʱ
+ TThostFtdcTimeType ActionTime;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ر
+ TThostFtdcOrderLocalIDType OrderLocalID;
+ ///ر
+ TThostFtdcOrderLocalIDType ActionLocalID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///״̬
+ TThostFtdcOrderActionStatusType OrderActionStatus;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+};
+
+///ʧ
+struct CThostFtdcExchangeOrderActionErrorField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcOrderSysIDType OrderSysID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ر
+ TThostFtdcOrderLocalIDType OrderLocalID;
+ ///ر
+ TThostFtdcOrderLocalIDType ActionLocalID;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+};
+
+///ɽ
+struct CThostFtdcExchangeTradeField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ɽ
+ TThostFtdcTradeIDType TradeID;
+ ///
+ TThostFtdcDirectionType Direction;
+ ///
+ TThostFtdcOrderSysIDType OrderSysID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ɫ
+ TThostFtdcTradingRoleType TradingRole;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///ƽ־
+ TThostFtdcOffsetFlagType OffsetFlag;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///۸
+ TThostFtdcPriceType Price;
+ ///
+ TThostFtdcVolumeType Volume;
+ ///ɽʱ
+ TThostFtdcDateType TradeDate;
+ ///ɽʱ
+ TThostFtdcTimeType TradeTime;
+ ///ɽ
+ TThostFtdcTradeTypeType TradeType;
+ ///ɽԴ
+ TThostFtdcPriceSourceType PriceSource;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///ر
+ TThostFtdcOrderLocalIDType OrderLocalID;
+ ///Ա
+ TThostFtdcParticipantIDType ClearingPartID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///
+ TThostFtdcSequenceNoType SequenceNo;
+ ///ɽԴ
+ TThostFtdcTradeSourceType TradeSource;
+};
+
+///ɽ
+struct CThostFtdcTradeField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcOrderRefType OrderRef;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ɽ
+ TThostFtdcTradeIDType TradeID;
+ ///
+ TThostFtdcDirectionType Direction;
+ ///
+ TThostFtdcOrderSysIDType OrderSysID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ɫ
+ TThostFtdcTradingRoleType TradingRole;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///ƽ־
+ TThostFtdcOffsetFlagType OffsetFlag;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///۸
+ TThostFtdcPriceType Price;
+ ///
+ TThostFtdcVolumeType Volume;
+ ///ɽʱ
+ TThostFtdcDateType TradeDate;
+ ///ɽʱ
+ TThostFtdcTimeType TradeTime;
+ ///ɽ
+ TThostFtdcTradeTypeType TradeType;
+ ///ɽԴ
+ TThostFtdcPriceSourceType PriceSource;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///ر
+ TThostFtdcOrderLocalIDType OrderLocalID;
+ ///Ա
+ TThostFtdcParticipantIDType ClearingPartID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///
+ TThostFtdcSequenceNoType SequenceNo;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///˾
+ TThostFtdcSequenceNoType BrokerOrderSeq;
+ ///ɽԴ
+ TThostFtdcTradeSourceType TradeSource;
+};
+
+///ûỰ
+struct CThostFtdcUserSessionField
+{
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///¼
+ TThostFtdcDateType LoginDate;
+ ///¼ʱ
+ TThostFtdcTimeType LoginTime;
+ ///IPַ
+ TThostFtdcIPAddressType IPAddress;
+ ///û˲ƷϢ
+ TThostFtdcProductInfoType UserProductInfo;
+ ///ӿڶ˲ƷϢ
+ TThostFtdcProductInfoType InterfaceProductInfo;
+ ///ЭϢ
+ TThostFtdcProtocolInfoType ProtocolInfo;
+ ///Macַ
+ TThostFtdcMacAddressType MacAddress;
+};
+
+///ѯ
+struct CThostFtdcQueryMaxOrderVolumeField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcDirectionType Direction;
+ ///ƽ־
+ TThostFtdcOffsetFlagType OffsetFlag;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///
+ TThostFtdcVolumeType MaxVolume;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///Ͷ߽ȷϢ
+struct CThostFtdcSettlementInfoConfirmField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ȷ
+ TThostFtdcDateType ConfirmDate;
+ ///ȷʱ
+ TThostFtdcTimeType ConfirmTime;
+};
+
+///ͬ
+struct CThostFtdcSyncDepositField
+{
+ ///ˮ
+ TThostFtdcDepositSeqNoType DepositSeqNo;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcMoneyType Deposit;
+ ///Ƿǿƽ
+ TThostFtdcBoolType IsForce;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+};
+
+///Ѻͬ
+struct CThostFtdcSyncFundMortgageField
+{
+ ///Ѻˮ
+ TThostFtdcDepositSeqNoType MortgageSeqNo;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Դ
+ TThostFtdcCurrencyIDType FromCurrencyID;
+ ///Ѻ
+ TThostFtdcMoneyType MortgageAmount;
+ ///Ŀ
+ TThostFtdcCurrencyIDType ToCurrencyID;
+};
+
+///˾ͬ
+struct CThostFtdcBrokerSyncField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+};
+
+///ͬеͶ
+struct CThostFtdcSyncingInvestorField
+{
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷ߷
+ TThostFtdcInvestorIDType InvestorGroupID;
+ ///Ͷ
+ TThostFtdcPartyNameType InvestorName;
+ ///֤
+ TThostFtdcIdCardTypeType IdentifiedCardType;
+ ///֤
+ TThostFtdcIdentifiedCardNoType IdentifiedCardNo;
+ ///ǷԾ
+ TThostFtdcBoolType IsActive;
+ ///ϵ绰
+ TThostFtdcTelephoneType Telephone;
+ ///ͨѶַ
+ TThostFtdcAddressType Address;
+ ///
+ TThostFtdcDateType OpenDate;
+ ///ֻ
+ TThostFtdcMobileType Mobile;
+ ///ģ
+ TThostFtdcInvestorIDType CommModelID;
+ ///֤ģ
+ TThostFtdcInvestorIDType MarginModelID;
+};
+
+///ͬеĽ״
+struct CThostFtdcSyncingTradingCodeField
+{
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ǷԾ
+ TThostFtdcBoolType IsActive;
+ ///ױ
+ TThostFtdcClientIDTypeType ClientIDType;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+};
+
+///ͬеͶ߷
+struct CThostFtdcSyncingInvestorGroupField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷ߷
+ TThostFtdcInvestorIDType InvestorGroupID;
+ ///Ͷ߷
+ TThostFtdcInvestorGroupNameType InvestorGroupName;
+};
+
+///ͬеĽ˺
+struct CThostFtdcSyncingTradingAccountField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ϴѺ
+ TThostFtdcMoneyType PreMortgage;
+ ///ϴö
+ TThostFtdcMoneyType PreCredit;
+ ///ϴδ
+ TThostFtdcMoneyType PreDeposit;
+ ///ϴν
+ TThostFtdcMoneyType PreBalance;
+ ///ϴռõı֤
+ TThostFtdcMoneyType PreMargin;
+ ///Ϣ
+ TThostFtdcMoneyType InterestBase;
+ ///Ϣ
+ TThostFtdcMoneyType Interest;
+ ///
+ TThostFtdcMoneyType Deposit;
+ ///
+ TThostFtdcMoneyType Withdraw;
+ ///ı֤
+ TThostFtdcMoneyType FrozenMargin;
+ ///ʽ
+ TThostFtdcMoneyType FrozenCash;
+ ///
+ TThostFtdcMoneyType FrozenCommission;
+ ///ǰ֤ܶ
+ TThostFtdcMoneyType CurrMargin;
+ ///ʽ
+ TThostFtdcMoneyType CashIn;
+ ///
+ TThostFtdcMoneyType Commission;
+ ///ƽӯ
+ TThostFtdcMoneyType CloseProfit;
+ ///ֲӯ
+ TThostFtdcMoneyType PositionProfit;
+ ///ڻ
+ TThostFtdcMoneyType Balance;
+ ///ʽ
+ TThostFtdcMoneyType Available;
+ ///ȡʽ
+ TThostFtdcMoneyType WithdrawQuota;
+ ///
+ TThostFtdcMoneyType Reserve;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///ö
+ TThostFtdcMoneyType Credit;
+ ///Ѻ
+ TThostFtdcMoneyType Mortgage;
+ ///֤
+ TThostFtdcMoneyType ExchangeMargin;
+ ///Ͷ߽֤
+ TThostFtdcMoneyType DeliveryMargin;
+ ///֤
+ TThostFtdcMoneyType ExchangeDeliveryMargin;
+ ///ڻ
+ TThostFtdcMoneyType ReserveBalance;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///ϴλ
+ TThostFtdcMoneyType PreFundMortgageIn;
+ ///ϴλʳ
+ TThostFtdcMoneyType PreFundMortgageOut;
+ ///
+ TThostFtdcMoneyType FundMortgageIn;
+ ///ʳ
+ TThostFtdcMoneyType FundMortgageOut;
+ ///Ѻ
+ TThostFtdcMoneyType FundMortgageAvailable;
+ ///Ѻҽ
+ TThostFtdcMoneyType MortgageableFund;
+ ///Ʒռñ֤
+ TThostFtdcMoneyType SpecProductMargin;
+ ///Ʒᱣ֤
+ TThostFtdcMoneyType SpecProductFrozenMargin;
+ ///Ʒ
+ TThostFtdcMoneyType SpecProductCommission;
+ ///Ʒ
+ TThostFtdcMoneyType SpecProductFrozenCommission;
+ ///Ʒֲӯ
+ TThostFtdcMoneyType SpecProductPositionProfit;
+ ///Ʒƽӯ
+ TThostFtdcMoneyType SpecProductCloseProfit;
+ ///ݳֲӯ㷨Ʒֲӯ
+ TThostFtdcMoneyType SpecProductPositionProfitByAlg;
+ ///Ʒ֤
+ TThostFtdcMoneyType SpecProductExchangeMargin;
+};
+
+///ͬеͶֲ߳
+struct CThostFtdcSyncingInvestorPositionField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ֲֶշ
+ TThostFtdcPosiDirectionType PosiDirection;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///ֲ
+ TThostFtdcPositionDateType PositionDate;
+ ///ճֲ
+ TThostFtdcVolumeType YdPosition;
+ ///ճֲ
+ TThostFtdcVolumeType Position;
+ ///ͷ
+ TThostFtdcVolumeType LongFrozen;
+ ///ͷ
+ TThostFtdcVolumeType ShortFrozen;
+ ///ֶ
+ TThostFtdcMoneyType LongFrozenAmount;
+ ///ֶ
+ TThostFtdcMoneyType ShortFrozenAmount;
+ ///
+ TThostFtdcVolumeType OpenVolume;
+ ///ƽ
+ TThostFtdcVolumeType CloseVolume;
+ ///ֽ
+ TThostFtdcMoneyType OpenAmount;
+ ///ƽֽ
+ TThostFtdcMoneyType CloseAmount;
+ ///ֲֳɱ
+ TThostFtdcMoneyType PositionCost;
+ ///ϴռõı֤
+ TThostFtdcMoneyType PreMargin;
+ ///ռõı֤
+ TThostFtdcMoneyType UseMargin;
+ ///ı֤
+ TThostFtdcMoneyType FrozenMargin;
+ ///ʽ
+ TThostFtdcMoneyType FrozenCash;
+ ///
+ TThostFtdcMoneyType FrozenCommission;
+ ///ʽ
+ TThostFtdcMoneyType CashIn;
+ ///
+ TThostFtdcMoneyType Commission;
+ ///ƽӯ
+ TThostFtdcMoneyType CloseProfit;
+ ///ֲӯ
+ TThostFtdcMoneyType PositionProfit;
+ ///ϴν
+ TThostFtdcPriceType PreSettlementPrice;
+ ///ν
+ TThostFtdcPriceType SettlementPrice;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///ֳɱ
+ TThostFtdcMoneyType OpenCost;
+ ///֤
+ TThostFtdcMoneyType ExchangeMargin;
+ ///ϳɽγɵijֲ
+ TThostFtdcVolumeType CombPosition;
+ ///϶ͷ
+ TThostFtdcVolumeType CombLongFrozen;
+ ///Ͽͷ
+ TThostFtdcVolumeType CombShortFrozen;
+ ///նƽӯ
+ TThostFtdcMoneyType CloseProfitByDate;
+ ///ʶԳƽӯ
+ TThostFtdcMoneyType CloseProfitByTrade;
+ ///ճֲ
+ TThostFtdcVolumeType TodayPosition;
+ ///֤
+ TThostFtdcRatioType MarginRateByMoney;
+ ///֤()
+ TThostFtdcRatioType MarginRateByVolume;
+ ///ִж
+ TThostFtdcVolumeType StrikeFrozen;
+ ///ִж
+ TThostFtdcMoneyType StrikeFrozenAmount;
+ ///ִж
+ TThostFtdcVolumeType AbandonFrozen;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ִж
+ TThostFtdcVolumeType YdStrikeFrozen;
+};
+
+///ͬеĺԼ֤
+struct CThostFtdcSyncingInstrumentMarginRateField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷ߷Χ
+ TThostFtdcInvestorRangeType InvestorRange;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///ͷ֤
+ TThostFtdcRatioType LongMarginRatioByMoney;
+ ///ͷ֤
+ TThostFtdcMoneyType LongMarginRatioByVolume;
+ ///ͷ֤
+ TThostFtdcRatioType ShortMarginRatioByMoney;
+ ///ͷ֤
+ TThostFtdcMoneyType ShortMarginRatioByVolume;
+ ///ǷԽȡ
+ TThostFtdcBoolType IsRelative;
+};
+
+///ͬеĺԼ
+struct CThostFtdcSyncingInstrumentCommissionRateField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷ߷Χ
+ TThostFtdcInvestorRangeType InvestorRange;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcRatioType OpenRatioByMoney;
+ ///
+ TThostFtdcRatioType OpenRatioByVolume;
+ ///ƽ
+ TThostFtdcRatioType CloseRatioByMoney;
+ ///ƽ
+ TThostFtdcRatioType CloseRatioByVolume;
+ ///ƽ
+ TThostFtdcRatioType CloseTodayRatioByMoney;
+ ///ƽ
+ TThostFtdcRatioType CloseTodayRatioByVolume;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ͬеĺԼȨ
+struct CThostFtdcSyncingInstrumentTradingRightField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷ߷Χ
+ TThostFtdcInvestorRangeType InvestorRange;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Ȩ
+ TThostFtdcTradingRightType TradingRight;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ѯ
+struct CThostFtdcQryOrderField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcOrderSysIDType OrderSysID;
+ ///ʼʱ
+ TThostFtdcTimeType InsertTimeStart;
+ ///ʱ
+ TThostFtdcTimeType InsertTimeEnd;
+};
+
+///ѯɽ
+struct CThostFtdcQryTradeField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ɽ
+ TThostFtdcTradeIDType TradeID;
+ ///ʼʱ
+ TThostFtdcTimeType TradeTimeStart;
+ ///ʱ
+ TThostFtdcTimeType TradeTimeEnd;
+};
+
+///ѯͶֲ߳
+struct CThostFtdcQryInvestorPositionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ѯʽ˻
+struct CThostFtdcQryTradingAccountField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///ҵ
+ TThostFtdcBizTypeType BizType;
+};
+
+///ѯͶ
+struct CThostFtdcQryInvestorField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+};
+
+///ѯױ
+struct CThostFtdcQryTradingCodeField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ױ
+ TThostFtdcClientIDTypeType ClientIDType;
+};
+
+///ѯͶ
+struct CThostFtdcQryInvestorGroupField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+};
+
+///ѯԼ֤
+struct CThostFtdcQryInstrumentMarginRateField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+};
+
+///ѯ
+struct CThostFtdcQryInstrumentCommissionRateField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ѯԼȨ
+struct CThostFtdcQryInstrumentTradingRightField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ѯ˾
+struct CThostFtdcQryBrokerField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+};
+
+///ѯԱ
+struct CThostFtdcQryTraderField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+};
+
+///ѯûȨ
+struct CThostFtdcQrySuperUserFunctionField
+{
+ ///û
+ TThostFtdcUserIDType UserID;
+};
+
+///ѯûỰ
+struct CThostFtdcQryUserSessionField
+{
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+};
+
+///ѯ˾Ա
+struct CThostFtdcQryPartBrokerField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+};
+
+///ѯǰ״̬
+struct CThostFtdcQryFrontStatusField
+{
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+};
+
+///ѯ
+struct CThostFtdcQryExchangeOrderField
+{
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+};
+
+///ѯ
+struct CThostFtdcQryOrderActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ѯ
+struct CThostFtdcQryExchangeOrderActionField
+{
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+};
+
+///ѯû
+struct CThostFtdcQrySuperUserField
+{
+ ///û
+ TThostFtdcUserIDType UserID;
+};
+
+///ѯ
+struct CThostFtdcQryExchangeField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ѯƷ
+struct CThostFtdcQryProductField
+{
+ ///Ʒ
+ TThostFtdcInstrumentIDType ProductID;
+ ///Ʒ
+ TThostFtdcProductClassType ProductClass;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ѯԼ
+struct CThostFtdcQryInstrumentField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///Ʒ
+ TThostFtdcInstrumentIDType ProductID;
+};
+
+///ѯ
+struct CThostFtdcQryDepthMarketDataField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ѯ˾û
+struct CThostFtdcQryBrokerUserField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+};
+
+///ѯ˾ûȨ
+struct CThostFtdcQryBrokerUserFunctionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+};
+
+///ѯԱ̻
+struct CThostFtdcQryTraderOfferField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+};
+
+///ѯˮ
+struct CThostFtdcQrySyncDepositField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///ˮ
+ TThostFtdcDepositSeqNoType DepositSeqNo;
+};
+
+///ѯͶ߽
+struct CThostFtdcQrySettlementInfoField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcDateType TradingDay;
+};
+
+///ѯ֤
+struct CThostFtdcQryExchangeMarginRateField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+};
+
+///ѯ֤
+struct CThostFtdcQryExchangeMarginRateAdjustField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+};
+
+///ѯ
+struct CThostFtdcQryExchangeRateField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Դ
+ TThostFtdcCurrencyIDType FromCurrencyID;
+ ///Ŀ
+ TThostFtdcCurrencyIDType ToCurrencyID;
+};
+
+///ѯѺˮ
+struct CThostFtdcQrySyncFundMortgageField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ѻˮ
+ TThostFtdcDepositSeqNoType MortgageSeqNo;
+};
+
+///ѯ
+struct CThostFtdcQryHisOrderField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcOrderSysIDType OrderSysID;
+ ///ʼʱ
+ TThostFtdcTimeType InsertTimeStart;
+ ///ʱ
+ TThostFtdcTimeType InsertTimeEnd;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+};
+
+///ǰȨԼС֤
+struct CThostFtdcOptionInstrMiniMarginField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷ߷Χ
+ TThostFtdcInvestorRangeType InvestorRange;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///λ֣ȨԼС֤
+ TThostFtdcMoneyType MinMargin;
+ ///ȡֵʽ
+ TThostFtdcValueMethodType ValueMethod;
+ ///Ƿ潻ȡ
+ TThostFtdcBoolType IsRelative;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ǰȨԼ֤ϵ
+struct CThostFtdcOptionInstrMarginAdjustField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷ߷Χ
+ TThostFtdcInvestorRangeType InvestorRange;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Ͷͷ֤ϵ
+ TThostFtdcRatioType SShortMarginRatioByMoney;
+ ///Ͷͷ֤ϵ
+ TThostFtdcMoneyType SShortMarginRatioByVolume;
+ ///ֵͷ֤ϵ
+ TThostFtdcRatioType HShortMarginRatioByMoney;
+ ///ֵͷ֤ϵ
+ TThostFtdcMoneyType HShortMarginRatioByVolume;
+ ///ͷ֤ϵ
+ TThostFtdcRatioType AShortMarginRatioByMoney;
+ ///ͷ֤ϵ
+ TThostFtdcMoneyType AShortMarginRatioByVolume;
+ ///Ƿ潻ȡ
+ TThostFtdcBoolType IsRelative;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ǰȨԼѵϸ
+struct CThostFtdcOptionInstrCommRateField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷ߷Χ
+ TThostFtdcInvestorRangeType InvestorRange;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcRatioType OpenRatioByMoney;
+ ///
+ TThostFtdcRatioType OpenRatioByVolume;
+ ///ƽ
+ TThostFtdcRatioType CloseRatioByMoney;
+ ///ƽ
+ TThostFtdcRatioType CloseRatioByVolume;
+ ///ƽ
+ TThostFtdcRatioType CloseTodayRatioByMoney;
+ ///ƽ
+ TThostFtdcRatioType CloseTodayRatioByVolume;
+ ///ִ
+ TThostFtdcRatioType StrikeRatioByMoney;
+ ///ִ
+ TThostFtdcRatioType StrikeRatioByVolume;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///Ȩ׳ɱ
+struct CThostFtdcOptionInstrTradeCostField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///ȨԼ֤䲿
+ TThostFtdcMoneyType FixedMargin;
+ ///ȨԼС֤
+ TThostFtdcMoneyType MiniMargin;
+ ///ȨԼȨ
+ TThostFtdcMoneyType Royalty;
+ ///ȨԼ֤䲿
+ TThostFtdcMoneyType ExchFixedMargin;
+ ///ȨԼС֤
+ TThostFtdcMoneyType ExchMiniMargin;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///Ȩ׳ɱѯ
+struct CThostFtdcQryOptionInstrTradeCostField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///ȨԼ
+ TThostFtdcPriceType InputPrice;
+ ///ļ۸,0
+ TThostFtdcPriceType UnderlyingPrice;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///Ȩʲѯ
+struct CThostFtdcQryOptionInstrCommRateField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ָָֻ
+struct CThostFtdcIndexPriceField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///ָֻ̼
+ TThostFtdcPriceType ClosePrice;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ִ
+struct CThostFtdcInputExecOrderField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///ִ
+ TThostFtdcOrderRefType ExecOrderRef;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///
+ TThostFtdcVolumeType Volume;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///ƽ־
+ TThostFtdcOffsetFlagType OffsetFlag;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///ִ
+ TThostFtdcActionTypeType ActionType;
+ ///ͷijֲַ
+ TThostFtdcPosiDirectionType PosiDirection;
+ ///ȨȨǷڻͷı
+ TThostFtdcExecOrderPositionFlagType ReservePositionFlag;
+ ///ȨȨɵͷǷԶƽ
+ TThostFtdcExecOrderCloseFlagType CloseFlag;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ִ
+struct CThostFtdcInputExecOrderActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ִ
+ TThostFtdcOrderActionRefType ExecOrderActionRef;
+ ///ִ
+ TThostFtdcOrderRefType ExecOrderRef;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ִ
+ TThostFtdcExecOrderSysIDType ExecOrderSysID;
+ ///־
+ TThostFtdcActionFlagType ActionFlag;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+};
+
+///ִ
+struct CThostFtdcExecOrderField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///ִ
+ TThostFtdcOrderRefType ExecOrderRef;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///
+ TThostFtdcVolumeType Volume;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///ƽ־
+ TThostFtdcOffsetFlagType OffsetFlag;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///ִ
+ TThostFtdcActionTypeType ActionType;
+ ///ͷijֲַ
+ TThostFtdcPosiDirectionType PosiDirection;
+ ///ȨȨǷڻͷı
+ TThostFtdcExecOrderPositionFlagType ReservePositionFlag;
+ ///ȨȨɵͷǷԶƽ
+ TThostFtdcExecOrderCloseFlagType CloseFlag;
+ ///ִ
+ TThostFtdcOrderLocalIDType ExecOrderLocalID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ִύ״̬
+ TThostFtdcOrderSubmitStatusType OrderSubmitStatus;
+ ///ʾ
+ TThostFtdcSequenceNoType NotifySequence;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///ִ
+ TThostFtdcExecOrderSysIDType ExecOrderSysID;
+ ///
+ TThostFtdcDateType InsertDate;
+ ///ʱ
+ TThostFtdcTimeType InsertTime;
+ ///ʱ
+ TThostFtdcTimeType CancelTime;
+ ///ִн
+ TThostFtdcExecResultType ExecResult;
+ ///Ա
+ TThostFtdcParticipantIDType ClearingPartID;
+ ///
+ TThostFtdcSequenceNoType SequenceNo;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///û˲ƷϢ
+ TThostFtdcProductInfoType UserProductInfo;
+ ///״̬Ϣ
+ TThostFtdcErrorMsgType StatusMsg;
+ ///û
+ TThostFtdcUserIDType ActiveUserID;
+ ///˾
+ TThostFtdcSequenceNoType BrokerExecOrderSeq;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+};
+
+///ִ
+struct CThostFtdcExecOrderActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ִ
+ TThostFtdcOrderActionRefType ExecOrderActionRef;
+ ///ִ
+ TThostFtdcOrderRefType ExecOrderRef;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ִ
+ TThostFtdcExecOrderSysIDType ExecOrderSysID;
+ ///־
+ TThostFtdcActionFlagType ActionFlag;
+ ///
+ TThostFtdcDateType ActionDate;
+ ///ʱ
+ TThostFtdcTimeType ActionTime;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ִ
+ TThostFtdcOrderLocalIDType ExecOrderLocalID;
+ ///ر
+ TThostFtdcOrderLocalIDType ActionLocalID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///״̬
+ TThostFtdcOrderActionStatusType OrderActionStatus;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///ִ
+ TThostFtdcActionTypeType ActionType;
+ ///״̬Ϣ
+ TThostFtdcErrorMsgType StatusMsg;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+};
+
+///ִѯ
+struct CThostFtdcQryExecOrderField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ִ
+ TThostFtdcExecOrderSysIDType ExecOrderSysID;
+ ///ʼʱ
+ TThostFtdcTimeType InsertTimeStart;
+ ///ʱ
+ TThostFtdcTimeType InsertTimeEnd;
+};
+
+///ִϢ
+struct CThostFtdcExchangeExecOrderField
+{
+ ///
+ TThostFtdcVolumeType Volume;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///ƽ־
+ TThostFtdcOffsetFlagType OffsetFlag;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///ִ
+ TThostFtdcActionTypeType ActionType;
+ ///ͷijֲַ
+ TThostFtdcPosiDirectionType PosiDirection;
+ ///ȨȨǷڻͷı
+ TThostFtdcExecOrderPositionFlagType ReservePositionFlag;
+ ///ȨȨɵͷǷԶƽ
+ TThostFtdcExecOrderCloseFlagType CloseFlag;
+ ///ִ
+ TThostFtdcOrderLocalIDType ExecOrderLocalID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ִύ״̬
+ TThostFtdcOrderSubmitStatusType OrderSubmitStatus;
+ ///ʾ
+ TThostFtdcSequenceNoType NotifySequence;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///ִ
+ TThostFtdcExecOrderSysIDType ExecOrderSysID;
+ ///
+ TThostFtdcDateType InsertDate;
+ ///ʱ
+ TThostFtdcTimeType InsertTime;
+ ///ʱ
+ TThostFtdcTimeType CancelTime;
+ ///ִн
+ TThostFtdcExecResultType ExecResult;
+ ///Ա
+ TThostFtdcParticipantIDType ClearingPartID;
+ ///
+ TThostFtdcSequenceNoType SequenceNo;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+};
+
+///ִѯ
+struct CThostFtdcQryExchangeExecOrderField
+{
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+};
+
+///ִѯ
+struct CThostFtdcQryExecOrderActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ִ
+struct CThostFtdcExchangeExecOrderActionField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ִ
+ TThostFtdcExecOrderSysIDType ExecOrderSysID;
+ ///־
+ TThostFtdcActionFlagType ActionFlag;
+ ///
+ TThostFtdcDateType ActionDate;
+ ///ʱ
+ TThostFtdcTimeType ActionTime;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ִ
+ TThostFtdcOrderLocalIDType ExecOrderLocalID;
+ ///ر
+ TThostFtdcOrderLocalIDType ActionLocalID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///״̬
+ TThostFtdcOrderActionStatusType OrderActionStatus;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///ִ
+ TThostFtdcActionTypeType ActionType;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+};
+
+///ִѯ
+struct CThostFtdcQryExchangeExecOrderActionField
+{
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+};
+
+///ִ
+struct CThostFtdcErrExecOrderField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///ִ
+ TThostFtdcOrderRefType ExecOrderRef;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///
+ TThostFtdcVolumeType Volume;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///ƽ־
+ TThostFtdcOffsetFlagType OffsetFlag;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///ִ
+ TThostFtdcActionTypeType ActionType;
+ ///ͷijֲַ
+ TThostFtdcPosiDirectionType PosiDirection;
+ ///ȨȨǷڻͷı
+ TThostFtdcExecOrderPositionFlagType ReservePositionFlag;
+ ///ȨȨɵͷǷԶƽ
+ TThostFtdcExecOrderCloseFlagType CloseFlag;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+};
+
+///ѯִ
+struct CThostFtdcQryErrExecOrderField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+};
+
+///ִ
+struct CThostFtdcErrExecOrderActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ִ
+ TThostFtdcOrderActionRefType ExecOrderActionRef;
+ ///ִ
+ TThostFtdcOrderRefType ExecOrderRef;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ִ
+ TThostFtdcExecOrderSysIDType ExecOrderSysID;
+ ///־
+ TThostFtdcActionFlagType ActionFlag;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+};
+
+///ѯִ
+struct CThostFtdcQryErrExecOrderActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+};
+
+///ͶȨԼȨ
+struct CThostFtdcOptionInstrTradingRightField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷ߷Χ
+ TThostFtdcInvestorRangeType InvestorRange;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcDirectionType Direction;
+ ///Ȩ
+ TThostFtdcTradingRightType TradingRight;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+};
+
+///ѯȨԼȨ
+struct CThostFtdcQryOptionInstrTradingRightField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcDirectionType Direction;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ѯ
+struct CThostFtdcInputForQuoteField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///ѯ
+ TThostFtdcOrderRefType ForQuoteRef;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ѯ
+struct CThostFtdcForQuoteField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///ѯ
+ TThostFtdcOrderRefType ForQuoteRef;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///ѯ۱
+ TThostFtdcOrderLocalIDType ForQuoteLocalID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///
+ TThostFtdcDateType InsertDate;
+ ///ʱ
+ TThostFtdcTimeType InsertTime;
+ ///ѯ״̬
+ TThostFtdcForQuoteStatusType ForQuoteStatus;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///״̬Ϣ
+ TThostFtdcErrorMsgType StatusMsg;
+ ///û
+ TThostFtdcUserIDType ActiveUserID;
+ ///˾ѯ۱
+ TThostFtdcSequenceNoType BrokerForQutoSeq;
+};
+
+///ѯ۲ѯ
+struct CThostFtdcQryForQuoteField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ʼʱ
+ TThostFtdcTimeType InsertTimeStart;
+ ///ʱ
+ TThostFtdcTimeType InsertTimeEnd;
+};
+
+///ѯϢ
+struct CThostFtdcExchangeForQuoteField
+{
+ ///ѯ۱
+ TThostFtdcOrderLocalIDType ForQuoteLocalID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///
+ TThostFtdcDateType InsertDate;
+ ///ʱ
+ TThostFtdcTimeType InsertTime;
+ ///ѯ״̬
+ TThostFtdcForQuoteStatusType ForQuoteStatus;
+};
+
+///ѯ۲ѯ
+struct CThostFtdcQryExchangeForQuoteField
+{
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+};
+
+///ı
+struct CThostFtdcInputQuoteField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcOrderRefType QuoteRef;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///۸
+ TThostFtdcPriceType AskPrice;
+ ///۸
+ TThostFtdcPriceType BidPrice;
+ ///
+ TThostFtdcVolumeType AskVolume;
+ ///
+ TThostFtdcVolumeType BidVolume;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///ƽ־
+ TThostFtdcOffsetFlagType AskOffsetFlag;
+ ///ƽ־
+ TThostFtdcOffsetFlagType BidOffsetFlag;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType AskHedgeFlag;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType BidHedgeFlag;
+ ///
+ TThostFtdcOrderRefType AskOrderRef;
+ ///
+ TThostFtdcOrderRefType BidOrderRef;
+ ///Ӧ۱
+ TThostFtdcOrderSysIDType ForQuoteSysID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///뱨۲
+struct CThostFtdcInputQuoteActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///۲
+ TThostFtdcOrderActionRefType QuoteActionRef;
+ ///
+ TThostFtdcOrderRefType QuoteRef;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///۲
+ TThostFtdcOrderSysIDType QuoteSysID;
+ ///־
+ TThostFtdcActionFlagType ActionFlag;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+};
+
+///
+struct CThostFtdcQuoteField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcOrderRefType QuoteRef;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///۸
+ TThostFtdcPriceType AskPrice;
+ ///۸
+ TThostFtdcPriceType BidPrice;
+ ///
+ TThostFtdcVolumeType AskVolume;
+ ///
+ TThostFtdcVolumeType BidVolume;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///ƽ־
+ TThostFtdcOffsetFlagType AskOffsetFlag;
+ ///ƽ־
+ TThostFtdcOffsetFlagType BidOffsetFlag;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType AskHedgeFlag;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType BidHedgeFlag;
+ ///ر۱
+ TThostFtdcOrderLocalIDType QuoteLocalID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ʾ
+ TThostFtdcSequenceNoType NotifySequence;
+ ///ύ״̬
+ TThostFtdcOrderSubmitStatusType OrderSubmitStatus;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///۱
+ TThostFtdcOrderSysIDType QuoteSysID;
+ ///
+ TThostFtdcDateType InsertDate;
+ ///ʱ
+ TThostFtdcTimeType InsertTime;
+ ///ʱ
+ TThostFtdcTimeType CancelTime;
+ ///״̬
+ TThostFtdcOrderStatusType QuoteStatus;
+ ///Ա
+ TThostFtdcParticipantIDType ClearingPartID;
+ ///
+ TThostFtdcSequenceNoType SequenceNo;
+ ///
+ TThostFtdcOrderSysIDType AskOrderSysID;
+ ///
+ TThostFtdcOrderSysIDType BidOrderSysID;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///û˲ƷϢ
+ TThostFtdcProductInfoType UserProductInfo;
+ ///״̬Ϣ
+ TThostFtdcErrorMsgType StatusMsg;
+ ///û
+ TThostFtdcUserIDType ActiveUserID;
+ ///˾۱
+ TThostFtdcSequenceNoType BrokerQuoteSeq;
+ ///
+ TThostFtdcOrderRefType AskOrderRef;
+ ///
+ TThostFtdcOrderRefType BidOrderRef;
+ ///Ӧ۱
+ TThostFtdcOrderSysIDType ForQuoteSysID;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+};
+
+///۲
+struct CThostFtdcQuoteActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///۲
+ TThostFtdcOrderActionRefType QuoteActionRef;
+ ///
+ TThostFtdcOrderRefType QuoteRef;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///۲
+ TThostFtdcOrderSysIDType QuoteSysID;
+ ///־
+ TThostFtdcActionFlagType ActionFlag;
+ ///
+ TThostFtdcDateType ActionDate;
+ ///ʱ
+ TThostFtdcTimeType ActionTime;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ر۱
+ TThostFtdcOrderLocalIDType QuoteLocalID;
+ ///ر
+ TThostFtdcOrderLocalIDType ActionLocalID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///״̬
+ TThostFtdcOrderActionStatusType OrderActionStatus;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///״̬Ϣ
+ TThostFtdcErrorMsgType StatusMsg;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+};
+
+///۲ѯ
+struct CThostFtdcQryQuoteField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///۱
+ TThostFtdcOrderSysIDType QuoteSysID;
+ ///ʼʱ
+ TThostFtdcTimeType InsertTimeStart;
+ ///ʱ
+ TThostFtdcTimeType InsertTimeEnd;
+};
+
+///Ϣ
+struct CThostFtdcExchangeQuoteField
+{
+ ///۸
+ TThostFtdcPriceType AskPrice;
+ ///۸
+ TThostFtdcPriceType BidPrice;
+ ///
+ TThostFtdcVolumeType AskVolume;
+ ///
+ TThostFtdcVolumeType BidVolume;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///ƽ־
+ TThostFtdcOffsetFlagType AskOffsetFlag;
+ ///ƽ־
+ TThostFtdcOffsetFlagType BidOffsetFlag;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType AskHedgeFlag;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType BidHedgeFlag;
+ ///ر۱
+ TThostFtdcOrderLocalIDType QuoteLocalID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ʾ
+ TThostFtdcSequenceNoType NotifySequence;
+ ///ύ״̬
+ TThostFtdcOrderSubmitStatusType OrderSubmitStatus;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///۱
+ TThostFtdcOrderSysIDType QuoteSysID;
+ ///
+ TThostFtdcDateType InsertDate;
+ ///ʱ
+ TThostFtdcTimeType InsertTime;
+ ///ʱ
+ TThostFtdcTimeType CancelTime;
+ ///״̬
+ TThostFtdcOrderStatusType QuoteStatus;
+ ///Ա
+ TThostFtdcParticipantIDType ClearingPartID;
+ ///
+ TThostFtdcSequenceNoType SequenceNo;
+ ///
+ TThostFtdcOrderSysIDType AskOrderSysID;
+ ///
+ TThostFtdcOrderSysIDType BidOrderSysID;
+ ///Ӧ۱
+ TThostFtdcOrderSysIDType ForQuoteSysID;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+};
+
+///۲ѯ
+struct CThostFtdcQryExchangeQuoteField
+{
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+};
+
+///۲ѯ
+struct CThostFtdcQryQuoteActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///۲
+struct CThostFtdcExchangeQuoteActionField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///۲
+ TThostFtdcOrderSysIDType QuoteSysID;
+ ///־
+ TThostFtdcActionFlagType ActionFlag;
+ ///
+ TThostFtdcDateType ActionDate;
+ ///ʱ
+ TThostFtdcTimeType ActionTime;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ر۱
+ TThostFtdcOrderLocalIDType QuoteLocalID;
+ ///ر
+ TThostFtdcOrderLocalIDType ActionLocalID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///״̬
+ TThostFtdcOrderActionStatusType OrderActionStatus;
+ ///û
+ TThostFtdcUserIDType UserID;
+};
+
+///۲ѯ
+struct CThostFtdcQryExchangeQuoteActionField
+{
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+};
+
+///ȨԼdeltaֵ
+struct CThostFtdcOptionInstrDeltaField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷ߷Χ
+ TThostFtdcInvestorRangeType InvestorRange;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Deltaֵ
+ TThostFtdcRatioType Delta;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///̵ѯ
+struct CThostFtdcForQuoteRspField
+{
+ ///
+ TThostFtdcDateType TradingDay;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///ѯ۱
+ TThostFtdcOrderSysIDType ForQuoteSysID;
+ ///ѯʱ
+ TThostFtdcTimeType ForQuoteTime;
+ ///ҵ
+ TThostFtdcDateType ActionDay;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ǰȨԼִƫֵϸ
+struct CThostFtdcStrikeOffsetField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷ߷Χ
+ TThostFtdcInvestorRangeType InvestorRange;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ִƫֵ
+ TThostFtdcMoneyType Offset;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///Ȩִƫֵѯ
+struct CThostFtdcQryStrikeOffsetField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+};
+
+///¼
+struct CThostFtdcInputLockField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcOrderRefType LockRef;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///
+ TThostFtdcVolumeType Volume;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///
+ TThostFtdcLockTypeType LockType;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///
+struct CThostFtdcLockField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcOrderRefType LockRef;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///
+ TThostFtdcVolumeType Volume;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///
+ TThostFtdcLockTypeType LockType;
+ ///
+ TThostFtdcOrderLocalIDType LockLocalID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ִύ״̬
+ TThostFtdcOrderSubmitStatusType OrderSubmitStatus;
+ ///ʾ
+ TThostFtdcSequenceNoType NotifySequence;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///
+ TThostFtdcOrderSysIDType LockSysID;
+ ///
+ TThostFtdcDateType InsertDate;
+ ///ʱ
+ TThostFtdcTimeType InsertTime;
+ ///ʱ
+ TThostFtdcTimeType CancelTime;
+ ///״̬
+ TThostFtdcOrderActionStatusType LockStatus;
+ ///Ա
+ TThostFtdcParticipantIDType ClearingPartID;
+ ///
+ TThostFtdcSequenceNoType SequenceNo;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///û˲ƷϢ
+ TThostFtdcProductInfoType UserProductInfo;
+ ///״̬Ϣ
+ TThostFtdcErrorMsgType StatusMsg;
+ ///û
+ TThostFtdcUserIDType ActiveUserID;
+ ///˾
+ TThostFtdcSequenceNoType BrokerLockSeq;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+};
+
+///ѯ
+struct CThostFtdcQryLockField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcOrderSysIDType LockSysID;
+ ///ʼʱ
+ TThostFtdcTimeType InsertTimeStart;
+ ///ʱ
+ TThostFtdcTimeType InsertTimeEnd;
+};
+
+///֤ȯλ
+struct CThostFtdcLockPositionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcVolumeType Volume;
+ ///
+ TThostFtdcVolumeType FrozenVolume;
+};
+
+///ѯ֤ȯλ
+struct CThostFtdcQryLockPositionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ǰETFȨԼѵϸ
+struct CThostFtdcETFOptionInstrCommRateField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷ߷Χ
+ TThostFtdcInvestorRangeType InvestorRange;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcRatioType OpenRatioByMoney;
+ ///
+ TThostFtdcRatioType OpenRatioByVolume;
+ ///ƽ
+ TThostFtdcRatioType CloseRatioByMoney;
+ ///ƽ
+ TThostFtdcRatioType CloseRatioByVolume;
+ ///ƽ
+ TThostFtdcRatioType CloseTodayRatioByMoney;
+ ///ƽ
+ TThostFtdcRatioType CloseTodayRatioByVolume;
+ ///ִ
+ TThostFtdcRatioType StrikeRatioByMoney;
+ ///ִ
+ TThostFtdcRatioType StrikeRatioByVolume;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///ֲַ
+ TThostFtdcPosiDirectionType PosiDirection;
+};
+
+///ETFȨʲѯ
+struct CThostFtdcQryETFOptionInstrCommRateField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ijֲֶ
+struct CThostFtdcPosiFreezeField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ر
+ TThostFtdcOrderLocalIDType OrderLocalID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///
+ TThostFtdcVolumeType Volume;
+ ///ԭ
+ TThostFtdcFreezeReasonTypeType FreezeReasonType;
+ ///
+ TThostFtdcFreezeTypeType FreezeType;
+};
+
+///ѯ
+struct CThostFtdcQryExchangeLockField
+{
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+};
+
+///
+struct CThostFtdcExchangeLockField
+{
+ ///
+ TThostFtdcVolumeType Volume;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///
+ TThostFtdcLockTypeType LockType;
+ ///
+ TThostFtdcOrderLocalIDType LockLocalID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ִύ״̬
+ TThostFtdcOrderSubmitStatusType OrderSubmitStatus;
+ ///ʾ
+ TThostFtdcSequenceNoType NotifySequence;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///
+ TThostFtdcOrderSysIDType LockSysID;
+ ///
+ TThostFtdcDateType InsertDate;
+ ///ʱ
+ TThostFtdcTimeType InsertTime;
+ ///ʱ
+ TThostFtdcTimeType CancelTime;
+ ///״̬
+ TThostFtdcOrderActionStatusType LockStatus;
+ ///Ա
+ TThostFtdcParticipantIDType ClearingPartID;
+ ///
+ TThostFtdcSequenceNoType SequenceNo;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+};
+
+///
+struct CThostFtdcExchangeExecOrderActionErrorField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ִ
+ TThostFtdcExecOrderSysIDType ExecOrderSysID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ִ
+ TThostFtdcOrderLocalIDType ExecOrderLocalID;
+ ///ر
+ TThostFtdcOrderLocalIDType ActionLocalID;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+};
+
+///
+struct CThostFtdcInputBatchOrderActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcOrderActionRefType OrderActionRef;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///û
+ TThostFtdcUserIDType UserID;
+};
+
+///
+struct CThostFtdcBatchOrderActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcOrderActionRefType OrderActionRef;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcDateType ActionDate;
+ ///ʱ
+ TThostFtdcTimeType ActionTime;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ر
+ TThostFtdcOrderLocalIDType ActionLocalID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///״̬
+ TThostFtdcOrderActionStatusType OrderActionStatus;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///״̬Ϣ
+ TThostFtdcErrorMsgType StatusMsg;
+};
+
+///
+struct CThostFtdcExchangeBatchOrderActionField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcDateType ActionDate;
+ ///ʱ
+ TThostFtdcTimeType ActionTime;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ر
+ TThostFtdcOrderLocalIDType ActionLocalID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///״̬
+ TThostFtdcOrderActionStatusType OrderActionStatus;
+ ///û
+ TThostFtdcUserIDType UserID;
+};
+
+///ѯ
+struct CThostFtdcQryBatchOrderActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///Ͷֲ߳
+struct CThostFtdcLimitPosiField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcVolumeType TotalVolume;
+ ///ͷ
+ TThostFtdcVolumeType LongVolume;
+ ///նͷ
+ TThostFtdcVolumeType OpenVolume;
+ ///ͷֲֽ
+ TThostFtdcMoneyType LongAmount;
+ ///
+ TThostFtdcVolumeType TotalVolumeFrozen;
+ ///ͷ
+ TThostFtdcVolumeType LongVolumeFrozen;
+ ///նͷ
+ TThostFtdcVolumeType OpenVolumeFrozen;
+ ///ͷֲֽ
+ TThostFtdcMoneyType LongAmountFrozen;
+};
+
+///ѯͶֲ߳
+struct CThostFtdcQryLimitPosiField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///˾ֲ
+struct CThostFtdcBrokerLimitPosiField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcLargeVolumeType TotalVolume;
+ ///ͷ
+ TThostFtdcLargeVolumeType LongVolume;
+ ///
+ TThostFtdcLargeVolumeType TotalVolumeFrozen;
+ ///ͷ
+ TThostFtdcLargeVolumeType LongVolumeFrozen;
+};
+
+///ѯ˾ֲ
+struct CThostFtdcQryBrokerLimitPosiField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///Ͷ֤ȯֲ
+struct CThostFtdcLimitPosiSField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcVolumeType TotalVolume;
+ ///տ
+ TThostFtdcVolumeType OpenVolume;
+ ///
+ TThostFtdcVolumeType TotalVolumeFrozen;
+ ///տ
+ TThostFtdcVolumeType OpenVolumeFrozen;
+};
+
+///ѯͶ֤ȯֲ
+struct CThostFtdcQryLimitPosiSField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///Ͷֲ߳Ʋ
+struct CThostFtdcLimitPosiParamField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷ߷Χ
+ TThostFtdcInvestorRangeType InvestorRange;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcVolumeType TotalVolume;
+ ///ͷ
+ TThostFtdcVolumeType LongVolume;
+ ///նͷ
+ TThostFtdcVolumeType OpenVolume;
+ ///ͷֲֽ
+ TThostFtdcMoneyType LongAmount;
+};
+
+///˾ֲƲ
+struct CThostFtdcBrokerLimitPosiParamField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcLargeVolumeType TotalVolume;
+ ///ͷ
+ TThostFtdcLargeVolumeType LongVolume;
+};
+
+///Ͷ֤ȯֲƲ
+struct CThostFtdcLimitPosiParamSField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷ߷Χ
+ TThostFtdcInvestorRangeType InvestorRange;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcVolumeType TotalVolume;
+ ///տ
+ TThostFtdcVolumeType OpenVolume;
+};
+
+///֤ȯò
+struct CThostFtdcInputStockDisposalActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///֤ȯò
+ TThostFtdcOrderActionRefType StockDisposalActionRef;
+ ///֤ȯ
+ TThostFtdcOrderRefType StockDisposalRef;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///֤ȯò
+ TThostFtdcStockDisposalSysIDType StockDisposalSysID;
+ ///־
+ TThostFtdcActionFlagType ActionFlag;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+};
+
+///֤ȯò
+struct CThostFtdcStockDisposalActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///֤ȯò
+ TThostFtdcOrderActionRefType StockDisposalActionRef;
+ ///֤ȯ
+ TThostFtdcOrderRefType StockDisposalRef;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///֤ȯò
+ TThostFtdcStockDisposalSysIDType StockDisposalSysID;
+ ///־
+ TThostFtdcActionFlagType ActionFlag;
+ ///
+ TThostFtdcDateType ActionDate;
+ ///ʱ
+ TThostFtdcTimeType ActionTime;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///֤ȯñ
+ TThostFtdcOrderLocalIDType StockDisposalLocalID;
+ ///ر
+ TThostFtdcOrderLocalIDType ActionLocalID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///״̬
+ TThostFtdcOrderActionStatusType OrderActionStatus;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///ִ
+ TThostFtdcActionTypeType ActionType;
+ ///״̬Ϣ
+ TThostFtdcErrorMsgType StatusMsg;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+};
+
+///֤ȯòѯ
+struct CThostFtdcQryStockDisposalActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///֤ȯò
+struct CThostFtdcExchangeStockDisposalActionField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///֤ȯò
+ TThostFtdcStockDisposalSysIDType StockDisposalSysID;
+ ///־
+ TThostFtdcActionFlagType ActionFlag;
+ ///
+ TThostFtdcDateType ActionDate;
+ ///ʱ
+ TThostFtdcTimeType ActionTime;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///֤ȯñ
+ TThostFtdcOrderLocalIDType StockDisposalLocalID;
+ ///ر
+ TThostFtdcOrderLocalIDType ActionLocalID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///״̬
+ TThostFtdcOrderActionStatusType OrderActionStatus;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///ִ
+ TThostFtdcActionTypeType ActionType;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+};
+
+///֤ȯò
+struct CThostFtdcQryExchangeStockDisposalActionField
+{
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+};
+
+///ѯ֤ȯò
+struct CThostFtdcQryErrStockDisposalActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+};
+
+///֤ȯò
+struct CThostFtdcExchangeStockDisposalActionErrorField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///֤ȯñ
+ TThostFtdcStockDisposalSysIDType StockDisposalSysID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///֤ȯñ
+ TThostFtdcOrderLocalIDType StockDisposalLocalID;
+ ///ر
+ TThostFtdcOrderLocalIDType ActionLocalID;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+};
+
+///֤ȯò
+struct CThostFtdcErrStockDisposalActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///֤ȯò
+ TThostFtdcOrderActionRefType StockDisposalActionRef;
+ ///֤ȯ
+ TThostFtdcOrderRefType StockDisposalRef;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///֤ȯò
+ TThostFtdcStockDisposalSysIDType StockDisposalSysID;
+ ///־
+ TThostFtdcActionFlagType ActionFlag;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+};
+
+///Ͷ߷ּ
+struct CThostFtdcInvestorLevelField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ͷ߷ּ
+ TThostFtdcLevelTypeType LevelType;
+};
+
+///ϺԼȫϵ
+struct CThostFtdcCombInstrumentGuardField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcRatioType GuarantRatio;
+};
+
+///ϺԼȫϵѯ
+struct CThostFtdcQryCombInstrumentGuardField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+};
+
+///
+struct CThostFtdcInputCombActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcOrderRefType CombActionRef;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///
+ TThostFtdcDirectionType Direction;
+ ///
+ TThostFtdcVolumeType Volume;
+ ///ָ
+ TThostFtdcCombDirectionType CombDirection;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///
+struct CThostFtdcCombActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcOrderRefType CombActionRef;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///
+ TThostFtdcDirectionType Direction;
+ ///
+ TThostFtdcVolumeType Volume;
+ ///ָ
+ TThostFtdcCombDirectionType CombDirection;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///ϱ
+ TThostFtdcOrderLocalIDType ActionLocalID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///״̬
+ TThostFtdcOrderActionStatusType ActionStatus;
+ ///ʾ
+ TThostFtdcSequenceNoType NotifySequence;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///
+ TThostFtdcSequenceNoType SequenceNo;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///û˲ƷϢ
+ TThostFtdcProductInfoType UserProductInfo;
+ ///״̬Ϣ
+ TThostFtdcErrorMsgType StatusMsg;
+};
+
+///ϲѯ
+struct CThostFtdcQryCombActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///Ϣ
+struct CThostFtdcExchangeCombActionField
+{
+ ///
+ TThostFtdcDirectionType Direction;
+ ///
+ TThostFtdcVolumeType Volume;
+ ///ָ
+ TThostFtdcCombDirectionType CombDirection;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///ϱ
+ TThostFtdcOrderLocalIDType ActionLocalID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///״̬
+ TThostFtdcOrderActionStatusType ActionStatus;
+ ///ʾ
+ TThostFtdcSequenceNoType NotifySequence;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///
+ TThostFtdcSequenceNoType SequenceNo;
+};
+
+///ϲѯ
+struct CThostFtdcQryExchangeCombActionField
+{
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+};
+
+///Ʒۻ
+struct CThostFtdcProductExchRateField
+{
+ ///Ʒ
+ TThostFtdcInstrumentIDType ProductID;
+ ///۱
+ TThostFtdcCurrencyIDType QuoteCurrencyID;
+ ///
+ TThostFtdcExchangeRateType ExchangeRate;
+};
+
+///Ʒۻʲѯ
+struct CThostFtdcQryProductExchRateField
+{
+ ///Ʒ
+ TThostFtdcInstrumentIDType ProductID;
+};
+
+///ָ
+struct CThostFtdcInputDesignateField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ָǼ
+ TThostFtdcOrderRefType DesignateRef;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///ָ
+ TThostFtdcDesignateTypeType DesignateType;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ָ
+struct CThostFtdcDesignateField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ָǼ
+ TThostFtdcOrderRefType DesignateRef;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///ָ
+ TThostFtdcDesignateTypeType DesignateType;
+ ///ָ
+ TThostFtdcOrderLocalIDType DesignateLocalID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ָ״̬
+ TThostFtdcOrderActionStatusType DesignateStatus;
+ ///ʾ
+ TThostFtdcSequenceNoType NotifySequence;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///
+ TThostFtdcDateType InsertDate;
+ ///ʱ
+ TThostFtdcTimeType InsertTime;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///û˲ƷϢ
+ TThostFtdcProductInfoType UserProductInfo;
+ ///״̬Ϣ
+ TThostFtdcErrorMsgType StatusMsg;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+};
+
+///ָ
+struct CThostFtdcQryDesignateField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ָϢ
+struct CThostFtdcExchangeDesignateField
+{
+ ///ָ
+ TThostFtdcDesignateTypeType DesignateType;
+ ///ָ
+ TThostFtdcOrderLocalIDType DesignateLocalID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ָ״̬
+ TThostFtdcOrderActionStatusType DesignateStatus;
+ ///ʾ
+ TThostFtdcSequenceNoType NotifySequence;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///
+ TThostFtdcDateType InsertDate;
+ ///ʱ
+ TThostFtdcTimeType InsertTime;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+};
+
+///֤ȯ
+struct CThostFtdcInputStockDisposalField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///֤ȯõǼ
+ TThostFtdcOrderRefType StockDisposalRef;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcVolumeType Volume;
+ ///֤ȯ÷
+ TThostFtdcStockDisposalTypeType StockDisposalType;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///֤ȯ
+struct CThostFtdcStockDisposalField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///֤ȯõǼ
+ TThostFtdcOrderRefType StockDisposalRef;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcVolumeType Volume;
+ ///֤ȯ÷
+ TThostFtdcStockDisposalTypeType StockDisposalType;
+ ///֤ȯñ
+ TThostFtdcOrderLocalIDType StockDisposalLocalID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///֤ȯ״̬
+ TThostFtdcStockDisposalStatusType StockDisposalStatus;
+ ///ʾ
+ TThostFtdcSequenceNoType NotifySequence;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///
+ TThostFtdcDateType InsertDate;
+ ///ʱ
+ TThostFtdcTimeType InsertTime;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///û˲ƷϢ
+ TThostFtdcProductInfoType UserProductInfo;
+ ///״̬Ϣ
+ TThostFtdcErrorMsgType StatusMsg;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+ ///֤ȯò
+ TThostFtdcStockDisposalSysIDType StockDisposalSysID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+};
+
+///֤ȯ
+struct CThostFtdcQryStockDisposalField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///֤ȯϢ
+struct CThostFtdcExchangeStockDisposalField
+{
+ ///
+ TThostFtdcVolumeType Volume;
+ ///֤ȯ÷
+ TThostFtdcStockDisposalTypeType StockDisposalType;
+ ///֤ȯñ
+ TThostFtdcOrderLocalIDType StockDisposalLocalID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///֤ȯ״̬
+ TThostFtdcStockDisposalStatusType StockDisposalStatus;
+ ///ʾ
+ TThostFtdcSequenceNoType NotifySequence;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///
+ TThostFtdcDateType InsertDate;
+ ///ʱ
+ TThostFtdcTimeType InsertTime;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+ ///֤ȯò
+ TThostFtdcStockDisposalSysIDType StockDisposalSysID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+};
+
+///ѯͶ߷ּ
+struct CThostFtdcQryInvestorLevelField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ѯѯۼ۲
+struct CThostFtdcQryForQuoteParamField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ѯۼ۲
+struct CThostFtdcForQuoteParamField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///¼
+ TThostFtdcPriceType LastPrice;
+ ///۲
+ TThostFtdcPriceType PriceInterval;
+};
+
+///ѯȨ
+struct CThostFtdcQryExecFreezeField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///Ȩ
+struct CThostFtdcExecFreezeField
+{
+ ///ĺԼ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ֲֶշ
+ TThostFtdcPosiDirectionType PosiDirection;
+ ///Ȩ
+ TThostFtdcOptionsTypeType OptionsType;
+ ///_λ
+ TThostFtdcVolumeType Volume;
+ ///
+ TThostFtdcMoneyType FrozenAmount;
+};
+
+///г
+struct CThostFtdcMarketDataField
+{
+ ///
+ TThostFtdcDateType TradingDay;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///¼
+ TThostFtdcPriceType LastPrice;
+ ///ϴν
+ TThostFtdcPriceType PreSettlementPrice;
+ ///
+ TThostFtdcPriceType PreClosePrice;
+ ///ֲ
+ TThostFtdcLargeVolumeType PreOpenInterest;
+ ///
+ TThostFtdcPriceType OpenPrice;
+ ///
+ TThostFtdcPriceType HighestPrice;
+ ///ͼ
+ TThostFtdcPriceType LowestPrice;
+ ///
+ TThostFtdcVolumeType Volume;
+ ///ɽ
+ TThostFtdcMoneyType Turnover;
+ ///ֲ
+ TThostFtdcLargeVolumeType OpenInterest;
+ ///
+ TThostFtdcPriceType ClosePrice;
+ ///ν
+ TThostFtdcPriceType SettlementPrice;
+ ///ͣ
+ TThostFtdcPriceType UpperLimitPrice;
+ ///ͣ
+ TThostFtdcPriceType LowerLimitPrice;
+ ///ʵ
+ TThostFtdcRatioType PreDelta;
+ ///ʵ
+ TThostFtdcRatioType CurrDelta;
+ ///ʱ
+ TThostFtdcTimeType UpdateTime;
+ ///ĺ
+ TThostFtdcMillisecType UpdateMillisec;
+ ///ҵ
+ TThostFtdcDateType ActionDay;
+};
+
+///
+struct CThostFtdcMarketDataBaseField
+{
+ ///
+ TThostFtdcDateType TradingDay;
+ ///ϴν
+ TThostFtdcPriceType PreSettlementPrice;
+ ///
+ TThostFtdcPriceType PreClosePrice;
+ ///ֲ
+ TThostFtdcLargeVolumeType PreOpenInterest;
+ ///ʵ
+ TThostFtdcRatioType PreDelta;
+};
+
+///龲̬
+struct CThostFtdcMarketDataStaticField
+{
+ ///
+ TThostFtdcPriceType OpenPrice;
+ ///
+ TThostFtdcPriceType HighestPrice;
+ ///ͼ
+ TThostFtdcPriceType LowestPrice;
+ ///
+ TThostFtdcPriceType ClosePrice;
+ ///ͣ
+ TThostFtdcPriceType UpperLimitPrice;
+ ///ͣ
+ TThostFtdcPriceType LowerLimitPrice;
+ ///ν
+ TThostFtdcPriceType SettlementPrice;
+ ///ʵ
+ TThostFtdcRatioType CurrDelta;
+};
+
+///³ɽ
+struct CThostFtdcMarketDataLastMatchField
+{
+ ///¼
+ TThostFtdcPriceType LastPrice;
+ ///
+ TThostFtdcVolumeType Volume;
+ ///ɽ
+ TThostFtdcMoneyType Turnover;
+ ///ֲ
+ TThostFtdcLargeVolumeType OpenInterest;
+};
+
+///ż
+struct CThostFtdcMarketDataBestPriceField
+{
+ ///һ
+ TThostFtdcPriceType BidPrice1;
+ ///һ
+ TThostFtdcVolumeType BidVolume1;
+ ///һ
+ TThostFtdcPriceType AskPrice1;
+ ///һ
+ TThostFtdcVolumeType AskVolume1;
+};
+
+///
+struct CThostFtdcMarketDataBid23Field
+{
+ ///۶
+ TThostFtdcPriceType BidPrice2;
+ ///
+ TThostFtdcVolumeType BidVolume2;
+ ///
+ TThostFtdcPriceType BidPrice3;
+ ///
+ TThostFtdcVolumeType BidVolume3;
+};
+
+///
+struct CThostFtdcMarketDataAsk23Field
+{
+ ///۶
+ TThostFtdcPriceType AskPrice2;
+ ///
+ TThostFtdcVolumeType AskVolume2;
+ ///
+ TThostFtdcPriceType AskPrice3;
+ ///
+ TThostFtdcVolumeType AskVolume3;
+};
+
+///ġ
+struct CThostFtdcMarketDataBid45Field
+{
+ ///
+ TThostFtdcPriceType BidPrice4;
+ ///
+ TThostFtdcVolumeType BidVolume4;
+ ///
+ TThostFtdcPriceType BidPrice5;
+ ///
+ TThostFtdcVolumeType BidVolume5;
+};
+
+///ġ
+struct CThostFtdcMarketDataAsk45Field
+{
+ ///
+ TThostFtdcPriceType AskPrice4;
+ ///
+ TThostFtdcVolumeType AskVolume4;
+ ///
+ TThostFtdcPriceType AskPrice5;
+ ///
+ TThostFtdcVolumeType AskVolume5;
+};
+
+///ʱ
+struct CThostFtdcMarketDataUpdateTimeField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///ʱ
+ TThostFtdcTimeType UpdateTime;
+ ///ĺ
+ TThostFtdcMillisecType UpdateMillisec;
+ ///ҵ
+ TThostFtdcDateType ActionDay;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///齻
+struct CThostFtdcMarketDataExchangeField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ָĺԼ
+struct CThostFtdcSpecificInstrumentField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+};
+
+///Լ״̬
+struct CThostFtdcInstrumentStatusField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///
+ TThostFtdcSettlementGroupIDType SettlementGroupID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Լ״̬
+ TThostFtdcInstrumentStatusType InstrumentStatus;
+ ///α
+ TThostFtdcTradingSegmentSNType TradingSegmentSN;
+ ///뱾״̬ʱ
+ TThostFtdcTimeType EnterTime;
+ ///뱾״̬ԭ
+ TThostFtdcInstStatusEnterReasonType EnterReason;
+};
+
+///ѯԼ״̬
+struct CThostFtdcQryInstrumentStatusField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+};
+
+///Ͷ˻
+struct CThostFtdcInvestorAccountField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+};
+
+///ӯ㷨
+struct CThostFtdcPositionProfitAlgorithmField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ӯ㷨
+ TThostFtdcAlgorithmType Algorithm;
+ ///ע
+ TThostFtdcMemoType Memo;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+};
+
+///Աʽۿ
+struct CThostFtdcDiscountField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷ߷Χ
+ TThostFtdcInvestorRangeType InvestorRange;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ʽۿ۱
+ TThostFtdcRatioType Discount;
+};
+
+///ѯת
+struct CThostFtdcQryTransferBankField
+{
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///зĴ
+ TThostFtdcBankBrchIDType BankBrchID;
+};
+
+///ת
+struct CThostFtdcTransferBankField
+{
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///зĴ
+ TThostFtdcBankBrchIDType BankBrchID;
+ ///
+ TThostFtdcBankNameType BankName;
+ ///ǷԾ
+ TThostFtdcBoolType IsActive;
+};
+
+///ѯͶֲ߳ϸ
+struct CThostFtdcQryInvestorPositionDetailField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///Ͷֲ߳ϸ
+struct CThostFtdcInvestorPositionDetailField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///
+ TThostFtdcDirectionType Direction;
+ ///
+ TThostFtdcDateType OpenDate;
+ ///ɽ
+ TThostFtdcTradeIDType TradeID;
+ ///
+ TThostFtdcVolumeType Volume;
+ ///ּ
+ TThostFtdcPriceType OpenPrice;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///ɽ
+ TThostFtdcTradeTypeType TradeType;
+ ///ϺԼ
+ TThostFtdcInstrumentIDType CombInstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///նƽӯ
+ TThostFtdcMoneyType CloseProfitByDate;
+ ///ʶԳƽӯ
+ TThostFtdcMoneyType CloseProfitByTrade;
+ ///նгֲӯ
+ TThostFtdcMoneyType PositionProfitByDate;
+ ///ʶԳֲӯ
+ TThostFtdcMoneyType PositionProfitByTrade;
+ ///Ͷ֤߱
+ TThostFtdcMoneyType Margin;
+ ///֤
+ TThostFtdcMoneyType ExchMargin;
+ ///֤
+ TThostFtdcRatioType MarginRateByMoney;
+ ///֤()
+ TThostFtdcRatioType MarginRateByVolume;
+ ///
+ TThostFtdcPriceType LastSettlementPrice;
+ ///
+ TThostFtdcPriceType SettlementPrice;
+ ///ƽ
+ TThostFtdcVolumeType CloseVolume;
+ ///ƽֽ
+ TThostFtdcMoneyType CloseAmount;
+};
+
+///ʽ˻
+struct CThostFtdcTradingAccountPasswordField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///
+ TThostFtdcPasswordType Password;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+};
+
+///鱨̻
+struct CThostFtdcMDTraderOfferField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///
+ TThostFtdcPasswordType Password;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ر
+ TThostFtdcOrderLocalIDType OrderLocalID;
+ ///Ա״̬
+ TThostFtdcTraderConnectStatusType TraderConnectStatus;
+ ///
+ TThostFtdcDateType ConnectRequestDate;
+ ///ʱ
+ TThostFtdcTimeType ConnectRequestTime;
+ ///ϴα
+ TThostFtdcDateType LastReportDate;
+ ///ϴαʱ
+ TThostFtdcTimeType LastReportTime;
+ ///
+ TThostFtdcDateType ConnectDate;
+ ///ʱ
+ TThostFtdcTimeType ConnectTime;
+ ///
+ TThostFtdcDateType StartDate;
+ ///ʱ
+ TThostFtdcTimeType StartTime;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///ϯλɽ
+ TThostFtdcTradeIDType MaxTradeID;
+ ///ϯλ
+ TThostFtdcReturnCodeType MaxOrderMessageReference;
+ ///ҵ
+ TThostFtdcBizTypeType BizType;
+};
+
+///ѯ鱨̻
+struct CThostFtdcQryMDTraderOfferField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+};
+
+///ѯͻ֪ͨ
+struct CThostFtdcQryNoticeField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+};
+
+///ͻ֪ͨ
+struct CThostFtdcNoticeField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ϣ
+ TThostFtdcContentType Content;
+ ///˾֪ͨк
+ TThostFtdcSequenceLabelType SequenceLabel;
+};
+
+///ûȨ
+struct CThostFtdcUserRightField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///ͻȨ
+ TThostFtdcUserRightTypeType UserRightType;
+ ///Ƿֹ
+ TThostFtdcBoolType IsForbidden;
+};
+
+///ѯϢȷ
+struct CThostFtdcQrySettlementInfoConfirmField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+};
+
+///װؽϢ
+struct CThostFtdcLoadSettlementInfoField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+};
+
+///˾ʽ㷨
+struct CThostFtdcBrokerWithdrawAlgorithmField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///ʽ㷨
+ TThostFtdcAlgorithmType WithdrawAlgorithm;
+ ///ʽʹ
+ TThostFtdcRatioType UsingRatio;
+ ///Ƿƽӯ
+ TThostFtdcIncludeCloseProfitType IncludeCloseProfit;
+ ///ɽͻǷܿ
+ TThostFtdcAllWithoutTradeType AllWithoutTrade;
+ ///Ƿƽӯ
+ TThostFtdcIncludeCloseProfitType AvailIncludeCloseProfit;
+ ///Ƿû¼
+ TThostFtdcBoolType IsBrokerUserEvent;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///Ѻ
+ TThostFtdcRatioType FundMortgageRatio;
+ ///Ȩ㷨
+ TThostFtdcBalanceAlgorithmType BalanceAlgorithm;
+};
+
+///ʽ˻
+struct CThostFtdcTradingAccountPasswordUpdateV1Field
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ԭĿ
+ TThostFtdcPasswordType OldPassword;
+ ///µĿ
+ TThostFtdcPasswordType NewPassword;
+};
+
+///ʽ˻
+struct CThostFtdcTradingAccountPasswordUpdateField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ԭĿ
+ TThostFtdcPasswordType OldPassword;
+ ///µĿ
+ TThostFtdcPasswordType NewPassword;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+};
+
+///ѯϺԼ
+struct CThostFtdcQryCombinationLegField
+{
+ ///ϺԼ
+ TThostFtdcInstrumentIDType CombInstrumentID;
+ ///ȱ
+ TThostFtdcLegIDType LegID;
+ ///ȺԼ
+ TThostFtdcInstrumentIDType LegInstrumentID;
+};
+
+///ѯϺԼ
+struct CThostFtdcQrySyncStatusField
+{
+ ///
+ TThostFtdcDateType TradingDay;
+};
+
+///ϽԼĵ
+struct CThostFtdcCombinationLegField
+{
+ ///ϺԼ
+ TThostFtdcInstrumentIDType CombInstrumentID;
+ ///ȱ
+ TThostFtdcLegIDType LegID;
+ ///ȺԼ
+ TThostFtdcInstrumentIDType LegInstrumentID;
+ ///
+ TThostFtdcDirectionType Direction;
+ ///ȳ
+ TThostFtdcLegMultipleType LegMultiple;
+ ///
+ TThostFtdcImplyLevelType ImplyLevel;
+};
+
+///ͬ״̬
+struct CThostFtdcSyncStatusField
+{
+ ///
+ TThostFtdcDateType TradingDay;
+ ///ͬ״̬
+ TThostFtdcDataSyncStatusType DataSyncStatus;
+};
+
+///ѯϵ
+struct CThostFtdcQryLinkManField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+};
+
+///ϵ
+struct CThostFtdcLinkManField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ϵ
+ TThostFtdcPersonTypeType PersonType;
+ ///֤
+ TThostFtdcIdCardTypeType IdentifiedCardType;
+ ///֤
+ TThostFtdcIdentifiedCardNoType IdentifiedCardNo;
+ ///
+ TThostFtdcPartyNameType PersonName;
+ ///ϵ绰
+ TThostFtdcTelephoneType Telephone;
+ ///ͨѶַ
+ TThostFtdcAddressType Address;
+ ///
+ TThostFtdcZipCodeType ZipCode;
+ ///ȼ
+ TThostFtdcPriorityType Priority;
+ ///
+ TThostFtdcUOAZipCodeType UOAZipCode;
+ ///ȫ
+ TThostFtdcInvestorFullNameType PersonFullName;
+};
+
+///ѯ˾û¼
+struct CThostFtdcQryBrokerUserEventField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///û¼
+ TThostFtdcUserEventTypeType UserEventType;
+};
+
+///ѯ˾û¼
+struct CThostFtdcBrokerUserEventField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///û¼
+ TThostFtdcUserEventTypeType UserEventType;
+ ///û¼
+ TThostFtdcSequenceNoType EventSequenceNo;
+ ///¼
+ TThostFtdcDateType EventDate;
+ ///¼ʱ
+ TThostFtdcTimeType EventTime;
+ ///û¼Ϣ
+ TThostFtdcUserEventInfoType UserEventInfo;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ѯǩԼ
+struct CThostFtdcQryContractBankField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///зĴ
+ TThostFtdcBankBrchIDType BankBrchID;
+};
+
+///ѯǩԼӦ
+struct CThostFtdcContractBankField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///зĴ
+ TThostFtdcBankBrchIDType BankBrchID;
+ ///
+ TThostFtdcBankNameType BankName;
+};
+
+///Ͷϳֲϸ
+struct CThostFtdcInvestorPositionCombineDetailField
+{
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcDateType OpenDate;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ϱ
+ TThostFtdcTradeIDType ComTradeID;
+ ///ϱ
+ TThostFtdcTradeIDType TradeID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///
+ TThostFtdcDirectionType Direction;
+ ///ֲ
+ TThostFtdcVolumeType TotalAmt;
+ ///Ͷ֤߱
+ TThostFtdcMoneyType Margin;
+ ///֤
+ TThostFtdcMoneyType ExchMargin;
+ ///֤
+ TThostFtdcRatioType MarginRateByMoney;
+ ///֤()
+ TThostFtdcRatioType MarginRateByVolume;
+ ///ȱ
+ TThostFtdcLegIDType LegID;
+ ///ȳ
+ TThostFtdcLegMultipleType LegMultiple;
+ ///ϳֲֺԼ
+ TThostFtdcInstrumentIDType CombInstrumentID;
+ ///ɽ
+ TThostFtdcTradeGroupIDType TradeGroupID;
+};
+
+///Ԥ
+struct CThostFtdcParkedOrderField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcOrderRefType OrderRef;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///۸
+ TThostFtdcOrderPriceTypeType OrderPriceType;
+ ///
+ TThostFtdcDirectionType Direction;
+ ///Ͽƽ־
+ TThostFtdcCombOffsetFlagType CombOffsetFlag;
+ ///Ͷױ־
+ TThostFtdcCombHedgeFlagType CombHedgeFlag;
+ ///۸
+ TThostFtdcPriceType LimitPrice;
+ ///
+ TThostFtdcVolumeType VolumeTotalOriginal;
+ ///Ч
+ TThostFtdcTimeConditionType TimeCondition;
+ ///GTD
+ TThostFtdcDateType GTDDate;
+ ///ɽ
+ TThostFtdcVolumeConditionType VolumeCondition;
+ ///Сɽ
+ TThostFtdcVolumeType MinVolume;
+ ///
+ TThostFtdcContingentConditionType ContingentCondition;
+ ///ֹ
+ TThostFtdcPriceType StopPrice;
+ ///ǿƽԭ
+ TThostFtdcForceCloseReasonType ForceCloseReason;
+ ///Զ־
+ TThostFtdcBoolType IsAutoSuspend;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ûǿ־
+ TThostFtdcBoolType UserForceClose;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ԥ
+ TThostFtdcParkedOrderIDType ParkedOrderID;
+ ///û
+ TThostFtdcUserTypeType UserType;
+ ///Ԥ״̬
+ TThostFtdcParkedOrderStatusType Status;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+ ///־
+ TThostFtdcBoolType IsSwapOrder;
+};
+
+///Ԥ
+struct CThostFtdcParkedOrderActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcOrderActionRefType OrderActionRef;
+ ///
+ TThostFtdcOrderRefType OrderRef;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcOrderSysIDType OrderSysID;
+ ///־
+ TThostFtdcActionFlagType ActionFlag;
+ ///۸
+ TThostFtdcPriceType LimitPrice;
+ ///仯
+ TThostFtdcVolumeType VolumeChange;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ԥ
+ TThostFtdcParkedOrderActionIDType ParkedOrderActionID;
+ ///û
+ TThostFtdcUserTypeType UserType;
+ ///Ԥ״̬
+ TThostFtdcParkedOrderStatusType Status;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+};
+
+///ѯԤ
+struct CThostFtdcQryParkedOrderField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ѯԤ
+struct CThostFtdcQryParkedOrderActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ɾԤ
+struct CThostFtdcRemoveParkedOrderField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Ԥ
+ TThostFtdcParkedOrderIDType ParkedOrderID;
+};
+
+///ɾԤ
+struct CThostFtdcRemoveParkedOrderActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Ԥ
+ TThostFtdcParkedOrderActionIDType ParkedOrderActionID;
+};
+
+///˾ʽ㷨
+struct CThostFtdcInvestorWithdrawAlgorithmField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷ߷Χ
+ TThostFtdcInvestorRangeType InvestorRange;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ʽ
+ TThostFtdcRatioType UsingRatio;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///Ѻ
+ TThostFtdcRatioType FundMortgageRatio;
+};
+
+///ѯϳֲϸ
+struct CThostFtdcQryInvestorPositionCombineDetailField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ϳֲֺԼ
+ TThostFtdcInstrumentIDType CombInstrumentID;
+};
+
+///ɽ
+struct CThostFtdcMarketDataAveragePriceField
+{
+ ///վ
+ TThostFtdcPriceType AveragePrice;
+};
+
+///УͶ
+struct CThostFtdcVerifyInvestorPasswordField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcPasswordType Password;
+};
+
+///ûIP
+struct CThostFtdcUserIPField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///IPַ
+ TThostFtdcIPAddressType IPAddress;
+ ///IPַ
+ TThostFtdcIPAddressType IPMask;
+ ///Macַ
+ TThostFtdcMacAddressType MacAddress;
+};
+
+///û¼֪ͨϢ
+struct CThostFtdcTradingNoticeInfoField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ʱ
+ TThostFtdcTimeType SendTime;
+ ///Ϣ
+ TThostFtdcContentType FieldContent;
+ ///ϵк
+ TThostFtdcSequenceSeriesType SequenceSeries;
+ ///к
+ TThostFtdcSequenceNoType SequenceNo;
+};
+
+///û¼֪ͨ
+struct CThostFtdcTradingNoticeField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷ߷Χ
+ TThostFtdcInvestorRangeType InvestorRange;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ϵк
+ TThostFtdcSequenceSeriesType SequenceSeries;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///ʱ
+ TThostFtdcTimeType SendTime;
+ ///к
+ TThostFtdcSequenceNoType SequenceNo;
+ ///Ϣ
+ TThostFtdcContentType FieldContent;
+};
+
+///ѯ¼֪ͨ
+struct CThostFtdcQryTradingNoticeField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+};
+
+///ѯ
+struct CThostFtdcQryErrOrderField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+};
+
+///
+struct CThostFtdcErrOrderField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcOrderRefType OrderRef;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///۸
+ TThostFtdcOrderPriceTypeType OrderPriceType;
+ ///
+ TThostFtdcDirectionType Direction;
+ ///Ͽƽ־
+ TThostFtdcCombOffsetFlagType CombOffsetFlag;
+ ///Ͷױ־
+ TThostFtdcCombHedgeFlagType CombHedgeFlag;
+ ///۸
+ TThostFtdcPriceType LimitPrice;
+ ///
+ TThostFtdcVolumeType VolumeTotalOriginal;
+ ///Ч
+ TThostFtdcTimeConditionType TimeCondition;
+ ///GTD
+ TThostFtdcDateType GTDDate;
+ ///ɽ
+ TThostFtdcVolumeConditionType VolumeCondition;
+ ///Сɽ
+ TThostFtdcVolumeType MinVolume;
+ ///
+ TThostFtdcContingentConditionType ContingentCondition;
+ ///ֹ
+ TThostFtdcPriceType StopPrice;
+ ///ǿƽԭ
+ TThostFtdcForceCloseReasonType ForceCloseReason;
+ ///Զ־
+ TThostFtdcBoolType IsAutoSuspend;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ûǿ־
+ TThostFtdcBoolType UserForceClose;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+ ///־
+ TThostFtdcBoolType IsSwapOrder;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ѯ
+struct CThostFtdcErrorConditionalOrderField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcOrderRefType OrderRef;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///۸
+ TThostFtdcOrderPriceTypeType OrderPriceType;
+ ///
+ TThostFtdcDirectionType Direction;
+ ///Ͽƽ־
+ TThostFtdcCombOffsetFlagType CombOffsetFlag;
+ ///Ͷױ־
+ TThostFtdcCombHedgeFlagType CombHedgeFlag;
+ ///۸
+ TThostFtdcPriceType LimitPrice;
+ ///
+ TThostFtdcVolumeType VolumeTotalOriginal;
+ ///Ч
+ TThostFtdcTimeConditionType TimeCondition;
+ ///GTD
+ TThostFtdcDateType GTDDate;
+ ///ɽ
+ TThostFtdcVolumeConditionType VolumeCondition;
+ ///Сɽ
+ TThostFtdcVolumeType MinVolume;
+ ///
+ TThostFtdcContingentConditionType ContingentCondition;
+ ///ֹ
+ TThostFtdcPriceType StopPrice;
+ ///ǿƽԭ
+ TThostFtdcForceCloseReasonType ForceCloseReason;
+ ///Զ־
+ TThostFtdcBoolType IsAutoSuspend;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ر
+ TThostFtdcOrderLocalIDType OrderLocalID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ύ״̬
+ TThostFtdcOrderSubmitStatusType OrderSubmitStatus;
+ ///ʾ
+ TThostFtdcSequenceNoType NotifySequence;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///
+ TThostFtdcOrderSysIDType OrderSysID;
+ ///Դ
+ TThostFtdcOrderSourceType OrderSource;
+ ///״̬
+ TThostFtdcOrderStatusType OrderStatus;
+ ///
+ TThostFtdcOrderTypeType OrderType;
+ ///ɽ
+ TThostFtdcVolumeType VolumeTraded;
+ ///ʣ
+ TThostFtdcVolumeType VolumeTotal;
+ ///
+ TThostFtdcDateType InsertDate;
+ ///ίʱ
+ TThostFtdcTimeType InsertTime;
+ ///ʱ
+ TThostFtdcTimeType ActiveTime;
+ ///ʱ
+ TThostFtdcTimeType SuspendTime;
+ ///ʱ
+ TThostFtdcTimeType UpdateTime;
+ ///ʱ
+ TThostFtdcTimeType CancelTime;
+ ///ĽԱ
+ TThostFtdcTraderIDType ActiveTraderID;
+ ///Ա
+ TThostFtdcParticipantIDType ClearingPartID;
+ ///
+ TThostFtdcSequenceNoType SequenceNo;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///û˲ƷϢ
+ TThostFtdcProductInfoType UserProductInfo;
+ ///״̬Ϣ
+ TThostFtdcErrorMsgType StatusMsg;
+ ///ûǿ־
+ TThostFtdcBoolType UserForceClose;
+ ///û
+ TThostFtdcUserIDType ActiveUserID;
+ ///˾
+ TThostFtdcSequenceNoType BrokerOrderSeq;
+ ///ر
+ TThostFtdcOrderSysIDType RelativeOrderSysID;
+ ///֣ɽ
+ TThostFtdcVolumeType ZCETotalTradedVolume;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+ ///־
+ TThostFtdcBoolType IsSwapOrder;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+};
+
+///ѯ
+struct CThostFtdcQryErrOrderActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+};
+
+///
+struct CThostFtdcErrOrderActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcOrderActionRefType OrderActionRef;
+ ///
+ TThostFtdcOrderRefType OrderRef;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcOrderSysIDType OrderSysID;
+ ///־
+ TThostFtdcActionFlagType ActionFlag;
+ ///۸
+ TThostFtdcPriceType LimitPrice;
+ ///仯
+ TThostFtdcVolumeType VolumeChange;
+ ///
+ TThostFtdcDateType ActionDate;
+ ///ʱ
+ TThostFtdcTimeType ActionTime;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ر
+ TThostFtdcOrderLocalIDType OrderLocalID;
+ ///ر
+ TThostFtdcOrderLocalIDType ActionLocalID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///״̬
+ TThostFtdcOrderActionStatusType OrderActionStatus;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///״̬Ϣ
+ TThostFtdcErrorMsgType StatusMsg;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+};
+
+///ѯ״̬
+struct CThostFtdcQryExchangeSequenceField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///״̬
+struct CThostFtdcExchangeSequenceField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcSequenceNoType SequenceNo;
+ ///Լ״̬
+ TThostFtdcInstrumentStatusType MarketStatus;
+};
+
+///ݼ۸ѯ
+struct CThostFtdcQueryMaxOrderVolumeWithPriceField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcDirectionType Direction;
+ ///ƽ־
+ TThostFtdcOffsetFlagType OffsetFlag;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///
+ TThostFtdcVolumeType MaxVolume;
+ ///۸
+ TThostFtdcPriceType Price;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ѯ˾ײ
+struct CThostFtdcQryBrokerTradingParamsField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+};
+
+///˾ײ
+struct CThostFtdcBrokerTradingParamsField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///֤۸
+ TThostFtdcMarginPriceTypeType MarginPriceType;
+ ///ӯ㷨
+ TThostFtdcAlgorithmType Algorithm;
+ ///Ƿƽӯ
+ TThostFtdcIncludeCloseProfitType AvailIncludeCloseProfit;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///ȨȨ۸
+ TThostFtdcOptionRoyaltyPriceTypeType OptionRoyaltyPriceType;
+};
+
+///ѯ˾㷨
+struct CThostFtdcQryBrokerTradingAlgosField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+};
+
+///˾㷨
+struct CThostFtdcBrokerTradingAlgosField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///ֲִ㷨
+ TThostFtdcHandlePositionAlgoIDType HandlePositionAlgoID;
+ ///Ѱұ֤㷨
+ TThostFtdcFindMarginRateAlgoIDType FindMarginRateAlgoID;
+ ///ʽ㷨
+ TThostFtdcHandleTradingAccountAlgoIDType HandleTradingAccountAlgoID;
+};
+
+///ѯ˾ʽ
+struct CThostFtdcQueryBrokerDepositField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///˾ʽ
+struct CThostFtdcBrokerDepositField
+{
+ ///
+ TThostFtdcTradeDateType TradingDay;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ϴν
+ TThostFtdcMoneyType PreBalance;
+ ///ǰ֤ܶ
+ TThostFtdcMoneyType CurrMargin;
+ ///ƽӯ
+ TThostFtdcMoneyType CloseProfit;
+ ///ڻ
+ TThostFtdcMoneyType Balance;
+ ///
+ TThostFtdcMoneyType Deposit;
+ ///
+ TThostFtdcMoneyType Withdraw;
+ ///ʽ
+ TThostFtdcMoneyType Available;
+ ///
+ TThostFtdcMoneyType Reserve;
+ ///ı֤
+ TThostFtdcMoneyType FrozenMargin;
+};
+
+///ѯ֤ϵͳ˾Կ
+struct CThostFtdcQryCFMMCBrokerKeyField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+};
+
+///֤ϵͳ˾Կ
+struct CThostFtdcCFMMCBrokerKeyField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///˾ͳһ
+ TThostFtdcParticipantIDType ParticipantID;
+ ///Կ
+ TThostFtdcDateType CreateDate;
+ ///Կʱ
+ TThostFtdcTimeType CreateTime;
+ ///Կ
+ TThostFtdcSequenceNoType KeyID;
+ ///̬Կ
+ TThostFtdcCFMMCKeyType CurrentKey;
+ ///̬Կ
+ TThostFtdcCFMMCKeyKindType KeyKind;
+};
+
+///֤ϵͳ˾ʽ˻Կ
+struct CThostFtdcCFMMCTradingAccountKeyField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///˾ͳһ
+ TThostFtdcParticipantIDType ParticipantID;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///Կ
+ TThostFtdcSequenceNoType KeyID;
+ ///̬Կ
+ TThostFtdcCFMMCKeyType CurrentKey;
+};
+
+///ѯ֤ϵͳ˾ʽ˻Կ
+struct CThostFtdcQryCFMMCTradingAccountKeyField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+};
+
+///û̬Ʋ
+struct CThostFtdcBrokerUserOTPParamField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///̬ṩ
+ TThostFtdcOTPVendorsIDType OTPVendorsID;
+ ///̬к
+ TThostFtdcSerialNumberType SerialNumber;
+ ///Կ
+ TThostFtdcAuthKeyType AuthKey;
+ ///Ưֵ
+ TThostFtdcLastDriftType LastDrift;
+ ///ɹֵ
+ TThostFtdcLastSuccessType LastSuccess;
+ ///̬
+ TThostFtdcOTPTypeType OTPType;
+};
+
+///ֹͬû̬
+struct CThostFtdcManualSyncBrokerUserOTPField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///̬
+ TThostFtdcOTPTypeType OTPType;
+ ///һ̬
+ TThostFtdcPasswordType FirstOTP;
+ ///ڶ̬
+ TThostFtdcPasswordType SecondOTP;
+};
+
+///Ͷģ
+struct CThostFtdcCommRateModelField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///ģ
+ TThostFtdcInvestorIDType CommModelID;
+ ///ģ
+ TThostFtdcCommModelNameType CommModelName;
+};
+
+///ѯͶģ
+struct CThostFtdcQryCommRateModelField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///ģ
+ TThostFtdcInvestorIDType CommModelID;
+};
+
+///Ͷ֤߱ģ
+struct CThostFtdcMarginModelField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///֤ģ
+ TThostFtdcInvestorIDType MarginModelID;
+ ///ģ
+ TThostFtdcCommModelNameType MarginModelName;
+};
+
+///ѯͶ֤߱ģ
+struct CThostFtdcQryMarginModelField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///֤ģ
+ TThostFtdcInvestorIDType MarginModelID;
+};
+
+///ֵ۵Ϣ
+struct CThostFtdcEWarrantOffsetField
+{
+ ///
+ TThostFtdcTradeDateType TradingDay;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcDirectionType Direction;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///
+ TThostFtdcVolumeType Volume;
+};
+
+///ѯֵ۵Ϣ
+struct CThostFtdcQryEWarrantOffsetField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+};
+
+///ѯͶƷ/Ʒֱ֤
+struct CThostFtdcQryInvestorProductGroupMarginField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Ʒ/Ʒֱʾ
+ TThostFtdcInstrumentIDType ProductGroupID;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+};
+
+///ͶƷ/Ʒֱ֤
+struct CThostFtdcInvestorProductGroupMarginField
+{
+ ///Ʒ/Ʒֱʾ
+ TThostFtdcInstrumentIDType ProductGroupID;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///ı֤
+ TThostFtdcMoneyType FrozenMargin;
+ ///ͷı֤
+ TThostFtdcMoneyType LongFrozenMargin;
+ ///ͷı֤
+ TThostFtdcMoneyType ShortFrozenMargin;
+ ///ռõı֤
+ TThostFtdcMoneyType UseMargin;
+ ///ͷ֤
+ TThostFtdcMoneyType LongUseMargin;
+ ///ͷ֤
+ TThostFtdcMoneyType ShortUseMargin;
+ ///֤
+ TThostFtdcMoneyType ExchMargin;
+ ///ͷ֤
+ TThostFtdcMoneyType LongExchMargin;
+ ///ͷ֤
+ TThostFtdcMoneyType ShortExchMargin;
+ ///ƽӯ
+ TThostFtdcMoneyType CloseProfit;
+ ///
+ TThostFtdcMoneyType FrozenCommission;
+ ///
+ TThostFtdcMoneyType Commission;
+ ///ʽ
+ TThostFtdcMoneyType FrozenCash;
+ ///ʽ
+ TThostFtdcMoneyType CashIn;
+ ///ֲӯ
+ TThostFtdcMoneyType PositionProfit;
+ ///۵ܽ
+ TThostFtdcMoneyType OffsetAmount;
+ ///ͷ۵ܽ
+ TThostFtdcMoneyType LongOffsetAmount;
+ ///ͷ۵ܽ
+ TThostFtdcMoneyType ShortOffsetAmount;
+ ///۵ܽ
+ TThostFtdcMoneyType ExchOffsetAmount;
+ ///ͷ۵ܽ
+ TThostFtdcMoneyType LongExchOffsetAmount;
+ ///ͷ۵ܽ
+ TThostFtdcMoneyType ShortExchOffsetAmount;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+};
+
+///ѯû
+struct CThostFtdcQueryCFMMCTradingAccountTokenField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+};
+
+///û
+struct CThostFtdcCFMMCTradingAccountTokenField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///˾ͳһ
+ TThostFtdcParticipantIDType ParticipantID;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///Կ
+ TThostFtdcSequenceNoType KeyID;
+ ///̬
+ TThostFtdcCFMMCTokenType Token;
+};
+
+///ͶָȨ
+struct CThostFtdcInstructionRightField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ָȨ
+ TThostFtdcInstructionRightTypeType InstructionRight;
+ ///Ƿֹ
+ TThostFtdcBoolType IsForbidden;
+};
+
+///ѯƷ
+struct CThostFtdcQryProductGroupField
+{
+ ///Ʒ
+ TThostFtdcInstrumentIDType ProductID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ͶƷ/Ʒֱ֤Ʒ
+struct CThostFtdcProductGroupField
+{
+ ///Ʒ
+ TThostFtdcInstrumentIDType ProductID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ʒ
+ TThostFtdcInstrumentIDType ProductGroupID;
+};
+
+///תʿ
+struct CThostFtdcReqOpenAccountField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///ͻ
+ TThostFtdcIndividualNameType CustomerName;
+ ///֤
+ TThostFtdcIdCardTypeType IdCardType;
+ ///֤
+ TThostFtdcIdentifiedCardNoType IdentifiedCardNo;
+ ///Ա
+ TThostFtdcGenderType Gender;
+ ///Ҵ
+ TThostFtdcCountryCodeType CountryCode;
+ ///ͻ
+ TThostFtdcCustTypeType CustType;
+ ///ַ
+ TThostFtdcAddressType Address;
+ ///ʱ
+ TThostFtdcZipCodeType ZipCode;
+ ///绰
+ TThostFtdcTelephoneType Telephone;
+ ///ֻ
+ TThostFtdcMobilePhoneType MobilePhone;
+ ///
+ TThostFtdcFaxType Fax;
+ ///ʼ
+ TThostFtdcEMailType EMail;
+ ///ʽ˻״̬
+ TThostFtdcMoneyAccountStatusType MoneyAccountStatus;
+ ///ʺ
+ TThostFtdcBankAccountType BankAccount;
+ ///
+ TThostFtdcPasswordType BankPassWord;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ڻ
+ TThostFtdcPasswordType Password;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///֤ͻ֤־
+ TThostFtdcYesNoIndicatorType VerifyCertNoFlag;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///㳮־
+ TThostFtdcCashExchangeCodeType CashExchangeCode;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+ ///ʺ
+ TThostFtdcBankAccTypeType BankAccType;
+ ///־
+ TThostFtdcDeviceIDType DeviceID;
+ ///ڻλʺ
+ TThostFtdcBankAccTypeType BankSecuAccType;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///ڻλʺ
+ TThostFtdcBankAccountType BankSecuAcc;
+ ///־
+ TThostFtdcPwdFlagType BankPwdFlag;
+ ///ڻʽ˶Ա־
+ TThostFtdcPwdFlagType SecuPwdFlag;
+ ///Ա
+ TThostFtdcOperNoType OperNo;
+ ///ID
+ TThostFtdcTIDType TID;
+ ///ûʶ
+ TThostFtdcUserIDType UserID;
+};
+
+///ת
+struct CThostFtdcReqCancelAccountField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///ͻ
+ TThostFtdcIndividualNameType CustomerName;
+ ///֤
+ TThostFtdcIdCardTypeType IdCardType;
+ ///֤
+ TThostFtdcIdentifiedCardNoType IdentifiedCardNo;
+ ///Ա
+ TThostFtdcGenderType Gender;
+ ///Ҵ
+ TThostFtdcCountryCodeType CountryCode;
+ ///ͻ
+ TThostFtdcCustTypeType CustType;
+ ///ַ
+ TThostFtdcAddressType Address;
+ ///ʱ
+ TThostFtdcZipCodeType ZipCode;
+ ///绰
+ TThostFtdcTelephoneType Telephone;
+ ///ֻ
+ TThostFtdcMobilePhoneType MobilePhone;
+ ///
+ TThostFtdcFaxType Fax;
+ ///ʼ
+ TThostFtdcEMailType EMail;
+ ///ʽ˻״̬
+ TThostFtdcMoneyAccountStatusType MoneyAccountStatus;
+ ///ʺ
+ TThostFtdcBankAccountType BankAccount;
+ ///
+ TThostFtdcPasswordType BankPassWord;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ڻ
+ TThostFtdcPasswordType Password;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///֤ͻ֤־
+ TThostFtdcYesNoIndicatorType VerifyCertNoFlag;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///㳮־
+ TThostFtdcCashExchangeCodeType CashExchangeCode;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+ ///ʺ
+ TThostFtdcBankAccTypeType BankAccType;
+ ///־
+ TThostFtdcDeviceIDType DeviceID;
+ ///ڻλʺ
+ TThostFtdcBankAccTypeType BankSecuAccType;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///ڻλʺ
+ TThostFtdcBankAccountType BankSecuAcc;
+ ///־
+ TThostFtdcPwdFlagType BankPwdFlag;
+ ///ڻʽ˶Ա־
+ TThostFtdcPwdFlagType SecuPwdFlag;
+ ///Ա
+ TThostFtdcOperNoType OperNo;
+ ///ID
+ TThostFtdcTIDType TID;
+ ///ûʶ
+ TThostFtdcUserIDType UserID;
+};
+
+///˻
+struct CThostFtdcReqChangeAccountField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///ͻ
+ TThostFtdcIndividualNameType CustomerName;
+ ///֤
+ TThostFtdcIdCardTypeType IdCardType;
+ ///֤
+ TThostFtdcIdentifiedCardNoType IdentifiedCardNo;
+ ///Ա
+ TThostFtdcGenderType Gender;
+ ///Ҵ
+ TThostFtdcCountryCodeType CountryCode;
+ ///ͻ
+ TThostFtdcCustTypeType CustType;
+ ///ַ
+ TThostFtdcAddressType Address;
+ ///ʱ
+ TThostFtdcZipCodeType ZipCode;
+ ///绰
+ TThostFtdcTelephoneType Telephone;
+ ///ֻ
+ TThostFtdcMobilePhoneType MobilePhone;
+ ///
+ TThostFtdcFaxType Fax;
+ ///ʼ
+ TThostFtdcEMailType EMail;
+ ///ʽ˻״̬
+ TThostFtdcMoneyAccountStatusType MoneyAccountStatus;
+ ///ʺ
+ TThostFtdcBankAccountType BankAccount;
+ ///
+ TThostFtdcPasswordType BankPassWord;
+ ///ʺ
+ TThostFtdcBankAccountType NewBankAccount;
+ ///
+ TThostFtdcPasswordType NewBankPassWord;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ڻ
+ TThostFtdcPasswordType Password;
+ ///ʺ
+ TThostFtdcBankAccTypeType BankAccType;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///֤ͻ֤־
+ TThostFtdcYesNoIndicatorType VerifyCertNoFlag;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///־
+ TThostFtdcPwdFlagType BankPwdFlag;
+ ///ڻʽ˶Ա־
+ TThostFtdcPwdFlagType SecuPwdFlag;
+ ///ID
+ TThostFtdcTIDType TID;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+};
+
+///ת
+struct CThostFtdcReqTransferField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///ͻ
+ TThostFtdcIndividualNameType CustomerName;
+ ///֤
+ TThostFtdcIdCardTypeType IdCardType;
+ ///֤
+ TThostFtdcIdentifiedCardNoType IdentifiedCardNo;
+ ///ͻ
+ TThostFtdcCustTypeType CustType;
+ ///ʺ
+ TThostFtdcBankAccountType BankAccount;
+ ///
+ TThostFtdcPasswordType BankPassWord;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ڻ
+ TThostFtdcPasswordType Password;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ڻ˾ˮ
+ TThostFtdcFutureSerialType FutureSerial;
+ ///ûʶ
+ TThostFtdcUserIDType UserID;
+ ///֤ͻ֤־
+ TThostFtdcYesNoIndicatorType VerifyCertNoFlag;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///תʽ
+ TThostFtdcTradeAmountType TradeAmount;
+ ///ڻȡ
+ TThostFtdcTradeAmountType FutureFetchAmount;
+ ///֧־
+ TThostFtdcFeePayFlagType FeePayFlag;
+ ///Ӧտͻ
+ TThostFtdcCustFeeType CustFee;
+ ///Ӧڻ˾
+ TThostFtdcFutureFeeType BrokerFee;
+ ///ͷշϢ
+ TThostFtdcAddInfoType Message;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+ ///ʺ
+ TThostFtdcBankAccTypeType BankAccType;
+ ///־
+ TThostFtdcDeviceIDType DeviceID;
+ ///ڻλʺ
+ TThostFtdcBankAccTypeType BankSecuAccType;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///ڻλʺ
+ TThostFtdcBankAccountType BankSecuAcc;
+ ///־
+ TThostFtdcPwdFlagType BankPwdFlag;
+ ///ڻʽ˶Ա־
+ TThostFtdcPwdFlagType SecuPwdFlag;
+ ///Ա
+ TThostFtdcOperNoType OperNo;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ID
+ TThostFtdcTIDType TID;
+ ///ת˽״̬
+ TThostFtdcTransferStatusType TransferStatus;
+};
+
+///зʽתڻӦ
+struct CThostFtdcRspTransferField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///ͻ
+ TThostFtdcIndividualNameType CustomerName;
+ ///֤
+ TThostFtdcIdCardTypeType IdCardType;
+ ///֤
+ TThostFtdcIdentifiedCardNoType IdentifiedCardNo;
+ ///ͻ
+ TThostFtdcCustTypeType CustType;
+ ///ʺ
+ TThostFtdcBankAccountType BankAccount;
+ ///
+ TThostFtdcPasswordType BankPassWord;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ڻ
+ TThostFtdcPasswordType Password;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ڻ˾ˮ
+ TThostFtdcFutureSerialType FutureSerial;
+ ///ûʶ
+ TThostFtdcUserIDType UserID;
+ ///֤ͻ֤־
+ TThostFtdcYesNoIndicatorType VerifyCertNoFlag;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///תʽ
+ TThostFtdcTradeAmountType TradeAmount;
+ ///ڻȡ
+ TThostFtdcTradeAmountType FutureFetchAmount;
+ ///֧־
+ TThostFtdcFeePayFlagType FeePayFlag;
+ ///Ӧտͻ
+ TThostFtdcCustFeeType CustFee;
+ ///Ӧڻ˾
+ TThostFtdcFutureFeeType BrokerFee;
+ ///ͷշϢ
+ TThostFtdcAddInfoType Message;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+ ///ʺ
+ TThostFtdcBankAccTypeType BankAccType;
+ ///־
+ TThostFtdcDeviceIDType DeviceID;
+ ///ڻλʺ
+ TThostFtdcBankAccTypeType BankSecuAccType;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///ڻλʺ
+ TThostFtdcBankAccountType BankSecuAcc;
+ ///־
+ TThostFtdcPwdFlagType BankPwdFlag;
+ ///ڻʽ˶Ա־
+ TThostFtdcPwdFlagType SecuPwdFlag;
+ ///Ա
+ TThostFtdcOperNoType OperNo;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ID
+ TThostFtdcTIDType TID;
+ ///ת˽״̬
+ TThostFtdcTransferStatusType TransferStatus;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+};
+
+///
+struct CThostFtdcReqRepealField
+{
+ ///ʱ
+ TThostFtdcRepealTimeIntervalType RepealTimeInterval;
+ ///Ѿ
+ TThostFtdcRepealedTimesType RepealedTimes;
+ ///г־
+ TThostFtdcBankRepealFlagType BankRepealFlag;
+ ///̳־
+ TThostFtdcBrokerRepealFlagType BrokerRepealFlag;
+ ///ƽ̨ˮ
+ TThostFtdcPlateSerialType PlateRepealSerial;
+ ///ˮ
+ TThostFtdcBankSerialType BankRepealSerial;
+ ///ڻˮ
+ TThostFtdcFutureSerialType FutureRepealSerial;
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///ͻ
+ TThostFtdcIndividualNameType CustomerName;
+ ///֤
+ TThostFtdcIdCardTypeType IdCardType;
+ ///֤
+ TThostFtdcIdentifiedCardNoType IdentifiedCardNo;
+ ///ͻ
+ TThostFtdcCustTypeType CustType;
+ ///ʺ
+ TThostFtdcBankAccountType BankAccount;
+ ///
+ TThostFtdcPasswordType BankPassWord;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ڻ
+ TThostFtdcPasswordType Password;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ڻ˾ˮ
+ TThostFtdcFutureSerialType FutureSerial;
+ ///ûʶ
+ TThostFtdcUserIDType UserID;
+ ///֤ͻ֤־
+ TThostFtdcYesNoIndicatorType VerifyCertNoFlag;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///תʽ
+ TThostFtdcTradeAmountType TradeAmount;
+ ///ڻȡ
+ TThostFtdcTradeAmountType FutureFetchAmount;
+ ///֧־
+ TThostFtdcFeePayFlagType FeePayFlag;
+ ///Ӧտͻ
+ TThostFtdcCustFeeType CustFee;
+ ///Ӧڻ˾
+ TThostFtdcFutureFeeType BrokerFee;
+ ///ͷշϢ
+ TThostFtdcAddInfoType Message;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+ ///ʺ
+ TThostFtdcBankAccTypeType BankAccType;
+ ///־
+ TThostFtdcDeviceIDType DeviceID;
+ ///ڻλʺ
+ TThostFtdcBankAccTypeType BankSecuAccType;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///ڻλʺ
+ TThostFtdcBankAccountType BankSecuAcc;
+ ///־
+ TThostFtdcPwdFlagType BankPwdFlag;
+ ///ڻʽ˶Ա־
+ TThostFtdcPwdFlagType SecuPwdFlag;
+ ///Ա
+ TThostFtdcOperNoType OperNo;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ID
+ TThostFtdcTIDType TID;
+ ///ת˽״̬
+ TThostFtdcTransferStatusType TransferStatus;
+};
+
+///Ӧ
+struct CThostFtdcRspRepealField
+{
+ ///ʱ
+ TThostFtdcRepealTimeIntervalType RepealTimeInterval;
+ ///Ѿ
+ TThostFtdcRepealedTimesType RepealedTimes;
+ ///г־
+ TThostFtdcBankRepealFlagType BankRepealFlag;
+ ///̳־
+ TThostFtdcBrokerRepealFlagType BrokerRepealFlag;
+ ///ƽ̨ˮ
+ TThostFtdcPlateSerialType PlateRepealSerial;
+ ///ˮ
+ TThostFtdcBankSerialType BankRepealSerial;
+ ///ڻˮ
+ TThostFtdcFutureSerialType FutureRepealSerial;
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///ͻ
+ TThostFtdcIndividualNameType CustomerName;
+ ///֤
+ TThostFtdcIdCardTypeType IdCardType;
+ ///֤
+ TThostFtdcIdentifiedCardNoType IdentifiedCardNo;
+ ///ͻ
+ TThostFtdcCustTypeType CustType;
+ ///ʺ
+ TThostFtdcBankAccountType BankAccount;
+ ///
+ TThostFtdcPasswordType BankPassWord;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ڻ
+ TThostFtdcPasswordType Password;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ڻ˾ˮ
+ TThostFtdcFutureSerialType FutureSerial;
+ ///ûʶ
+ TThostFtdcUserIDType UserID;
+ ///֤ͻ֤־
+ TThostFtdcYesNoIndicatorType VerifyCertNoFlag;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///תʽ
+ TThostFtdcTradeAmountType TradeAmount;
+ ///ڻȡ
+ TThostFtdcTradeAmountType FutureFetchAmount;
+ ///֧־
+ TThostFtdcFeePayFlagType FeePayFlag;
+ ///Ӧտͻ
+ TThostFtdcCustFeeType CustFee;
+ ///Ӧڻ˾
+ TThostFtdcFutureFeeType BrokerFee;
+ ///ͷշϢ
+ TThostFtdcAddInfoType Message;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+ ///ʺ
+ TThostFtdcBankAccTypeType BankAccType;
+ ///־
+ TThostFtdcDeviceIDType DeviceID;
+ ///ڻλʺ
+ TThostFtdcBankAccTypeType BankSecuAccType;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///ڻλʺ
+ TThostFtdcBankAccountType BankSecuAcc;
+ ///־
+ TThostFtdcPwdFlagType BankPwdFlag;
+ ///ڻʽ˶Ա־
+ TThostFtdcPwdFlagType SecuPwdFlag;
+ ///Ա
+ TThostFtdcOperNoType OperNo;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ID
+ TThostFtdcTIDType TID;
+ ///ת˽״̬
+ TThostFtdcTransferStatusType TransferStatus;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+};
+
+///ѯ˻Ϣ
+struct CThostFtdcReqQueryAccountField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///ͻ
+ TThostFtdcIndividualNameType CustomerName;
+ ///֤
+ TThostFtdcIdCardTypeType IdCardType;
+ ///֤
+ TThostFtdcIdentifiedCardNoType IdentifiedCardNo;
+ ///ͻ
+ TThostFtdcCustTypeType CustType;
+ ///ʺ
+ TThostFtdcBankAccountType BankAccount;
+ ///
+ TThostFtdcPasswordType BankPassWord;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ڻ
+ TThostFtdcPasswordType Password;
+ ///ڻ˾ˮ
+ TThostFtdcFutureSerialType FutureSerial;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ûʶ
+ TThostFtdcUserIDType UserID;
+ ///֤ͻ֤־
+ TThostFtdcYesNoIndicatorType VerifyCertNoFlag;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+ ///ʺ
+ TThostFtdcBankAccTypeType BankAccType;
+ ///־
+ TThostFtdcDeviceIDType DeviceID;
+ ///ڻλʺ
+ TThostFtdcBankAccTypeType BankSecuAccType;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///ڻλʺ
+ TThostFtdcBankAccountType BankSecuAcc;
+ ///־
+ TThostFtdcPwdFlagType BankPwdFlag;
+ ///ڻʽ˶Ա־
+ TThostFtdcPwdFlagType SecuPwdFlag;
+ ///Ա
+ TThostFtdcOperNoType OperNo;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ID
+ TThostFtdcTIDType TID;
+};
+
+///ѯ˻ϢӦ
+struct CThostFtdcRspQueryAccountField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///ͻ
+ TThostFtdcIndividualNameType CustomerName;
+ ///֤
+ TThostFtdcIdCardTypeType IdCardType;
+ ///֤
+ TThostFtdcIdentifiedCardNoType IdentifiedCardNo;
+ ///ͻ
+ TThostFtdcCustTypeType CustType;
+ ///ʺ
+ TThostFtdcBankAccountType BankAccount;
+ ///
+ TThostFtdcPasswordType BankPassWord;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ڻ
+ TThostFtdcPasswordType Password;
+ ///ڻ˾ˮ
+ TThostFtdcFutureSerialType FutureSerial;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ûʶ
+ TThostFtdcUserIDType UserID;
+ ///֤ͻ֤־
+ TThostFtdcYesNoIndicatorType VerifyCertNoFlag;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+ ///ʺ
+ TThostFtdcBankAccTypeType BankAccType;
+ ///־
+ TThostFtdcDeviceIDType DeviceID;
+ ///ڻλʺ
+ TThostFtdcBankAccTypeType BankSecuAccType;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///ڻλʺ
+ TThostFtdcBankAccountType BankSecuAcc;
+ ///־
+ TThostFtdcPwdFlagType BankPwdFlag;
+ ///ڻʽ˶Ա־
+ TThostFtdcPwdFlagType SecuPwdFlag;
+ ///Ա
+ TThostFtdcOperNoType OperNo;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ID
+ TThostFtdcTIDType TID;
+ ///пý
+ TThostFtdcTradeAmountType BankUseAmount;
+ ///пȡ
+ TThostFtdcTradeAmountType BankFetchAmount;
+};
+
+///ǩǩ
+struct CThostFtdcFutureSignIOField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ûʶ
+ TThostFtdcUserIDType UserID;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///־
+ TThostFtdcDeviceIDType DeviceID;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///Ա
+ TThostFtdcOperNoType OperNo;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ID
+ TThostFtdcTIDType TID;
+};
+
+///ǩӦ
+struct CThostFtdcRspFutureSignInField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ûʶ
+ TThostFtdcUserIDType UserID;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///־
+ TThostFtdcDeviceIDType DeviceID;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///Ա
+ TThostFtdcOperNoType OperNo;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ID
+ TThostFtdcTIDType TID;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+ ///PINԿ
+ TThostFtdcPasswordKeyType PinKey;
+ ///MACԿ
+ TThostFtdcPasswordKeyType MacKey;
+};
+
+///ǩ
+struct CThostFtdcReqFutureSignOutField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ûʶ
+ TThostFtdcUserIDType UserID;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///־
+ TThostFtdcDeviceIDType DeviceID;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///Ա
+ TThostFtdcOperNoType OperNo;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ID
+ TThostFtdcTIDType TID;
+};
+
+///ǩӦ
+struct CThostFtdcRspFutureSignOutField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ûʶ
+ TThostFtdcUserIDType UserID;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///־
+ TThostFtdcDeviceIDType DeviceID;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///Ա
+ TThostFtdcOperNoType OperNo;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ID
+ TThostFtdcTIDType TID;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+};
+
+///ѯָˮŵĽ
+struct CThostFtdcReqQueryTradeResultBySerialField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///ˮ
+ TThostFtdcSerialType Reference;
+ ///ˮŷߵĻ
+ TThostFtdcInstitutionTypeType RefrenceIssureType;
+ ///ˮŷ
+ TThostFtdcOrganCodeType RefrenceIssure;
+ ///ͻ
+ TThostFtdcIndividualNameType CustomerName;
+ ///֤
+ TThostFtdcIdCardTypeType IdCardType;
+ ///֤
+ TThostFtdcIdentifiedCardNoType IdentifiedCardNo;
+ ///ͻ
+ TThostFtdcCustTypeType CustType;
+ ///ʺ
+ TThostFtdcBankAccountType BankAccount;
+ ///
+ TThostFtdcPasswordType BankPassWord;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ڻ
+ TThostFtdcPasswordType Password;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///תʽ
+ TThostFtdcTradeAmountType TradeAmount;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+};
+
+///ѯָˮŵĽӦ
+struct CThostFtdcRspQueryTradeResultBySerialField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+ ///ˮ
+ TThostFtdcSerialType Reference;
+ ///ˮŷߵĻ
+ TThostFtdcInstitutionTypeType RefrenceIssureType;
+ ///ˮŷ
+ TThostFtdcOrganCodeType RefrenceIssure;
+ ///ԭʼش
+ TThostFtdcReturnCodeType OriginReturnCode;
+ ///ԭʼ
+ TThostFtdcDescrInfoForReturnCodeType OriginDescrInfoForReturnCode;
+ ///ʺ
+ TThostFtdcBankAccountType BankAccount;
+ ///
+ TThostFtdcPasswordType BankPassWord;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ڻ
+ TThostFtdcPasswordType Password;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///תʽ
+ TThostFtdcTradeAmountType TradeAmount;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+};
+
+///ļ
+struct CThostFtdcReqDayEndFileReadyField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///ļҵ
+ TThostFtdcFileBusinessCodeType FileBusinessCode;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+};
+
+///ؽ
+struct CThostFtdcReturnResultField
+{
+ ///ش
+ TThostFtdcReturnCodeType ReturnCode;
+ ///
+ TThostFtdcDescrInfoForReturnCodeType DescrInfoForReturnCode;
+};
+
+///֤ڻʽ
+struct CThostFtdcVerifyFuturePasswordField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ڻ
+ TThostFtdcPasswordType Password;
+ ///ʺ
+ TThostFtdcBankAccountType BankAccount;
+ ///
+ TThostFtdcPasswordType BankPassWord;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ID
+ TThostFtdcTIDType TID;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+};
+
+///֤ͻϢ
+struct CThostFtdcVerifyCustInfoField
+{
+ ///ͻ
+ TThostFtdcIndividualNameType CustomerName;
+ ///֤
+ TThostFtdcIdCardTypeType IdCardType;
+ ///֤
+ TThostFtdcIdentifiedCardNoType IdentifiedCardNo;
+ ///ͻ
+ TThostFtdcCustTypeType CustType;
+};
+
+///֤ڻʽͿͻϢ
+struct CThostFtdcVerifyFuturePasswordAndCustInfoField
+{
+ ///ͻ
+ TThostFtdcIndividualNameType CustomerName;
+ ///֤
+ TThostFtdcIdCardTypeType IdCardType;
+ ///֤
+ TThostFtdcIdentifiedCardNoType IdentifiedCardNo;
+ ///ͻ
+ TThostFtdcCustTypeType CustType;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ڻ
+ TThostFtdcPasswordType Password;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+};
+
+///֤ڻʽͿͻϢ
+struct CThostFtdcDepositResultInformField
+{
+ ///ˮţˮΪڱ̷صˮ
+ TThostFtdcDepositSeqNoType DepositSeqNo;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcMoneyType Deposit;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ش
+ TThostFtdcReturnCodeType ReturnCode;
+ ///
+ TThostFtdcDescrInfoForReturnCodeType DescrInfoForReturnCode;
+};
+
+///ڱ̷Կͬ
+struct CThostFtdcReqSyncKeyField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ûʶ
+ TThostFtdcUserIDType UserID;
+ ///ĸڱ̵Ϣ
+ TThostFtdcAddInfoType Message;
+ ///־
+ TThostFtdcDeviceIDType DeviceID;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///Ա
+ TThostFtdcOperNoType OperNo;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ID
+ TThostFtdcTIDType TID;
+};
+
+///ڱ̷ԿͬӦ
+struct CThostFtdcRspSyncKeyField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ûʶ
+ TThostFtdcUserIDType UserID;
+ ///ĸڱ̵Ϣ
+ TThostFtdcAddInfoType Message;
+ ///־
+ TThostFtdcDeviceIDType DeviceID;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///Ա
+ TThostFtdcOperNoType OperNo;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ID
+ TThostFtdcTIDType TID;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+};
+
+///ѯ˻Ϣ֪ͨ
+struct CThostFtdcNotifyQueryAccountField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///ͻ
+ TThostFtdcIndividualNameType CustomerName;
+ ///֤
+ TThostFtdcIdCardTypeType IdCardType;
+ ///֤
+ TThostFtdcIdentifiedCardNoType IdentifiedCardNo;
+ ///ͻ
+ TThostFtdcCustTypeType CustType;
+ ///ʺ
+ TThostFtdcBankAccountType BankAccount;
+ ///
+ TThostFtdcPasswordType BankPassWord;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ڻ
+ TThostFtdcPasswordType Password;
+ ///ڻ˾ˮ
+ TThostFtdcFutureSerialType FutureSerial;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ûʶ
+ TThostFtdcUserIDType UserID;
+ ///֤ͻ֤־
+ TThostFtdcYesNoIndicatorType VerifyCertNoFlag;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+ ///ʺ
+ TThostFtdcBankAccTypeType BankAccType;
+ ///־
+ TThostFtdcDeviceIDType DeviceID;
+ ///ڻλʺ
+ TThostFtdcBankAccTypeType BankSecuAccType;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///ڻλʺ
+ TThostFtdcBankAccountType BankSecuAcc;
+ ///־
+ TThostFtdcPwdFlagType BankPwdFlag;
+ ///ڻʽ˶Ա־
+ TThostFtdcPwdFlagType SecuPwdFlag;
+ ///Ա
+ TThostFtdcOperNoType OperNo;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ID
+ TThostFtdcTIDType TID;
+ ///пý
+ TThostFtdcTradeAmountType BankUseAmount;
+ ///пȡ
+ TThostFtdcTradeAmountType BankFetchAmount;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+};
+
+///ת˽ˮ
+struct CThostFtdcTransferSerialField
+{
+ ///ƽ̨ˮ
+ TThostFtdcPlateSerialType PlateSerial;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///״
+ TThostFtdcTradeCodeType TradeCode;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///б
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///ʺ
+ TThostFtdcBankAccTypeType BankAccType;
+ ///ʺ
+ TThostFtdcBankAccountType BankAccount;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ڻ˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///ڻ˾ʺ
+ TThostFtdcFutureAccTypeType FutureAccType;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ڻ˾ˮ
+ TThostFtdcFutureSerialType FutureSerial;
+ ///֤
+ TThostFtdcIdCardTypeType IdCardType;
+ ///֤
+ TThostFtdcIdentifiedCardNoType IdentifiedCardNo;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///
+ TThostFtdcTradeAmountType TradeAmount;
+ ///Ӧտͻ
+ TThostFtdcCustFeeType CustFee;
+ ///Ӧڻ˾
+ TThostFtdcFutureFeeType BrokerFee;
+ ///Ч־
+ TThostFtdcAvailabilityFlagType AvailabilityFlag;
+ ///Ա
+ TThostFtdcOperatorCodeType OperatorCode;
+ ///ʺ
+ TThostFtdcBankAccountType BankNewAccount;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+};
+
+///ѯתˮ
+struct CThostFtdcQryTransferSerialField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///б
+ TThostFtdcBankIDType BankID;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+};
+
+///ǩ֪ͨ
+struct CThostFtdcNotifyFutureSignInField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ûʶ
+ TThostFtdcUserIDType UserID;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///־
+ TThostFtdcDeviceIDType DeviceID;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///Ա
+ TThostFtdcOperNoType OperNo;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ID
+ TThostFtdcTIDType TID;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+ ///PINԿ
+ TThostFtdcPasswordKeyType PinKey;
+ ///MACԿ
+ TThostFtdcPasswordKeyType MacKey;
+};
+
+///ǩ֪ͨ
+struct CThostFtdcNotifyFutureSignOutField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ûʶ
+ TThostFtdcUserIDType UserID;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///־
+ TThostFtdcDeviceIDType DeviceID;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///Ա
+ TThostFtdcOperNoType OperNo;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ID
+ TThostFtdcTIDType TID;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+};
+
+///ڱ̷Կ֪ͬͨ
+struct CThostFtdcNotifySyncKeyField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ûʶ
+ TThostFtdcUserIDType UserID;
+ ///ĸڱ̵Ϣ
+ TThostFtdcAddInfoType Message;
+ ///־
+ TThostFtdcDeviceIDType DeviceID;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///Ա
+ TThostFtdcOperNoType OperNo;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ID
+ TThostFtdcTIDType TID;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+};
+
+///ѯǩԼϵ
+struct CThostFtdcQryAccountregisterField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///б
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+};
+
+///ͻϢ
+struct CThostFtdcAccountregisterField
+{
+ ///
+ TThostFtdcTradeDateType TradeDay;
+ ///б
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///ʺ
+ TThostFtdcBankAccountType BankAccount;
+ ///ڻ˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///ڻ˾֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///֤
+ TThostFtdcIdCardTypeType IdCardType;
+ ///֤
+ TThostFtdcIdentifiedCardNoType IdentifiedCardNo;
+ ///ͻ
+ TThostFtdcIndividualNameType CustomerName;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///
+ TThostFtdcOpenOrDestroyType OpenOrDestroy;
+ ///ǩԼ
+ TThostFtdcTradeDateType RegDate;
+ ///Լ
+ TThostFtdcTradeDateType OutDate;
+ ///ID
+ TThostFtdcTIDType TID;
+ ///ͻ
+ TThostFtdcCustTypeType CustType;
+ ///ʺ
+ TThostFtdcBankAccTypeType BankAccType;
+};
+
+///ڿϢ
+struct CThostFtdcOpenAccountField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///ͻ
+ TThostFtdcIndividualNameType CustomerName;
+ ///֤
+ TThostFtdcIdCardTypeType IdCardType;
+ ///֤
+ TThostFtdcIdentifiedCardNoType IdentifiedCardNo;
+ ///Ա
+ TThostFtdcGenderType Gender;
+ ///Ҵ
+ TThostFtdcCountryCodeType CountryCode;
+ ///ͻ
+ TThostFtdcCustTypeType CustType;
+ ///ַ
+ TThostFtdcAddressType Address;
+ ///ʱ
+ TThostFtdcZipCodeType ZipCode;
+ ///绰
+ TThostFtdcTelephoneType Telephone;
+ ///ֻ
+ TThostFtdcMobilePhoneType MobilePhone;
+ ///
+ TThostFtdcFaxType Fax;
+ ///ʼ
+ TThostFtdcEMailType EMail;
+ ///ʽ˻״̬
+ TThostFtdcMoneyAccountStatusType MoneyAccountStatus;
+ ///ʺ
+ TThostFtdcBankAccountType BankAccount;
+ ///
+ TThostFtdcPasswordType BankPassWord;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ڻ
+ TThostFtdcPasswordType Password;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///֤ͻ֤־
+ TThostFtdcYesNoIndicatorType VerifyCertNoFlag;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///㳮־
+ TThostFtdcCashExchangeCodeType CashExchangeCode;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+ ///ʺ
+ TThostFtdcBankAccTypeType BankAccType;
+ ///־
+ TThostFtdcDeviceIDType DeviceID;
+ ///ڻλʺ
+ TThostFtdcBankAccTypeType BankSecuAccType;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///ڻλʺ
+ TThostFtdcBankAccountType BankSecuAcc;
+ ///־
+ TThostFtdcPwdFlagType BankPwdFlag;
+ ///ڻʽ˶Ա־
+ TThostFtdcPwdFlagType SecuPwdFlag;
+ ///Ա
+ TThostFtdcOperNoType OperNo;
+ ///ID
+ TThostFtdcTIDType TID;
+ ///ûʶ
+ TThostFtdcUserIDType UserID;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+};
+
+///Ϣ
+struct CThostFtdcCancelAccountField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///ͻ
+ TThostFtdcIndividualNameType CustomerName;
+ ///֤
+ TThostFtdcIdCardTypeType IdCardType;
+ ///֤
+ TThostFtdcIdentifiedCardNoType IdentifiedCardNo;
+ ///Ա
+ TThostFtdcGenderType Gender;
+ ///Ҵ
+ TThostFtdcCountryCodeType CountryCode;
+ ///ͻ
+ TThostFtdcCustTypeType CustType;
+ ///ַ
+ TThostFtdcAddressType Address;
+ ///ʱ
+ TThostFtdcZipCodeType ZipCode;
+ ///绰
+ TThostFtdcTelephoneType Telephone;
+ ///ֻ
+ TThostFtdcMobilePhoneType MobilePhone;
+ ///
+ TThostFtdcFaxType Fax;
+ ///ʼ
+ TThostFtdcEMailType EMail;
+ ///ʽ˻״̬
+ TThostFtdcMoneyAccountStatusType MoneyAccountStatus;
+ ///ʺ
+ TThostFtdcBankAccountType BankAccount;
+ ///
+ TThostFtdcPasswordType BankPassWord;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ڻ
+ TThostFtdcPasswordType Password;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///֤ͻ֤־
+ TThostFtdcYesNoIndicatorType VerifyCertNoFlag;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///㳮־
+ TThostFtdcCashExchangeCodeType CashExchangeCode;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+ ///ʺ
+ TThostFtdcBankAccTypeType BankAccType;
+ ///־
+ TThostFtdcDeviceIDType DeviceID;
+ ///ڻλʺ
+ TThostFtdcBankAccTypeType BankSecuAccType;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///ڻλʺ
+ TThostFtdcBankAccountType BankSecuAcc;
+ ///־
+ TThostFtdcPwdFlagType BankPwdFlag;
+ ///ڻʽ˶Ա־
+ TThostFtdcPwdFlagType SecuPwdFlag;
+ ///Ա
+ TThostFtdcOperNoType OperNo;
+ ///ID
+ TThostFtdcTIDType TID;
+ ///ûʶ
+ TThostFtdcUserIDType UserID;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+};
+
+///ڱ˺Ϣ
+struct CThostFtdcChangeAccountField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///ͻ
+ TThostFtdcIndividualNameType CustomerName;
+ ///֤
+ TThostFtdcIdCardTypeType IdCardType;
+ ///֤
+ TThostFtdcIdentifiedCardNoType IdentifiedCardNo;
+ ///Ա
+ TThostFtdcGenderType Gender;
+ ///Ҵ
+ TThostFtdcCountryCodeType CountryCode;
+ ///ͻ
+ TThostFtdcCustTypeType CustType;
+ ///ַ
+ TThostFtdcAddressType Address;
+ ///ʱ
+ TThostFtdcZipCodeType ZipCode;
+ ///绰
+ TThostFtdcTelephoneType Telephone;
+ ///ֻ
+ TThostFtdcMobilePhoneType MobilePhone;
+ ///
+ TThostFtdcFaxType Fax;
+ ///ʼ
+ TThostFtdcEMailType EMail;
+ ///ʽ˻״̬
+ TThostFtdcMoneyAccountStatusType MoneyAccountStatus;
+ ///ʺ
+ TThostFtdcBankAccountType BankAccount;
+ ///
+ TThostFtdcPasswordType BankPassWord;
+ ///ʺ
+ TThostFtdcBankAccountType NewBankAccount;
+ ///
+ TThostFtdcPasswordType NewBankPassWord;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ڻ
+ TThostFtdcPasswordType Password;
+ ///ʺ
+ TThostFtdcBankAccTypeType BankAccType;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///֤ͻ֤־
+ TThostFtdcYesNoIndicatorType VerifyCertNoFlag;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///־
+ TThostFtdcPwdFlagType BankPwdFlag;
+ ///ڻʽ˶Ա־
+ TThostFtdcPwdFlagType SecuPwdFlag;
+ ///ID
+ TThostFtdcTIDType TID;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+};
+
+///ԱȨ
+struct CThostFtdcSecAgentACIDMapField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///ʽ˻
+ TThostFtdcAccountIDType AccountID;
+ ///
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///нʽʺ
+ TThostFtdcAccountIDType BrokerSecAgentID;
+};
+
+///ԱȨѯ
+struct CThostFtdcQrySecAgentACIDMapField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///ʽ˻
+ TThostFtdcAccountIDType AccountID;
+ ///
+ TThostFtdcCurrencyIDType CurrencyID;
+};
+
+///ֱĽȨ
+struct CThostFtdcUserRightsAssignField
+{
+ ///ӦõԪ
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///Ĵ
+ TThostFtdcDRIdentityIDType DRIdentityID;
+};
+
+///ù˾ǷڱʾĽȨ
+struct CThostFtdcBrokerUserRightAssignField
+{
+ ///ӦõԪ
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ĵ
+ TThostFtdcDRIdentityIDType DRIdentityID;
+ ///ܷ
+ TThostFtdcBoolType Tradeable;
+};
+
+///ֱת
+struct CThostFtdcDRTransferField
+{
+ ///ԭĴ
+ TThostFtdcDRIdentityIDType OrigDRIdentityID;
+ ///Ŀ꽻Ĵ
+ TThostFtdcDRIdentityIDType DestDRIdentityID;
+ ///ԭӦõԪ
+ TThostFtdcBrokerIDType OrigBrokerID;
+ ///ĿõԪ
+ TThostFtdcBrokerIDType DestBrokerID;
+};
+
+///FensûϢ
+struct CThostFtdcFensUserInfoField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///¼ģʽ
+ TThostFtdcLoginModeType LoginMode;
+};
+
+///ǰ
+struct CThostFtdcCurrTransferIdentityField
+{
+ ///Ĵ
+ TThostFtdcDRIdentityIDType IdentityID;
+};
+
+///ֹ¼û
+struct CThostFtdcLoginForbiddenUserField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///IPַ
+ TThostFtdcIPAddressType IPAddress;
+};
+
+///ѯֹ¼û
+struct CThostFtdcQryLoginForbiddenUserField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+};
+
+///UDP鲥Ϣ
+struct CThostFtdcMulticastGroupInfoField
+{
+ ///鲥IPַ
+ TThostFtdcIPAddressType GroupIP;
+ ///鲥IP˿
+ TThostFtdcIPPortType GroupPort;
+ ///Դַ
+ TThostFtdcIPAddressType SourceIP;
+};
+
+///ʽ˻
+struct CThostFtdcTradingAccountReserveField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///
+ TThostFtdcMoneyType Reserve;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+};
+
+///DBF¼
+struct CThostFtdcDBFRecordField
+{
+ ///DBF
+ TThostFtdcDBFComdTypeType DBFComdType;
+ ///DBFʱ
+ TThostFtdcDBFComTimeType DBFComTime;
+ ///DBFԭʼˮ
+ TThostFtdcDBFComNoType DBFOComNo;
+ ///DBFˮ
+ TThostFtdcDBFComNoType DBFComNo;
+ ///DBFֶ
+ TThostFtdcDBFFdNameType DBFFdName1;
+ ///DBFֶ
+ TThostFtdcDBFFdContentType DBFFdContent1;
+ ///DBFֶ
+ TThostFtdcDBFFdNameType DBFFdName2;
+ ///DBFֶ
+ TThostFtdcDBFFdContentType DBFFdContent2;
+ ///DBFֶ
+ TThostFtdcDBFFdNameType DBFFdName3;
+ ///DBFֶ
+ TThostFtdcDBFFdContentType DBFFdContent3;
+ ///DBFֶ
+ TThostFtdcDBFFdNameType DBFFdName4;
+ ///DBFֶ
+ TThostFtdcDBFFdContentType DBFFdContent4;
+};
+
+
+
+#endif
diff --git a/vn.how/tick2trade/vn.ctp_t2t/ctpapi/error.dtd b/vn.how/tick2trade/vn.ctp_t2t/ctpapi/error.dtd
new file mode 100644
index 0000000000..15e50b7344
--- /dev/null
+++ b/vn.how/tick2trade/vn.ctp_t2t/ctpapi/error.dtd
@@ -0,0 +1,9 @@
+
+
+
+
+
diff --git a/vn.how/tick2trade/vn.ctp_t2t/ctpapi/error.xml b/vn.how/tick2trade/vn.ctp_t2t/ctpapi/error.xml
new file mode 100644
index 0000000000..57ef9921eb
--- /dev/null
+++ b/vn.how/tick2trade/vn.ctp_t2t/ctpapi/error.xml
@@ -0,0 +1,202 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vn.how/tick2trade/vn.ctp_t2t/ctpapi/md5.txt b/vn.how/tick2trade/vn.ctp_t2t/ctpapi/md5.txt
new file mode 100644
index 0000000000..fdf8691cab
--- /dev/null
+++ b/vn.how/tick2trade/vn.ctp_t2t/ctpapi/md5.txt
@@ -0,0 +1,10 @@
+
+MD5sums 1.2 freeware for Win9x/ME/NT/2000/XP+
+Copyright (C) 2001-2005 Jem Berkes - http://www.pc-tools.net/
+Type md5sum -h for help
+
+[Path] / filename MD5 sum
+-------------------------------------------------------------------------------
+[D:\workspace\vss\ϵͳ\֤ȯ\20150804_api\traderapi_win\]
+thostmduserapi.dll 0a18d7b7678ccc18fefc6d4d5ebff072
+thosttraderapi.dll 6262435975b65fcc68f669f4f5ec8610
diff --git a/vn.how/tick2trade/vn.ctp_t2t/ctpapi/thostmduserapi.dll b/vn.how/tick2trade/vn.ctp_t2t/ctpapi/thostmduserapi.dll
new file mode 100644
index 0000000000..b48e747ef3
Binary files /dev/null and b/vn.how/tick2trade/vn.ctp_t2t/ctpapi/thostmduserapi.dll differ
diff --git a/vn.how/tick2trade/vn.ctp_t2t/ctpapi/thostmduserapi.lib b/vn.how/tick2trade/vn.ctp_t2t/ctpapi/thostmduserapi.lib
new file mode 100644
index 0000000000..fc9b55f76f
Binary files /dev/null and b/vn.how/tick2trade/vn.ctp_t2t/ctpapi/thostmduserapi.lib differ
diff --git a/vn.how/tick2trade/vn.ctp_t2t/ctpapi/thosttraderapi.dll b/vn.how/tick2trade/vn.ctp_t2t/ctpapi/thosttraderapi.dll
new file mode 100644
index 0000000000..162cc143ce
Binary files /dev/null and b/vn.how/tick2trade/vn.ctp_t2t/ctpapi/thosttraderapi.dll differ
diff --git a/vn.how/tick2trade/vn.ctp_t2t/ctpapi/thosttraderapi.lib b/vn.how/tick2trade/vn.ctp_t2t/ctpapi/thosttraderapi.lib
new file mode 100644
index 0000000000..5e1a539c7f
Binary files /dev/null and b/vn.how/tick2trade/vn.ctp_t2t/ctpapi/thosttraderapi.lib differ
diff --git a/vn.how/tick2trade/vn.ctp_t2t/ctpapi/x64_linux/ThostFtdcMdApi.h b/vn.how/tick2trade/vn.ctp_t2t/ctpapi/x64_linux/ThostFtdcMdApi.h
new file mode 100644
index 0000000000..ece33f7e7e
--- /dev/null
+++ b/vn.how/tick2trade/vn.ctp_t2t/ctpapi/x64_linux/ThostFtdcMdApi.h
@@ -0,0 +1,162 @@
+/////////////////////////////////////////////////////////////////////////
+///@system һϵͳ
+///@company ϺڻϢ˾
+///@file ThostFtdcMdApi.h
+///@brief ˿ͻ˽ӿ
+///@history
+///20060106 Ժ ļ
+/////////////////////////////////////////////////////////////////////////
+
+#if !defined(THOST_FTDCMDAPI_H)
+#define THOST_FTDCMDAPI_H
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include "ThostFtdcUserApiStruct.h"
+
+#if defined(ISLIB) && defined(WIN32)
+#ifdef LIB_MD_API_EXPORT
+#define MD_API_EXPORT __declspec(dllexport)
+#else
+#define MD_API_EXPORT __declspec(dllimport)
+#endif
+#else
+#define MD_API_EXPORT
+#endif
+
+class CThostFtdcMdSpi
+{
+public:
+ ///ͻ뽻̨ͨʱδ¼ǰ÷á
+ virtual void OnFrontConnected(){};
+
+ ///ͻ뽻̨ͨӶϿʱ÷áAPIԶӣͻ˿ɲ
+ ///@param nReason ԭ
+ /// 0x1001 ʧ
+ /// 0x1002 дʧ
+ /// 0x2001 ʱ
+ /// 0x2002 ʧ
+ /// 0x2003 յ
+ virtual void OnFrontDisconnected(int nReason){};
+
+ ///ʱ档ʱδյʱ÷á
+ ///@param nTimeLapse ϴνձĵʱ
+ virtual void OnHeartBeatWarning(int nTimeLapse){};
+
+
+ ///¼Ӧ
+ virtual void OnRspUserLogin(CThostFtdcRspUserLoginField *pRspUserLogin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///dzӦ
+ virtual void OnRspUserLogout(CThostFtdcUserLogoutField *pUserLogout, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///Ӧ
+ virtual void OnRspError(CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///Ӧ
+ virtual void OnRspSubMarketData(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ȡӦ
+ virtual void OnRspUnSubMarketData(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯӦ
+ virtual void OnRspSubForQuoteRsp(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ȡѯӦ
+ virtual void OnRspUnSubForQuoteRsp(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///֪ͨ
+ virtual void OnRtnDepthMarketData(CThostFtdcDepthMarketDataField *pDepthMarketData) {};
+
+ ///ѯ֪ͨ
+ virtual void OnRtnForQuoteRsp(CThostFtdcForQuoteRspField *pForQuoteRsp) {};
+};
+
+class MD_API_EXPORT CThostFtdcMdApi
+{
+public:
+ ///MdApi
+ ///@param pszFlowPath ϢļĿ¼ĬΪǰĿ¼
+ ///@return UserApi
+ ///modify for udp marketdata
+ static CThostFtdcMdApi *CreateFtdcMdApi(const char *pszFlowPath = "", const bool bIsUsingUdp=false, const bool bIsMulticast=false);
+
+ ///ȡAPIİ汾Ϣ
+ ///@retrun ȡİ汾
+ static const char *GetApiVersion();
+
+ ///ɾӿڶ
+ ///@remark ʹñӿڶʱ,øúɾӿڶ
+ virtual void Release() = 0;
+
+ ///ʼ
+ ///@remark ʼл,ֻеú,ӿڲſʼ
+ virtual void Init() = 0;
+
+ ///ȴӿ߳̽
+ ///@return ߳˳
+ virtual int Join() = 0;
+
+ ///ȡǰ
+ ///@retrun ȡĽ
+ ///@remark ֻе¼ɹ,ܵõȷĽ
+ virtual const char *GetTradingDay() = 0;
+
+ ///עǰûַ
+ ///@param pszFrontAddressǰûַ
+ ///@remark ַĸʽΪprotocol://ipaddress:port磺tcp://127.0.0.1:17001
+ ///@remark tcpЭ飬127.0.0.1ַ17001˿ںš
+ virtual void RegisterFront(char *pszFrontAddress) = 0;
+
+ ///עַַ
+ ///@param pszNsAddressַַ
+ ///@remark ַĸʽΪprotocol://ipaddress:port磺tcp://127.0.0.1:12001
+ ///@remark tcpЭ飬127.0.0.1ַ12001˿ںš
+ ///@remark RegisterNameServerRegisterFront
+ virtual void RegisterNameServer(char *pszNsAddress) = 0;
+
+ ///עַûϢ
+ ///@param pFensUserInfoûϢ
+ virtual void RegisterFensUserInfo(CThostFtdcFensUserInfoField * pFensUserInfo) = 0;
+
+ ///עصӿ
+ ///@param pSpi Իصӿʵ
+ virtual void RegisterSpi(CThostFtdcMdSpi *pSpi) = 0;
+
+ ///顣
+ ///@param ppInstrumentID ԼID
+ ///@param nCount Ҫ/˶ĺԼ
+ ///@remark
+ virtual int SubscribeMarketData(char *ppInstrumentID[], int nCount) = 0;
+
+ ///˶顣
+ ///@param ppInstrumentID ԼID
+ ///@param nCount Ҫ/˶ĺԼ
+ ///@remark
+ virtual int UnSubscribeMarketData(char *ppInstrumentID[], int nCount) = 0;
+
+ ///ѯۡ
+ ///@param ppInstrumentID ԼID
+ ///@param nCount Ҫ/˶ĺԼ
+ ///@remark
+ virtual int SubscribeForQuoteRsp(char *ppInstrumentID[], int nCount) = 0;
+
+ ///˶ѯۡ
+ ///@param ppInstrumentID ԼID
+ ///@param nCount Ҫ/˶ĺԼ
+ ///@remark
+ virtual int UnSubscribeForQuoteRsp(char *ppInstrumentID[], int nCount) = 0;
+
+ ///û¼
+ virtual int ReqUserLogin(CThostFtdcReqUserLoginField *pReqUserLoginField, int nRequestID) = 0;
+
+
+ ///dz
+ virtual int ReqUserLogout(CThostFtdcUserLogoutField *pUserLogout, int nRequestID) = 0;
+protected:
+ ~CThostFtdcMdApi(){};
+};
+
+#endif
diff --git a/vn.how/tick2trade/vn.ctp_t2t/ctpapi/x64_linux/ThostFtdcTraderApi.h b/vn.how/tick2trade/vn.ctp_t2t/ctpapi/x64_linux/ThostFtdcTraderApi.h
new file mode 100644
index 0000000000..94dd4c0b3c
--- /dev/null
+++ b/vn.how/tick2trade/vn.ctp_t2t/ctpapi/x64_linux/ThostFtdcTraderApi.h
@@ -0,0 +1,660 @@
+/////////////////////////////////////////////////////////////////////////
+///@system һϵͳ
+///@company ϺڻϢ˾
+///@file ThostFtdcTraderApi.h
+///@brief ˿ͻ˽ӿ
+///@history
+///20060106 Ժ ļ
+/////////////////////////////////////////////////////////////////////////
+
+#if !defined(THOST_FTDCTRADERAPI_H)
+#define THOST_FTDCTRADERAPI_H
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include "ThostFtdcUserApiStruct.h"
+
+#if defined(ISLIB) && defined(WIN32)
+#ifdef LIB_TRADER_API_EXPORT
+#define TRADER_API_EXPORT __declspec(dllexport)
+#else
+#define TRADER_API_EXPORT __declspec(dllimport)
+#endif
+#else
+#define TRADER_API_EXPORT
+#endif
+
+class CThostFtdcTraderSpi
+{
+public:
+ ///ͻ뽻̨ͨʱδ¼ǰ÷á
+ virtual void OnFrontConnected(){};
+
+ ///ͻ뽻̨ͨӶϿʱ÷áAPIԶӣͻ˿ɲ
+ ///@param nReason ԭ
+ /// 0x1001 ʧ
+ /// 0x1002 дʧ
+ /// 0x2001 ʱ
+ /// 0x2002 ʧ
+ /// 0x2003 յ
+ virtual void OnFrontDisconnected(int nReason){};
+
+ ///ʱ档ʱδյʱ÷á
+ ///@param nTimeLapse ϴνձĵʱ
+ virtual void OnHeartBeatWarning(int nTimeLapse){};
+
+ ///ͻ֤Ӧ
+ virtual void OnRspAuthenticate(CThostFtdcRspAuthenticateField *pRspAuthenticateField, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+
+ ///¼Ӧ
+ virtual void OnRspUserLogin(CThostFtdcRspUserLoginField *pRspUserLogin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///dzӦ
+ virtual void OnRspUserLogout(CThostFtdcUserLogoutField *pUserLogout, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ûӦ
+ virtual void OnRspUserPasswordUpdate(CThostFtdcUserPasswordUpdateField *pUserPasswordUpdate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ʽ˻Ӧ
+ virtual void OnRspTradingAccountPasswordUpdate(CThostFtdcTradingAccountPasswordUpdateField *pTradingAccountPasswordUpdate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///¼Ӧ
+ virtual void OnRspOrderInsert(CThostFtdcInputOrderField *pInputOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///Ԥ¼Ӧ
+ virtual void OnRspParkedOrderInsert(CThostFtdcParkedOrderField *pParkedOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///Ԥ¼Ӧ
+ virtual void OnRspParkedOrderAction(CThostFtdcParkedOrderActionField *pParkedOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///Ӧ
+ virtual void OnRspOrderAction(CThostFtdcInputOrderActionField *pInputOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯӦ
+ virtual void OnRspQueryMaxOrderVolume(CThostFtdcQueryMaxOrderVolumeField *pQueryMaxOrderVolume, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///Ͷ߽ȷӦ
+ virtual void OnRspSettlementInfoConfirm(CThostFtdcSettlementInfoConfirmField *pSettlementInfoConfirm, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ɾԤӦ
+ virtual void OnRspRemoveParkedOrder(CThostFtdcRemoveParkedOrderField *pRemoveParkedOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ɾԤӦ
+ virtual void OnRspRemoveParkedOrderAction(CThostFtdcRemoveParkedOrderActionField *pRemoveParkedOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ִ¼Ӧ
+ virtual void OnRspExecOrderInsert(CThostFtdcInputExecOrderField *pInputExecOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ִӦ
+ virtual void OnRspExecOrderAction(CThostFtdcInputExecOrderActionField *pInputExecOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯ¼Ӧ
+ virtual void OnRspForQuoteInsert(CThostFtdcInputForQuoteField *pInputForQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///¼Ӧ
+ virtual void OnRspQuoteInsert(CThostFtdcInputQuoteField *pInputQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///۲Ӧ
+ virtual void OnRspQuoteAction(CThostFtdcInputQuoteActionField *pInputQuoteAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///Ӧ
+ virtual void OnRspLockInsert(CThostFtdcInputLockField *pInputLock, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///¼Ӧ
+ virtual void OnRspCombActionInsert(CThostFtdcInputCombActionField *pInputCombAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯӦ
+ virtual void OnRspQryOrder(CThostFtdcOrderField *pOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯɽӦ
+ virtual void OnRspQryTrade(CThostFtdcTradeField *pTrade, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯͶֲ߳Ӧ
+ virtual void OnRspQryInvestorPosition(CThostFtdcInvestorPositionField *pInvestorPosition, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯʽ˻Ӧ
+ virtual void OnRspQryTradingAccount(CThostFtdcTradingAccountField *pTradingAccount, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯͶӦ
+ virtual void OnRspQryInvestor(CThostFtdcInvestorField *pInvestor, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯױӦ
+ virtual void OnRspQryTradingCode(CThostFtdcTradingCodeField *pTradingCode, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯԼ֤Ӧ
+ virtual void OnRspQryInstrumentMarginRate(CThostFtdcInstrumentMarginRateField *pInstrumentMarginRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯԼӦ
+ virtual void OnRspQryInstrumentCommissionRate(CThostFtdcInstrumentCommissionRateField *pInstrumentCommissionRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯӦ
+ virtual void OnRspQryExchange(CThostFtdcExchangeField *pExchange, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯƷӦ
+ virtual void OnRspQryProduct(CThostFtdcProductField *pProduct, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯԼӦ
+ virtual void OnRspQryInstrument(CThostFtdcInstrumentField *pInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯӦ
+ virtual void OnRspQryDepthMarketData(CThostFtdcDepthMarketDataField *pDepthMarketData, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯͶ߽Ӧ
+ virtual void OnRspQrySettlementInfo(CThostFtdcSettlementInfoField *pSettlementInfo, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯתӦ
+ virtual void OnRspQryTransferBank(CThostFtdcTransferBankField *pTransferBank, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯͶֲ߳ϸӦ
+ virtual void OnRspQryInvestorPositionDetail(CThostFtdcInvestorPositionDetailField *pInvestorPositionDetail, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯͻ֪ͨӦ
+ virtual void OnRspQryNotice(CThostFtdcNoticeField *pNotice, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯϢȷӦ
+ virtual void OnRspQrySettlementInfoConfirm(CThostFtdcSettlementInfoConfirmField *pSettlementInfoConfirm, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯͶֲ߳ϸӦ
+ virtual void OnRspQryInvestorPositionCombineDetail(CThostFtdcInvestorPositionCombineDetailField *pInvestorPositionCombineDetail, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯ֤ϵͳ˾ʽ˻ԿӦ
+ virtual void OnRspQryCFMMCTradingAccountKey(CThostFtdcCFMMCTradingAccountKeyField *pCFMMCTradingAccountKey, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯֵ۵ϢӦ
+ virtual void OnRspQryEWarrantOffset(CThostFtdcEWarrantOffsetField *pEWarrantOffset, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯͶƷ/Ʒֱ֤Ӧ
+ virtual void OnRspQryInvestorProductGroupMargin(CThostFtdcInvestorProductGroupMarginField *pInvestorProductGroupMargin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯ֤Ӧ
+ virtual void OnRspQryExchangeMarginRate(CThostFtdcExchangeMarginRateField *pExchangeMarginRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯ֤Ӧ
+ virtual void OnRspQryExchangeMarginRateAdjust(CThostFtdcExchangeMarginRateAdjustField *pExchangeMarginRateAdjust, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯӦ
+ virtual void OnRspQryExchangeRate(CThostFtdcExchangeRateField *pExchangeRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯԱȨӦ
+ virtual void OnRspQrySecAgentACIDMap(CThostFtdcSecAgentACIDMapField *pSecAgentACIDMap, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯƷۻ
+ virtual void OnRspQryProductExchRate(CThostFtdcProductExchRateField *pProductExchRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯƷ
+ virtual void OnRspQryProductGroup(CThostFtdcProductGroupField *pProductGroup, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯȨ׳ɱӦ
+ virtual void OnRspQryOptionInstrTradeCost(CThostFtdcOptionInstrTradeCostField *pOptionInstrTradeCost, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯȨԼӦ
+ virtual void OnRspQryOptionInstrCommRate(CThostFtdcOptionInstrCommRateField *pOptionInstrCommRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯִӦ
+ virtual void OnRspQryExecOrder(CThostFtdcExecOrderField *pExecOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯѯӦ
+ virtual void OnRspQryForQuote(CThostFtdcForQuoteField *pForQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯӦ
+ virtual void OnRspQryQuote(CThostFtdcQuoteField *pQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯӦ
+ virtual void OnRspQryLock(CThostFtdcLockField *pLock, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯ֤ȯλӦ
+ virtual void OnRspQryLockPosition(CThostFtdcLockPositionField *pLockPosition, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯͶ߷ּ
+ virtual void OnRspQryInvestorLevel(CThostFtdcInvestorLevelField *pInvestorLevel, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯE+1ȨӦ
+ virtual void OnRspQryExecFreeze(CThostFtdcExecFreezeField *pExecFreeze, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯϺԼȫϵӦ
+ virtual void OnRspQryCombInstrumentGuard(CThostFtdcCombInstrumentGuardField *pCombInstrumentGuard, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯӦ
+ virtual void OnRspQryCombAction(CThostFtdcCombActionField *pCombAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯתˮӦ
+ virtual void OnRspQryTransferSerial(CThostFtdcTransferSerialField *pTransferSerial, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯǩԼϵӦ
+ virtual void OnRspQryAccountregister(CThostFtdcAccountregisterField *pAccountregister, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///Ӧ
+ virtual void OnRspError(CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///֪ͨ
+ virtual void OnRtnOrder(CThostFtdcOrderField *pOrder) {};
+
+ ///ɽ֪ͨ
+ virtual void OnRtnTrade(CThostFtdcTradeField *pTrade) {};
+
+ ///¼ر
+ virtual void OnErrRtnOrderInsert(CThostFtdcInputOrderField *pInputOrder, CThostFtdcRspInfoField *pRspInfo) {};
+
+ ///ر
+ virtual void OnErrRtnOrderAction(CThostFtdcOrderActionField *pOrderAction, CThostFtdcRspInfoField *pRspInfo) {};
+
+ ///Լ״̬֪ͨ
+ virtual void OnRtnInstrumentStatus(CThostFtdcInstrumentStatusField *pInstrumentStatus) {};
+
+ ///֪ͨ
+ virtual void OnRtnTradingNotice(CThostFtdcTradingNoticeInfoField *pTradingNoticeInfo) {};
+
+ ///ʾУ
+ virtual void OnRtnErrorConditionalOrder(CThostFtdcErrorConditionalOrderField *pErrorConditionalOrder) {};
+
+ ///ִ֪ͨ
+ virtual void OnRtnExecOrder(CThostFtdcExecOrderField *pExecOrder) {};
+
+ ///ִ¼ر
+ virtual void OnErrRtnExecOrderInsert(CThostFtdcInputExecOrderField *pInputExecOrder, CThostFtdcRspInfoField *pRspInfo) {};
+
+ ///ִر
+ virtual void OnErrRtnExecOrderAction(CThostFtdcExecOrderActionField *pExecOrderAction, CThostFtdcRspInfoField *pRspInfo) {};
+
+ ///ѯ¼ر
+ virtual void OnErrRtnForQuoteInsert(CThostFtdcInputForQuoteField *pInputForQuote, CThostFtdcRspInfoField *pRspInfo) {};
+
+ ///֪ͨ
+ virtual void OnRtnQuote(CThostFtdcQuoteField *pQuote) {};
+
+ ///¼ر
+ virtual void OnErrRtnQuoteInsert(CThostFtdcInputQuoteField *pInputQuote, CThostFtdcRspInfoField *pRspInfo) {};
+
+ ///۲ر
+ virtual void OnErrRtnQuoteAction(CThostFtdcQuoteActionField *pQuoteAction, CThostFtdcRspInfoField *pRspInfo) {};
+
+ ///ѯ֪ͨ
+ virtual void OnRtnForQuoteRsp(CThostFtdcForQuoteRspField *pForQuoteRsp) {};
+
+ ///֤û
+ virtual void OnRtnCFMMCTradingAccountToken(CThostFtdcCFMMCTradingAccountTokenField *pCFMMCTradingAccountToken) {};
+
+ ///֪ͨ
+ virtual void OnRtnLock(CThostFtdcLockField *pLock) {};
+
+ ///֪ͨ
+ virtual void OnErrRtnLockInsert(CThostFtdcInputLockField *pInputLock, CThostFtdcRspInfoField *pRspInfo) {};
+
+ ///֪ͨ
+ virtual void OnRtnCombAction(CThostFtdcCombActionField *pCombAction) {};
+
+ ///¼ر
+ virtual void OnErrRtnCombActionInsert(CThostFtdcInputCombActionField *pInputCombAction, CThostFtdcRspInfoField *pRspInfo) {};
+
+ ///ѯǩԼӦ
+ virtual void OnRspQryContractBank(CThostFtdcContractBankField *pContractBank, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯԤӦ
+ virtual void OnRspQryParkedOrder(CThostFtdcParkedOrderField *pParkedOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯԤӦ
+ virtual void OnRspQryParkedOrderAction(CThostFtdcParkedOrderActionField *pParkedOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯ֪ͨӦ
+ virtual void OnRspQryTradingNotice(CThostFtdcTradingNoticeField *pTradingNotice, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯ˾ײӦ
+ virtual void OnRspQryBrokerTradingParams(CThostFtdcBrokerTradingParamsField *pBrokerTradingParams, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯ˾㷨Ӧ
+ virtual void OnRspQryBrokerTradingAlgos(CThostFtdcBrokerTradingAlgosField *pBrokerTradingAlgos, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ѯû
+ virtual void OnRspQueryCFMMCTradingAccountToken(CThostFtdcQueryCFMMCTradingAccountTokenField *pQueryCFMMCTradingAccountToken, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///зʽתڻ֪ͨ
+ virtual void OnRtnFromBankToFutureByBank(CThostFtdcRspTransferField *pRspTransfer) {};
+
+ ///зڻʽת֪ͨ
+ virtual void OnRtnFromFutureToBankByBank(CThostFtdcRspTransferField *pRspTransfer) {};
+
+ ///зתڻ֪ͨ
+ virtual void OnRtnRepealFromBankToFutureByBank(CThostFtdcRspRepealField *pRspRepeal) {};
+
+ ///зڻת֪ͨ
+ virtual void OnRtnRepealFromFutureToBankByBank(CThostFtdcRspRepealField *pRspRepeal) {};
+
+ ///ڻʽתڻ֪ͨ
+ virtual void OnRtnFromBankToFutureByFuture(CThostFtdcRspTransferField *pRspTransfer) {};
+
+ ///ڻڻʽת֪ͨ
+ virtual void OnRtnFromFutureToBankByFuture(CThostFtdcRspTransferField *pRspTransfer) {};
+
+ ///ϵͳʱڻֹתڻдϺ̷ص֪ͨ
+ virtual void OnRtnRepealFromBankToFutureByFutureManual(CThostFtdcRspRepealField *pRspRepeal) {};
+
+ ///ϵͳʱڻֹڻתдϺ̷ص֪ͨ
+ virtual void OnRtnRepealFromFutureToBankByFutureManual(CThostFtdcRspRepealField *pRspRepeal) {};
+
+ ///ڻѯ֪ͨ
+ virtual void OnRtnQueryBankBalanceByFuture(CThostFtdcNotifyQueryAccountField *pNotifyQueryAccount) {};
+
+ ///ڻʽתڻر
+ virtual void OnErrRtnBankToFutureByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo) {};
+
+ ///ڻڻʽתдر
+ virtual void OnErrRtnFutureToBankByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo) {};
+
+ ///ϵͳʱڻֹתڻر
+ virtual void OnErrRtnRepealBankToFutureByFutureManual(CThostFtdcReqRepealField *pReqRepeal, CThostFtdcRspInfoField *pRspInfo) {};
+
+ ///ϵͳʱڻֹڻתдر
+ virtual void OnErrRtnRepealFutureToBankByFutureManual(CThostFtdcReqRepealField *pReqRepeal, CThostFtdcRspInfoField *pRspInfo) {};
+
+ ///ڻѯر
+ virtual void OnErrRtnQueryBankBalanceByFuture(CThostFtdcReqQueryAccountField *pReqQueryAccount, CThostFtdcRspInfoField *pRspInfo) {};
+
+ ///ڻתڻдϺ̷ص֪ͨ
+ virtual void OnRtnRepealFromBankToFutureByFuture(CThostFtdcRspRepealField *pRspRepeal) {};
+
+ ///ڻڻתдϺ̷ص֪ͨ
+ virtual void OnRtnRepealFromFutureToBankByFuture(CThostFtdcRspRepealField *pRspRepeal) {};
+
+ ///ڻʽתڻӦ
+ virtual void OnRspFromBankToFutureByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ڻڻʽתӦ
+ virtual void OnRspFromFutureToBankByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///ڻѯӦ
+ virtual void OnRspQueryBankAccountMoneyByFuture(CThostFtdcReqQueryAccountField *pReqQueryAccount, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
+
+ ///зڿ֪ͨ
+ virtual void OnRtnOpenAccountByBank(CThostFtdcOpenAccountField *pOpenAccount) {};
+
+ ///з֪ͨ
+ virtual void OnRtnCancelAccountByBank(CThostFtdcCancelAccountField *pCancelAccount) {};
+
+ ///з˺֪ͨ
+ virtual void OnRtnChangeAccountByBank(CThostFtdcChangeAccountField *pChangeAccount) {};
+};
+
+class TRADER_API_EXPORT CThostFtdcTraderApi
+{
+public:
+ ///TraderApi
+ ///@param pszFlowPath ϢļĿ¼ĬΪǰĿ¼
+ ///@return UserApi
+ static CThostFtdcTraderApi *CreateFtdcTraderApi(const char *pszFlowPath = "");
+
+ ///ȡAPIİ汾Ϣ
+ ///@retrun ȡİ汾
+ static const char *GetApiVersion();
+
+ ///ɾӿڶ
+ ///@remark ʹñӿڶʱ,øúɾӿڶ
+ virtual void Release() = 0;
+
+ ///ʼ
+ ///@remark ʼл,ֻеú,ӿڲſʼ
+ virtual void Init() = 0;
+
+ ///ȴӿ߳̽
+ ///@return ߳˳
+ virtual int Join() = 0;
+
+ ///ȡǰ
+ ///@retrun ȡĽ
+ ///@remark ֻе¼ɹ,ܵõȷĽ
+ virtual const char *GetTradingDay() = 0;
+
+ ///עǰûַ
+ ///@param pszFrontAddressǰûַ
+ ///@remark ַĸʽΪprotocol://ipaddress:port磺tcp://127.0.0.1:17001
+ ///@remark tcpЭ飬127.0.0.1ַ17001˿ںš
+ virtual void RegisterFront(char *pszFrontAddress) = 0;
+
+ ///עַַ
+ ///@param pszNsAddressַַ
+ ///@remark ַĸʽΪprotocol://ipaddress:port磺tcp://127.0.0.1:12001
+ ///@remark tcpЭ飬127.0.0.1ַ12001˿ںš
+ ///@remark RegisterNameServerRegisterFront
+ virtual void RegisterNameServer(char *pszNsAddress) = 0;
+
+ ///עַûϢ
+ ///@param pFensUserInfoûϢ
+ virtual void RegisterFensUserInfo(CThostFtdcFensUserInfoField * pFensUserInfo) = 0;
+
+ ///עصӿ
+ ///@param pSpi Իصӿʵ
+ virtual void RegisterSpi(CThostFtdcTraderSpi *pSpi) = 0;
+
+ ///˽
+ ///@param nResumeType ˽شʽ
+ /// THOST_TERT_RESTART:ӱտʼش
+ /// THOST_TERT_RESUME:ϴյ
+ /// THOST_TERT_QUICK:ֻ͵¼˽
+ ///@remark ÷ҪInitǰáյ˽ݡ
+ virtual void SubscribePrivateTopic(THOST_TE_RESUME_TYPE nResumeType) = 0;
+
+ ///Ĺ
+ ///@param nResumeType شʽ
+ /// THOST_TERT_RESTART:ӱտʼش
+ /// THOST_TERT_RESUME:ϴյ
+ /// THOST_TERT_QUICK:ֻ͵¼
+ ///@remark ÷ҪInitǰáյݡ
+ virtual void SubscribePublicTopic(THOST_TE_RESUME_TYPE nResumeType) = 0;
+
+ ///ͻ֤
+ virtual int ReqAuthenticate(CThostFtdcReqAuthenticateField *pReqAuthenticateField, int nRequestID) = 0;
+
+ ///û¼
+ virtual int ReqUserLogin(CThostFtdcReqUserLoginField *pReqUserLoginField, int nRequestID) = 0;
+
+
+ ///dz
+ virtual int ReqUserLogout(CThostFtdcUserLogoutField *pUserLogout, int nRequestID) = 0;
+
+ ///û
+ virtual int ReqUserPasswordUpdate(CThostFtdcUserPasswordUpdateField *pUserPasswordUpdate, int nRequestID) = 0;
+
+ ///ʽ˻
+ virtual int ReqTradingAccountPasswordUpdate(CThostFtdcTradingAccountPasswordUpdateField *pTradingAccountPasswordUpdate, int nRequestID) = 0;
+
+ ///¼
+ virtual int ReqOrderInsert(CThostFtdcInputOrderField *pInputOrder, int nRequestID) = 0;
+
+ ///Ԥ¼
+ virtual int ReqParkedOrderInsert(CThostFtdcParkedOrderField *pParkedOrder, int nRequestID) = 0;
+
+ ///Ԥ¼
+ virtual int ReqParkedOrderAction(CThostFtdcParkedOrderActionField *pParkedOrderAction, int nRequestID) = 0;
+
+ ///
+ virtual int ReqOrderAction(CThostFtdcInputOrderActionField *pInputOrderAction, int nRequestID) = 0;
+
+ ///ѯ
+ virtual int ReqQueryMaxOrderVolume(CThostFtdcQueryMaxOrderVolumeField *pQueryMaxOrderVolume, int nRequestID) = 0;
+
+ ///Ͷ߽ȷ
+ virtual int ReqSettlementInfoConfirm(CThostFtdcSettlementInfoConfirmField *pSettlementInfoConfirm, int nRequestID) = 0;
+
+ ///ɾԤ
+ virtual int ReqRemoveParkedOrder(CThostFtdcRemoveParkedOrderField *pRemoveParkedOrder, int nRequestID) = 0;
+
+ ///ɾԤ
+ virtual int ReqRemoveParkedOrderAction(CThostFtdcRemoveParkedOrderActionField *pRemoveParkedOrderAction, int nRequestID) = 0;
+
+ ///ִ¼
+ virtual int ReqExecOrderInsert(CThostFtdcInputExecOrderField *pInputExecOrder, int nRequestID) = 0;
+
+ ///ִ
+ virtual int ReqExecOrderAction(CThostFtdcInputExecOrderActionField *pInputExecOrderAction, int nRequestID) = 0;
+
+ ///ѯ¼
+ virtual int ReqForQuoteInsert(CThostFtdcInputForQuoteField *pInputForQuote, int nRequestID) = 0;
+
+ ///¼
+ virtual int ReqQuoteInsert(CThostFtdcInputQuoteField *pInputQuote, int nRequestID) = 0;
+
+ ///۲
+ virtual int ReqQuoteAction(CThostFtdcInputQuoteActionField *pInputQuoteAction, int nRequestID) = 0;
+
+ ///
+ virtual int ReqLockInsert(CThostFtdcInputLockField *pInputLock, int nRequestID) = 0;
+
+ ///¼
+ virtual int ReqCombActionInsert(CThostFtdcInputCombActionField *pInputCombAction, int nRequestID) = 0;
+
+ ///ѯ
+ virtual int ReqQryOrder(CThostFtdcQryOrderField *pQryOrder, int nRequestID) = 0;
+
+ ///ѯɽ
+ virtual int ReqQryTrade(CThostFtdcQryTradeField *pQryTrade, int nRequestID) = 0;
+
+ ///ѯͶֲ߳
+ virtual int ReqQryInvestorPosition(CThostFtdcQryInvestorPositionField *pQryInvestorPosition, int nRequestID) = 0;
+
+ ///ѯʽ˻
+ virtual int ReqQryTradingAccount(CThostFtdcQryTradingAccountField *pQryTradingAccount, int nRequestID) = 0;
+
+ ///ѯͶ
+ virtual int ReqQryInvestor(CThostFtdcQryInvestorField *pQryInvestor, int nRequestID) = 0;
+
+ ///ѯױ
+ virtual int ReqQryTradingCode(CThostFtdcQryTradingCodeField *pQryTradingCode, int nRequestID) = 0;
+
+ ///ѯԼ֤
+ virtual int ReqQryInstrumentMarginRate(CThostFtdcQryInstrumentMarginRateField *pQryInstrumentMarginRate, int nRequestID) = 0;
+
+ ///ѯԼ
+ virtual int ReqQryInstrumentCommissionRate(CThostFtdcQryInstrumentCommissionRateField *pQryInstrumentCommissionRate, int nRequestID) = 0;
+
+ ///ѯ
+ virtual int ReqQryExchange(CThostFtdcQryExchangeField *pQryExchange, int nRequestID) = 0;
+
+ ///ѯƷ
+ virtual int ReqQryProduct(CThostFtdcQryProductField *pQryProduct, int nRequestID) = 0;
+
+ ///ѯԼ
+ virtual int ReqQryInstrument(CThostFtdcQryInstrumentField *pQryInstrument, int nRequestID) = 0;
+
+ ///ѯ
+ virtual int ReqQryDepthMarketData(CThostFtdcQryDepthMarketDataField *pQryDepthMarketData, int nRequestID) = 0;
+
+ ///ѯͶ߽
+ virtual int ReqQrySettlementInfo(CThostFtdcQrySettlementInfoField *pQrySettlementInfo, int nRequestID) = 0;
+
+ ///ѯת
+ virtual int ReqQryTransferBank(CThostFtdcQryTransferBankField *pQryTransferBank, int nRequestID) = 0;
+
+ ///ѯͶֲ߳ϸ
+ virtual int ReqQryInvestorPositionDetail(CThostFtdcQryInvestorPositionDetailField *pQryInvestorPositionDetail, int nRequestID) = 0;
+
+ ///ѯͻ֪ͨ
+ virtual int ReqQryNotice(CThostFtdcQryNoticeField *pQryNotice, int nRequestID) = 0;
+
+ ///ѯϢȷ
+ virtual int ReqQrySettlementInfoConfirm(CThostFtdcQrySettlementInfoConfirmField *pQrySettlementInfoConfirm, int nRequestID) = 0;
+
+ ///ѯͶֲ߳ϸ
+ virtual int ReqQryInvestorPositionCombineDetail(CThostFtdcQryInvestorPositionCombineDetailField *pQryInvestorPositionCombineDetail, int nRequestID) = 0;
+
+ ///ѯ֤ϵͳ˾ʽ˻Կ
+ virtual int ReqQryCFMMCTradingAccountKey(CThostFtdcQryCFMMCTradingAccountKeyField *pQryCFMMCTradingAccountKey, int nRequestID) = 0;
+
+ ///ѯֵ۵Ϣ
+ virtual int ReqQryEWarrantOffset(CThostFtdcQryEWarrantOffsetField *pQryEWarrantOffset, int nRequestID) = 0;
+
+ ///ѯͶƷ/Ʒֱ֤
+ virtual int ReqQryInvestorProductGroupMargin(CThostFtdcQryInvestorProductGroupMarginField *pQryInvestorProductGroupMargin, int nRequestID) = 0;
+
+ ///ѯ֤
+ virtual int ReqQryExchangeMarginRate(CThostFtdcQryExchangeMarginRateField *pQryExchangeMarginRate, int nRequestID) = 0;
+
+ ///ѯ֤
+ virtual int ReqQryExchangeMarginRateAdjust(CThostFtdcQryExchangeMarginRateAdjustField *pQryExchangeMarginRateAdjust, int nRequestID) = 0;
+
+ ///ѯ
+ virtual int ReqQryExchangeRate(CThostFtdcQryExchangeRateField *pQryExchangeRate, int nRequestID) = 0;
+
+ ///ѯԱȨ
+ virtual int ReqQrySecAgentACIDMap(CThostFtdcQrySecAgentACIDMapField *pQrySecAgentACIDMap, int nRequestID) = 0;
+
+ ///ѯƷۻ
+ virtual int ReqQryProductExchRate(CThostFtdcQryProductExchRateField *pQryProductExchRate, int nRequestID) = 0;
+
+ ///ѯƷ
+ virtual int ReqQryProductGroup(CThostFtdcQryProductGroupField *pQryProductGroup, int nRequestID) = 0;
+
+ ///ѯȨ׳ɱ
+ virtual int ReqQryOptionInstrTradeCost(CThostFtdcQryOptionInstrTradeCostField *pQryOptionInstrTradeCost, int nRequestID) = 0;
+
+ ///ѯȨԼ
+ virtual int ReqQryOptionInstrCommRate(CThostFtdcQryOptionInstrCommRateField *pQryOptionInstrCommRate, int nRequestID) = 0;
+
+ ///ѯִ
+ virtual int ReqQryExecOrder(CThostFtdcQryExecOrderField *pQryExecOrder, int nRequestID) = 0;
+
+ ///ѯѯ
+ virtual int ReqQryForQuote(CThostFtdcQryForQuoteField *pQryForQuote, int nRequestID) = 0;
+
+ ///ѯ
+ virtual int ReqQryQuote(CThostFtdcQryQuoteField *pQryQuote, int nRequestID) = 0;
+
+ ///ѯ
+ virtual int ReqQryLock(CThostFtdcQryLockField *pQryLock, int nRequestID) = 0;
+
+ ///ѯ֤ȯλ
+ virtual int ReqQryLockPosition(CThostFtdcQryLockPositionField *pQryLockPosition, int nRequestID) = 0;
+
+ ///ѯͶ߷ּ
+ virtual int ReqQryInvestorLevel(CThostFtdcQryInvestorLevelField *pQryInvestorLevel, int nRequestID) = 0;
+
+ ///ѯE+1Ȩ
+ virtual int ReqQryExecFreeze(CThostFtdcQryExecFreezeField *pQryExecFreeze, int nRequestID) = 0;
+
+ ///ѯϺԼȫϵ
+ virtual int ReqQryCombInstrumentGuard(CThostFtdcQryCombInstrumentGuardField *pQryCombInstrumentGuard, int nRequestID) = 0;
+
+ ///ѯ
+ virtual int ReqQryCombAction(CThostFtdcQryCombActionField *pQryCombAction, int nRequestID) = 0;
+
+ ///ѯתˮ
+ virtual int ReqQryTransferSerial(CThostFtdcQryTransferSerialField *pQryTransferSerial, int nRequestID) = 0;
+
+ ///ѯǩԼϵ
+ virtual int ReqQryAccountregister(CThostFtdcQryAccountregisterField *pQryAccountregister, int nRequestID) = 0;
+
+ ///ѯǩԼ
+ virtual int ReqQryContractBank(CThostFtdcQryContractBankField *pQryContractBank, int nRequestID) = 0;
+
+ ///ѯԤ
+ virtual int ReqQryParkedOrder(CThostFtdcQryParkedOrderField *pQryParkedOrder, int nRequestID) = 0;
+
+ ///ѯԤ
+ virtual int ReqQryParkedOrderAction(CThostFtdcQryParkedOrderActionField *pQryParkedOrderAction, int nRequestID) = 0;
+
+ ///ѯ֪ͨ
+ virtual int ReqQryTradingNotice(CThostFtdcQryTradingNoticeField *pQryTradingNotice, int nRequestID) = 0;
+
+ ///ѯ˾ײ
+ virtual int ReqQryBrokerTradingParams(CThostFtdcQryBrokerTradingParamsField *pQryBrokerTradingParams, int nRequestID) = 0;
+
+ ///ѯ˾㷨
+ virtual int ReqQryBrokerTradingAlgos(CThostFtdcQryBrokerTradingAlgosField *pQryBrokerTradingAlgos, int nRequestID) = 0;
+
+ ///ѯû
+ virtual int ReqQueryCFMMCTradingAccountToken(CThostFtdcQueryCFMMCTradingAccountTokenField *pQueryCFMMCTradingAccountToken, int nRequestID) = 0;
+
+ ///ڻʽתڻ
+ virtual int ReqFromBankToFutureByFuture(CThostFtdcReqTransferField *pReqTransfer, int nRequestID) = 0;
+
+ ///ڻڻʽת
+ virtual int ReqFromFutureToBankByFuture(CThostFtdcReqTransferField *pReqTransfer, int nRequestID) = 0;
+
+ ///ڻѯ
+ virtual int ReqQueryBankAccountMoneyByFuture(CThostFtdcReqQueryAccountField *pReqQueryAccount, int nRequestID) = 0;
+protected:
+ ~CThostFtdcTraderApi(){};
+};
+
+#endif
diff --git a/vn.how/tick2trade/vn.ctp_t2t/ctpapi/x64_linux/ThostFtdcUserApiDataType.h b/vn.how/tick2trade/vn.ctp_t2t/ctpapi/x64_linux/ThostFtdcUserApiDataType.h
new file mode 100644
index 0000000000..ca7e082545
--- /dev/null
+++ b/vn.how/tick2trade/vn.ctp_t2t/ctpapi/x64_linux/ThostFtdcUserApiDataType.h
@@ -0,0 +1,6460 @@
+/////////////////////////////////////////////////////////////////////////
+///@system һϵͳ
+///@company ϺڻϢ˾
+///@file ThostFtdcUserApiDataType.h
+///@brief ˿ͻ˽ӿʹõҵ
+///@history
+///20060106 Ժ ļ
+/////////////////////////////////////////////////////////////////////////
+
+#ifndef THOST_FTDCDATATYPE_H
+#define THOST_FTDCDATATYPE_H
+
+enum THOST_TE_RESUME_TYPE
+{
+ THOST_TERT_RESTART = 0,
+ THOST_TERT_RESUME,
+ THOST_TERT_QUICK
+};
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTraderIDTypeһԱ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcTraderIDType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInvestorIDTypeһͶߴ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcInvestorIDType[13];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBrokerIDTypeһ˾
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBrokerIDType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBrokerAbbrTypeһ˾
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBrokerAbbrType[9];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBrokerNameTypeһ˾
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBrokerNameType[81];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcExchangeInstIDTypeһԼڽĴ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcExchangeInstIDType[31];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOrderRefTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcOrderRefType[13];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcParticipantIDTypeһԱ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcParticipantIDType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUserIDTypeһû
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcUserIDType[16];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPasswordTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcPasswordType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcClientIDTypeһױ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcClientIDType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInstrumentIDTypeһԼ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcInstrumentIDType[31];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInstrumentCodeTypeһԼʶ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcInstrumentCodeType[31];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcMarketIDTypeһг
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcMarketIDType[31];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcProductNameTypeһƷ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcProductNameType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcExchangeIDTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcExchangeIDType[9];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcExchangeNameTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcExchangeNameType[61];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcExchangeAbbrTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcExchangeAbbrType[9];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcExchangeFlagTypeһ־
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcExchangeFlagType[2];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcMacAddressTypeһMacַ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcMacAddressType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSystemIDTypeһϵͳ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcSystemIDType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcExchangePropertyTypeһ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_EXP_Normal '0'
+///ݳɽɱ
+#define THOST_FTDC_EXP_GenOrderByTrade '1'
+
+typedef char TThostFtdcExchangePropertyType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDateTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcDateType[9];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTimeTypeһʱ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcTimeType[9];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcLongTimeTypeһʱ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcLongTimeType[13];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInstrumentNameTypeһԼ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcInstrumentNameType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSettlementGroupIDTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcSettlementGroupIDType[9];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOrderSysIDTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcOrderSysIDType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTradeIDTypeһɽ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcTradeIDType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCommandTypeTypeһDB
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCommandTypeType[65];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcIPAddressTypeһIPַ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcIPAddressType[16];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcIPPortTypeһIP˿
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcIPPortType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcProductInfoTypeһƷϢ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcProductInfoType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcProtocolInfoTypeһЭϢ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcProtocolInfoType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBusinessUnitTypeһҵԪ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBusinessUnitType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDepositSeqNoTypeһˮ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcDepositSeqNoType[15];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcIdentifiedCardNoTypeһ֤
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcIdentifiedCardNoType[51];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcIdCardTypeTypeһ֤
+/////////////////////////////////////////////////////////////////////////
+///֯
+#define THOST_FTDC_ICT_EID '0'
+///й֤
+#define THOST_FTDC_ICT_IDCard '1'
+///֤
+#define THOST_FTDC_ICT_OfficerIDCard '2'
+///֤
+#define THOST_FTDC_ICT_PoliceIDCard '3'
+///ʿ֤
+#define THOST_FTDC_ICT_SoldierIDCard '4'
+///ڲ
+#define THOST_FTDC_ICT_HouseholdRegister '5'
+///
+#define THOST_FTDC_ICT_Passport '6'
+///̨֤
+#define THOST_FTDC_ICT_TaiwanCompatriotIDCard '7'
+///֤
+#define THOST_FTDC_ICT_HomeComingCard '8'
+///Ӫҵִպ
+#define THOST_FTDC_ICT_LicenseNo '9'
+///˰ǼǺ/˰ID
+#define THOST_FTDC_ICT_TaxNo 'A'
+///۰ľڵ֤ͨ
+#define THOST_FTDC_ICT_HMMainlandTravelPermit 'B'
+///̨½֤ͨ
+#define THOST_FTDC_ICT_TwMainlandTravelPermit 'C'
+///
+#define THOST_FTDC_ICT_DrivingLicense 'D'
+///籣ID
+#define THOST_FTDC_ICT_SocialID 'F'
+///֤
+#define THOST_FTDC_ICT_LocalID 'G'
+///ҵǼ֤
+#define THOST_FTDC_ICT_BusinessRegistration 'H'
+///۰Ծ֤
+#define THOST_FTDC_ICT_HKMCIDCard 'I'
+///п֤
+#define THOST_FTDC_ICT_AccountsPermits 'J'
+///֤
+#define THOST_FTDC_ICT_OtherCard 'x'
+
+typedef char TThostFtdcIdCardTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOrderLocalIDTypeһر
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcOrderLocalIDType[13];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUserNameTypeһû
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcUserNameType[81];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPartyNameTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcPartyNameType[81];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcErrorMsgTypeһϢ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcErrorMsgType[81];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFieldNameTypeһֶ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFieldNameType[2049];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFieldContentTypeһֶ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFieldContentType[2049];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSystemNameTypeһϵͳ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcSystemNameType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcContentTypeһϢ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcContentType[501];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInvestorRangeTypeһͶ߷Χ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_IR_All '1'
+///Ͷ
+#define THOST_FTDC_IR_Group '2'
+///һͶ
+#define THOST_FTDC_IR_Single '3'
+
+typedef char TThostFtdcInvestorRangeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDepartmentRangeTypeһͶ߷Χ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_DR_All '1'
+///ܹ֯
+#define THOST_FTDC_DR_Group '2'
+///һͶ
+#define THOST_FTDC_DR_Single '3'
+
+typedef char TThostFtdcDepartmentRangeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDataSyncStatusTypeһͬ״̬
+/////////////////////////////////////////////////////////////////////////
+///δͬ
+#define THOST_FTDC_DS_Asynchronous '1'
+///ͬ
+#define THOST_FTDC_DS_Synchronizing '2'
+///ͬ
+#define THOST_FTDC_DS_Synchronized '3'
+
+typedef char TThostFtdcDataSyncStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBrokerDataSyncStatusTypeһ˾ͬ״̬
+/////////////////////////////////////////////////////////////////////////
+///ͬ
+#define THOST_FTDC_BDS_Synchronized '1'
+///ͬ
+#define THOST_FTDC_BDS_Synchronizing '2'
+
+typedef char TThostFtdcBrokerDataSyncStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcExchangeConnectStatusTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+///ûκ
+#define THOST_FTDC_ECS_NoConnection '1'
+///ѾԼѯ
+#define THOST_FTDC_ECS_QryInstrumentSent '2'
+///ѾȡϢ
+#define THOST_FTDC_ECS_GotInformation '9'
+
+typedef char TThostFtdcExchangeConnectStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTraderConnectStatusTypeһԱ״̬
+/////////////////////////////////////////////////////////////////////////
+///ûκ
+#define THOST_FTDC_TCS_NotConnected '1'
+///Ѿ
+#define THOST_FTDC_TCS_Connected '2'
+///ѾԼѯ
+#define THOST_FTDC_TCS_QryInstrumentSent '3'
+///˽
+#define THOST_FTDC_TCS_SubPrivateFlow '4'
+
+typedef char TThostFtdcTraderConnectStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFunctionCodeTypeһܴ
+/////////////////////////////////////////////////////////////////////////
+///첽
+#define THOST_FTDC_FC_DataAsync '1'
+///ǿûdz
+#define THOST_FTDC_FC_ForceUserLogout '2'
+///û
+#define THOST_FTDC_FC_UserPasswordUpdate '3'
+///˾
+#define THOST_FTDC_FC_BrokerPasswordUpdate '4'
+///Ͷ߿
+#define THOST_FTDC_FC_InvestorPasswordUpdate '5'
+///
+#define THOST_FTDC_FC_OrderInsert '6'
+///
+#define THOST_FTDC_FC_OrderAction '7'
+///ͬϵͳ
+#define THOST_FTDC_FC_SyncSystemData '8'
+///ͬ˾
+#define THOST_FTDC_FC_SyncBrokerData '9'
+///ͬ˾
+#define THOST_FTDC_FC_BachSyncBrokerData 'A'
+///ѯ
+#define THOST_FTDC_FC_SuperQuery 'B'
+///Ԥ
+#define THOST_FTDC_FC_ParkedOrderInsert 'C'
+///Ԥ
+#define THOST_FTDC_FC_ParkedOrderAction 'D'
+///̬ͬ
+#define THOST_FTDC_FC_SyncOTP 'E'
+///ɾδ֪
+#define THOST_FTDC_FC_DeleteOrder 'F'
+
+typedef char TThostFtdcFunctionCodeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBrokerFunctionCodeTypeһ˾ܴ
+/////////////////////////////////////////////////////////////////////////
+///ǿûdz
+#define THOST_FTDC_BFC_ForceUserLogout '1'
+///û
+#define THOST_FTDC_BFC_UserPasswordUpdate '2'
+///ͬ˾
+#define THOST_FTDC_BFC_SyncBrokerData '3'
+///ͬ˾
+#define THOST_FTDC_BFC_BachSyncBrokerData '4'
+///
+#define THOST_FTDC_BFC_OrderInsert '5'
+///
+#define THOST_FTDC_BFC_OrderAction '6'
+///ȫѯ
+#define THOST_FTDC_BFC_AllQuery '7'
+///ϵͳܣ/dz/
+#define THOST_FTDC_BFC_log 'a'
+///ѯѯݣԼȳ
+#define THOST_FTDC_BFC_BaseQry 'b'
+///ײѯɽί
+#define THOST_FTDC_BFC_TradeQry 'c'
+///ܣ
+#define THOST_FTDC_BFC_Trade 'd'
+///ת
+#define THOST_FTDC_BFC_Virement 'e'
+///ռ
+#define THOST_FTDC_BFC_Risk 'f'
+///ѯ/ѯỰ˵
+#define THOST_FTDC_BFC_Session 'g'
+///֪ͨ
+#define THOST_FTDC_BFC_RiskNoticeCtl 'h'
+///֪ͨ
+#define THOST_FTDC_BFC_RiskNotice 'i'
+///쿴˾ʽȨ
+#define THOST_FTDC_BFC_BrokerDeposit 'j'
+///ʽѯ
+#define THOST_FTDC_BFC_QueryFund 'k'
+///ѯ
+#define THOST_FTDC_BFC_QueryOrder 'l'
+///ɽѯ
+#define THOST_FTDC_BFC_QueryTrade 'm'
+///ֲֲѯ
+#define THOST_FTDC_BFC_QueryPosition 'n'
+///ѯ
+#define THOST_FTDC_BFC_QueryMarketData 'o'
+///û¼ѯ
+#define THOST_FTDC_BFC_QueryUserEvent 'p'
+///֪ͨѯ
+#define THOST_FTDC_BFC_QueryRiskNotify 'q'
+///ѯ
+#define THOST_FTDC_BFC_QueryFundChange 'r'
+///ͶϢѯ
+#define THOST_FTDC_BFC_QueryInvestor 's'
+///ױѯ
+#define THOST_FTDC_BFC_QueryTradingCode 't'
+///ǿƽ
+#define THOST_FTDC_BFC_ForceClose 'u'
+///ѹ
+#define THOST_FTDC_BFC_PressTest 'v'
+///Ȩ淴
+#define THOST_FTDC_BFC_RemainCalc 'w'
+///ֱֲָ֤
+#define THOST_FTDC_BFC_NetPositionInd 'x'
+///Ԥ
+#define THOST_FTDC_BFC_RiskPredict 'y'
+///ݵ
+#define THOST_FTDC_BFC_DataExport 'z'
+///ָ
+#define THOST_FTDC_BFC_RiskTargetSetup 'A'
+///Ԥ
+#define THOST_FTDC_BFC_MarketDataWarn 'B'
+///ҵ֪ͨѯ
+#define THOST_FTDC_BFC_QryBizNotice 'C'
+///ҵ֪ͨģ
+#define THOST_FTDC_BFC_CfgBizNotice 'D'
+///̬ͬ
+#define THOST_FTDC_BFC_SyncOTP 'E'
+///ҵ֪ͨ
+#define THOST_FTDC_BFC_SendBizNotice 'F'
+///ռ
+#define THOST_FTDC_BFC_CfgRiskLevelStd 'G'
+///նӦ
+#define THOST_FTDC_BFC_TbCommand 'H'
+///ɾδ֪
+#define THOST_FTDC_BFC_DeleteOrder 'J'
+///Ԥ
+#define THOST_FTDC_BFC_ParkedOrderInsert 'K'
+///Ԥ
+#define THOST_FTDC_BFC_ParkedOrderAction 'L'
+
+typedef char TThostFtdcBrokerFunctionCodeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOrderActionStatusTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+///Ѿύ
+#define THOST_FTDC_OAS_Submitted 'a'
+///Ѿ
+#define THOST_FTDC_OAS_Accepted 'b'
+///Ѿܾ
+#define THOST_FTDC_OAS_Rejected 'c'
+
+typedef char TThostFtdcOrderActionStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOrderStatusTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+///ȫɽ
+#define THOST_FTDC_OST_AllTraded '0'
+///ֳɽڶ
+#define THOST_FTDC_OST_PartTradedQueueing '1'
+///ֳɽڶ
+#define THOST_FTDC_OST_PartTradedNotQueueing '2'
+///δɽڶ
+#define THOST_FTDC_OST_NoTradeQueueing '3'
+///δɽڶ
+#define THOST_FTDC_OST_NoTradeNotQueueing '4'
+///
+#define THOST_FTDC_OST_Canceled '5'
+///δ֪
+#define THOST_FTDC_OST_Unknown 'a'
+///δ
+#define THOST_FTDC_OST_NotTouched 'b'
+///Ѵ
+#define THOST_FTDC_OST_Touched 'c'
+
+typedef char TThostFtdcOrderStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOrderSubmitStatusTypeһύ״̬
+/////////////////////////////////////////////////////////////////////////
+///Ѿύ
+#define THOST_FTDC_OSS_InsertSubmitted '0'
+///Ѿύ
+#define THOST_FTDC_OSS_CancelSubmitted '1'
+///Ѿύ
+#define THOST_FTDC_OSS_ModifySubmitted '2'
+///Ѿ
+#define THOST_FTDC_OSS_Accepted '3'
+///Ѿܾ
+#define THOST_FTDC_OSS_InsertRejected '4'
+///Ѿܾ
+#define THOST_FTDC_OSS_CancelRejected '5'
+///ĵѾܾ
+#define THOST_FTDC_OSS_ModifyRejected '6'
+
+typedef char TThostFtdcOrderSubmitStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPositionDateTypeһֲ
+/////////////////////////////////////////////////////////////////////////
+///ճֲ
+#define THOST_FTDC_PSD_Today '1'
+///ʷֲ
+#define THOST_FTDC_PSD_History '2'
+
+typedef char TThostFtdcPositionDateType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPositionDateTypeTypeһֲ
+/////////////////////////////////////////////////////////////////////////
+///ʹʷֲ
+#define THOST_FTDC_PDT_UseHistory '1'
+///ʹʷֲ
+#define THOST_FTDC_PDT_NoUseHistory '2'
+
+typedef char TThostFtdcPositionDateTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTradingRoleTypeһɫ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_ER_Broker '1'
+///Ӫ
+#define THOST_FTDC_ER_Host '2'
+///
+#define THOST_FTDC_ER_Maker '3'
+
+typedef char TThostFtdcTradingRoleType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcProductClassTypeһƷ
+/////////////////////////////////////////////////////////////////////////
+///ڻ
+#define THOST_FTDC_PC_Futures '1'
+///ڻȨ
+#define THOST_FTDC_PC_Options '2'
+///
+#define THOST_FTDC_PC_Combination '3'
+///
+#define THOST_FTDC_PC_Spot '4'
+///ת
+#define THOST_FTDC_PC_EFP '5'
+///ֻȨ
+#define THOST_FTDC_PC_SpotOption '6'
+///Ȩ
+#define THOST_FTDC_PC_ETFOption '7'
+///֤ȯ
+#define THOST_FTDC_PC_Stock '8'
+
+typedef char TThostFtdcProductClassType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInstLifePhaseTypeһԼ״̬
+/////////////////////////////////////////////////////////////////////////
+///δ
+#define THOST_FTDC_IP_NotStart '0'
+///
+#define THOST_FTDC_IP_Started '1'
+///ͣ
+#define THOST_FTDC_IP_Pause '2'
+///
+#define THOST_FTDC_IP_Expired '3'
+
+typedef char TThostFtdcInstLifePhaseType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDirectionTypeһ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_D_Buy '0'
+///
+#define THOST_FTDC_D_Sell '1'
+
+typedef char TThostFtdcDirectionType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPositionTypeTypeһֲ
+/////////////////////////////////////////////////////////////////////////
+///ֲ
+#define THOST_FTDC_PT_Net '1'
+///ۺϳֲ
+#define THOST_FTDC_PT_Gross '2'
+
+typedef char TThostFtdcPositionTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPosiDirectionTypeһֲֶշ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_PD_Net '1'
+///ͷ
+#define THOST_FTDC_PD_Long '2'
+///ͷ
+#define THOST_FTDC_PD_Short '3'
+
+typedef char TThostFtdcPosiDirectionType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSysSettlementStatusTypeһϵͳ״̬
+/////////////////////////////////////////////////////////////////////////
+///Ծ
+#define THOST_FTDC_SS_NonActive '1'
+///
+#define THOST_FTDC_SS_Startup '2'
+///
+#define THOST_FTDC_SS_Operating '3'
+///
+#define THOST_FTDC_SS_Settlement '4'
+///
+#define THOST_FTDC_SS_SettlementFinished '5'
+
+typedef char TThostFtdcSysSettlementStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRatioAttrTypeһ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_RA_Trade '0'
+///
+#define THOST_FTDC_RA_Settlement '1'
+
+typedef char TThostFtdcRatioAttrType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcHedgeFlagTypeһͶױ־
+/////////////////////////////////////////////////////////////////////////
+///Ͷ
+#define THOST_FTDC_HF_Speculation '1'
+///
+#define THOST_FTDC_HF_Arbitrage '2'
+///ױ
+#define THOST_FTDC_HF_Hedge '3'
+///
+#define THOST_FTDC_HF_Covered '4'
+
+typedef char TThostFtdcHedgeFlagType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBillHedgeFlagTypeһͶױ־
+/////////////////////////////////////////////////////////////////////////
+///Ͷ
+#define THOST_FTDC_BHF_Speculation '1'
+///
+#define THOST_FTDC_BHF_Arbitrage '2'
+///ױ
+#define THOST_FTDC_BHF_Hedge '3'
+
+typedef char TThostFtdcBillHedgeFlagType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcClientIDTypeTypeһױ
+/////////////////////////////////////////////////////////////////////////
+///Ͷ
+#define THOST_FTDC_CIDT_Speculation '1'
+///
+#define THOST_FTDC_CIDT_Arbitrage '2'
+///ױ
+#define THOST_FTDC_CIDT_Hedge '3'
+
+typedef char TThostFtdcClientIDTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOrderPriceTypeTypeһ۸
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_OPT_AnyPrice '1'
+///
+#define THOST_FTDC_OPT_LimitPrice '2'
+///ż
+#define THOST_FTDC_OPT_BestPrice '3'
+///¼
+#define THOST_FTDC_OPT_LastPrice '4'
+///¼۸ϸ1ticks
+#define THOST_FTDC_OPT_LastPricePlusOneTicks '5'
+///¼۸ϸ2ticks
+#define THOST_FTDC_OPT_LastPricePlusTwoTicks '6'
+///¼۸ϸ3ticks
+#define THOST_FTDC_OPT_LastPricePlusThreeTicks '7'
+///һ
+#define THOST_FTDC_OPT_AskPrice1 '8'
+///һ۸ϸ1ticks
+#define THOST_FTDC_OPT_AskPrice1PlusOneTicks '9'
+///һ۸ϸ2ticks
+#define THOST_FTDC_OPT_AskPrice1PlusTwoTicks 'A'
+///һ۸ϸ3ticks
+#define THOST_FTDC_OPT_AskPrice1PlusThreeTicks 'B'
+///һ
+#define THOST_FTDC_OPT_BidPrice1 'C'
+///һ۸ϸ1ticks
+#define THOST_FTDC_OPT_BidPrice1PlusOneTicks 'D'
+///һ۸ϸ2ticks
+#define THOST_FTDC_OPT_BidPrice1PlusTwoTicks 'E'
+///һ۸ϸ3ticks
+#define THOST_FTDC_OPT_BidPrice1PlusThreeTicks 'F'
+///嵵
+#define THOST_FTDC_OPT_FiveLevelPrice 'G'
+///ż
+#define THOST_FTDC_OPT_BestPriceThisSide 'H'
+
+typedef char TThostFtdcOrderPriceTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOffsetFlagTypeһƽ־
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_OF_Open '0'
+///ƽ
+#define THOST_FTDC_OF_Close '1'
+///ǿƽ
+#define THOST_FTDC_OF_ForceClose '2'
+///ƽ
+#define THOST_FTDC_OF_CloseToday '3'
+///ƽ
+#define THOST_FTDC_OF_CloseYesterday '4'
+///ǿ
+#define THOST_FTDC_OF_ForceOff '5'
+///ǿƽ
+#define THOST_FTDC_OF_LocalForceClose '6'
+
+typedef char TThostFtdcOffsetFlagType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcForceCloseReasonTypeһǿƽԭ
+/////////////////////////////////////////////////////////////////////////
+///ǿƽ
+#define THOST_FTDC_FCC_NotForceClose '0'
+///ʽ
+#define THOST_FTDC_FCC_LackDeposit '1'
+///ͻ
+#define THOST_FTDC_FCC_ClientOverPositionLimit '2'
+///Ա
+#define THOST_FTDC_FCC_MemberOverPositionLimit '3'
+///ֲַ
+#define THOST_FTDC_FCC_NotMultiple '4'
+///Υ
+#define THOST_FTDC_FCC_Violation '5'
+///
+#define THOST_FTDC_FCC_Other '6'
+///Ȼٽ
+#define THOST_FTDC_FCC_PersonDeliv '7'
+
+typedef char TThostFtdcForceCloseReasonType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOrderTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_ORDT_Normal '0'
+///
+#define THOST_FTDC_ORDT_DeriveFromQuote '1'
+///
+#define THOST_FTDC_ORDT_DeriveFromCombination '2'
+///ϱ
+#define THOST_FTDC_ORDT_Combination '3'
+///
+#define THOST_FTDC_ORDT_ConditionalOrder '4'
+///
+#define THOST_FTDC_ORDT_Swap '5'
+
+typedef char TThostFtdcOrderTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTimeConditionTypeһЧ
+/////////////////////////////////////////////////////////////////////////
+///ɣ
+#define THOST_FTDC_TC_IOC '1'
+///Ч
+#define THOST_FTDC_TC_GFS '2'
+///Ч
+#define THOST_FTDC_TC_GFD '3'
+///ָǰЧ
+#define THOST_FTDC_TC_GTD '4'
+///ǰЧ
+#define THOST_FTDC_TC_GTC '5'
+///ϾЧ
+#define THOST_FTDC_TC_GFA '6'
+
+typedef char TThostFtdcTimeConditionType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcVolumeConditionTypeһɽ
+/////////////////////////////////////////////////////////////////////////
+///κ
+#define THOST_FTDC_VC_AV '1'
+///С
+#define THOST_FTDC_VC_MV '2'
+///ȫ
+#define THOST_FTDC_VC_CV '3'
+
+typedef char TThostFtdcVolumeConditionType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcContingentConditionTypeһ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_CC_Immediately '1'
+///ֹ
+#define THOST_FTDC_CC_Touch '2'
+///ֹӮ
+#define THOST_FTDC_CC_TouchProfit '3'
+///Ԥ
+#define THOST_FTDC_CC_ParkedOrder '4'
+///¼۴
+#define THOST_FTDC_CC_LastPriceGreaterThanStopPrice '5'
+///¼۴ڵ
+#define THOST_FTDC_CC_LastPriceGreaterEqualStopPrice '6'
+///¼С
+#define THOST_FTDC_CC_LastPriceLesserThanStopPrice '7'
+///¼Сڵ
+#define THOST_FTDC_CC_LastPriceLesserEqualStopPrice '8'
+///һ۴
+#define THOST_FTDC_CC_AskPriceGreaterThanStopPrice '9'
+///һ۴ڵ
+#define THOST_FTDC_CC_AskPriceGreaterEqualStopPrice 'A'
+///һС
+#define THOST_FTDC_CC_AskPriceLesserThanStopPrice 'B'
+///һСڵ
+#define THOST_FTDC_CC_AskPriceLesserEqualStopPrice 'C'
+///һ۴
+#define THOST_FTDC_CC_BidPriceGreaterThanStopPrice 'D'
+///һ۴ڵ
+#define THOST_FTDC_CC_BidPriceGreaterEqualStopPrice 'E'
+///һС
+#define THOST_FTDC_CC_BidPriceLesserThanStopPrice 'F'
+///һСڵ
+#define THOST_FTDC_CC_BidPriceLesserEqualStopPrice 'H'
+
+typedef char TThostFtdcContingentConditionType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcActionFlagTypeһ־
+/////////////////////////////////////////////////////////////////////////
+///ɾ
+#define THOST_FTDC_AF_Delete '0'
+///
+#define THOST_FTDC_AF_Modify '3'
+
+typedef char TThostFtdcActionFlagType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTradingRightTypeһȨ
+/////////////////////////////////////////////////////////////////////////
+///Խ
+#define THOST_FTDC_TR_Allow '0'
+///ֻƽ
+#define THOST_FTDC_TR_CloseOnly '1'
+///ܽ
+#define THOST_FTDC_TR_Forbidden '2'
+
+typedef char TThostFtdcTradingRightType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOrderSourceTypeһԴ
+/////////////////////////////////////////////////////////////////////////
+///Բ
+#define THOST_FTDC_OSRC_Participant '0'
+///ԹԱ
+#define THOST_FTDC_OSRC_Administrator '1'
+
+typedef char TThostFtdcOrderSourceType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTradeTypeTypeһɽ
+/////////////////////////////////////////////////////////////////////////
+///ϳֲֲΪһֲ,ʼӦ͵ijֲ
+#define THOST_FTDC_TRDT_SplitCombination '#'
+///ͨɽ
+#define THOST_FTDC_TRDT_Common '0'
+///Ȩִ
+#define THOST_FTDC_TRDT_OptionsExecution '1'
+///OTCɽ
+#define THOST_FTDC_TRDT_OTC '2'
+///תɽ
+#define THOST_FTDC_TRDT_EFPDerived '3'
+///ɽ
+#define THOST_FTDC_TRDT_CombinationDerived '4'
+
+typedef char TThostFtdcTradeTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPriceSourceTypeһɽԴ
+/////////////////////////////////////////////////////////////////////////
+///ǰɽ
+#define THOST_FTDC_PSRC_LastPrice '0'
+///ίм
+#define THOST_FTDC_PSRC_Buy '1'
+///ίм
+#define THOST_FTDC_PSRC_Sell '2'
+
+typedef char TThostFtdcPriceSourceType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInstrumentStatusTypeһԼ״̬
+/////////////////////////////////////////////////////////////////////////
+///ǰ
+#define THOST_FTDC_IS_BeforeTrading '0'
+///ǽ
+#define THOST_FTDC_IS_NoTrading '1'
+///
+#define THOST_FTDC_IS_Continous '2'
+///Ͼ۱
+#define THOST_FTDC_IS_AuctionOrdering '3'
+///Ͼۼ۸ƽ
+#define THOST_FTDC_IS_AuctionBalance '4'
+///Ͼ۴
+#define THOST_FTDC_IS_AuctionMatch '5'
+///
+#define THOST_FTDC_IS_Closed '6'
+
+typedef char TThostFtdcInstrumentStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInstStatusEnterReasonTypeһƷֽ뽻״̬ԭ
+/////////////////////////////////////////////////////////////////////////
+///Զл
+#define THOST_FTDC_IER_Automatic '1'
+///ֶл
+#define THOST_FTDC_IER_Manual '2'
+///۶
+#define THOST_FTDC_IER_Fuse '3'
+
+typedef char TThostFtdcInstStatusEnterReasonType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOrderActionRefTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcOrderActionRefType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInstallCountTypeһװ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcInstallCountType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInstallIDTypeһװ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcInstallIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcErrorIDTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcErrorIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSettlementIDTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcSettlementIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcVolumeTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcVolumeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFrontIDTypeһǰñ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcFrontIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSessionIDTypeһỰ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcSessionIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSequenceNoTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcSequenceNoType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCommandNoTypeһDB
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcCommandNoType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcMillisecTypeһʱ䣨룩
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcMillisecType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcVolumeMultipleTypeһԼ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcVolumeMultipleType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTradingSegmentSNTypeһα
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcTradingSegmentSNType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRequestIDTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcRequestIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcYearTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcYearType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcMonthTypeһ·
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcMonthType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBoolTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcBoolType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPriceTypeһ۸
+/////////////////////////////////////////////////////////////////////////
+typedef double TThostFtdcPriceType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCombOffsetFlagTypeһϿƽ־
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCombOffsetFlagType[5];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCombHedgeFlagTypeһͶױ־
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCombHedgeFlagType[5];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRatioTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef double TThostFtdcRatioType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcMoneyTypeһʽ
+/////////////////////////////////////////////////////////////////////////
+typedef double TThostFtdcMoneyType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcLargeVolumeTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef double TThostFtdcLargeVolumeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSequenceSeriesTypeһϵк
+/////////////////////////////////////////////////////////////////////////
+typedef short TThostFtdcSequenceSeriesType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCommPhaseNoTypeһͨѶʱα
+/////////////////////////////////////////////////////////////////////////
+typedef short TThostFtdcCommPhaseNoType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSequenceLabelTypeһб
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcSequenceLabelType[2];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUnderlyingMultipleTypeһƷ
+/////////////////////////////////////////////////////////////////////////
+typedef double TThostFtdcUnderlyingMultipleType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPriorityTypeһȼ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcPriorityType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcContractCodeTypeһͬ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcContractCodeType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCityTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCityType[51];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcIsStockTypeһǷ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcIsStockType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcChannelTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcChannelType[51];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAddressTypeһͨѶַ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAddressType[101];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcZipCodeTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcZipCodeType[7];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTelephoneTypeһϵ绰
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcTelephoneType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFaxTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFaxType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcMobileTypeһֻ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcMobileType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcEMailTypeһʼ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcEMailType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcMemoTypeһע
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcMemoType[161];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCompanyCodeTypeһҵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCompanyCodeType[51];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcWebsiteTypeһվַ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcWebsiteType[51];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTaxNoTypeһ˰ǼǺ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcTaxNoType[31];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBatchStatusTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+///δϴ
+#define THOST_FTDC_BS_NoUpload '1'
+///ϴ
+#define THOST_FTDC_BS_Uploaded '2'
+///ʧ
+#define THOST_FTDC_BS_Failed '3'
+
+typedef char TThostFtdcBatchStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPropertyIDTypeһԴ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcPropertyIDType[33];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPropertyNameTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcPropertyNameType[65];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcLicenseNoTypeһӪҵִպ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcLicenseNoType[51];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAgentIDTypeһ˴
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAgentIDType[13];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAgentNameTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAgentNameType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAgentGroupIDTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAgentGroupIDType[13];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAgentGroupNameTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAgentGroupNameType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcReturnStyleTypeһƷַʽ
+/////////////////////////////////////////////////////////////////////////
+///Ʒ
+#define THOST_FTDC_RS_All '1'
+///Ʒ
+#define THOST_FTDC_RS_ByProduct '2'
+
+typedef char TThostFtdcReturnStyleType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcReturnPatternTypeһģʽ
+/////////////////////////////////////////////////////////////////////////
+///ɽ
+#define THOST_FTDC_RP_ByVolume '1'
+///
+#define THOST_FTDC_RP_ByFeeOnHand '2'
+
+typedef char TThostFtdcReturnPatternType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcReturnLevelTypeһ
+/////////////////////////////////////////////////////////////////////////
+///1
+#define THOST_FTDC_RL_Level1 '1'
+///2
+#define THOST_FTDC_RL_Level2 '2'
+///3
+#define THOST_FTDC_RL_Level3 '3'
+///4
+#define THOST_FTDC_RL_Level4 '4'
+///5
+#define THOST_FTDC_RL_Level5 '5'
+///6
+#define THOST_FTDC_RL_Level6 '6'
+///7
+#define THOST_FTDC_RL_Level7 '7'
+///8
+#define THOST_FTDC_RL_Level8 '8'
+///9
+#define THOST_FTDC_RL_Level9 '9'
+
+typedef char TThostFtdcReturnLevelType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcReturnStandardTypeһ
+/////////////////////////////////////////////////////////////////////////
+///ֽη
+#define THOST_FTDC_RSD_ByPeriod '1'
+///ijһ
+#define THOST_FTDC_RSD_ByStandard '2'
+
+typedef char TThostFtdcReturnStandardType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcMortgageTypeTypeһѺ
+/////////////////////////////////////////////////////////////////////////
+///ʳ
+#define THOST_FTDC_MT_Out '0'
+///
+#define THOST_FTDC_MT_In '1'
+
+typedef char TThostFtdcMortgageTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInvestorSettlementParamIDTypeһͶ߽
+/////////////////////////////////////////////////////////////////////////
+///Ѻ
+#define THOST_FTDC_ISPI_MortgageRatio '4'
+///֤㷨
+#define THOST_FTDC_ISPI_MarginWay '5'
+///㵥ǷѺ
+#define THOST_FTDC_ISPI_BillDeposit '9'
+
+typedef char TThostFtdcInvestorSettlementParamIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcExchangeSettlementParamIDTypeһ
+/////////////////////////////////////////////////////////////////////////
+///Ѻ
+#define THOST_FTDC_ESPI_MortgageRatio '1'
+///ʽ
+#define THOST_FTDC_ESPI_OtherFundItem '2'
+///ʽ뽻
+#define THOST_FTDC_ESPI_OtherFundImport '3'
+///нͿý
+#define THOST_FTDC_ESPI_CFFEXMinPrepa '6'
+///֣㷽ʽ
+#define THOST_FTDC_ESPI_CZCESettlementType '7'
+///ȡʽ
+#define THOST_FTDC_ESPI_ExchDelivFeeMode '9'
+///Ͷ߽ȡʽ
+#define THOST_FTDC_ESPI_DelivFeeMode '0'
+///֣ϳֱֲ֤ȡʽ
+#define THOST_FTDC_ESPI_CZCEComMarginType 'A'
+///֤ǷŻ
+#define THOST_FTDC_ESPI_DceComMarginType 'B'
+///ֵȨ֤Żݱ
+#define THOST_FTDC_ESPI_OptOutDisCountRate 'a'
+///ͱϵ
+#define THOST_FTDC_ESPI_OptMiniGuarantee 'b'
+
+typedef char TThostFtdcExchangeSettlementParamIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSystemParamIDTypeһϵͳ
+/////////////////////////////////////////////////////////////////////////
+///ͶߴС
+#define THOST_FTDC_SPI_InvestorIDMinLength '1'
+///ͶʺŴС
+#define THOST_FTDC_SPI_AccountIDMinLength '2'
+///Ͷ߿Ĭϵ¼Ȩ
+#define THOST_FTDC_SPI_UserRightLogon '3'
+///Ͷ߽㵥ɽܷʽ
+#define THOST_FTDC_SPI_SettlementBillTrade '4'
+///ͳһ½ױ뷽ʽ
+#define THOST_FTDC_SPI_TradingCode '5'
+///Ƿжϴδ˵ijͷʽ
+#define THOST_FTDC_SPI_CheckFund '6'
+///ǷģȨ
+#define THOST_FTDC_SPI_CommModelRight '7'
+///Ƿñ֤ģȨ
+#define THOST_FTDC_SPI_MarginModelRight '9'
+///Ƿ淶ûܼ
+#define THOST_FTDC_SPI_IsStandardActive '8'
+///ϴĽļ·
+#define THOST_FTDC_SPI_UploadSettlementFile 'U'
+///ϱ֤ļ·
+#define THOST_FTDC_SPI_DownloadCSRCFile 'D'
+///ɵĽ㵥ļ·
+#define THOST_FTDC_SPI_SettlementBillFile 'S'
+///֤ļʶ
+#define THOST_FTDC_SPI_CSRCOthersFile 'C'
+///ͶƬ·
+#define THOST_FTDC_SPI_InvestorPhoto 'P'
+///ȫᾭ˾ϴļ·
+#define THOST_FTDC_SPI_CSRCData 'R'
+///¼뷽ʽ
+#define THOST_FTDC_SPI_InvestorPwdModel 'I'
+///Ͷнļ·
+#define THOST_FTDC_SPI_CFFEXInvestorSettleFile 'F'
+///Ͷߴ뷽ʽ
+#define THOST_FTDC_SPI_InvestorIDType 'a'
+///Ȩ
+#define THOST_FTDC_SPI_FreezeMaxReMain 'r'
+///زʵʱϳ
+#define THOST_FTDC_SPI_IsSync 'A'
+///Ȩ
+#define THOST_FTDC_SPI_RelieveOpenLimit 'O'
+///Ƿ淶û
+#define THOST_FTDC_SPI_IsStandardFreeze 'X'
+///֣ǷƷױ
+#define THOST_FTDC_SPI_CZCENormalProductHedge 'B'
+
+typedef char TThostFtdcSystemParamIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTradeParamIDTypeһϵͳ
+/////////////////////////////////////////////////////////////////////////
+///ϵͳ㷨
+#define THOST_FTDC_TPID_EncryptionStandard 'E'
+///ϵͳ㷨
+#define THOST_FTDC_TPID_RiskMode 'R'
+///ϵͳ㷨Ƿȫ 0- 1-
+#define THOST_FTDC_TPID_RiskModeGlobal 'G'
+///㷨
+#define THOST_FTDC_TPID_modeEncode 'P'
+///۸Сλ
+#define THOST_FTDC_TPID_tickMode 'T'
+///ûỰ
+#define THOST_FTDC_TPID_SingleUserSessionMaxNum 'S'
+///¼ʧ
+#define THOST_FTDC_TPID_LoginFailMaxNum 'L'
+///Ƿǿ֤
+#define THOST_FTDC_TPID_IsAuthForce 'A'
+///Ƿ֤ȯֲ
+#define THOST_FTDC_TPID_IsPosiFreeze 'F'
+///Ƿ
+#define THOST_FTDC_TPID_IsPosiLimit 'M'
+///֣ѯʱ
+#define THOST_FTDC_TPID_ForQuoteTimeInterval 'Q'
+
+typedef char TThostFtdcTradeParamIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSettlementParamValueTypeһֵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcSettlementParamValueType[256];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCounterIDTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCounterIDType[33];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInvestorGroupNameTypeһͶ߷
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcInvestorGroupNameType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBrandCodeTypeһƺ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBrandCodeType[257];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcWarehouseTypeһֿ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcWarehouseType[257];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcProductDateTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcProductDateType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcGradeTypeһȼ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcGradeType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcClassifyTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcClassifyType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPositionTypeһλ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcPositionType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcYieldlyTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcYieldlyType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcWeightTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcWeightType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSubEntryFundNoTypeһʽˮ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcSubEntryFundNoType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFileIDTypeһļʶ
+/////////////////////////////////////////////////////////////////////////
+///ʽ
+#define THOST_FTDC_FI_SettlementFund 'F'
+///ɽ
+#define THOST_FTDC_FI_Trade 'T'
+///Ͷֲ߳
+#define THOST_FTDC_FI_InvestorPosition 'P'
+///Ͷ߷ʽ
+#define THOST_FTDC_FI_SubEntryFund 'O'
+///ϳֲ
+#define THOST_FTDC_FI_CZCECombinationPos 'C'
+///ϱ֤
+#define THOST_FTDC_FI_CSRCData 'R'
+///֣ƽ˽
+#define THOST_FTDC_FI_CZCEClose 'L'
+///֣ƽ˽
+#define THOST_FTDC_FI_CZCENoClose 'N'
+///ֲϸ
+#define THOST_FTDC_FI_PositionDtl 'D'
+///Ȩִļ
+#define THOST_FTDC_FI_OptionStrike 'S'
+///۱ȶļ
+#define THOST_FTDC_FI_SettlementPriceComparison 'M'
+///dzֱֲ䶯ϸ
+#define THOST_FTDC_FI_NonTradePosChange 'B'
+
+typedef char TThostFtdcFileIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFileNameTypeһļ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFileNameType[257];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFileTypeTypeһļϴ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_FUT_Settlement '0'
+///˶
+#define THOST_FTDC_FUT_Check '1'
+
+typedef char TThostFtdcFileTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFileFormatTypeһļʽ
+/////////////////////////////////////////////////////////////////////////
+///ıļ(.txt)
+#define THOST_FTDC_FFT_Txt '0'
+///ѹļ(.zip)
+#define THOST_FTDC_FFT_Zip '1'
+///DBFļ(.dbf)
+#define THOST_FTDC_FFT_DBF '2'
+
+typedef char TThostFtdcFileFormatType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFileUploadStatusTypeһļ״̬
+/////////////////////////////////////////////////////////////////////////
+///ϴɹ
+#define THOST_FTDC_FUS_SucceedUpload '1'
+///ϴʧ
+#define THOST_FTDC_FUS_FailedUpload '2'
+///ɹ
+#define THOST_FTDC_FUS_SucceedLoad '3'
+///벿ֳɹ
+#define THOST_FTDC_FUS_PartSucceedLoad '4'
+///ʧ
+#define THOST_FTDC_FUS_FailedLoad '5'
+
+typedef char TThostFtdcFileUploadStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTransferDirectionTypeһƲַ
+/////////////////////////////////////////////////////////////////////////
+///Ƴ
+#define THOST_FTDC_TD_Out '0'
+///
+#define THOST_FTDC_TD_In '1'
+
+typedef char TThostFtdcTransferDirectionType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUploadModeTypeһϴļ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcUploadModeType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAccountIDTypeһͶʺ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAccountIDType[13];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankFlagTypeһͳһʶ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBankFlagType[4];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankAccountTypeһ˻
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBankAccountType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOpenNameTypeһ˻Ŀ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcOpenNameType[61];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOpenBankTypeһ˻Ŀ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcOpenBankType[101];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankNameTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBankNameType[101];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPublishPathTypeһ·
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcPublishPathType[257];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOperatorIDTypeһԱ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcOperatorIDType[65];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcMonthCountTypeһ·
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcMonthCountType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAdvanceMonthArrayTypeһ·ǰ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAdvanceMonthArrayType[13];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDateExprTypeһڱʽ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcDateExprType[1025];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInstrumentIDExprTypeһԼʽ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcInstrumentIDExprType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInstrumentNameExprTypeһԼƱʽ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcInstrumentNameExprType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSpecialCreateRuleTypeһĴ
+/////////////////////////////////////////////////////////////////////////
+///ûⴴ
+#define THOST_FTDC_SC_NoSpecialRule '0'
+///
+#define THOST_FTDC_SC_NoSpringFestival '1'
+
+typedef char TThostFtdcSpecialCreateRuleType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBasisPriceTypeTypeһƻ
+/////////////////////////////////////////////////////////////////////////
+///һԼ
+#define THOST_FTDC_IPT_LastSettlement '1'
+///һԼ̼
+#define THOST_FTDC_IPT_LaseClose '2'
+
+typedef char TThostFtdcBasisPriceTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcProductLifePhaseTypeһƷ״̬
+/////////////////////////////////////////////////////////////////////////
+///Ծ
+#define THOST_FTDC_PLP_Active '1'
+///Ծ
+#define THOST_FTDC_PLP_NonActive '2'
+///ע
+#define THOST_FTDC_PLP_Canceled '3'
+
+typedef char TThostFtdcProductLifePhaseType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDeliveryModeTypeһʽ
+/////////////////////////////////////////////////////////////////////////
+///ֽ
+#define THOST_FTDC_DM_CashDeliv '1'
+///ʵサ
+#define THOST_FTDC_DM_CommodityDeliv '2'
+
+typedef char TThostFtdcDeliveryModeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcLogLevelTypeһ־
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcLogLevelType[33];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcProcessNameTypeһ洢
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcProcessNameType[257];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOperationMemoTypeһժҪ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcOperationMemoType[1025];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFundIOTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_FIOT_FundIO '1'
+///ת
+#define THOST_FTDC_FIOT_Transfer '2'
+///ڻ
+#define THOST_FTDC_FIOT_SwapCurrency '3'
+
+typedef char TThostFtdcFundIOTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFundTypeTypeһʽ
+/////////////////////////////////////////////////////////////////////////
+///д
+#define THOST_FTDC_FT_Deposite '1'
+///ʽ
+#define THOST_FTDC_FT_ItemFund '2'
+///˾
+#define THOST_FTDC_FT_Company '3'
+///ʽת
+#define THOST_FTDC_FT_InnerTransfer '4'
+
+typedef char TThostFtdcFundTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFundDirectionTypeһ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_FD_In '1'
+///
+#define THOST_FTDC_FD_Out '2'
+
+typedef char TThostFtdcFundDirectionType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFundStatusTypeһʽ״̬
+/////////////////////////////////////////////////////////////////////////
+///¼
+#define THOST_FTDC_FS_Record '1'
+///Ѹ
+#define THOST_FTDC_FS_Check '2'
+///ѳ
+#define THOST_FTDC_FS_Charge '3'
+
+typedef char TThostFtdcFundStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBillNoTypeһƱݺ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBillNoType[15];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBillNameTypeһƱ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBillNameType[33];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPublishStatusTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+///δ
+#define THOST_FTDC_PS_None '1'
+///ڷ
+#define THOST_FTDC_PS_Publishing '2'
+///ѷ
+#define THOST_FTDC_PS_Published '3'
+
+typedef char TThostFtdcPublishStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcEnumValueIDTypeһöֵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcEnumValueIDType[65];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcEnumValueTypeTypeһöֵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcEnumValueTypeType[33];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcEnumValueLabelTypeһöֵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcEnumValueLabelType[65];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcEnumValueResultTypeһöֵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcEnumValueResultType[33];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSystemStatusTypeһϵͳ״̬
+/////////////////////////////////////////////////////////////////////////
+///Ծ
+#define THOST_FTDC_ES_NonActive '1'
+///
+#define THOST_FTDC_ES_Startup '2'
+///ʼʼ
+#define THOST_FTDC_ES_Initialize '3'
+///ɳʼ
+#define THOST_FTDC_ES_Initialized '4'
+///пʼ
+#define THOST_FTDC_ES_Close '5'
+///
+#define THOST_FTDC_ES_Closed '6'
+///
+#define THOST_FTDC_ES_Settlement '7'
+
+typedef char TThostFtdcSystemStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSettlementStatusTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+///ʼ
+#define THOST_FTDC_STS_Initialize '0'
+///
+#define THOST_FTDC_STS_Settlementing '1'
+///ѽ
+#define THOST_FTDC_STS_Settlemented '2'
+///
+#define THOST_FTDC_STS_Finished '3'
+
+typedef char TThostFtdcSettlementStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRangeIntTypeTypeһֵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcRangeIntTypeType[33];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRangeIntFromTypeһֵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcRangeIntFromType[33];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRangeIntToTypeһֵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcRangeIntToType[33];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFunctionIDTypeһܴ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFunctionIDType[25];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFunctionValueCodeTypeһܱ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFunctionValueCodeType[257];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFunctionNameTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFunctionNameType[65];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRoleIDTypeһɫ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcRoleIDType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRoleNameTypeһɫ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcRoleNameType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDescriptionTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcDescriptionType[401];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCombineIDTypeһϱ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCombineIDType[25];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCombineTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCombineTypeType[25];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInvestorTypeTypeһͶ
+/////////////////////////////////////////////////////////////////////////
+///Ȼ
+#define THOST_FTDC_CT_Person '0'
+///
+#define THOST_FTDC_CT_Company '1'
+///Ͷʻ
+#define THOST_FTDC_CT_Fund '2'
+///ⷨ
+#define THOST_FTDC_CT_SpecialOrgan '3'
+///ʹܻ
+#define THOST_FTDC_CT_Asset '4'
+
+typedef char TThostFtdcInvestorTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBrokerTypeTypeһ˾
+/////////////////////////////////////////////////////////////////////////
+///Ա
+#define THOST_FTDC_BT_Trade '0'
+///Ա
+#define THOST_FTDC_BT_TradeSettle '1'
+
+typedef char TThostFtdcBrokerTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRiskLevelTypeһյȼ
+/////////////////////////////////////////////////////////////////////////
+///ͷտͻ
+#define THOST_FTDC_FAS_Low '1'
+///ͨͻ
+#define THOST_FTDC_FAS_Normal '2'
+///עͻ
+#define THOST_FTDC_FAS_Focus '3'
+///տͻ
+#define THOST_FTDC_FAS_Risk '4'
+
+typedef char TThostFtdcRiskLevelType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFeeAcceptStyleTypeһȡʽ
+/////////////////////////////////////////////////////////////////////////
+///ȡ
+#define THOST_FTDC_FAS_ByTrade '1'
+///ȡ
+#define THOST_FTDC_FAS_ByDeliv '2'
+///
+#define THOST_FTDC_FAS_None '3'
+///ָȡ
+#define THOST_FTDC_FAS_FixFee '4'
+
+typedef char TThostFtdcFeeAcceptStyleType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPasswordTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_PWDT_Trade '1'
+///ʽ
+#define THOST_FTDC_PWDT_Account '2'
+
+typedef char TThostFtdcPasswordTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAlgorithmTypeһӯ㷨
+/////////////////////////////////////////////////////////////////////////
+///ӯ
+#define THOST_FTDC_AG_All '1'
+///ӯƣ
+#define THOST_FTDC_AG_OnlyLost '2'
+///ӯƣ
+#define THOST_FTDC_AG_OnlyGain '3'
+///ӯ
+#define THOST_FTDC_AG_None '4'
+
+typedef char TThostFtdcAlgorithmType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcIncludeCloseProfitTypeһǷƽӯ
+/////////////////////////////////////////////////////////////////////////
+///ƽӯ
+#define THOST_FTDC_ICP_Include '0'
+///ƽӯ
+#define THOST_FTDC_ICP_NotInclude '2'
+
+typedef char TThostFtdcIncludeCloseProfitType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAllWithoutTradeTypeһǷܿ
+/////////////////////////////////////////////////////////////////////////
+///ɽܿ
+#define THOST_FTDC_AWT_Enable '0'
+///ܿ
+#define THOST_FTDC_AWT_Disable '2'
+///ֲܿ
+#define THOST_FTDC_AWT_NoHoldEnable '3'
+
+typedef char TThostFtdcAllWithoutTradeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCommentTypeһӯ㷨˵
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCommentType[31];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcVersionTypeһ汾
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcVersionType[4];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTradeCodeTypeһ״
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcTradeCodeType[7];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTradeDateTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcTradeDateType[9];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTradeTimeTypeһʱ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcTradeTimeType[9];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTradeSerialTypeһˮ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcTradeSerialType[9];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTradeSerialNoTypeһˮ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcTradeSerialNoType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFutureIDTypeһڻ˾
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFutureIDType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankIDTypeһд
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBankIDType[4];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankBrchIDTypeһзĴ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBankBrchIDType[5];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankBranchIDTypeһĴ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBankBranchIDType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOperNoTypeһԱ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcOperNoType[17];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDeviceIDTypeһ־
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcDeviceIDType[3];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRecordNumTypeһ¼
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcRecordNumType[7];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFutureAccountTypeһڻʽ˺
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFutureAccountType[22];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFuturePwdFlagTypeһʽ˶Ա־
+/////////////////////////////////////////////////////////////////////////
+///˶
+#define THOST_FTDC_FPWD_UnCheck '0'
+///˶
+#define THOST_FTDC_FPWD_Check '1'
+
+typedef char TThostFtdcFuturePwdFlagType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTransferTypeTypeһת
+/////////////////////////////////////////////////////////////////////////
+///תڻ
+#define THOST_FTDC_TT_BankToFuture '0'
+///ڻת
+#define THOST_FTDC_TT_FutureToBank '1'
+
+typedef char TThostFtdcTransferTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFutureAccPwdTypeһڻʽ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFutureAccPwdType[17];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCurrencyCodeTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCurrencyCodeType[4];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRetCodeTypeһӦ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcRetCodeType[5];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRetInfoTypeһӦϢ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcRetInfoType[129];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTradeAmtTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcTradeAmtType[20];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUseAmtTypeһп
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcUseAmtType[20];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFetchAmtTypeһпȡ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFetchAmtType[20];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTransferValidFlagTypeһתЧ־
+/////////////////////////////////////////////////////////////////////////
+///Чʧ
+#define THOST_FTDC_TVF_Invalid '0'
+///Ч
+#define THOST_FTDC_TVF_Valid '1'
+///
+#define THOST_FTDC_TVF_Reverse '2'
+
+typedef char TThostFtdcTransferValidFlagType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCertCodeTypeһ֤
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCertCodeType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcReasonTypeһ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_RN_CD '0'
+///ʽ;
+#define THOST_FTDC_RN_ZT '1'
+///
+#define THOST_FTDC_RN_QT '2'
+
+typedef char TThostFtdcReasonType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFundProjectIDTypeһʽĿ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFundProjectIDType[5];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSexTypeһԱ
+/////////////////////////////////////////////////////////////////////////
+///δ֪
+#define THOST_FTDC_SEX_None '0'
+///
+#define THOST_FTDC_SEX_Man '1'
+///Ů
+#define THOST_FTDC_SEX_Woman '2'
+
+typedef char TThostFtdcSexType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcProfessionTypeһְҵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcProfessionType[101];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcNationalTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcNationalType[31];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcProvinceTypeһʡ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcProvinceType[51];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRegionTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcRegionType[16];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCountryTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCountryType[16];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcLicenseNOTypeһӪҵִ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcLicenseNOType[33];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCompanyTypeTypeһҵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCompanyTypeType[16];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBusinessScopeTypeһӪΧ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBusinessScopeType[1001];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCapitalCurrencyTypeһעʱ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCapitalCurrencyType[4];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUserTypeTypeһû
+/////////////////////////////////////////////////////////////////////////
+///Ͷ
+#define THOST_FTDC_UT_Investor '0'
+///Ա
+#define THOST_FTDC_UT_Operator '1'
+///Ա
+#define THOST_FTDC_UT_SuperUser '2'
+
+typedef char TThostFtdcUserTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBranchIDTypeһӪҵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBranchIDType[9];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRateTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+///֤
+#define THOST_FTDC_RATETYPE_MarginRate '2'
+
+typedef char TThostFtdcRateTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcNoteTypeTypeһ֪ͨ
+/////////////////////////////////////////////////////////////////////////
+///㵥
+#define THOST_FTDC_NOTETYPE_TradeSettleBill '1'
+///±
+#define THOST_FTDC_NOTETYPE_TradeSettleMonth '2'
+///ӱ֤֪ͨ
+#define THOST_FTDC_NOTETYPE_CallMarginNotes '3'
+///ǿƽ֪ͨ
+#define THOST_FTDC_NOTETYPE_ForceCloseNotes '4'
+///ɽ֪ͨ
+#define THOST_FTDC_NOTETYPE_TradeNotes '5'
+///֪ͨ
+#define THOST_FTDC_NOTETYPE_DelivNotes '6'
+
+typedef char TThostFtdcNoteTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSettlementStyleTypeһ㵥ʽ
+/////////////////////////////////////////////////////////////////////////
+///ն
+#define THOST_FTDC_SBS_Day '1'
+///ʶԳ
+#define THOST_FTDC_SBS_Volume '2'
+
+typedef char TThostFtdcSettlementStyleType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBrokerDNSTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBrokerDNSType[256];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSentenceTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcSentenceType[501];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSettlementBillTypeTypeһ㵥
+/////////////////////////////////////////////////////////////////////////
+///ձ
+#define THOST_FTDC_ST_Day '0'
+///±
+#define THOST_FTDC_ST_Month '1'
+
+typedef char TThostFtdcSettlementBillTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUserRightTypeTypeһͻȨ
+/////////////////////////////////////////////////////////////////////////
+///¼
+#define THOST_FTDC_URT_Logon '1'
+///ת
+#define THOST_FTDC_URT_Transfer '2'
+///ʼĽ㵥
+#define THOST_FTDC_URT_EMail '3'
+///㵥
+#define THOST_FTDC_URT_Fax '4'
+///
+#define THOST_FTDC_URT_ConditionOrder '5'
+
+typedef char TThostFtdcUserRightTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcMarginPriceTypeTypeһ֤۸
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_MPT_PreSettlementPrice '1'
+///¼
+#define THOST_FTDC_MPT_SettlementPrice '2'
+///ɽ
+#define THOST_FTDC_MPT_AveragePrice '3'
+///ּ
+#define THOST_FTDC_MPT_OpenPrice '4'
+
+typedef char TThostFtdcMarginPriceTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBillGenStatusTypeһ㵥״̬
+/////////////////////////////////////////////////////////////////////////
+///δ
+#define THOST_FTDC_BGS_None '0'
+///
+#define THOST_FTDC_BGS_NoGenerated '1'
+///
+#define THOST_FTDC_BGS_Generated '2'
+
+typedef char TThostFtdcBillGenStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAlgoTypeTypeһ㷨
+/////////////////////////////////////////////////////////////////////////
+///ֲִ㷨
+#define THOST_FTDC_AT_HandlePositionAlgo '1'
+///Ѱұ֤㷨
+#define THOST_FTDC_AT_FindMarginRateAlgo '2'
+
+typedef char TThostFtdcAlgoTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcHandlePositionAlgoIDTypeһֲִ㷨
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_HPA_Base '1'
+///Ʒ
+#define THOST_FTDC_HPA_DCE '2'
+///֣Ʒ
+#define THOST_FTDC_HPA_CZCE '3'
+
+typedef char TThostFtdcHandlePositionAlgoIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFindMarginRateAlgoIDTypeһѰұ֤㷨
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_FMRA_Base '1'
+///Ʒ
+#define THOST_FTDC_FMRA_DCE '2'
+///֣Ʒ
+#define THOST_FTDC_FMRA_CZCE '3'
+
+typedef char TThostFtdcFindMarginRateAlgoIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcHandleTradingAccountAlgoIDTypeһʽ㷨
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_HTAA_Base '1'
+///Ʒ
+#define THOST_FTDC_HTAA_DCE '2'
+///֣Ʒ
+#define THOST_FTDC_HTAA_CZCE '3'
+
+typedef char TThostFtdcHandleTradingAccountAlgoIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPersonTypeTypeһϵ
+/////////////////////////////////////////////////////////////////////////
+///ָµ
+#define THOST_FTDC_PST_Order '1'
+///Ȩ
+#define THOST_FTDC_PST_Open '2'
+///ʽ
+#define THOST_FTDC_PST_Fund '3'
+///㵥ȷ
+#define THOST_FTDC_PST_Settlement '4'
+///
+#define THOST_FTDC_PST_Company '5'
+///˴
+#define THOST_FTDC_PST_Corporation '6'
+///Ͷϵ
+#define THOST_FTDC_PST_LinkMan '7'
+///ֻʲ
+#define THOST_FTDC_PST_Ledger '8'
+///У
+#define THOST_FTDC_PST_Trustee '9'
+///Уܻ˴
+#define THOST_FTDC_PST_TrusteeCorporation 'A'
+///УܻȨ
+#define THOST_FTDC_PST_TrusteeOpen 'B'
+///Уܻϵ
+#define THOST_FTDC_PST_TrusteeContact 'C'
+///Ȼ˲ο֤
+#define THOST_FTDC_PST_ForeignerRefer 'D'
+///˴ο֤
+#define THOST_FTDC_PST_CorporationRefer 'E'
+
+typedef char TThostFtdcPersonTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcQueryInvestorRangeTypeһѯΧ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_QIR_All '1'
+///ѯ
+#define THOST_FTDC_QIR_Group '2'
+///һͶ
+#define THOST_FTDC_QIR_Single '3'
+
+typedef char TThostFtdcQueryInvestorRangeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInvestorRiskStatusTypeһͶ߷״̬
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_IRS_Normal '1'
+///
+#define THOST_FTDC_IRS_Warn '2'
+///
+#define THOST_FTDC_IRS_Call '3'
+///ǿƽ
+#define THOST_FTDC_IRS_Force '4'
+///쳣
+#define THOST_FTDC_IRS_Exception '5'
+
+typedef char TThostFtdcInvestorRiskStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcLegIDTypeһȱ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcLegIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcLegMultipleTypeһȳ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcLegMultipleType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcImplyLevelTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcImplyLevelType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcClearAccountTypeһ˻
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcClearAccountType[33];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOrganNOTypeһ˻
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcOrganNOType[6];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcClearbarchIDTypeһ˻к
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcClearbarchIDType[6];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUserEventTypeTypeһû¼
+/////////////////////////////////////////////////////////////////////////
+///¼
+#define THOST_FTDC_UET_Login '1'
+///dz
+#define THOST_FTDC_UET_Logout '2'
+///׳ɹ
+#define THOST_FTDC_UET_Trading '3'
+///ʧ
+#define THOST_FTDC_UET_TradingError '4'
+///
+#define THOST_FTDC_UET_UpdatePassword '5'
+///ͻ֤
+#define THOST_FTDC_UET_Authenticate '6'
+///
+#define THOST_FTDC_UET_Other '9'
+
+typedef char TThostFtdcUserEventTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUserEventInfoTypeһû¼Ϣ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcUserEventInfoType[1025];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCloseStyleTypeһƽַʽ
+/////////////////////////////////////////////////////////////////////////
+///ȿƽ
+#define THOST_FTDC_ICS_Close '0'
+///ƽƽ
+#define THOST_FTDC_ICS_CloseToday '1'
+
+typedef char TThostFtdcCloseStyleType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcStatModeTypeһͳƷʽ
+/////////////////////////////////////////////////////////////////////////
+///----
+#define THOST_FTDC_SM_Non '0'
+///Լͳ
+#define THOST_FTDC_SM_Instrument '1'
+///Ʒͳ
+#define THOST_FTDC_SM_Product '2'
+///Ͷͳ
+#define THOST_FTDC_SM_Investor '3'
+
+typedef char TThostFtdcStatModeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcParkedOrderStatusTypeһԤ״̬
+/////////////////////////////////////////////////////////////////////////
+///δ
+#define THOST_FTDC_PAOS_NotSend '1'
+///ѷ
+#define THOST_FTDC_PAOS_Send '2'
+///ɾ
+#define THOST_FTDC_PAOS_Deleted '3'
+
+typedef char TThostFtdcParkedOrderStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcParkedOrderIDTypeһԤ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcParkedOrderIDType[13];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcParkedOrderActionIDTypeһԤ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcParkedOrderActionIDType[13];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcVirDealStatusTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+///ڴ
+#define THOST_FTDC_VDS_Dealing '1'
+///ɹ
+#define THOST_FTDC_VDS_DeaclSucceed '2'
+
+typedef char TThostFtdcVirDealStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOrgSystemIDTypeһԭϵͳ
+/////////////////////////////////////////////////////////////////////////
+///ۺϽƽ̨
+#define THOST_FTDC_ORGS_Standard '0'
+///ʢϵͳ
+#define THOST_FTDC_ORGS_ESunny '1'
+///˴V6ϵͳ
+#define THOST_FTDC_ORGS_KingStarV6 '2'
+
+typedef char TThostFtdcOrgSystemIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcVirTradeStatusTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_VTS_NaturalDeal '0'
+///ɹ
+#define THOST_FTDC_VTS_SucceedEnd '1'
+///ʧܽ
+#define THOST_FTDC_VTS_FailedEND '2'
+///쳣
+#define THOST_FTDC_VTS_Exception '3'
+///˹쳣
+#define THOST_FTDC_VTS_ManualDeal '4'
+///ͨѶ쳣 ˹
+#define THOST_FTDC_VTS_MesException '5'
+///ϵͳ˹
+#define THOST_FTDC_VTS_SysException '6'
+
+typedef char TThostFtdcVirTradeStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcVirBankAccTypeTypeһʻ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_VBAT_BankBook '1'
+///
+#define THOST_FTDC_VBAT_BankCard '2'
+///ÿ
+#define THOST_FTDC_VBAT_CreditCard '3'
+
+typedef char TThostFtdcVirBankAccTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcVirementStatusTypeһʻ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_VMS_Natural '0'
+///
+#define THOST_FTDC_VMS_Canceled '9'
+
+typedef char TThostFtdcVirementStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcVirementAvailAbilityTypeһЧ־
+/////////////////////////////////////////////////////////////////////////
+///δȷ
+#define THOST_FTDC_VAA_NoAvailAbility '0'
+///Ч
+#define THOST_FTDC_VAA_AvailAbility '1'
+///
+#define THOST_FTDC_VAA_Repeal '2'
+
+typedef char TThostFtdcVirementAvailAbilityType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcVirementTradeCodeTypeһ״
+/////////////////////////////////////////////////////////////////////////
+///зʽתڻ
+#define THOST_FTDC_VTC_BankBankToFuture '102001'
+///зڻʽת
+#define THOST_FTDC_VTC_BankFutureToBank '102002'
+///ڻʽתڻ
+#define THOST_FTDC_VTC_FutureBankToFuture '202001'
+///ڻڻʽת
+#define THOST_FTDC_VTC_FutureFutureToBank '202002'
+
+typedef char TThostFtdcVirementTradeCodeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPhotoTypeNameTypeһӰ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcPhotoTypeNameType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPhotoTypeIDTypeһӰʹ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcPhotoTypeIDType[5];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPhotoNameTypeһӰ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcPhotoNameType[161];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTopicIDTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcTopicIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcReportTypeIDTypeһױͱʶ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcReportTypeIDType[3];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCharacterIDTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCharacterIDType[5];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLParamIDTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLParamIDType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLInvestorTypeTypeһͶ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLInvestorTypeType[3];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLIdCardTypeTypeһ֤
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLIdCardTypeType[3];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLTradeDirectTypeһʽ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLTradeDirectType[3];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLTradeModelTypeһʽʽ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLTradeModelType[3];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLParamIDTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLParamIDType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLOpParamValueTypeһҵֵ
+/////////////////////////////////////////////////////////////////////////
+typedef double TThostFtdcAMLOpParamValueType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLCustomerCardTypeTypeһͻ֤/֤ļ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLCustomerCardTypeType[81];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLInstitutionNameTypeһڻ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLInstitutionNameType[65];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLDistrictIDTypeһڻڵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLDistrictIDType[7];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLRelationShipTypeһڻĹϵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLRelationShipType[3];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLInstitutionTypeTypeһڻ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLInstitutionTypeType[3];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLInstitutionIDTypeһڻ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLInstitutionIDType[13];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLAccountTypeTypeһ˻
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLAccountTypeType[5];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLTradingTypeTypeһʽ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLTradingTypeType[7];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLTransactClassTypeһ֧
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLTransactClassType[7];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLCapitalIOTypeһʽոʶ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLCapitalIOType[3];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLSiteTypeһص
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLSiteType[10];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLCapitalPurposeTypeһʽ;
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLCapitalPurposeType[129];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLReportTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLReportTypeType[2];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLSerialNoTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLSerialNoType[5];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLStatusTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLStatusType[2];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLGenStatusTypeһAmlɷʽ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_GEN_Program '0'
+///˹
+#define THOST_FTDC_GEN_HandWork '1'
+
+typedef char TThostFtdcAMLGenStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLSeqCodeTypeһҵʶ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLSeqCodeType[65];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLFileNameTypeһAMLļ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLFileNameType[257];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLMoneyTypeһϴǮʽ
+/////////////////////////////////////////////////////////////////////////
+typedef double TThostFtdcAMLMoneyType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLFileAmountTypeһϴǮʽ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcAMLFileAmountType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCFMMCKeyTypeһԿ(֤)
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCFMMCKeyType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCFMMCTokenTypeһ(֤)
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCFMMCTokenType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCFMMCKeyKindTypeһ̬Կ(֤)
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_CFMMCKK_REQUEST 'R'
+///CFMMCԶ
+#define THOST_FTDC_CFMMCKK_AUTO 'A'
+///CFMMCֶ
+#define THOST_FTDC_CFMMCKK_MANUAL 'M'
+
+typedef char TThostFtdcCFMMCKeyKindType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLReportNameTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAMLReportNameType[81];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDBFComdTypeTypeһDBF
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcDBFComdTypeType[65];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDBFComTimeTypeһDBFʱ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcDBFComTimeType[65];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDBFComNoTypeһDBFˮ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcDBFComNoType[17];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDBFFdNameTypeһDBFֶ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcDBFFdNameType[256];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDBFFdContentTypeһDBFֶ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcDBFFdContentType[256];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcIndividualNameTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcIndividualNameType[51];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCurrencyIDTypeһִ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCurrencyIDType[4];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCustNumberTypeһͻ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCustNumberType[36];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOrganCodeTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcOrganCodeType[36];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOrganNameTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcOrganNameType[71];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSuperOrganCodeTypeһϼ,ڻ˾ܲ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcSuperOrganCodeType[12];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSubBranchIDTypeһ֧
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcSubBranchIDType[31];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSubBranchNameTypeһ֧
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcSubBranchNameType[71];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBranchNetCodeTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBranchNetCodeType[31];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBranchNetNameTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBranchNetNameType[71];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOrganFlagTypeһʶ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcOrganFlagType[2];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankCodingForFutureTypeһжڻ˾ı
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBankCodingForFutureType[33];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankReturnCodeTypeһжԷĶ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBankReturnCodeType[7];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPlateReturnCodeTypeһתƽ̨ԷĶ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcPlateReturnCodeType[5];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankSubBranchIDTypeһз֧
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBankSubBranchIDType[31];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFutureBranchIDTypeһڻ֧
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFutureBranchIDType[31];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcReturnCodeTypeһش
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcReturnCodeType[7];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOperatorCodeTypeһԱ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcOperatorCodeType[17];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcClearDepIDTypeһʻ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcClearDepIDType[6];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcClearBrchIDTypeһʻк
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcClearBrchIDType[6];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcClearNameTypeһʻ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcClearNameType[71];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankAccountNameTypeһʻ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBankAccountNameType[71];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInvDepIDTypeһͶ˺Ż
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcInvDepIDType[6];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInvBrchIDTypeһͶк
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcInvBrchIDType[6];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcMessageFormatVersionTypeһϢʽ汾
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcMessageFormatVersionType[36];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDigestTypeһժҪ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcDigestType[36];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAuthenticDataTypeһ֤
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAuthenticDataType[129];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPasswordKeyTypeһԿ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcPasswordKeyType[129];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFutureAccountNameTypeһڻʻ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFutureAccountNameType[129];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcMobilePhoneTypeһֻ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcMobilePhoneType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFutureMainKeyTypeһڻ˾Կ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFutureMainKeyType[129];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFutureWorkKeyTypeһڻ˾Կ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFutureWorkKeyType[129];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFutureTransKeyTypeһڻ˾Կ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFutureTransKeyType[129];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankMainKeyTypeһԿ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBankMainKeyType[129];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankWorkKeyTypeһйԿ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBankWorkKeyType[129];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankTransKeyTypeһдԿ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBankTransKeyType[129];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankServerDescriptionTypeһзϢ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBankServerDescriptionType[129];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAddInfoTypeһϢ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAddInfoType[129];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDescrInfoForReturnCodeTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcDescrInfoForReturnCodeType[129];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCountryCodeTypeһҴ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCountryCodeType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSerialTypeһˮ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcSerialType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPlateSerialTypeһƽ̨ˮ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcPlateSerialType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankSerialTypeһˮ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBankSerialType[13];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCorrectSerialTypeһˮ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcCorrectSerialType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFutureSerialTypeһڻ˾ˮ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcFutureSerialType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcApplicationIDTypeһӦñʶ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcApplicationIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankProxyIDTypeһдʶ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcBankProxyIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBTCoreIDTypeһתʺϵͳʶ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcFBTCoreIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcServerPortTypeһ˿ں
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcServerPortType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRepealedTimesTypeһѾ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcRepealedTimesType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRepealTimeIntervalTypeһʱ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcRepealTimeIntervalType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTotalTimesTypeһÿۼתʴ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcTotalTimesType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBTRequestIDTypeһID
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcFBTRequestIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTIDTypeһID
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcTIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTradeAmountTypeһԪ
+/////////////////////////////////////////////////////////////////////////
+typedef double TThostFtdcTradeAmountType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCustFeeTypeһӦտͻãԪ
+/////////////////////////////////////////////////////////////////////////
+typedef double TThostFtdcCustFeeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFutureFeeTypeһӦڻ˾ãԪ
+/////////////////////////////////////////////////////////////////////////
+typedef double TThostFtdcFutureFeeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSingleMaxAmtTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef double TThostFtdcSingleMaxAmtType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSingleMinAmtTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef double TThostFtdcSingleMinAmtType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTotalAmtTypeһÿۼתʶ
+/////////////////////////////////////////////////////////////////////////
+typedef double TThostFtdcTotalAmtType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCertificationTypeTypeһ֤
+/////////////////////////////////////////////////////////////////////////
+///֤
+#define THOST_FTDC_CFT_IDCard '0'
+///
+#define THOST_FTDC_CFT_Passport '1'
+///֤
+#define THOST_FTDC_CFT_OfficerIDCard '2'
+///ʿ֤
+#define THOST_FTDC_CFT_SoldierIDCard '3'
+///֤
+#define THOST_FTDC_CFT_HomeComingCard '4'
+///ڲ
+#define THOST_FTDC_CFT_HouseholdRegister '5'
+///Ӫҵִպ
+#define THOST_FTDC_CFT_LicenseNo '6'
+///֤֯
+#define THOST_FTDC_CFT_InstitutionCodeCard '7'
+///ʱӪҵִպ
+#define THOST_FTDC_CFT_TempLicenseNo '8'
+///ҵǼ֤
+#define THOST_FTDC_CFT_NoEnterpriseLicenseNo '9'
+///֤
+#define THOST_FTDC_CFT_OtherCard 'x'
+///ܲ
+#define THOST_FTDC_CFT_SuperDepAgree 'a'
+
+typedef char TThostFtdcCertificationTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFileBusinessCodeTypeһļҵ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_FBC_Others '0'
+///ת˽ϸ
+#define THOST_FTDC_FBC_TransferDetails '1'
+///ͻ˻״̬
+#define THOST_FTDC_FBC_CustAccStatus '2'
+///˻ཻϸ
+#define THOST_FTDC_FBC_AccountTradeDetails '3'
+///ڻ˻Ϣϸ
+#define THOST_FTDC_FBC_FutureAccountChangeInfoDetails '4'
+///ͻʽ̨ϸ
+#define THOST_FTDC_FBC_CustMoneyDetail '5'
+///ͻϢϸ
+#define THOST_FTDC_FBC_CustCancelAccountInfo '6'
+///ͻʽ˽
+#define THOST_FTDC_FBC_CustMoneyResult '7'
+///쳣ļ
+#define THOST_FTDC_FBC_OthersExceptionResult '8'
+///ͻϢϸ
+#define THOST_FTDC_FBC_CustInterestNetMoneyDetails '9'
+///ͻʽϸ
+#define THOST_FTDC_FBC_CustMoneySendAndReceiveDetails 'a'
+///˴ʽջ
+#define THOST_FTDC_FBC_CorporationMoneyTotal 'b'
+///ʽջ
+#define THOST_FTDC_FBC_MainbodyMoneyTotal 'c'
+///ܷƽ
+#define THOST_FTDC_FBC_MainPartMonitorData 'd'
+///б
+#define THOST_FTDC_FBC_PreparationMoney 'e'
+///Эʽ
+#define THOST_FTDC_FBC_BankMoneyMonitorData 'f'
+
+typedef char TThostFtdcFileBusinessCodeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCashExchangeCodeTypeһ㳮־
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_CEC_Exchange '1'
+///
+#define THOST_FTDC_CEC_Cash '2'
+
+typedef char TThostFtdcCashExchangeCodeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcYesNoIndicatorTypeһǻʶ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_YNI_Yes '0'
+///
+#define THOST_FTDC_YNI_No '1'
+
+typedef char TThostFtdcYesNoIndicatorType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBanlanceTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+///ǰ
+#define THOST_FTDC_BLT_CurrentMoney '0'
+///
+#define THOST_FTDC_BLT_UsableMoney '1'
+///ȡ
+#define THOST_FTDC_BLT_FetchableMoney '2'
+///
+#define THOST_FTDC_BLT_FreezeMoney '3'
+
+typedef char TThostFtdcBanlanceTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcGenderTypeһԱ
+/////////////////////////////////////////////////////////////////////////
+///δ֪״̬
+#define THOST_FTDC_GD_Unknown '0'
+///
+#define THOST_FTDC_GD_Male '1'
+///Ů
+#define THOST_FTDC_GD_Female '2'
+
+typedef char TThostFtdcGenderType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFeePayFlagTypeһ֧־
+/////////////////////////////////////////////////////////////////////////
+///淽֧
+#define THOST_FTDC_FPF_BEN '0'
+///ɷͷ֧
+#define THOST_FTDC_FPF_OUR '1'
+///ɷͷ֧ķã淽֧ܵķ
+#define THOST_FTDC_FPF_SHA '2'
+
+typedef char TThostFtdcFeePayFlagType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPassWordKeyTypeTypeһԿ
+/////////////////////////////////////////////////////////////////////////
+///Կ
+#define THOST_FTDC_PWKT_ExchangeKey '0'
+///Կ
+#define THOST_FTDC_PWKT_PassWordKey '1'
+///MACԿ
+#define THOST_FTDC_PWKT_MACKey '2'
+///Կ
+#define THOST_FTDC_PWKT_MessageKey '3'
+
+typedef char TThostFtdcPassWordKeyTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBTPassWordTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+///ѯ
+#define THOST_FTDC_PWT_Query '0'
+///ȡ
+#define THOST_FTDC_PWT_Fetch '1'
+///ת
+#define THOST_FTDC_PWT_Transfer '2'
+///
+#define THOST_FTDC_PWT_Trade '3'
+
+typedef char TThostFtdcFBTPassWordTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBTEncryModeTypeһܷʽ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_EM_NoEncry '0'
+///DES
+#define THOST_FTDC_EM_DES '1'
+///3DES
+#define THOST_FTDC_EM_3DES '2'
+
+typedef char TThostFtdcFBTEncryModeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankRepealFlagTypeһг־
+/////////////////////////////////////////////////////////////////////////
+///Զ
+#define THOST_FTDC_BRF_BankNotNeedRepeal '0'
+///дԶ
+#define THOST_FTDC_BRF_BankWaitingRepeal '1'
+///Զ
+#define THOST_FTDC_BRF_BankBeenRepealed '2'
+
+typedef char TThostFtdcBankRepealFlagType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBrokerRepealFlagTypeһ̳־
+/////////////////////////////////////////////////////////////////////////
+///Զ
+#define THOST_FTDC_BRORF_BrokerNotNeedRepeal '0'
+///̴Զ
+#define THOST_FTDC_BRORF_BrokerWaitingRepeal '1'
+///Զ
+#define THOST_FTDC_BRORF_BrokerBeenRepealed '2'
+
+typedef char TThostFtdcBrokerRepealFlagType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInstitutionTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_TS_Bank '0'
+///
+#define THOST_FTDC_TS_Future '1'
+///ȯ
+#define THOST_FTDC_TS_Store '2'
+
+typedef char TThostFtdcInstitutionTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcLastFragmentTypeһƬ־
+/////////////////////////////////////////////////////////////////////////
+///Ƭ
+#define THOST_FTDC_LF_Yes '0'
+///Ƭ
+#define THOST_FTDC_LF_No '1'
+
+typedef char TThostFtdcLastFragmentType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankAccStatusTypeһ˻״̬
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_BAS_Normal '0'
+///
+#define THOST_FTDC_BAS_Freeze '1'
+///ʧ
+#define THOST_FTDC_BAS_ReportLoss '2'
+
+typedef char TThostFtdcBankAccStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcMoneyAccountStatusTypeһʽ˻״̬
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_MAS_Normal '0'
+///
+#define THOST_FTDC_MAS_Cancel '1'
+
+typedef char TThostFtdcMoneyAccountStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcManageStatusTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+///ָ
+#define THOST_FTDC_MSS_Point '0'
+///Ԥָ
+#define THOST_FTDC_MSS_PrePoint '1'
+///ָ
+#define THOST_FTDC_MSS_CancelPoint '2'
+
+typedef char TThostFtdcManageStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSystemTypeTypeһӦϵͳ
+/////////////////////////////////////////////////////////////////////////
+///ת
+#define THOST_FTDC_SYT_FutureBankTransfer '0'
+///֤ת
+#define THOST_FTDC_SYT_StockBankTransfer '1'
+///
+#define THOST_FTDC_SYT_TheThirdPartStore '2'
+
+typedef char TThostFtdcSystemTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTxnEndFlagTypeһתʻת־
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_TEF_NormalProcessing '0'
+///ɹ
+#define THOST_FTDC_TEF_Success '1'
+///ʧܽ
+#define THOST_FTDC_TEF_Failed '2'
+///쳣
+#define THOST_FTDC_TEF_Abnormal '3'
+///˹쳣
+#define THOST_FTDC_TEF_ManualProcessedForException '4'
+///ͨѶ쳣 ˹
+#define THOST_FTDC_TEF_CommuFailedNeedManualProcess '5'
+///ϵͳ˹
+#define THOST_FTDC_TEF_SysErrorNeedManualProcess '6'
+
+typedef char TThostFtdcTxnEndFlagType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcProcessStatusTypeһתʷ״̬
+/////////////////////////////////////////////////////////////////////////
+///δ
+#define THOST_FTDC_PSS_NotProcess '0'
+///ʼ
+#define THOST_FTDC_PSS_StartProcess '1'
+///
+#define THOST_FTDC_PSS_Finished '2'
+
+typedef char TThostFtdcProcessStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCustTypeTypeһͻ
+/////////////////////////////////////////////////////////////////////////
+///Ȼ
+#define THOST_FTDC_CUSTT_Person '0'
+///
+#define THOST_FTDC_CUSTT_Institution '1'
+
+typedef char TThostFtdcCustTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBTTransferDirectionTypeһתʷ
+/////////////////////////////////////////////////////////////////////////
+///תڻ
+#define THOST_FTDC_FBTTD_FromBankToFuture '1'
+///ڻת
+#define THOST_FTDC_FBTTD_FromFutureToBank '2'
+
+typedef char TThostFtdcFBTTransferDirectionType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOpenOrDestroyTypeһ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_OOD_Open '1'
+///
+#define THOST_FTDC_OOD_Destroy '0'
+
+typedef char TThostFtdcOpenOrDestroyType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAvailabilityFlagTypeһЧ־
+/////////////////////////////////////////////////////////////////////////
+///δȷ
+#define THOST_FTDC_AVAF_Invalid '0'
+///Ч
+#define THOST_FTDC_AVAF_Valid '1'
+///
+#define THOST_FTDC_AVAF_Repeal '2'
+
+typedef char TThostFtdcAvailabilityFlagType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOrganTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+///д
+#define THOST_FTDC_OT_Bank '1'
+///ǰ
+#define THOST_FTDC_OT_Future '2'
+///תƽ̨
+#define THOST_FTDC_OT_PlateForm '9'
+
+typedef char TThostFtdcOrganTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOrganLevelTypeһ
+/////////////////////////////////////////////////////////////////////////
+///лܲ
+#define THOST_FTDC_OL_HeadQuarters '1'
+///зĻڻ˾Ӫҵ
+#define THOST_FTDC_OL_Branch '2'
+
+typedef char TThostFtdcOrganLevelType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcProtocalIDTypeһЭ
+/////////////////////////////////////////////////////////////////////////
+///Э
+#define THOST_FTDC_PID_FutureProtocal '0'
+///Э
+#define THOST_FTDC_PID_ICBCProtocal '1'
+///ũЭ
+#define THOST_FTDC_PID_ABCProtocal '2'
+///йЭ
+#define THOST_FTDC_PID_CBCProtocal '3'
+///Э
+#define THOST_FTDC_PID_CCBProtocal '4'
+///Э
+#define THOST_FTDC_PID_BOCOMProtocal '5'
+///תƽ̨Э
+#define THOST_FTDC_PID_FBTPlateFormProtocal 'X'
+
+typedef char TThostFtdcProtocalIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcConnectModeTypeһӷʽ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_CM_ShortConnect '0'
+///
+#define THOST_FTDC_CM_LongConnect '1'
+
+typedef char TThostFtdcConnectModeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSyncModeTypeһͨŷʽ
+/////////////////////////////////////////////////////////////////////////
+///첽
+#define THOST_FTDC_SRM_ASync '0'
+///ͬ
+#define THOST_FTDC_SRM_Sync '1'
+
+typedef char TThostFtdcSyncModeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankAccTypeTypeһʺ
+/////////////////////////////////////////////////////////////////////////
+///д
+#define THOST_FTDC_BAT_BankBook '1'
+///
+#define THOST_FTDC_BAT_SavingCard '2'
+///ÿ
+#define THOST_FTDC_BAT_CreditCard '3'
+
+typedef char TThostFtdcBankAccTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFutureAccTypeTypeһڻ˾ʺ
+/////////////////////////////////////////////////////////////////////////
+///д
+#define THOST_FTDC_FAT_BankBook '1'
+///
+#define THOST_FTDC_FAT_SavingCard '2'
+///ÿ
+#define THOST_FTDC_FAT_CreditCard '3'
+
+typedef char TThostFtdcFutureAccTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOrganStatusTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_OS_Ready '0'
+///ǩ
+#define THOST_FTDC_OS_CheckIn '1'
+///ǩ
+#define THOST_FTDC_OS_CheckOut '2'
+///ļ
+#define THOST_FTDC_OS_CheckFileArrived '3'
+///
+#define THOST_FTDC_OS_CheckDetail '4'
+///
+#define THOST_FTDC_OS_DayEndClean '5'
+///ע
+#define THOST_FTDC_OS_Invalid '9'
+
+typedef char TThostFtdcOrganStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCCBFeeModeTypeһշģʽ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_CCBFM_ByAmount '1'
+///¿
+#define THOST_FTDC_CCBFM_ByMonth '2'
+
+typedef char TThostFtdcCCBFeeModeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCommApiTypeTypeһͨѶAPI
+/////////////////////////////////////////////////////////////////////////
+///ͻ
+#define THOST_FTDC_CAPIT_Client '1'
+///
+#define THOST_FTDC_CAPIT_Server '2'
+///ϵͳUserApi
+#define THOST_FTDC_CAPIT_UserApi '3'
+
+typedef char TThostFtdcCommApiTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcServiceIDTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcServiceIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcServiceLineNoTypeһ·
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcServiceLineNoType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcServiceNameTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcServiceNameType[61];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcLinkStatusTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+///Ѿ
+#define THOST_FTDC_LS_Connected '1'
+///û
+#define THOST_FTDC_LS_Disconnected '2'
+
+typedef char TThostFtdcLinkStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCommApiPointerTypeһͨѶAPIָ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcCommApiPointerType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPwdFlagTypeһ˶Ա־
+/////////////////////////////////////////////////////////////////////////
+///˶
+#define THOST_FTDC_BPWDF_NoCheck '0'
+///ĺ˶
+#define THOST_FTDC_BPWDF_BlankCheck '1'
+///ĺ˶
+#define THOST_FTDC_BPWDF_EncryptCheck '2'
+
+typedef char TThostFtdcPwdFlagType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSecuAccTypeTypeһڻʺ
+/////////////////////////////////////////////////////////////////////////
+///ʽʺ
+#define THOST_FTDC_SAT_AccountID '1'
+///ʽ
+#define THOST_FTDC_SAT_CardID '2'
+///Ϻɶʺ
+#define THOST_FTDC_SAT_SHStockholderID '3'
+///ڹɶʺ
+#define THOST_FTDC_SAT_SZStockholderID '4'
+
+typedef char TThostFtdcSecuAccTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTransferStatusTypeһת˽״̬
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_TRFS_Normal '0'
+///
+#define THOST_FTDC_TRFS_Repealed '1'
+
+typedef char TThostFtdcTransferStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSponsorTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_SPTYPE_Broker '0'
+///
+#define THOST_FTDC_SPTYPE_Bank '1'
+
+typedef char TThostFtdcSponsorTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcReqRspTypeTypeһӦ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_REQRSP_Request '0'
+///Ӧ
+#define THOST_FTDC_REQRSP_Response '1'
+
+typedef char TThostFtdcReqRspTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBTUserEventTypeTypeһתû¼
+/////////////////////////////////////////////////////////////////////////
+///ǩ
+#define THOST_FTDC_FBTUET_SignIn '0'
+///תڻ
+#define THOST_FTDC_FBTUET_FromBankToFuture '1'
+///ڻת
+#define THOST_FTDC_FBTUET_FromFutureToBank '2'
+///
+#define THOST_FTDC_FBTUET_OpenAccount '3'
+///
+#define THOST_FTDC_FBTUET_CancelAccount '4'
+///˻
+#define THOST_FTDC_FBTUET_ChangeAccount '5'
+///תڻ
+#define THOST_FTDC_FBTUET_RepealFromBankToFuture '6'
+///ڻת
+#define THOST_FTDC_FBTUET_RepealFromFutureToBank '7'
+///ѯ˻
+#define THOST_FTDC_FBTUET_QueryBankAccount '8'
+///ѯڻ˻
+#define THOST_FTDC_FBTUET_QueryFutureAccount '9'
+///ǩ
+#define THOST_FTDC_FBTUET_SignOut 'A'
+///Կͬ
+#define THOST_FTDC_FBTUET_SyncKey 'B'
+///
+#define THOST_FTDC_FBTUET_Other 'Z'
+
+typedef char TThostFtdcFBTUserEventTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankIDByBankTypeһԼı
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBankIDByBankType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankOperNoTypeһвԱ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBankOperNoType[4];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankCustNoTypeһпͻ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBankCustNoType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDBOPSeqNoTypeһк
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcDBOPSeqNoType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTableNameTypeһFBT
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcTableNameType[61];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPKNameTypeһFBT
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcPKNameType[201];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPKValueTypeһFBTֵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcPKValueType[501];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDBOperationTypeһ¼
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_DBOP_Insert '0'
+///
+#define THOST_FTDC_DBOP_Update '1'
+///ɾ
+#define THOST_FTDC_DBOP_Delete '2'
+
+typedef char TThostFtdcDBOperationType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSyncFlagTypeһͬ
+/////////////////////////////////////////////////////////////////////////
+///ͬ
+#define THOST_FTDC_SYNF_Yes '0'
+///δͬ
+#define THOST_FTDC_SYNF_No '1'
+
+typedef char TThostFtdcSyncFlagType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTargetIDTypeһͬĿ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcTargetIDType[4];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSyncTypeTypeһͬ
+/////////////////////////////////////////////////////////////////////////
+///һͬ
+#define THOST_FTDC_SYNT_OneOffSync '0'
+///ʱͬ
+#define THOST_FTDC_SYNT_TimerSync '1'
+///ʱȫͬ
+#define THOST_FTDC_SYNT_TimerFullSync '2'
+
+typedef char TThostFtdcSyncTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBETimeTypeһֻʱ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFBETimeType[7];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBEBankNoTypeһк
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFBEBankNoType[13];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBECertNoTypeһƾ֤
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFBECertNoType[13];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcExDirectionTypeһ㷽
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_FBEDIR_Settlement '0'
+///ۻ
+#define THOST_FTDC_FBEDIR_Sale '1'
+
+typedef char TThostFtdcExDirectionType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBEBankAccountTypeһ˻
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFBEBankAccountType[33];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBEBankAccountNameTypeһ˻
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFBEBankAccountNameType[61];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBEAmtTypeһֻ
+/////////////////////////////////////////////////////////////////////////
+typedef double TThostFtdcFBEAmtType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBEBusinessTypeTypeһҵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFBEBusinessTypeType[3];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBEPostScriptTypeһ㸽
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFBEPostScriptType[61];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBERemarkTypeһ㱸ע
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFBERemarkType[71];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcExRateTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef double TThostFtdcExRateType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBEResultFlagTypeһɹ־
+/////////////////////////////////////////////////////////////////////////
+///ɹ
+#define THOST_FTDC_FBERES_Success '0'
+///˻
+#define THOST_FTDC_FBERES_InsufficientBalance '1'
+///δ֪
+#define THOST_FTDC_FBERES_UnknownTrading '8'
+///ʧ
+#define THOST_FTDC_FBERES_Fail 'x'
+
+typedef char TThostFtdcFBEResultFlagType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBERtnMsgTypeһ㷵Ϣ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFBERtnMsgType[61];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBEExtendMsgTypeһչϢ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFBEExtendMsgType[61];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBEBusinessSerialTypeһˮ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFBEBusinessSerialType[31];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBESystemSerialTypeһˮ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFBESystemSerialType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBETotalExCntTypeһ㽻ܱ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcFBETotalExCntType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBEExchStatusTypeһ㽻״̬
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_FBEES_Normal '0'
+///ط
+#define THOST_FTDC_FBEES_ReExchange '1'
+
+typedef char TThostFtdcFBEExchStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBEFileFlagTypeһļ־
+/////////////////////////////////////////////////////////////////////////
+///ݰ
+#define THOST_FTDC_FBEFG_DataPackage '0'
+///ļ
+#define THOST_FTDC_FBEFG_File '1'
+
+typedef char TThostFtdcFBEFileFlagType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBEAlreadyTradeTypeһѽױ־
+/////////////////////////////////////////////////////////////////////////
+///δ
+#define THOST_FTDC_FBEAT_NotTrade '0'
+///ѽ
+#define THOST_FTDC_FBEAT_Trade '1'
+
+typedef char TThostFtdcFBEAlreadyTradeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBEOpenBankTypeһ˻
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFBEOpenBankType[61];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBEUserEventTypeTypeһڻû¼
+/////////////////////////////////////////////////////////////////////////
+///ǩ
+#define THOST_FTDC_FBEUET_SignIn '0'
+///
+#define THOST_FTDC_FBEUET_Exchange '1'
+///ط
+#define THOST_FTDC_FBEUET_ReExchange '2'
+///˻ѯ
+#define THOST_FTDC_FBEUET_QueryBankAccount '3'
+///ϸѯ
+#define THOST_FTDC_FBEUET_QueryExchDetial '4'
+///ܲѯ
+#define THOST_FTDC_FBEUET_QueryExchSummary '5'
+///ʲѯ
+#define THOST_FTDC_FBEUET_QueryExchRate '6'
+///ļ֪ͨ
+#define THOST_FTDC_FBEUET_CheckBankAccount '7'
+///ǩ
+#define THOST_FTDC_FBEUET_SignOut '8'
+///
+#define THOST_FTDC_FBEUET_Other 'Z'
+
+typedef char TThostFtdcFBEUserEventTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBEFileNameTypeһļ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFBEFileNameType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBEBatchSerialTypeһκ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFBEBatchSerialType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBEReqFlagTypeһ㷢ͱ־
+/////////////////////////////////////////////////////////////////////////
+///δ
+#define THOST_FTDC_FBERF_UnProcessed '0'
+///ȴ
+#define THOST_FTDC_FBERF_WaitSend '1'
+///ͳɹ
+#define THOST_FTDC_FBERF_SendSuccess '2'
+///ʧ
+#define THOST_FTDC_FBERF_SendFailed '3'
+///ȴط
+#define THOST_FTDC_FBERF_WaitReSend '4'
+
+typedef char TThostFtdcFBEReqFlagType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcNotifyClassTypeһ֪ͨ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_NC_NOERROR '0'
+///ʾ
+#define THOST_FTDC_NC_Warn '1'
+///
+#define THOST_FTDC_NC_Call '2'
+///ǿƽ
+#define THOST_FTDC_NC_Force '3'
+///
+#define THOST_FTDC_NC_CHUANCANG '4'
+///쳣
+#define THOST_FTDC_NC_Exception '5'
+
+typedef char TThostFtdcNotifyClassType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRiskNofityInfoTypeһͻ֪ͨϢ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcRiskNofityInfoType[257];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcForceCloseSceneIdTypeһǿƽ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcForceCloseSceneIdType[24];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcForceCloseTypeTypeһǿƽ
+/////////////////////////////////////////////////////////////////////////
+///ֹǿƽ
+#define THOST_FTDC_FCT_Manual '0'
+///һͶ߸ǿƽ
+#define THOST_FTDC_FCT_Single '1'
+///Ͷ߸ǿƽ
+#define THOST_FTDC_FCT_Group '2'
+
+typedef char TThostFtdcForceCloseTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInstrumentIDsTypeһƷ,+ָ,cu+zn
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcInstrumentIDsType[101];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRiskNotifyMethodTypeһ֪ͨ;
+/////////////////////////////////////////////////////////////////////////
+///ϵͳ֪ͨ
+#define THOST_FTDC_RNM_System '0'
+///֪ͨ
+#define THOST_FTDC_RNM_SMS '1'
+///ʼ֪ͨ
+#define THOST_FTDC_RNM_EMail '2'
+///˹֪ͨ
+#define THOST_FTDC_RNM_Manual '3'
+
+typedef char TThostFtdcRiskNotifyMethodType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRiskNotifyStatusTypeһ֪ͨ״̬
+/////////////////////////////////////////////////////////////////////////
+///δ
+#define THOST_FTDC_RNS_NotGen '0'
+///δ
+#define THOST_FTDC_RNS_Generated '1'
+///ʧ
+#define THOST_FTDC_RNS_SendError '2'
+///ѷδ
+#define THOST_FTDC_RNS_SendOk '3'
+///ѽδȷ
+#define THOST_FTDC_RNS_Received '4'
+///ȷ
+#define THOST_FTDC_RNS_Confirmed '5'
+
+typedef char TThostFtdcRiskNotifyStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRiskUserEventTypeһû¼
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_RUE_ExportData '0'
+
+typedef char TThostFtdcRiskUserEventType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcParamIDTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcParamIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcParamNameTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcParamNameType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcParamValueTypeһֵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcParamValueType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcConditionalOrderSortTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+///ʹ¼
+#define THOST_FTDC_COST_LastPriceAsc '0'
+///ʹ¼۽
+#define THOST_FTDC_COST_LastPriceDesc '1'
+///ʹ
+#define THOST_FTDC_COST_AskPriceAsc '2'
+///ʹ۽
+#define THOST_FTDC_COST_AskPriceDesc '3'
+///ʹ
+#define THOST_FTDC_COST_BidPriceAsc '4'
+///ʹ۽
+#define THOST_FTDC_COST_BidPriceDesc '5'
+
+typedef char TThostFtdcConditionalOrderSortTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSendTypeTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+///δ
+#define THOST_FTDC_UOAST_NoSend '0'
+///ѷ
+#define THOST_FTDC_UOAST_Sended '1'
+///
+#define THOST_FTDC_UOAST_Generated '2'
+///ʧ
+#define THOST_FTDC_UOAST_SendFail '3'
+///ճɹ
+#define THOST_FTDC_UOAST_Success '4'
+///ʧ
+#define THOST_FTDC_UOAST_Fail '5'
+///ȡ
+#define THOST_FTDC_UOAST_Cancel '6'
+
+typedef char TThostFtdcSendTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcClientIDStatusTypeһױ״̬
+/////////////////////////////////////////////////////////////////////////
+///δ
+#define THOST_FTDC_UOACS_NoApply '1'
+///ύ
+#define THOST_FTDC_UOACS_Submited '2'
+///ѷ
+#define THOST_FTDC_UOACS_Sended '3'
+///
+#define THOST_FTDC_UOACS_Success '4'
+///ܾ
+#define THOST_FTDC_UOACS_Refuse '5'
+///ѳ
+#define THOST_FTDC_UOACS_Cancel '6'
+
+typedef char TThostFtdcClientIDStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcIndustryIDTypeһҵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcIndustryIDType[17];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcQuestionIDTypeһϢ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcQuestionIDType[5];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcQuestionContentTypeһϢ˵
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcQuestionContentType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOptionIDTypeһѡ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcOptionIDType[13];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOptionContentTypeһѡ˵
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcOptionContentType[61];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcQuestionTypeTypeһϢ
+/////////////////////////////////////////////////////////////////////////
+///ѡ
+#define THOST_FTDC_QT_Radio '1'
+///ѡ
+#define THOST_FTDC_QT_Option '2'
+///
+#define THOST_FTDC_QT_Blank '3'
+
+typedef char TThostFtdcQuestionTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcProcessIDTypeһҵˮ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcProcessIDType[33];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSeqNoTypeһˮ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcSeqNoType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUOAProcessStatusTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcUOAProcessStatusType[3];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcProcessTypeTypeһ̹
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcProcessTypeType[3];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBusinessTypeTypeһҵ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_BT_Request '1'
+///Ӧ
+#define THOST_FTDC_BT_Response '2'
+///֪ͨ
+#define THOST_FTDC_BT_Notice '3'
+
+typedef char TThostFtdcBusinessTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCfmmcReturnCodeTypeһķ
+/////////////////////////////////////////////////////////////////////////
+///ɹ
+#define THOST_FTDC_CRC_Success '0'
+///ÿͻѾڴ
+#define THOST_FTDC_CRC_Working '1'
+///пͻϼʧ
+#define THOST_FTDC_CRC_InfoFail '2'
+///ʵƼʧ
+#define THOST_FTDC_CRC_IDCardFail '3'
+///
+#define THOST_FTDC_CRC_OtherFail '4'
+
+typedef char TThostFtdcCfmmcReturnCodeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcExReturnCodeTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcExReturnCodeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcClientTypeTypeһͻ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_CfMMCCT_All '0'
+///
+#define THOST_FTDC_CfMMCCT_Person '1'
+///λ
+#define THOST_FTDC_CfMMCCT_Company '2'
+///
+#define THOST_FTDC_CfMMCCT_Other '3'
+///ⷨ
+#define THOST_FTDC_CfMMCCT_SpecialOrgan '4'
+///ʹܻ
+#define THOST_FTDC_CfMMCCT_Asset '5'
+
+typedef char TThostFtdcClientTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcExchangeIDTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+///Ϻڻ
+#define THOST_FTDC_EIDT_SHFE 'S'
+///֣Ʒ
+#define THOST_FTDC_EIDT_CZCE 'Z'
+///Ʒ
+#define THOST_FTDC_EIDT_DCE 'D'
+///йڻ
+#define THOST_FTDC_EIDT_CFFEX 'J'
+///ϺԴĹɷ˾
+#define THOST_FTDC_EIDT_INE 'N'
+///Ϻ֤ȯ
+#define THOST_FTDC_EIDT_SSE 'A'
+///֤ȯ
+#define THOST_FTDC_EIDT_SZSE 'E'
+
+typedef char TThostFtdcExchangeIDTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcExClientIDTypeTypeһױ
+/////////////////////////////////////////////////////////////////////////
+///ױ
+#define THOST_FTDC_ECIDT_Hedge '1'
+///
+#define THOST_FTDC_ECIDT_Arbitrage '2'
+///Ͷ
+#define THOST_FTDC_ECIDT_Speculation '3'
+
+typedef char TThostFtdcExClientIDTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcClientClassifyTypeһͻ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcClientClassifyType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUOAOrganTypeTypeһλ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcUOAOrganTypeType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUOACountryCodeTypeһҴ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcUOACountryCodeType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAreaCodeTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAreaCodeType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFuturesIDTypeһΪͻĴ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFuturesIDType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCffmcDateTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCffmcDateType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCffmcTimeTypeһʱ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCffmcTimeType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcNocIDTypeһ֯
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcNocIDType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUpdateFlagTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+///δ
+#define THOST_FTDC_UF_NoUpdate '0'
+///ȫϢɹ
+#define THOST_FTDC_UF_Success '1'
+///ȫϢʧ
+#define THOST_FTDC_UF_Fail '2'
+///½ױɹ
+#define THOST_FTDC_UF_TCSuccess '3'
+///½ױʧ
+#define THOST_FTDC_UF_TCFail '4'
+///Ѷ
+#define THOST_FTDC_UF_Cancel '5'
+
+typedef char TThostFtdcUpdateFlagType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcApplyOperateIDTypeһ붯
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_AOID_OpenInvestor '1'
+///Ϣ
+#define THOST_FTDC_AOID_ModifyIDCard '2'
+///һϢ
+#define THOST_FTDC_AOID_ModifyNoIDCard '3'
+///뽻ױ
+#define THOST_FTDC_AOID_ApplyTradingCode '4'
+///ױ
+#define THOST_FTDC_AOID_CancelTradingCode '5'
+///
+#define THOST_FTDC_AOID_CancelInvestor '6'
+///˻
+#define THOST_FTDC_AOID_FreezeAccount '8'
+///˻
+#define THOST_FTDC_AOID_ActiveFreezeAccount '9'
+
+typedef char TThostFtdcApplyOperateIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcApplyStatusIDTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+///δȫ
+#define THOST_FTDC_ASID_NoComplete '1'
+///ύ
+#define THOST_FTDC_ASID_Submited '2'
+///
+#define THOST_FTDC_ASID_Checked '3'
+///Ѿܾ
+#define THOST_FTDC_ASID_Refused '4'
+///ɾ
+#define THOST_FTDC_ASID_Deleted '5'
+
+typedef char TThostFtdcApplyStatusIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSendMethodTypeһͷʽ
+/////////////////////////////////////////////////////////////////////////
+///ļ
+#define THOST_FTDC_UOASM_ByAPI '1'
+///ӷ
+#define THOST_FTDC_UOASM_ByFile '2'
+
+typedef char TThostFtdcSendMethodType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcEventTypeTypeһҵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcEventTypeType[33];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcEventModeTypeһ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_EvM_ADD '1'
+///
+#define THOST_FTDC_EvM_UPDATE '2'
+///ɾ
+#define THOST_FTDC_EvM_DELETE '3'
+///
+#define THOST_FTDC_EvM_CHECK '4'
+///
+#define THOST_FTDC_EvM_COPY '5'
+///ע
+#define THOST_FTDC_EvM_CANCEL '6'
+///
+#define THOST_FTDC_EvM_Reverse '7'
+
+typedef char TThostFtdcEventModeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUOAAutoSendTypeһͳһԶ
+/////////////////////////////////////////////////////////////////////////
+///ԶͲ
+#define THOST_FTDC_UOAA_ASR '1'
+///ԶͣԶ
+#define THOST_FTDC_UOAA_ASNR '2'
+///ԶͣԶ
+#define THOST_FTDC_UOAA_NSAR '3'
+///ԶͣҲԶ
+#define THOST_FTDC_UOAA_NSR '4'
+
+typedef char TThostFtdcUOAAutoSendType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcQueryDepthTypeһѯ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcQueryDepthType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDataCenterIDTypeһĴ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcDataCenterIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFlowIDTypeһID
+/////////////////////////////////////////////////////////////////////////
+///Ͷ߶ӦͶ
+#define THOST_FTDC_EvM_InvestorGroupFlow '1'
+///Ͷ
+#define THOST_FTDC_EvM_InvestorRate '2'
+///Ͷģϵ
+#define THOST_FTDC_EvM_InvestorCommRateModel '3'
+
+typedef char TThostFtdcFlowIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCheckLevelTypeһ˼
+/////////////////////////////////////////////////////////////////////////
+///㼶
+#define THOST_FTDC_CL_Zero '0'
+///һ
+#define THOST_FTDC_CL_One '1'
+///
+#define THOST_FTDC_CL_Two '2'
+
+typedef char TThostFtdcCheckLevelType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCheckNoTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcCheckNoType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCheckStatusTypeһ˼
+/////////////////////////////////////////////////////////////////////////
+///δ
+#define THOST_FTDC_CHS_Init '0'
+///
+#define THOST_FTDC_CHS_Checking '1'
+///Ѹ
+#define THOST_FTDC_CHS_Checked '2'
+///ܾ
+#define THOST_FTDC_CHS_Refuse '3'
+///
+#define THOST_FTDC_CHS_Cancel '4'
+
+typedef char TThostFtdcCheckStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUsedStatusTypeһЧ״̬
+/////////////////////////////////////////////////////////////////////////
+///δЧ
+#define THOST_FTDC_CHU_Unused '0'
+///Ч
+#define THOST_FTDC_CHU_Used '1'
+///Чʧ
+#define THOST_FTDC_CHU_Fail '2'
+
+typedef char TThostFtdcUsedStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRateTemplateNameTypeһģ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcRateTemplateNameType[61];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPropertyStringTypeһڲѯͶֶ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcPropertyStringType[2049];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankAcountOriginTypeһ˻Դ
+/////////////////////////////////////////////////////////////////////////
+///ֹ¼
+#define THOST_FTDC_BAO_ByAccProperty '0'
+///ת
+#define THOST_FTDC_BAO_ByFBTransfer '1'
+
+typedef char TThostFtdcBankAcountOriginType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcMonthBillTradeSumTypeһ㵥±ɽܷʽ
+/////////////////////////////////////////////////////////////////////////
+///ͬͬԼ
+#define THOST_FTDC_MBTS_ByInstrument '0'
+///ͬͬԼͬ۸
+#define THOST_FTDC_MBTS_ByDayInsPrc '1'
+///ͬԼ
+#define THOST_FTDC_MBTS_ByDayIns '2'
+
+typedef char TThostFtdcMonthBillTradeSumType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFBTTradeCodeEnumTypeһڽ״ö
+/////////////////////////////////////////////////////////////////////////
+///зתڻ
+#define THOST_FTDC_FTC_BankLaunchBankToBroker '102001'
+///ڻתڻ
+#define THOST_FTDC_FTC_BrokerLaunchBankToBroker '202001'
+///зڻת
+#define THOST_FTDC_FTC_BankLaunchBrokerToBank '102002'
+///ڻڻת
+#define THOST_FTDC_FTC_BrokerLaunchBrokerToBank '202002'
+
+typedef char TThostFtdcFBTTradeCodeEnumType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRateTemplateIDTypeһģʹ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcRateTemplateIDType[9];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRiskRateTypeһն
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcRiskRateType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTimestampTypeһʱ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcTimestampType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInvestorIDRuleNameTypeһŶι
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcInvestorIDRuleNameType[61];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInvestorIDRuleExprTypeһŶιʽ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcInvestorIDRuleExprType[513];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcLastDriftTypeһϴOTPƯֵ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcLastDriftType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcLastSuccessTypeһϴOTPɹֵ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcLastSuccessType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAuthKeyTypeһԿ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAuthKeyType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSerialNumberTypeһк
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcSerialNumberType[17];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOTPTypeTypeһ̬
+/////////////////////////////////////////////////////////////////////////
+///̬
+#define THOST_FTDC_OTP_NONE '0'
+///ʱ
+#define THOST_FTDC_OTP_TOTP '1'
+
+typedef char TThostFtdcOTPTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOTPVendorsIDTypeһ̬ṩ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcOTPVendorsIDType[2];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOTPVendorsNameTypeһ̬ṩ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcOTPVendorsNameType[61];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOTPStatusTypeһ̬״̬
+/////////////////////////////////////////////////////////////////////////
+///δʹ
+#define THOST_FTDC_OTPS_Unused '0'
+///ʹ
+#define THOST_FTDC_OTPS_Used '1'
+///ע
+#define THOST_FTDC_OTPS_Disuse '2'
+
+typedef char TThostFtdcOTPStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBrokerUserTypeTypeһù˾û
+/////////////////////////////////////////////////////////////////////////
+///Ͷ
+#define THOST_FTDC_BUT_Investor '1'
+///Ա
+#define THOST_FTDC_BUT_BrokerUser '2'
+
+typedef char TThostFtdcBrokerUserTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFutureTypeTypeһڻ
+/////////////////////////////////////////////////////////////////////////
+///Ʒڻ
+#define THOST_FTDC_FUTT_Commodity '1'
+///ڻ
+#define THOST_FTDC_FUTT_Financial '2'
+
+typedef char TThostFtdcFutureTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFundEventTypeTypeһʽ
+/////////////////////////////////////////////////////////////////////////
+///ת
+#define THOST_FTDC_FET_Restriction '0'
+///ת
+#define THOST_FTDC_FET_TodayRestriction '1'
+///ˮ
+#define THOST_FTDC_FET_Transfer '2'
+///ʽ
+#define THOST_FTDC_FET_Credit '3'
+///Ͷ߿ʽ
+#define THOST_FTDC_FET_InvestorWithdrawAlm '4'
+///ʻת
+#define THOST_FTDC_FET_BankRestriction '5'
+///ǩԼ˻
+#define THOST_FTDC_FET_Accountregister '6'
+///
+#define THOST_FTDC_FET_ExchangeFundIO '7'
+///Ͷ߳
+#define THOST_FTDC_FET_InvestorFundIO '8'
+
+typedef char TThostFtdcFundEventTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAccountSourceTypeTypeһʽ˻Դ
+/////////////////////////////////////////////////////////////////////////
+///ͬ
+#define THOST_FTDC_AST_FBTransfer '0'
+///ֹ¼
+#define THOST_FTDC_AST_ManualEntry '1'
+
+typedef char TThostFtdcAccountSourceTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCodeSourceTypeTypeһױԴ
+/////////////////////////////////////////////////////////////////////////
+///ͳһ(ѹ淶)
+#define THOST_FTDC_CST_UnifyAccount '0'
+///ֹ¼(δ淶)
+#define THOST_FTDC_CST_ManualEntry '1'
+
+typedef char TThostFtdcCodeSourceTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUserRangeTypeһԱΧ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_UR_All '0'
+///һԱ
+#define THOST_FTDC_UR_Single '1'
+
+typedef char TThostFtdcUserRangeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTimeSpanTypeһʱ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcTimeSpanType[9];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcImportSequenceIDTypeһ̬Ƶα
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcImportSequenceIDType[17];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcByGroupTypeһͳƱͻͳƷʽ
+/////////////////////////////////////////////////////////////////////////
+///Ͷͳ
+#define THOST_FTDC_BG_Investor '2'
+///ͳ
+#define THOST_FTDC_BG_Group '1'
+
+typedef char TThostFtdcByGroupType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTradeSumStatModeTypeһͳƱΧͳƷʽ
+/////////////////////////////////////////////////////////////////////////
+///Լͳ
+#define THOST_FTDC_TSSM_Instrument '1'
+///Ʒͳ
+#define THOST_FTDC_TSSM_Product '2'
+///ͳ
+#define THOST_FTDC_TSSM_Exchange '3'
+
+typedef char TThostFtdcTradeSumStatModeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcComTypeTypeһϳɽ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcComTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUserProductIDTypeһƷʶ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcUserProductIDType[33];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUserProductNameTypeһƷ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcUserProductNameType[65];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUserProductMemoTypeһƷ˵
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcUserProductMemoType[129];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCCancelFlagTypeһ־
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCCancelFlagType[2];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCDateTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCDateType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCInvestorNameTypeһͻ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCInvestorNameType[201];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCOpenInvestorNameTypeһͻ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCOpenInvestorNameType[101];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCInvestorIDTypeһͻ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCInvestorIDType[13];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCIdentifiedCardNoTypeһ֤
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCIdentifiedCardNoType[51];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCClientIDTypeһױ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCClientIDType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCBankFlagTypeһбʶ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCBankFlagType[3];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCBankAccountTypeһ˻
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCBankAccountType[23];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCOpenNameTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCOpenNameType[401];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCMemoTypeһ˵
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCMemoType[101];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCTimeTypeһʱ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCTimeType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCTradeIDTypeһɽˮ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCTradeIDType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCExchangeInstIDTypeһԼ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCExchangeInstIDType[31];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCMortgageNameTypeһѺƷ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCMortgageNameType[7];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCReasonTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCReasonType[3];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcIsSettlementTypeһǷΪǽԱ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcIsSettlementType[2];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCMoneyTypeһʽ
+/////////////////////////////////////////////////////////////////////////
+typedef double TThostFtdcCSRCMoneyType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCPriceTypeһ۸
+/////////////////////////////////////////////////////////////////////////
+typedef double TThostFtdcCSRCPriceType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCOptionsTypeTypeһȨ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCOptionsTypeType[2];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCStrikePriceTypeһִм
+/////////////////////////////////////////////////////////////////////////
+typedef double TThostFtdcCSRCStrikePriceType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCTargetProductIDTypeһƷ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCTargetProductIDType[3];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCTargetInstrIDTypeһĺԼ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCTargetInstrIDType[31];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCommModelNameTypeһģ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCommModelNameType[161];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCommModelMemoTypeһģ屸ע
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCommModelMemoType[1025];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcExprSetModeTypeһڱʽ
+/////////////////////////////////////////////////////////////////////////
+///й
+#define THOST_FTDC_ESM_Relative '1'
+///
+#define THOST_FTDC_ESM_Typical '2'
+
+typedef char TThostFtdcExprSetModeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRateInvestorRangeTypeһͶ߷Χ
+/////////////////////////////////////////////////////////////////////////
+///˾
+#define THOST_FTDC_RIR_All '1'
+///ģ
+#define THOST_FTDC_RIR_Model '2'
+///һͶ
+#define THOST_FTDC_RIR_Single '3'
+
+typedef char TThostFtdcRateInvestorRangeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAgentBrokerIDTypeһ˾
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAgentBrokerIDType[13];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDRIdentityIDTypeһĴ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcDRIdentityIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDRIdentityNameTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcDRIdentityNameType[65];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDBLinkIDTypeһDBLinkʶ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcDBLinkIDType[31];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSyncDataStatusTypeһϵͳͬ״̬
+/////////////////////////////////////////////////////////////////////////
+///δͬ
+#define THOST_FTDC_SDS_Initialize '0'
+///ͬ
+#define THOST_FTDC_SDS_Settlementing '1'
+///ͬ
+#define THOST_FTDC_SDS_Settlemented '2'
+
+typedef char TThostFtdcSyncDataStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTradeSourceTypeһɽԴ
+/////////////////////////////////////////////////////////////////////////
+///Խͨر
+#define THOST_FTDC_TSRC_NORMAL '0'
+///Բѯ
+#define THOST_FTDC_TSRC_QUERY '1'
+
+typedef char TThostFtdcTradeSourceType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFlexStatModeTypeһƷԼͳƷʽ
+/////////////////////////////////////////////////////////////////////////
+///Ʒͳ
+#define THOST_FTDC_FSM_Product '1'
+///ͳ
+#define THOST_FTDC_FSM_Exchange '2'
+///ͳ
+#define THOST_FTDC_FSM_All '3'
+
+typedef char TThostFtdcFlexStatModeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcByInvestorRangeTypeһͶ߷ΧͳƷʽ
+/////////////////////////////////////////////////////////////////////////
+///ͳ
+#define THOST_FTDC_BIR_Property '1'
+///ͳ
+#define THOST_FTDC_BIR_All '2'
+
+typedef char TThostFtdcByInvestorRangeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSRiskRateTypeһն
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcSRiskRateType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSequenceNo12Typeһ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcSequenceNo12Type;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPropertyInvestorRangeTypeһͶ߷Χ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_PIR_All '1'
+///Ͷ
+#define THOST_FTDC_PIR_Property '2'
+///һͶ
+#define THOST_FTDC_PIR_Single '3'
+
+typedef char TThostFtdcPropertyInvestorRangeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFileStatusTypeһļ״̬
+/////////////////////////////////////////////////////////////////////////
+///δ
+#define THOST_FTDC_FIS_NoCreate '0'
+///
+#define THOST_FTDC_FIS_Created '1'
+///ʧ
+#define THOST_FTDC_FIS_Failed '2'
+
+typedef char TThostFtdcFileStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFileGenStyleTypeһļɷʽ
+/////////////////////////////////////////////////////////////////////////
+///·
+#define THOST_FTDC_FGS_FileTransmit '0'
+///
+#define THOST_FTDC_FGS_FileGen '1'
+
+typedef char TThostFtdcFileGenStyleType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSysOperModeTypeһϵͳ־
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_SoM_Add '1'
+///
+#define THOST_FTDC_SoM_Update '2'
+///ɾ
+#define THOST_FTDC_SoM_Delete '3'
+///
+#define THOST_FTDC_SoM_Copy '4'
+///
+#define THOST_FTDC_SoM_AcTive '5'
+///ע
+#define THOST_FTDC_SoM_CanCel '6'
+///
+#define THOST_FTDC_SoM_ReSet '7'
+
+typedef char TThostFtdcSysOperModeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSysOperTypeTypeһϵͳ־
+/////////////////////////////////////////////////////////////////////////
+///IJԱ
+#define THOST_FTDC_SoT_UpdatePassword '0'
+///Աܹ֯ϵ
+#define THOST_FTDC_SoT_UserDepartment '1'
+///ɫ
+#define THOST_FTDC_SoT_RoleManager '2'
+///ɫ
+#define THOST_FTDC_SoT_RoleFunction '3'
+///
+#define THOST_FTDC_SoT_BaseParam '4'
+///òԱ
+#define THOST_FTDC_SoT_SetUserID '5'
+///ûɫ
+#define THOST_FTDC_SoT_SetUserRole '6'
+///ûIP
+#define THOST_FTDC_SoT_UserIpRestriction '7'
+///ܹ֯
+#define THOST_FTDC_SoT_DepartmentManager '8'
+///ܹ֯ѯิ
+#define THOST_FTDC_SoT_DepartmentCopy '9'
+///ױ
+#define THOST_FTDC_SoT_Tradingcode 'A'
+///Ͷ״̬ά
+#define THOST_FTDC_SoT_InvestorStatus 'B'
+///ͶȨ
+#define THOST_FTDC_SoT_InvestorAuthority 'C'
+///
+#define THOST_FTDC_SoT_PropertySet 'D'
+///Ͷ
+#define THOST_FTDC_SoT_ReSetInvestorPasswd 'E'
+///Ͷ߸Ϣά
+#define THOST_FTDC_SoT_InvestorPersonalityInfo 'F'
+
+typedef char TThostFtdcSysOperTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCDataQueyTypeTypeһϱݲѯ
+/////////////////////////////////////////////////////////////////////////
+///ѯǰձ͵
+#define THOST_FTDC_CSRCQ_Current '0'
+///ѯʷ͵Ĵ˾
+#define THOST_FTDC_CSRCQ_History '1'
+
+typedef char TThostFtdcCSRCDataQueyTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFreezeStatusTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+///Ծ
+#define THOST_FTDC_FRS_Normal '1'
+///
+#define THOST_FTDC_FRS_Freeze '0'
+
+typedef char TThostFtdcFreezeStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcStandardStatusTypeһ淶״̬
+/////////////////////////////////////////////////////////////////////////
+///ѹ淶
+#define THOST_FTDC_STST_Standard '0'
+///δ淶
+#define THOST_FTDC_STST_NonStandard '1'
+
+typedef char TThostFtdcStandardStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCFreezeStatusTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCFreezeStatusType[2];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRightParamTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_RPT_Freeze '1'
+///
+#define THOST_FTDC_RPT_FreezeActive '2'
+///Ȩ
+#define THOST_FTDC_RPT_OpenLimit '3'
+///Ȩ
+#define THOST_FTDC_RPT_RelieveOpenLimit '4'
+
+typedef char TThostFtdcRightParamTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRightTemplateIDTypeһģ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcRightTemplateIDType[9];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRightTemplateNameTypeһģ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcRightTemplateNameType[61];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDataStatusTypeһϴǮ˱״̬
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_AMLDS_Normal '0'
+///ɾ
+#define THOST_FTDC_AMLDS_Deleted '1'
+
+typedef char TThostFtdcDataStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAMLCheckStatusTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+///δ
+#define THOST_FTDC_AMLCHS_Init '0'
+///
+#define THOST_FTDC_AMLCHS_Checking '1'
+///Ѹ
+#define THOST_FTDC_AMLCHS_Checked '2'
+///ܾϱ
+#define THOST_FTDC_AMLCHS_RefuseReport '3'
+
+typedef char TThostFtdcAMLCheckStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAmlDateTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_AMLDT_DrawDay '0'
+///
+#define THOST_FTDC_AMLDT_TouchDay '1'
+
+typedef char TThostFtdcAmlDateTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAmlCheckLevelTypeһ˼
+/////////////////////////////////////////////////////////////////////////
+///㼶
+#define THOST_FTDC_AMLCL_CheckLevel0 '0'
+///һ
+#define THOST_FTDC_AMLCL_CheckLevel1 '1'
+///
+#define THOST_FTDC_AMLCL_CheckLevel2 '2'
+///
+#define THOST_FTDC_AMLCL_CheckLevel3 '3'
+
+typedef char TThostFtdcAmlCheckLevelType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAmlCheckFlowTypeһϴǮݳȡ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAmlCheckFlowType[2];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDataTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcDataTypeType[129];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcExportFileTypeTypeһļ
+/////////////////////////////////////////////////////////////////////////
+///CSV
+#define THOST_FTDC_EFT_CSV '0'
+///Excel
+#define THOST_FTDC_EFT_EXCEL '1'
+///DBF
+#define THOST_FTDC_EFT_DBF '2'
+
+typedef char TThostFtdcExportFileTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSettleManagerTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+///ǰ
+#define THOST_FTDC_SMT_Before '1'
+///
+#define THOST_FTDC_SMT_Settlement '2'
+///˶
+#define THOST_FTDC_SMT_After '3'
+///
+#define THOST_FTDC_SMT_Settlemented '4'
+
+typedef char TThostFtdcSettleManagerTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSettleManagerIDTypeһô
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcSettleManagerIDType[33];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSettleManagerNameTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcSettleManagerNameType[129];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSettleManagerLevelTypeһõȼ
+/////////////////////////////////////////////////////////////////////////
+///Ҫ
+#define THOST_FTDC_SML_Must '1'
+///
+#define THOST_FTDC_SML_Alarm '2'
+///ʾ
+#define THOST_FTDC_SML_Prompt '3'
+///
+#define THOST_FTDC_SML_Ignore '4'
+
+typedef char TThostFtdcSettleManagerLevelType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSettleManagerGroupTypeһģ
+/////////////////////////////////////////////////////////////////////////
+///˶
+#define THOST_FTDC_SMG_Exhcange '1'
+///ڲ˶
+#define THOST_FTDC_SMG_ASP '2'
+///ϱݺ˶
+#define THOST_FTDC_SMG_CSRC '3'
+
+typedef char TThostFtdcSettleManagerGroupType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCheckResultMemoTypeһ˶Խ˵
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCheckResultMemoType[1025];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFunctionUrlTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcFunctionUrlType[1025];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAuthInfoTypeһͻ֤Ϣ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAuthInfoType[129];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAuthCodeTypeһͻ֤
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAuthCodeType[17];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcLimitUseTypeTypeһֵʹ
+/////////////////////////////////////////////////////////////////////////
+///ظʹ
+#define THOST_FTDC_LUT_Repeatable '1'
+///ظʹ
+#define THOST_FTDC_LUT_Unrepeatable '2'
+
+typedef char TThostFtdcLimitUseTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDataResourceTypeһԴ
+/////////////////////////////////////////////////////////////////////////
+///ϵͳ
+#define THOST_FTDC_DAR_Settle '1'
+///
+#define THOST_FTDC_DAR_Exchange '2'
+///
+#define THOST_FTDC_DAR_CSRC '3'
+
+typedef char TThostFtdcDataResourceType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcMarginTypeTypeһ֤
+/////////////////////////////////////////////////////////////////////////
+///֤
+#define THOST_FTDC_MGT_ExchMarginRate '0'
+///Ͷ֤߱
+#define THOST_FTDC_MGT_InstrMarginRate '1'
+///Ͷ߽ױ֤
+#define THOST_FTDC_MGT_InstrMarginRateTrade '2'
+
+typedef char TThostFtdcMarginTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcActiveTypeTypeһЧ
+/////////////////////////////////////////////////////////////////////////
+///Ч
+#define THOST_FTDC_ACT_Intraday '1'
+///Ч
+#define THOST_FTDC_ACT_Long '2'
+
+typedef char TThostFtdcActiveTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcMarginRateTypeTypeһͻ֤
+/////////////////////////////////////////////////////////////////////////
+///֤
+#define THOST_FTDC_MRT_Exchange '1'
+///Ͷ֤߱
+#define THOST_FTDC_MRT_Investor '2'
+///Ͷ߽ױ֤
+#define THOST_FTDC_MRT_InvestorTrade '3'
+
+typedef char TThostFtdcMarginRateTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBackUpStatusTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+///δɱ
+#define THOST_FTDC_BUS_UnBak '0'
+///
+#define THOST_FTDC_BUS_BakUp '1'
+///ɱ
+#define THOST_FTDC_BUS_BakUped '2'
+///ʧ
+#define THOST_FTDC_BUS_BakFail '3'
+
+typedef char TThostFtdcBackUpStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInitSettlementTypeһʼ״̬
+/////////////////////////////////////////////////////////////////////////
+///ʼδʼ
+#define THOST_FTDC_SIS_UnInitialize '0'
+///ʼ
+#define THOST_FTDC_SIS_Initialize '1'
+///ʼ
+#define THOST_FTDC_SIS_Initialized '2'
+
+typedef char TThostFtdcInitSettlementType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcReportStatusTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+///δɱ
+#define THOST_FTDC_SRS_NoCreate '0'
+///
+#define THOST_FTDC_SRS_Create '1'
+///ɱ
+#define THOST_FTDC_SRS_Created '2'
+///ɱʧ
+#define THOST_FTDC_SRS_CreateFail '3'
+
+typedef char TThostFtdcReportStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSaveStatusTypeһݹ鵵״̬
+/////////////////////////////////////////////////////////////////////////
+///鵵δ
+#define THOST_FTDC_SSS_UnSaveData '0'
+///鵵
+#define THOST_FTDC_SSS_SaveDatad '1'
+
+typedef char TThostFtdcSaveStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSettArchiveStatusTypeһȷݹ鵵״̬
+/////////////////////////////////////////////////////////////////////////
+///δ鵵
+#define THOST_FTDC_SAS_UnArchived '0'
+///ݹ鵵
+#define THOST_FTDC_SAS_Archiving '1'
+///ѹ鵵
+#define THOST_FTDC_SAS_Archived '2'
+///鵵ʧ
+#define THOST_FTDC_SAS_ArchiveFail '3'
+
+typedef char TThostFtdcSettArchiveStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCTPTypeTypeһCTPϵͳ
+/////////////////////////////////////////////////////////////////////////
+///δ֪
+#define THOST_FTDC_CTPT_Unkown '0'
+///
+#define THOST_FTDC_CTPT_MainCenter '1'
+///
+#define THOST_FTDC_CTPT_BackUp '2'
+
+typedef char TThostFtdcCTPTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcToolIDTypeһߴ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcToolIDType[9];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcToolNameTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcToolNameType[81];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCloseDealTypeTypeһƽִ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_CDT_Normal '0'
+///Ͷƽ
+#define THOST_FTDC_CDT_SpecFirst '1'
+
+typedef char TThostFtdcCloseDealTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcMortgageFundUseRangeTypeһѺʽ÷Χ
+/////////////////////////////////////////////////////////////////////////
+///ʹ
+#define THOST_FTDC_MFUR_None '0'
+///ڱ֤
+#define THOST_FTDC_MFUR_Margin '1'
+///ѡӯ֤
+#define THOST_FTDC_MFUR_All '2'
+
+typedef char TThostFtdcMortgageFundUseRangeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCurrencyUnitTypeһֵλ
+/////////////////////////////////////////////////////////////////////////
+typedef double TThostFtdcCurrencyUnitType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcExchangeRateTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef double TThostFtdcExchangeRateType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSpecProductTypeTypeһƷ
+/////////////////////////////////////////////////////////////////////////
+///֣ױƷ
+#define THOST_FTDC_SPT_CzceHedge '1'
+///ѺƷ
+#define THOST_FTDC_SPT_IneForeignCurrency '2'
+///߿ƽֲƷ
+#define THOST_FTDC_SPT_DceOpenClose '3'
+
+typedef char TThostFtdcSpecProductTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFundMortgageTypeTypeһѺ
+/////////////////////////////////////////////////////////////////////////
+///Ѻ
+#define THOST_FTDC_FMT_Mortgage '1'
+///
+#define THOST_FTDC_FMT_Redemption '2'
+
+typedef char TThostFtdcFundMortgageTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAccountSettlementParamIDTypeһͶ˻
+/////////////////////////////////////////////////////////////////////////
+///֤
+#define THOST_FTDC_ASPI_BaseMargin '1'
+///Ȩ
+#define THOST_FTDC_ASPI_LowestInterest '2'
+
+typedef char TThostFtdcAccountSettlementParamIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCurrencyNameTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCurrencyNameType[31];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCurrencySignTypeһַ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCurrencySignType[4];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFundMortDirectionTypeһѺ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_FMD_In '1'
+///ʳ
+#define THOST_FTDC_FMD_Out '2'
+
+typedef char TThostFtdcFundMortDirectionType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBusinessClassTypeһ
+/////////////////////////////////////////////////////////////////////////
+///ӯ
+#define THOST_FTDC_BT_Profit '0'
+///
+#define THOST_FTDC_BT_Loss '1'
+///
+#define THOST_FTDC_BT_Other 'Z'
+
+typedef char TThostFtdcBusinessClassType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSwapSourceTypeTypeһԴ
+/////////////////////////////////////////////////////////////////////////
+///ֹ
+#define THOST_FTDC_SST_Manual '0'
+///Զ
+#define THOST_FTDC_SST_Automatic '1'
+
+typedef char TThostFtdcSwapSourceTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCurrExDirectionTypeһ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_CED_Settlement '0'
+///ۻ
+#define THOST_FTDC_CED_Sale '1'
+
+typedef char TThostFtdcCurrExDirectionType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCurrencySwapStatusTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+///¼
+#define THOST_FTDC_CSS_Entry '1'
+///
+#define THOST_FTDC_CSS_Approve '2'
+///Ѿܾ
+#define THOST_FTDC_CSS_Refuse '3'
+///ѳ
+#define THOST_FTDC_CSS_Revoke '4'
+///ѷ
+#define THOST_FTDC_CSS_Send '5'
+///ɹ
+#define THOST_FTDC_CSS_Success '6'
+///ʧ
+#define THOST_FTDC_CSS_Failure '7'
+
+typedef char TThostFtdcCurrencySwapStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCurrExchCertNoTypeһƾ֤
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCurrExchCertNoType[13];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBatchSerialNoTypeһκ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBatchSerialNoType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcReqFlagTypeһ㷢ͱ־
+/////////////////////////////////////////////////////////////////////////
+///δ
+#define THOST_FTDC_REQF_NoSend '0'
+///ͳɹ
+#define THOST_FTDC_REQF_SendSuccess '1'
+///ʧ
+#define THOST_FTDC_REQF_SendFailed '2'
+///ȴط
+#define THOST_FTDC_REQF_WaitReSend '3'
+
+typedef char TThostFtdcReqFlagType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcResFlagTypeһ㷵سɹ־
+/////////////////////////////////////////////////////////////////////////
+///ɹ
+#define THOST_FTDC_RESF_Success '0'
+///˻
+#define THOST_FTDC_RESF_InsuffiCient '1'
+///δ֪
+#define THOST_FTDC_RESF_UnKnown '8'
+
+typedef char TThostFtdcResFlagType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPageControlTypeһҳ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcPageControlType[2];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcRecordCountTypeһ¼
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcRecordCountType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCurrencySwapMemoTypeһȷϢ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCurrencySwapMemoType[101];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcExStatusTypeһ״̬
+/////////////////////////////////////////////////////////////////////////
+///ǰ
+#define THOST_FTDC_EXS_Before '0'
+///ĺ
+#define THOST_FTDC_EXS_After '1'
+
+typedef char TThostFtdcExStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcClientRegionTypeһͻ
+/////////////////////////////////////////////////////////////////////////
+///ڿͻ
+#define THOST_FTDC_CR_Domestic '1'
+///۰̨ͻ
+#define THOST_FTDC_CR_GMT '2'
+///ͻ
+#define THOST_FTDC_CR_Foreign '3'
+
+typedef char TThostFtdcClientRegionType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcWorkPlaceTypeһλ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcWorkPlaceType[101];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBusinessPeriodTypeһӪ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBusinessPeriodType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcWebSiteTypeһַ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcWebSiteType[101];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUOAIdCardTypeTypeһͳһ֤
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcUOAIdCardTypeType[3];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcClientModeTypeһģʽ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcClientModeType[3];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInvestorFullNameTypeһͶȫ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcInvestorFullNameType[101];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUOABrokerIDTypeһнID
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcUOABrokerIDType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUOAZipCodeTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcUOAZipCodeType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUOAEMailTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcUOAEMailType[101];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOldCityTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcOldCityType[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCorporateIdentifiedCardNoTypeһ˴֤
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCorporateIdentifiedCardNoType[101];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcHasBoardTypeһǷж»
+/////////////////////////////////////////////////////////////////////////
+///û
+#define THOST_FTDC_HB_No '0'
+///
+#define THOST_FTDC_HB_Yes '1'
+
+typedef char TThostFtdcHasBoardType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcStartModeTypeһģʽ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_SM_Normal '1'
+///Ӧ
+#define THOST_FTDC_SM_Emerge '2'
+///ָ
+#define THOST_FTDC_SM_Restore '3'
+
+typedef char TThostFtdcStartModeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTemplateTypeTypeһģ
+/////////////////////////////////////////////////////////////////////////
+///ȫ
+#define THOST_FTDC_TPT_Full '1'
+///
+#define THOST_FTDC_TPT_Increment '2'
+///
+#define THOST_FTDC_TPT_BackUp '3'
+
+typedef char TThostFtdcTemplateTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcLoginModeTypeһ¼ģʽ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_LM_Trade '0'
+///ת
+#define THOST_FTDC_LM_Transfer '1'
+
+typedef char TThostFtdcLoginModeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPromptTypeTypeһʾ
+/////////////////////////////////////////////////////////////////////////
+///Լ
+#define THOST_FTDC_CPT_Instrument '1'
+///ֶ֤Ч
+#define THOST_FTDC_CPT_Margin '2'
+
+typedef char TThostFtdcPromptTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcLedgerManageIDTypeһֻʲ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcLedgerManageIDType[51];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInvestVarietyTypeһͶƷ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcInvestVarietyType[101];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBankAccountTypeTypeһ˻
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcBankAccountTypeType[2];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcLedgerManageBankTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcLedgerManageBankType[101];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCffexDepartmentNameTypeһӪҵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCffexDepartmentNameType[101];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCffexDepartmentCodeTypeһӪҵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCffexDepartmentCodeType[9];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcHasTrusteeTypeһǷй
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_HT_Yes '1'
+///û
+#define THOST_FTDC_HT_No '0'
+
+typedef char TThostFtdcHasTrusteeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCMemo1Typeһ˵
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCMemo1Type[41];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAssetmgrCFullNameTypeһʲҵڻ˾ȫ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAssetmgrCFullNameType[101];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAssetmgrApprovalNOTypeһʲҵĺ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAssetmgrApprovalNOType[51];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAssetmgrMgrNameTypeһʲҵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAssetmgrMgrNameType[401];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAmTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_AMT_Bank '1'
+///֤ȯ˾
+#define THOST_FTDC_AMT_Securities '2'
+///˾
+#define THOST_FTDC_AMT_Fund '3'
+///չ˾
+#define THOST_FTDC_AMT_Insurance '4'
+///й˾
+#define THOST_FTDC_AMT_Trust '5'
+///
+#define THOST_FTDC_AMT_Other '9'
+
+typedef char TThostFtdcAmTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCAmTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCAmTypeType[5];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCFundIOTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_CFIOT_FundIO '0'
+///ڻ
+#define THOST_FTDC_CFIOT_SwapCurrency '1'
+
+typedef char TThostFtdcCSRCFundIOTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCusAccountTypeTypeһ˻
+/////////////////////////////////////////////////////////////////////////
+///ڻ˻
+#define THOST_FTDC_CAT_Futures '1'
+///ڻʹҵµʹܽ˻
+#define THOST_FTDC_CAT_AssetmgrFuture '2'
+///ۺʹҵµڻʹй˻
+#define THOST_FTDC_CAT_AssetmgrTrustee '3'
+///ۺʹҵµʽת˻
+#define THOST_FTDC_CAT_AssetmgrTransfer '4'
+
+typedef char TThostFtdcCusAccountTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCNationalTypeһ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCNationalType[4];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCSRCSecAgentIDTypeһID
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCSRCSecAgentIDType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcLanguageTypeTypeһ֪ͨ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_LT_Chinese '1'
+///Ӣ
+#define THOST_FTDC_LT_English '2'
+
+typedef char TThostFtdcLanguageTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAmAccountTypeһͶ˻
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcAmAccountType[23];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAssetmgrClientTypeTypeһʲͻ
+/////////////////////////////////////////////////////////////////////////
+///ʹܿͻ
+#define THOST_FTDC_AMCT_Person '1'
+///λʹܿͻ
+#define THOST_FTDC_AMCT_Organ '2'
+///ⵥλʹܿͻ
+#define THOST_FTDC_AMCT_SpecialOrgan '4'
+
+typedef char TThostFtdcAssetmgrClientTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcAssetmgrTypeTypeһͶ
+/////////////////////////////////////////////////////////////////////////
+///ڻ
+#define THOST_FTDC_ASST_Futures '3'
+///ۺ
+#define THOST_FTDC_ASST_SpecialOrgan '4'
+
+typedef char TThostFtdcAssetmgrTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUOMTypeһλ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcUOMType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSHFEInstLifePhaseTypeһԼ״̬
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcSHFEInstLifePhaseType[3];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSHFEProductClassTypeһƷ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcSHFEProductClassType[11];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcPriceDecimalTypeһ۸Сλ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcPriceDecimalType[2];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInTheMoneyFlagTypeһƽֵȨ־
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcInTheMoneyFlagType[2];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCheckInstrTypeTypeһԼȽ
+/////////////////////////////////////////////////////////////////////////
+///Լ
+#define THOST_FTDC_CIT_HasExch '0'
+///Լϵͳ
+#define THOST_FTDC_CIT_HasATP '1'
+///ԼȽϲһ
+#define THOST_FTDC_CIT_HasDiff '2'
+
+typedef char TThostFtdcCheckInstrTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDeliveryTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+///ֹ
+#define THOST_FTDC_DT_HandDeliv '1'
+///ڽ
+#define THOST_FTDC_DT_PersonDeliv '2'
+
+typedef char TThostFtdcDeliveryTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBigMoneyTypeһʽ
+/////////////////////////////////////////////////////////////////////////
+typedef double TThostFtdcBigMoneyType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcMaxMarginSideAlgorithmTypeһ֤߱㷨
+/////////////////////////////////////////////////////////////////////////
+///ʹô֤߱㷨
+#define THOST_FTDC_MMSA_NO '0'
+///ʹô֤߱㷨
+#define THOST_FTDC_MMSA_YES '1'
+
+typedef char TThostFtdcMaxMarginSideAlgorithmType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDAClientTypeTypeһʲͻ
+/////////////////////////////////////////////////////////////////////////
+///Ȼ
+#define THOST_FTDC_CACT_Person '0'
+///
+#define THOST_FTDC_CACT_Company '1'
+///
+#define THOST_FTDC_CACT_Other '2'
+
+typedef char TThostFtdcDAClientTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCombinInstrIDTypeһԼ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCombinInstrIDType[61];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCombinSettlePriceTypeһȽ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcCombinSettlePriceType[61];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDCEPriorityTypeһȼ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcDCEPriorityType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTradeGroupIDTypeһɽ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcTradeGroupIDType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcIsCheckPrepaTypeһǷУ鿪ʽ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcIsCheckPrepaType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcUOAAssetmgrTypeTypeһͶ
+/////////////////////////////////////////////////////////////////////////
+///ڻ
+#define THOST_FTDC_UOAAT_Futures '1'
+///ۺ
+#define THOST_FTDC_UOAAT_SpecialOrgan '2'
+
+typedef char TThostFtdcUOAAssetmgrTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDirectionEnTypeһ
+/////////////////////////////////////////////////////////////////////////
+///Buy
+#define THOST_FTDC_DEN_Buy '0'
+///Sell
+#define THOST_FTDC_DEN_Sell '1'
+
+typedef char TThostFtdcDirectionEnType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOffsetFlagEnTypeһƽ־
+/////////////////////////////////////////////////////////////////////////
+///Position Opening
+#define THOST_FTDC_OFEN_Open '0'
+///Position Close
+#define THOST_FTDC_OFEN_Close '1'
+///Forced Liquidation
+#define THOST_FTDC_OFEN_ForceClose '2'
+///Close Today
+#define THOST_FTDC_OFEN_CloseToday '3'
+///Close Prev.
+#define THOST_FTDC_OFEN_CloseYesterday '4'
+///Forced Reduction
+#define THOST_FTDC_OFEN_ForceOff '5'
+///Local Forced Liquidation
+#define THOST_FTDC_OFEN_LocalForceClose '6'
+
+typedef char TThostFtdcOffsetFlagEnType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcHedgeFlagEnTypeһͶױ־
+/////////////////////////////////////////////////////////////////////////
+///Speculation
+#define THOST_FTDC_HFEN_Speculation '1'
+///Arbitrage
+#define THOST_FTDC_HFEN_Arbitrage '2'
+///Hedge
+#define THOST_FTDC_HFEN_Hedge '3'
+
+typedef char TThostFtdcHedgeFlagEnType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFundIOTypeEnTypeһ
+/////////////////////////////////////////////////////////////////////////
+///Deposit/Withdrawal
+#define THOST_FTDC_FIOTEN_FundIO '1'
+///Bank-Futures Transfer
+#define THOST_FTDC_FIOTEN_Transfer '2'
+///Bank-Futures FX Exchange
+#define THOST_FTDC_FIOTEN_SwapCurrency '3'
+
+typedef char TThostFtdcFundIOTypeEnType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFundTypeEnTypeһʽ
+/////////////////////////////////////////////////////////////////////////
+///Bank Deposit
+#define THOST_FTDC_FTEN_Deposite '1'
+///Payment/Fee
+#define THOST_FTDC_FTEN_ItemFund '2'
+///Brokerage Adj
+#define THOST_FTDC_FTEN_Company '3'
+///Internal Transfer
+#define THOST_FTDC_FTEN_InnerTransfer '4'
+
+typedef char TThostFtdcFundTypeEnType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFundDirectionEnTypeһ
+/////////////////////////////////////////////////////////////////////////
+///Deposit
+#define THOST_FTDC_FDEN_In '1'
+///Withdrawal
+#define THOST_FTDC_FDEN_Out '2'
+
+typedef char TThostFtdcFundDirectionEnType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFundMortDirectionEnTypeһѺ
+/////////////////////////////////////////////////////////////////////////
+///Pledge
+#define THOST_FTDC_FMDEN_In '1'
+///Redemption
+#define THOST_FTDC_FMDEN_Out '2'
+
+typedef char TThostFtdcFundMortDirectionEnType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSwapBusinessTypeTypeһҵ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcSwapBusinessTypeType[3];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOptionsTypeTypeһȨ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_CP_CallOptions '1'
+///
+#define THOST_FTDC_CP_PutOptions '2'
+
+typedef char TThostFtdcOptionsTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcStrikeModeTypeһִзʽ
+/////////////////////////////////////////////////////////////////////////
+///ŷʽ
+#define THOST_FTDC_STM_Continental '0'
+///ʽ
+#define THOST_FTDC_STM_American '1'
+///Ľ
+#define THOST_FTDC_STM_Bermuda '2'
+
+typedef char TThostFtdcStrikeModeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcStrikeTypeTypeһִ
+/////////////////////////////////////////////////////////////////////////
+///Գ
+#define THOST_FTDC_STT_Hedge '0'
+///ƥִ
+#define THOST_FTDC_STT_Match '1'
+
+typedef char TThostFtdcStrikeTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcApplyTypeTypeһнȨִ
+/////////////////////////////////////////////////////////////////////////
+///ִ
+#define THOST_FTDC_APPT_NotStrikeNum '4'
+
+typedef char TThostFtdcApplyTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcGiveUpDataSourceTypeһִԴ
+/////////////////////////////////////////////////////////////////////////
+///ϵͳ
+#define THOST_FTDC_GUDS_Gen '0'
+///ֹ
+#define THOST_FTDC_GUDS_Hand '1'
+
+typedef char TThostFtdcGiveUpDataSourceType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcExecOrderSysIDTypeһִϵͳ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcExecOrderSysIDType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcExecResultTypeһִн
+/////////////////////////////////////////////////////////////////////////
+///ûִ
+#define THOST_FTDC_OER_NoExec 'n'
+///Ѿȡ
+#define THOST_FTDC_OER_Canceled 'c'
+///ִгɹ
+#define THOST_FTDC_OER_OK '0'
+///Ȩֲֲ
+#define THOST_FTDC_OER_NoPosition '1'
+///ʽ
+#define THOST_FTDC_OER_NoDeposit '2'
+///Ա
+#define THOST_FTDC_OER_NoParticipant '3'
+///ͻ
+#define THOST_FTDC_OER_NoClient '4'
+///Լ
+#define THOST_FTDC_OER_NoInstrument '6'
+///ûִȨ
+#define THOST_FTDC_OER_NoRight '7'
+///
+#define THOST_FTDC_OER_InvalidVolume '8'
+///û㹻ʷɽ
+#define THOST_FTDC_OER_NoEnoughHistoryTrade '9'
+///δ֪
+#define THOST_FTDC_OER_Unknown 'a'
+
+typedef char TThostFtdcExecResultType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcStrikeSequenceTypeһִ
+/////////////////////////////////////////////////////////////////////////
+typedef int TThostFtdcStrikeSequenceType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcStrikeTimeTypeһִʱ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcStrikeTimeType[13];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCombinationTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+///ڻ
+#define THOST_FTDC_COMBT_Future '0'
+///ֱ۲BUL
+#define THOST_FTDC_COMBT_BUL '1'
+///ֱ۲BER
+#define THOST_FTDC_COMBT_BER '2'
+///ʽ
+#define THOST_FTDC_COMBT_STD '3'
+///ʽ
+#define THOST_FTDC_COMBT_STG '4'
+///
+#define THOST_FTDC_COMBT_PRT '5'
+///ʱ۲
+#define THOST_FTDC_COMBT_CLD '6'
+
+typedef char TThostFtdcCombinationTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcOptionRoyaltyPriceTypeTypeһȨȨ۸
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_ORPT_PreSettlementPrice '1'
+///ּ
+#define THOST_FTDC_ORPT_OpenPrice '4'
+
+typedef char TThostFtdcOptionRoyaltyPriceTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBalanceAlgorithmTypeһȨ㷨
+/////////////////////////////////////////////////////////////////////////
+///Ȩֵӯ
+#define THOST_FTDC_BLAG_Default '1'
+///Ȩֵ
+#define THOST_FTDC_BLAG_IncludeOptValLost '2'
+
+typedef char TThostFtdcBalanceAlgorithmType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcActionTypeTypeһִ
+/////////////////////////////////////////////////////////////////////////
+///ִ
+#define THOST_FTDC_ACTP_Exec '1'
+///
+#define THOST_FTDC_ACTP_Abandon '2'
+
+typedef char TThostFtdcActionTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcForQuoteStatusTypeһѯ״̬
+/////////////////////////////////////////////////////////////////////////
+///Ѿύ
+#define THOST_FTDC_FQST_Submitted 'a'
+///Ѿ
+#define THOST_FTDC_FQST_Accepted 'b'
+///Ѿܾ
+#define THOST_FTDC_FQST_Rejected 'c'
+
+typedef char TThostFtdcForQuoteStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcValueMethodTypeһȡֵʽ
+/////////////////////////////////////////////////////////////////////////
+///ֵ
+#define THOST_FTDC_VM_Absolute '0'
+///
+#define THOST_FTDC_VM_Ratio '1'
+
+typedef char TThostFtdcValueMethodType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcExecOrderPositionFlagTypeһȨȨǷڻͷı
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_EOPF_Reserve '0'
+///
+#define THOST_FTDC_EOPF_UnReserve '1'
+
+typedef char TThostFtdcExecOrderPositionFlagType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcExecOrderCloseFlagTypeһȨȨɵͷǷԶƽ
+/////////////////////////////////////////////////////////////////////////
+///Զƽ
+#define THOST_FTDC_EOCF_AutoClose '0'
+///Զƽ
+#define THOST_FTDC_EOCF_NotToClose '1'
+
+typedef char TThostFtdcExecOrderCloseFlagType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcProductTypeTypeһƷ
+/////////////////////////////////////////////////////////////////////////
+///ڻ
+#define THOST_FTDC_PTE_Futures '1'
+///Ȩ
+#define THOST_FTDC_PTE_Options '2'
+
+typedef char TThostFtdcProductTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCZCEUploadFileNameTypeһ֣ļ
+/////////////////////////////////////////////////////////////////////////
+///^\d{8}_zz_\d{4}
+#define THOST_FTDC_CUFN_CUFN_O 'O'
+///^\d{8}ɽ
+#define THOST_FTDC_CUFN_CUFN_T 'T'
+///^\d{8}ȳֱֲnew
+#define THOST_FTDC_CUFN_CUFN_P 'P'
+///^\d{8}ƽ˽
+#define THOST_FTDC_CUFN_CUFN_N 'N'
+///^\d{8}ƽֱ
+#define THOST_FTDC_CUFN_CUFN_L 'L'
+///^\d{8}ʽ
+#define THOST_FTDC_CUFN_CUFN_F 'F'
+///^\d{8}ϳֱֲ
+#define THOST_FTDC_CUFN_CUFN_C 'C'
+///^\d{8}֤
+#define THOST_FTDC_CUFN_CUFN_M 'M'
+
+typedef char TThostFtdcCZCEUploadFileNameType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDCEUploadFileNameTypeһļ
+/////////////////////////////////////////////////////////////////////////
+///^\d{8}_dl_\d{3}
+#define THOST_FTDC_DUFN_DUFN_O 'O'
+///^\d{8}_ɽ
+#define THOST_FTDC_DUFN_DUFN_T 'T'
+///^\d{8}_ֱֲ
+#define THOST_FTDC_DUFN_DUFN_P 'P'
+///^\d{8}_ʽ
+#define THOST_FTDC_DUFN_DUFN_F 'F'
+///^\d{8}_Żϳֲϸ
+#define THOST_FTDC_DUFN_DUFN_C 'C'
+///^\d{8}_ֲϸ
+#define THOST_FTDC_DUFN_DUFN_D 'D'
+///^\d{8}_֤
+#define THOST_FTDC_DUFN_DUFN_M 'M'
+///^\d{8}_Ȩִб
+#define THOST_FTDC_DUFN_DUFN_S 'S'
+
+typedef char TThostFtdcDCEUploadFileNameType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcSHFEUploadFileNameTypeһļ
+/////////////////////////////////////////////////////////////////////////
+///^\d{4}_\d{8}_\d{8}_DailyFundChg
+#define THOST_FTDC_SUFN_SUFN_O 'O'
+///^\d{4}_\d{8}_\d{8}_Trade
+#define THOST_FTDC_SUFN_SUFN_T 'T'
+///^\d{4}_\d{8}_\d{8}_SettlementDetail
+#define THOST_FTDC_SUFN_SUFN_P 'P'
+///^\d{4}_\d{8}_\d{8}_Capital
+#define THOST_FTDC_SUFN_SUFN_F 'F'
+
+typedef char TThostFtdcSHFEUploadFileNameType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCFFEXUploadFileNameTypeһнļ
+/////////////////////////////////////////////////////////////////////////
+///^\d{4}_SG\d{1}_\d{8}_\d{1}_Trade
+#define THOST_FTDC_CFUFN_SUFN_T 'T'
+///^\d{4}_SG\d{1}_\d{8}_\d{1}_SettlementDetail
+#define THOST_FTDC_CFUFN_SUFN_P 'P'
+///^\d{4}_SG\d{1}_\d{8}_\d{1}_Capital
+#define THOST_FTDC_CFUFN_SUFN_F 'F'
+///^\d{4}_SG\d{1}_\d{8}_\d{1}_OptionExec
+#define THOST_FTDC_CFUFN_SUFN_S 'S'
+
+typedef char TThostFtdcCFFEXUploadFileNameType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcCombDirectionTypeһָ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_CMDR_Comb '0'
+///
+#define THOST_FTDC_CMDR_UnComb '1'
+
+typedef char TThostFtdcCombDirectionType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcLockTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_LCKT_Lock '1'
+///
+#define THOST_FTDC_LCKT_Unlock '2'
+
+typedef char TThostFtdcLockTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcBizTypeTypeһҵ
+/////////////////////////////////////////////////////////////////////////
+///ڻ
+#define THOST_FTDC_BZTP_Future '1'
+///֤ȯ
+#define THOST_FTDC_BZTP_Stock '2'
+
+typedef char TThostFtdcBizTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcDesignateTypeTypeһָ
+/////////////////////////////////////////////////////////////////////////
+///ָǼ
+#define THOST_FTDC_DSTP_Register '1'
+///ָ
+#define THOST_FTDC_DSTP_Cancel '2'
+
+typedef char TThostFtdcDesignateTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFreezeReasonTypeTypeһԭ
+/////////////////////////////////////////////////////////////////////////
+///ʼ
+#define THOST_FTDC_FRTP_Init '1'
+///
+#define THOST_FTDC_FRTP_Lock '2'
+///ִ
+#define THOST_FTDC_FRTP_Exec '3'
+///λУ
+#define THOST_FTDC_FRTP_Check '4'
+///E+1ִж
+#define THOST_FTDC_FRTP_ExecFreeze '5'
+
+typedef char TThostFtdcFreezeReasonTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcFreezeTypeTypeһ
+/////////////////////////////////////////////////////////////////////////
+///
+#define THOST_FTDC_FZTP_Freeze '1'
+///ⶳ
+#define THOST_FTDC_FZTP_Unfreeze '2'
+///ǿִ
+#define THOST_FTDC_FZTP_Force '3'
+
+typedef char TThostFtdcFreezeTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcTradeSystemTypeTypeһϵͳ
+/////////////////////////////////////////////////////////////////////////
+///δ֪ϵͳ
+#define THOST_FTDC_TSTP_Unknow '0'
+///ڻϵͳ
+#define THOST_FTDC_TSTP_Future '1'
+///ϵͳ
+#define THOST_FTDC_TSTP_IShare '2'
+
+typedef char TThostFtdcTradeSystemTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcStockDisposalTypeTypeһ֤ȯ÷
+/////////////////////////////////////////////////////////////////////////
+///뾭˾˻
+#define THOST_FTDC_STPT_ToBroker '1'
+///Ͷ˻
+#define THOST_FTDC_STPT_ToInvestor '2'
+
+typedef char TThostFtdcStockDisposalTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcStockDisposalSysIDTypeһ֤ȯñ
+/////////////////////////////////////////////////////////////////////////
+typedef char TThostFtdcStockDisposalSysIDType[21];
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcStockDisposalStatusTypeһ֤ȯ״̬
+/////////////////////////////////////////////////////////////////////////
+///Ѿύ
+#define THOST_FTDC_SDPS_Submitted 'a'
+///Ѿ
+#define THOST_FTDC_SDPS_Accepted 'b'
+///Ѿܾ
+#define THOST_FTDC_SDPS_Rejected 'c'
+///Ѿ
+#define THOST_FTDC_SDPS_Cancelled 'd'
+
+typedef char TThostFtdcStockDisposalStatusType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcInstructionRightTypeTypeһָȨ
+/////////////////////////////////////////////////////////////////////////
+///۵
+#define THOST_FTDC_ISTR_Limit '1'
+///ȫɽȡ
+#define THOST_FTDC_ISTR_Limit_FOK '2'
+///м۶ʣת
+#define THOST_FTDC_ISTR_Market_RemainLimit '3'
+///м۶ʣ
+#define THOST_FTDC_ISTR_Market_FAK '4'
+///мȫɽȡ
+#define THOST_FTDC_ISTR_Market_FOK '5'
+///֤ȯ
+#define THOST_FTDC_ISTR_Lock '6'
+///֤ȯ
+#define THOST_FTDC_ISTR_Unlock '7'
+
+typedef char TThostFtdcInstructionRightTypeType;
+
+/////////////////////////////////////////////////////////////////////////
+///TFtdcLevelTypeTypeһͶ߷ּ
+/////////////////////////////////////////////////////////////////////////
+///һͶ
+#define THOST_FTDC_IVLV_FirstLevel '1'
+///Ͷ
+#define THOST_FTDC_IVLV_SecondLevel '2'
+///Ͷ
+#define THOST_FTDC_IVLV_ThirdLevel '3'
+
+typedef char TThostFtdcLevelTypeType;
+
+#endif
diff --git a/vn.how/tick2trade/vn.ctp_t2t/ctpapi/x64_linux/ThostFtdcUserApiStruct.h b/vn.how/tick2trade/vn.ctp_t2t/ctpapi/x64_linux/ThostFtdcUserApiStruct.h
new file mode 100644
index 0000000000..a54a39092f
--- /dev/null
+++ b/vn.how/tick2trade/vn.ctp_t2t/ctpapi/x64_linux/ThostFtdcUserApiStruct.h
@@ -0,0 +1,8941 @@
+/////////////////////////////////////////////////////////////////////////
+///@system һϵͳ
+///@company ϺڻϢ˾
+///@file ThostFtdcUserApiStruct.h
+///@brief ˿ͻ˽ӿʹõҵݽṹ
+///@history
+///20060106 Ժ ļ
+/////////////////////////////////////////////////////////////////////////
+
+#if !defined(THOST_FTDCSTRUCT_H)
+#define THOST_FTDCSTRUCT_H
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include "ThostFtdcUserApiDataType.h"
+
+///Ϣַ
+struct CThostFtdcDisseminationField
+{
+ ///ϵк
+ TThostFtdcSequenceSeriesType SequenceSeries;
+ ///к
+ TThostFtdcSequenceNoType SequenceNo;
+};
+
+///û¼
+struct CThostFtdcReqUserLoginField
+{
+ ///
+ TThostFtdcDateType TradingDay;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///
+ TThostFtdcPasswordType Password;
+ ///û˲ƷϢ
+ TThostFtdcProductInfoType UserProductInfo;
+ ///ӿڶ˲ƷϢ
+ TThostFtdcProductInfoType InterfaceProductInfo;
+ ///ЭϢ
+ TThostFtdcProtocolInfoType ProtocolInfo;
+ ///Macַ
+ TThostFtdcMacAddressType MacAddress;
+ ///̬
+ TThostFtdcPasswordType OneTimePassword;
+ ///նIPַ
+ TThostFtdcIPAddressType ClientIPAddress;
+};
+
+///û¼Ӧ
+struct CThostFtdcRspUserLoginField
+{
+ ///
+ TThostFtdcDateType TradingDay;
+ ///¼ɹʱ
+ TThostFtdcTimeType LoginTime;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///ϵͳ
+ TThostFtdcSystemNameType SystemName;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///
+ TThostFtdcOrderRefType MaxOrderRef;
+ ///ʱ
+ TThostFtdcTimeType SHFETime;
+ ///ʱ
+ TThostFtdcTimeType DCETime;
+ ///֣ʱ
+ TThostFtdcTimeType CZCETime;
+ ///нʱ
+ TThostFtdcTimeType FFEXTime;
+ ///Դʱ
+ TThostFtdcTimeType INETime;
+};
+
+///ûdz
+struct CThostFtdcUserLogoutField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+};
+
+///ǿƽԱ˳
+struct CThostFtdcForceUserLogoutField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+};
+
+///ͻ֤
+struct CThostFtdcReqAuthenticateField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///û˲ƷϢ
+ TThostFtdcProductInfoType UserProductInfo;
+ ///֤
+ TThostFtdcAuthCodeType AuthCode;
+};
+
+///ͻ֤Ӧ
+struct CThostFtdcRspAuthenticateField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///û˲ƷϢ
+ TThostFtdcProductInfoType UserProductInfo;
+};
+
+///ͻ֤Ϣ
+struct CThostFtdcAuthenticationInfoField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///û˲ƷϢ
+ TThostFtdcProductInfoType UserProductInfo;
+ ///֤Ϣ
+ TThostFtdcAuthInfoType AuthInfo;
+ ///ǷΪ֤
+ TThostFtdcBoolType IsResult;
+};
+
+///תʱͷ
+struct CThostFtdcTransferHeaderField
+{
+ ///汾ţ1.0
+ TThostFtdcVersionType Version;
+ ///״룬
+ TThostFtdcTradeCodeType TradeCode;
+ ///ڣʽyyyymmdd
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ䣬ʽhhmmss
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮţN/A
+ TThostFtdcTradeSerialType TradeSerial;
+ ///ڻ˾룬
+ TThostFtdcFutureIDType FutureID;
+ ///д룬ݲѯеõ
+ TThostFtdcBankIDType BankID;
+ ///зĴ룬ݲѯеõ
+ TThostFtdcBankBrchIDType BankBrchID;
+ ///ԱN/A
+ TThostFtdcOperNoType OperNo;
+ ///豸ͣN/A
+ TThostFtdcDeviceIDType DeviceID;
+ ///¼N/A
+ TThostFtdcRecordNumType RecordNum;
+ ///ỰţN/A
+ TThostFtdcSessionIDType SessionID;
+ ///ţN/A
+ TThostFtdcRequestIDType RequestID;
+};
+
+///ʽתڻTradeCode=202001
+struct CThostFtdcTransferBankToFutureReqField
+{
+ ///ڻʽ˻
+ TThostFtdcAccountIDType FutureAccount;
+ ///־
+ TThostFtdcFuturePwdFlagType FuturePwdFlag;
+ ///
+ TThostFtdcFutureAccPwdType FutureAccPwd;
+ ///ת˽
+ TThostFtdcMoneyType TradeAmt;
+ ///ͻ
+ TThostFtdcMoneyType CustFee;
+ ///֣RMB- USD-Բ HKD-Ԫ
+ TThostFtdcCurrencyCodeType CurrencyCode;
+};
+
+///ʽתڻӦ
+struct CThostFtdcTransferBankToFutureRspField
+{
+ ///Ӧ
+ TThostFtdcRetCodeType RetCode;
+ ///ӦϢ
+ TThostFtdcRetInfoType RetInfo;
+ ///ʽ˻
+ TThostFtdcAccountIDType FutureAccount;
+ ///תʽ
+ TThostFtdcMoneyType TradeAmt;
+ ///Ӧտͻ
+ TThostFtdcMoneyType CustFee;
+ ///
+ TThostFtdcCurrencyCodeType CurrencyCode;
+};
+
+///ڻʽתTradeCode=202002
+struct CThostFtdcTransferFutureToBankReqField
+{
+ ///ڻʽ˻
+ TThostFtdcAccountIDType FutureAccount;
+ ///־
+ TThostFtdcFuturePwdFlagType FuturePwdFlag;
+ ///
+ TThostFtdcFutureAccPwdType FutureAccPwd;
+ ///ת˽
+ TThostFtdcMoneyType TradeAmt;
+ ///ͻ
+ TThostFtdcMoneyType CustFee;
+ ///֣RMB- USD-Բ HKD-Ԫ
+ TThostFtdcCurrencyCodeType CurrencyCode;
+};
+
+///ڻʽתӦ
+struct CThostFtdcTransferFutureToBankRspField
+{
+ ///Ӧ
+ TThostFtdcRetCodeType RetCode;
+ ///ӦϢ
+ TThostFtdcRetInfoType RetInfo;
+ ///ʽ˻
+ TThostFtdcAccountIDType FutureAccount;
+ ///תʽ
+ TThostFtdcMoneyType TradeAmt;
+ ///Ӧտͻ
+ TThostFtdcMoneyType CustFee;
+ ///
+ TThostFtdcCurrencyCodeType CurrencyCode;
+};
+
+///ѯʽTradeCode=204002
+struct CThostFtdcTransferQryBankReqField
+{
+ ///ڻʽ˻
+ TThostFtdcAccountIDType FutureAccount;
+ ///־
+ TThostFtdcFuturePwdFlagType FuturePwdFlag;
+ ///
+ TThostFtdcFutureAccPwdType FutureAccPwd;
+ ///֣RMB- USD-Բ HKD-Ԫ
+ TThostFtdcCurrencyCodeType CurrencyCode;
+};
+
+///ѯʽӦ
+struct CThostFtdcTransferQryBankRspField
+{
+ ///Ӧ
+ TThostFtdcRetCodeType RetCode;
+ ///ӦϢ
+ TThostFtdcRetInfoType RetInfo;
+ ///ʽ˻
+ TThostFtdcAccountIDType FutureAccount;
+ ///
+ TThostFtdcMoneyType TradeAmt;
+ ///п
+ TThostFtdcMoneyType UseAmt;
+ ///пȡ
+ TThostFtdcMoneyType FetchAmt;
+ ///
+ TThostFtdcCurrencyCodeType CurrencyCode;
+};
+
+///ѯнϸTradeCode=204999
+struct CThostFtdcTransferQryDetailReqField
+{
+ ///ڻʽ˻
+ TThostFtdcAccountIDType FutureAccount;
+};
+
+///ѯнϸӦ
+struct CThostFtdcTransferQryDetailRspField
+{
+ ///
+ TThostFtdcDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///״
+ TThostFtdcTradeCodeType TradeCode;
+ ///ڻˮ
+ TThostFtdcTradeSerialNoType FutureSerial;
+ ///ڻ˾
+ TThostFtdcFutureIDType FutureID;
+ ///ʽʺ
+ TThostFtdcFutureAccountType FutureAccount;
+ ///ˮ
+ TThostFtdcTradeSerialNoType BankSerial;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///зĴ
+ TThostFtdcBankBrchIDType BankBrchID;
+ ///˺
+ TThostFtdcBankAccountType BankAccount;
+ ///֤
+ TThostFtdcCertCodeType CertCode;
+ ///Ҵ
+ TThostFtdcCurrencyCodeType CurrencyCode;
+ ///
+ TThostFtdcMoneyType TxAmount;
+ ///Ч־
+ TThostFtdcTransferValidFlagType Flag;
+};
+
+///ӦϢ
+struct CThostFtdcRspInfoField
+{
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+};
+
+///
+struct CThostFtdcExchangeField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcExchangeNameType ExchangeName;
+ ///
+ TThostFtdcExchangePropertyType ExchangeProperty;
+};
+
+///Ʒ
+struct CThostFtdcProductField
+{
+ ///Ʒ
+ TThostFtdcInstrumentIDType ProductID;
+ ///Ʒ
+ TThostFtdcProductNameType ProductName;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ʒ
+ TThostFtdcProductClassType ProductClass;
+ ///Լ
+ TThostFtdcVolumeMultipleType VolumeMultiple;
+ ///С䶯λ
+ TThostFtdcPriceType PriceTick;
+ ///м۵µ
+ TThostFtdcVolumeType MaxMarketOrderVolume;
+ ///м۵Сµ
+ TThostFtdcVolumeType MinMarketOrderVolume;
+ ///۵µ
+ TThostFtdcVolumeType MaxLimitOrderVolume;
+ ///۵Сµ
+ TThostFtdcVolumeType MinLimitOrderVolume;
+ ///ֲ
+ TThostFtdcPositionTypeType PositionType;
+ ///ֲ
+ TThostFtdcPositionDateTypeType PositionDateType;
+ ///ƽִ
+ TThostFtdcCloseDealTypeType CloseDealType;
+ ///ױ
+ TThostFtdcCurrencyIDType TradeCurrencyID;
+ ///Ѻʽ÷Χ
+ TThostFtdcMortgageFundUseRangeType MortgageFundUseRange;
+ ///Ʒ
+ TThostFtdcInstrumentIDType ExchangeProductID;
+ ///ԼƷ
+ TThostFtdcUnderlyingMultipleType UnderlyingMultiple;
+};
+
+///Լ
+struct CThostFtdcInstrumentField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Լ
+ TThostFtdcInstrumentNameType InstrumentName;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///Ʒ
+ TThostFtdcInstrumentIDType ProductID;
+ ///Ʒ
+ TThostFtdcProductClassType ProductClass;
+ ///
+ TThostFtdcYearType DeliveryYear;
+ ///
+ TThostFtdcMonthType DeliveryMonth;
+ ///м۵µ
+ TThostFtdcVolumeType MaxMarketOrderVolume;
+ ///м۵Сµ
+ TThostFtdcVolumeType MinMarketOrderVolume;
+ ///۵µ
+ TThostFtdcVolumeType MaxLimitOrderVolume;
+ ///۵Сµ
+ TThostFtdcVolumeType MinLimitOrderVolume;
+ ///Լ
+ TThostFtdcVolumeMultipleType VolumeMultiple;
+ ///С䶯λ
+ TThostFtdcPriceType PriceTick;
+ ///
+ TThostFtdcDateType CreateDate;
+ ///
+ TThostFtdcDateType OpenDate;
+ ///
+ TThostFtdcDateType ExpireDate;
+ ///ʼ
+ TThostFtdcDateType StartDelivDate;
+ ///
+ TThostFtdcDateType EndDelivDate;
+ ///Լ״̬
+ TThostFtdcInstLifePhaseType InstLifePhase;
+ ///ǰǷ
+ TThostFtdcBoolType IsTrading;
+ ///ֲ
+ TThostFtdcPositionTypeType PositionType;
+ ///ֲ
+ TThostFtdcPositionDateTypeType PositionDateType;
+ ///ͷ֤
+ TThostFtdcRatioType LongMarginRatio;
+ ///ͷ֤
+ TThostFtdcRatioType ShortMarginRatio;
+ ///Ƿʹô֤߱㷨
+ TThostFtdcMaxMarginSideAlgorithmType MaxMarginSideAlgorithm;
+ ///Ʒ
+ TThostFtdcInstrumentIDType UnderlyingInstrID;
+ ///ִм
+ TThostFtdcPriceType StrikePrice;
+ ///Ȩ
+ TThostFtdcOptionsTypeType OptionsType;
+ ///ԼƷ
+ TThostFtdcUnderlyingMultipleType UnderlyingMultiple;
+ ///
+ TThostFtdcCombinationTypeType CombinationType;
+ ///Сµλ
+ TThostFtdcVolumeType MinBuyVolume;
+ ///Сµλ
+ TThostFtdcVolumeType MinSellVolume;
+ ///Լʶ
+ TThostFtdcInstrumentCodeType InstrumentCode;
+};
+
+///˾
+struct CThostFtdcBrokerField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///˾
+ TThostFtdcBrokerAbbrType BrokerAbbr;
+ ///˾
+ TThostFtdcBrokerNameType BrokerName;
+ ///ǷԾ
+ TThostFtdcBoolType IsActive;
+};
+
+///Ա
+struct CThostFtdcTraderField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///
+ TThostFtdcPasswordType Password;
+ ///װ
+ TThostFtdcInstallCountType InstallCount;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+};
+
+///Ͷ
+struct CThostFtdcInvestorField
+{
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷ߷
+ TThostFtdcInvestorIDType InvestorGroupID;
+ ///Ͷ
+ TThostFtdcPartyNameType InvestorName;
+ ///֤
+ TThostFtdcIdCardTypeType IdentifiedCardType;
+ ///֤
+ TThostFtdcIdentifiedCardNoType IdentifiedCardNo;
+ ///ǷԾ
+ TThostFtdcBoolType IsActive;
+ ///ϵ绰
+ TThostFtdcTelephoneType Telephone;
+ ///ͨѶַ
+ TThostFtdcAddressType Address;
+ ///
+ TThostFtdcDateType OpenDate;
+ ///ֻ
+ TThostFtdcMobileType Mobile;
+ ///ģ
+ TThostFtdcInvestorIDType CommModelID;
+ ///֤ģ
+ TThostFtdcInvestorIDType MarginModelID;
+};
+
+///ױ
+struct CThostFtdcTradingCodeField
+{
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ǷԾ
+ TThostFtdcBoolType IsActive;
+ ///ױ
+ TThostFtdcClientIDTypeType ClientIDType;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+ ///ҵ
+ TThostFtdcBizTypeType BizType;
+};
+
+///Ա;˾ձ
+struct CThostFtdcPartBrokerField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ǷԾ
+ TThostFtdcBoolType IsActive;
+};
+
+///û
+struct CThostFtdcSuperUserField
+{
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///û
+ TThostFtdcUserNameType UserName;
+ ///
+ TThostFtdcPasswordType Password;
+ ///ǷԾ
+ TThostFtdcBoolType IsActive;
+};
+
+///ûȨ
+struct CThostFtdcSuperUserFunctionField
+{
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///ܴ
+ TThostFtdcFunctionCodeType FunctionCode;
+};
+
+///Ͷ
+struct CThostFtdcInvestorGroupField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷ߷
+ TThostFtdcInvestorIDType InvestorGroupID;
+ ///Ͷ߷
+ TThostFtdcInvestorGroupNameType InvestorGroupName;
+};
+
+///ʽ˻
+struct CThostFtdcTradingAccountField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ϴѺ
+ TThostFtdcMoneyType PreMortgage;
+ ///ϴö
+ TThostFtdcMoneyType PreCredit;
+ ///ϴδ
+ TThostFtdcMoneyType PreDeposit;
+ ///ϴν
+ TThostFtdcMoneyType PreBalance;
+ ///ϴռõı֤
+ TThostFtdcMoneyType PreMargin;
+ ///Ϣ
+ TThostFtdcMoneyType InterestBase;
+ ///Ϣ
+ TThostFtdcMoneyType Interest;
+ ///
+ TThostFtdcMoneyType Deposit;
+ ///
+ TThostFtdcMoneyType Withdraw;
+ ///ı֤
+ TThostFtdcMoneyType FrozenMargin;
+ ///ʽ
+ TThostFtdcMoneyType FrozenCash;
+ ///
+ TThostFtdcMoneyType FrozenCommission;
+ ///ǰ֤ܶ
+ TThostFtdcMoneyType CurrMargin;
+ ///ʽ
+ TThostFtdcMoneyType CashIn;
+ ///
+ TThostFtdcMoneyType Commission;
+ ///ƽӯ
+ TThostFtdcMoneyType CloseProfit;
+ ///ֲӯ
+ TThostFtdcMoneyType PositionProfit;
+ ///ڻ
+ TThostFtdcMoneyType Balance;
+ ///ʽ
+ TThostFtdcMoneyType Available;
+ ///ȡʽ
+ TThostFtdcMoneyType WithdrawQuota;
+ ///
+ TThostFtdcMoneyType Reserve;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///ö
+ TThostFtdcMoneyType Credit;
+ ///Ѻ
+ TThostFtdcMoneyType Mortgage;
+ ///֤
+ TThostFtdcMoneyType ExchangeMargin;
+ ///Ͷ߽֤
+ TThostFtdcMoneyType DeliveryMargin;
+ ///֤
+ TThostFtdcMoneyType ExchangeDeliveryMargin;
+ ///ڻ
+ TThostFtdcMoneyType ReserveBalance;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///ϴλ
+ TThostFtdcMoneyType PreFundMortgageIn;
+ ///ϴλʳ
+ TThostFtdcMoneyType PreFundMortgageOut;
+ ///
+ TThostFtdcMoneyType FundMortgageIn;
+ ///ʳ
+ TThostFtdcMoneyType FundMortgageOut;
+ ///Ѻ
+ TThostFtdcMoneyType FundMortgageAvailable;
+ ///Ѻҽ
+ TThostFtdcMoneyType MortgageableFund;
+ ///Ʒռñ֤
+ TThostFtdcMoneyType SpecProductMargin;
+ ///Ʒᱣ֤
+ TThostFtdcMoneyType SpecProductFrozenMargin;
+ ///Ʒ
+ TThostFtdcMoneyType SpecProductCommission;
+ ///Ʒ
+ TThostFtdcMoneyType SpecProductFrozenCommission;
+ ///Ʒֲӯ
+ TThostFtdcMoneyType SpecProductPositionProfit;
+ ///Ʒƽӯ
+ TThostFtdcMoneyType SpecProductCloseProfit;
+ ///ݳֲӯ㷨Ʒֲӯ
+ TThostFtdcMoneyType SpecProductPositionProfitByAlg;
+ ///Ʒ֤
+ TThostFtdcMoneyType SpecProductExchangeMargin;
+ ///ҵ
+ TThostFtdcBizTypeType BizType;
+};
+
+///Ͷֲ߳
+struct CThostFtdcInvestorPositionField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ֲֶշ
+ TThostFtdcPosiDirectionType PosiDirection;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///ֲ
+ TThostFtdcPositionDateType PositionDate;
+ ///ճֲ
+ TThostFtdcVolumeType YdPosition;
+ ///ճֲ
+ TThostFtdcVolumeType Position;
+ ///ͷ
+ TThostFtdcVolumeType LongFrozen;
+ ///ͷ
+ TThostFtdcVolumeType ShortFrozen;
+ ///ֶ
+ TThostFtdcMoneyType LongFrozenAmount;
+ ///ֶ
+ TThostFtdcMoneyType ShortFrozenAmount;
+ ///
+ TThostFtdcVolumeType OpenVolume;
+ ///ƽ
+ TThostFtdcVolumeType CloseVolume;
+ ///ֽ
+ TThostFtdcMoneyType OpenAmount;
+ ///ƽֽ
+ TThostFtdcMoneyType CloseAmount;
+ ///ֲֳɱ
+ TThostFtdcMoneyType PositionCost;
+ ///ϴռõı֤
+ TThostFtdcMoneyType PreMargin;
+ ///ռõı֤
+ TThostFtdcMoneyType UseMargin;
+ ///ı֤
+ TThostFtdcMoneyType FrozenMargin;
+ ///ʽ
+ TThostFtdcMoneyType FrozenCash;
+ ///
+ TThostFtdcMoneyType FrozenCommission;
+ ///ʽ
+ TThostFtdcMoneyType CashIn;
+ ///
+ TThostFtdcMoneyType Commission;
+ ///ƽӯ
+ TThostFtdcMoneyType CloseProfit;
+ ///ֲӯ
+ TThostFtdcMoneyType PositionProfit;
+ ///ϴν
+ TThostFtdcPriceType PreSettlementPrice;
+ ///ν
+ TThostFtdcPriceType SettlementPrice;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///ֳɱ
+ TThostFtdcMoneyType OpenCost;
+ ///֤
+ TThostFtdcMoneyType ExchangeMargin;
+ ///ϳɽγɵijֲ
+ TThostFtdcVolumeType CombPosition;
+ ///϶ͷ
+ TThostFtdcVolumeType CombLongFrozen;
+ ///Ͽͷ
+ TThostFtdcVolumeType CombShortFrozen;
+ ///նƽӯ
+ TThostFtdcMoneyType CloseProfitByDate;
+ ///ʶԳƽӯ
+ TThostFtdcMoneyType CloseProfitByTrade;
+ ///ճֲ
+ TThostFtdcVolumeType TodayPosition;
+ ///֤
+ TThostFtdcRatioType MarginRateByMoney;
+ ///֤()
+ TThostFtdcRatioType MarginRateByVolume;
+ ///ִж
+ TThostFtdcVolumeType StrikeFrozen;
+ ///ִж
+ TThostFtdcMoneyType StrikeFrozenAmount;
+ ///ִж
+ TThostFtdcVolumeType AbandonFrozen;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ִж
+ TThostFtdcVolumeType YdStrikeFrozen;
+};
+
+///Լ֤
+struct CThostFtdcInstrumentMarginRateField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷ߷Χ
+ TThostFtdcInvestorRangeType InvestorRange;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///ͷ֤
+ TThostFtdcRatioType LongMarginRatioByMoney;
+ ///ͷ֤
+ TThostFtdcMoneyType LongMarginRatioByVolume;
+ ///ͷ֤
+ TThostFtdcRatioType ShortMarginRatioByMoney;
+ ///ͷ֤
+ TThostFtdcMoneyType ShortMarginRatioByVolume;
+ ///ǷԽȡ
+ TThostFtdcBoolType IsRelative;
+};
+
+///Լ
+struct CThostFtdcInstrumentCommissionRateField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷ߷Χ
+ TThostFtdcInvestorRangeType InvestorRange;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcRatioType OpenRatioByMoney;
+ ///
+ TThostFtdcRatioType OpenRatioByVolume;
+ ///ƽ
+ TThostFtdcRatioType CloseRatioByMoney;
+ ///ƽ
+ TThostFtdcRatioType CloseRatioByVolume;
+ ///ƽ
+ TThostFtdcRatioType CloseTodayRatioByMoney;
+ ///ƽ
+ TThostFtdcRatioType CloseTodayRatioByVolume;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ҵ
+ TThostFtdcBizTypeType BizType;
+};
+
+///
+struct CThostFtdcDepthMarketDataField
+{
+ ///
+ TThostFtdcDateType TradingDay;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///¼
+ TThostFtdcPriceType LastPrice;
+ ///ϴν
+ TThostFtdcPriceType PreSettlementPrice;
+ ///
+ TThostFtdcPriceType PreClosePrice;
+ ///ֲ
+ TThostFtdcLargeVolumeType PreOpenInterest;
+ ///
+ TThostFtdcPriceType OpenPrice;
+ ///
+ TThostFtdcPriceType HighestPrice;
+ ///ͼ
+ TThostFtdcPriceType LowestPrice;
+ ///
+ TThostFtdcVolumeType Volume;
+ ///ɽ
+ TThostFtdcMoneyType Turnover;
+ ///ֲ
+ TThostFtdcLargeVolumeType OpenInterest;
+ ///
+ TThostFtdcPriceType ClosePrice;
+ ///ν
+ TThostFtdcPriceType SettlementPrice;
+ ///ͣ
+ TThostFtdcPriceType UpperLimitPrice;
+ ///ͣ
+ TThostFtdcPriceType LowerLimitPrice;
+ ///ʵ
+ TThostFtdcRatioType PreDelta;
+ ///ʵ
+ TThostFtdcRatioType CurrDelta;
+ ///ʱ
+ TThostFtdcTimeType UpdateTime;
+ ///ĺ
+ TThostFtdcMillisecType UpdateMillisec;
+ ///һ
+ TThostFtdcPriceType BidPrice1;
+ ///һ
+ TThostFtdcVolumeType BidVolume1;
+ ///һ
+ TThostFtdcPriceType AskPrice1;
+ ///һ
+ TThostFtdcVolumeType AskVolume1;
+ ///۶
+ TThostFtdcPriceType BidPrice2;
+ ///
+ TThostFtdcVolumeType BidVolume2;
+ ///۶
+ TThostFtdcPriceType AskPrice2;
+ ///
+ TThostFtdcVolumeType AskVolume2;
+ ///
+ TThostFtdcPriceType BidPrice3;
+ ///
+ TThostFtdcVolumeType BidVolume3;
+ ///
+ TThostFtdcPriceType AskPrice3;
+ ///
+ TThostFtdcVolumeType AskVolume3;
+ ///
+ TThostFtdcPriceType BidPrice4;
+ ///
+ TThostFtdcVolumeType BidVolume4;
+ ///
+ TThostFtdcPriceType AskPrice4;
+ ///
+ TThostFtdcVolumeType AskVolume4;
+ ///
+ TThostFtdcPriceType BidPrice5;
+ ///
+ TThostFtdcVolumeType BidVolume5;
+ ///
+ TThostFtdcPriceType AskPrice5;
+ ///
+ TThostFtdcVolumeType AskVolume5;
+ ///վ
+ TThostFtdcPriceType AveragePrice;
+ ///ҵ
+ TThostFtdcDateType ActionDay;
+};
+
+///ͶߺԼȨ
+struct CThostFtdcInstrumentTradingRightField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷ߷Χ
+ TThostFtdcInvestorRangeType InvestorRange;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Ȩ
+ TThostFtdcTradingRightType TradingRight;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ҵ
+ TThostFtdcBizTypeType BizType;
+};
+
+///˾û
+struct CThostFtdcBrokerUserField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///û
+ TThostFtdcUserNameType UserName;
+ ///û
+ TThostFtdcUserTypeType UserType;
+ ///ǷԾ
+ TThostFtdcBoolType IsActive;
+ ///Ƿʹ
+ TThostFtdcBoolType IsUsingOTP;
+};
+
+///˾û
+struct CThostFtdcBrokerUserPasswordField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///
+ TThostFtdcPasswordType Password;
+};
+
+///˾ûȨ
+struct CThostFtdcBrokerUserFunctionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///˾ܴ
+ TThostFtdcBrokerFunctionCodeType BrokerFunctionCode;
+};
+
+///Ա̻
+struct CThostFtdcTraderOfferField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///
+ TThostFtdcPasswordType Password;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ر
+ TThostFtdcOrderLocalIDType OrderLocalID;
+ ///Ա״̬
+ TThostFtdcTraderConnectStatusType TraderConnectStatus;
+ ///
+ TThostFtdcDateType ConnectRequestDate;
+ ///ʱ
+ TThostFtdcTimeType ConnectRequestTime;
+ ///ϴα
+ TThostFtdcDateType LastReportDate;
+ ///ϴαʱ
+ TThostFtdcTimeType LastReportTime;
+ ///
+ TThostFtdcDateType ConnectDate;
+ ///ʱ
+ TThostFtdcTimeType ConnectTime;
+ ///
+ TThostFtdcDateType StartDate;
+ ///ʱ
+ TThostFtdcTimeType StartTime;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///ϯλɽ
+ TThostFtdcTradeIDType MaxTradeID;
+ ///ϯλ
+ TThostFtdcReturnCodeType MaxOrderMessageReference;
+ ///ҵ
+ TThostFtdcBizTypeType BizType;
+};
+
+///Ͷ߽
+struct CThostFtdcSettlementInfoField
+{
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcSequenceNoType SequenceNo;
+ ///Ϣ
+ TThostFtdcContentType Content;
+};
+
+///Լ֤ʵ
+struct CThostFtdcInstrumentMarginRateAdjustField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷ߷Χ
+ TThostFtdcInvestorRangeType InvestorRange;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///ͷ֤
+ TThostFtdcRatioType LongMarginRatioByMoney;
+ ///ͷ֤
+ TThostFtdcMoneyType LongMarginRatioByVolume;
+ ///ͷ֤
+ TThostFtdcRatioType ShortMarginRatioByMoney;
+ ///ͷ֤
+ TThostFtdcMoneyType ShortMarginRatioByVolume;
+ ///ǷԽȡ
+ TThostFtdcBoolType IsRelative;
+};
+
+///֤
+struct CThostFtdcExchangeMarginRateField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///ͷ֤
+ TThostFtdcRatioType LongMarginRatioByMoney;
+ ///ͷ֤
+ TThostFtdcMoneyType LongMarginRatioByVolume;
+ ///ͷ֤
+ TThostFtdcRatioType ShortMarginRatioByMoney;
+ ///ͷ֤
+ TThostFtdcMoneyType ShortMarginRatioByVolume;
+};
+
+///֤ʵ
+struct CThostFtdcExchangeMarginRateAdjustField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///潻Ͷ߶ͷ֤
+ TThostFtdcRatioType LongMarginRatioByMoney;
+ ///潻Ͷ߶ͷ֤
+ TThostFtdcMoneyType LongMarginRatioByVolume;
+ ///潻Ͷ߿ͷ֤
+ TThostFtdcRatioType ShortMarginRatioByMoney;
+ ///潻Ͷ߿ͷ֤
+ TThostFtdcMoneyType ShortMarginRatioByVolume;
+ ///ͷ֤
+ TThostFtdcRatioType ExchLongMarginRatioByMoney;
+ ///ͷ֤
+ TThostFtdcMoneyType ExchLongMarginRatioByVolume;
+ ///ͷ֤
+ TThostFtdcRatioType ExchShortMarginRatioByMoney;
+ ///ͷ֤
+ TThostFtdcMoneyType ExchShortMarginRatioByVolume;
+ ///潻Ͷ߶ͷ֤
+ TThostFtdcRatioType NoLongMarginRatioByMoney;
+ ///潻Ͷ߶ͷ֤
+ TThostFtdcMoneyType NoLongMarginRatioByVolume;
+ ///潻Ͷ߿ͷ֤
+ TThostFtdcRatioType NoShortMarginRatioByMoney;
+ ///潻Ͷ߿ͷ֤
+ TThostFtdcMoneyType NoShortMarginRatioByVolume;
+};
+
+///
+struct CThostFtdcExchangeRateField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Դ
+ TThostFtdcCurrencyIDType FromCurrencyID;
+ ///Դֵλ
+ TThostFtdcCurrencyUnitType FromCurrencyUnit;
+ ///Ŀ
+ TThostFtdcCurrencyIDType ToCurrencyID;
+ ///
+ TThostFtdcExchangeRateType ExchangeRate;
+};
+
+///
+struct CThostFtdcSettlementRefField
+{
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+};
+
+///ǰʱ
+struct CThostFtdcCurrentTimeField
+{
+ ///ǰ
+ TThostFtdcDateType CurrDate;
+ ///ǰʱ
+ TThostFtdcTimeType CurrTime;
+ ///ǰʱ䣨룩
+ TThostFtdcMillisecType CurrMillisec;
+ ///ҵ
+ TThostFtdcDateType ActionDay;
+};
+
+///ͨѶ
+struct CThostFtdcCommPhaseField
+{
+ ///
+ TThostFtdcDateType TradingDay;
+ ///ͨѶʱα
+ TThostFtdcCommPhaseNoType CommPhaseNo;
+ ///ϵͳ
+ TThostFtdcSystemIDType SystemID;
+};
+
+///¼Ϣ
+struct CThostFtdcLoginInfoField
+{
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///¼
+ TThostFtdcDateType LoginDate;
+ ///¼ʱ
+ TThostFtdcTimeType LoginTime;
+ ///IPַ
+ TThostFtdcIPAddressType IPAddress;
+ ///û˲ƷϢ
+ TThostFtdcProductInfoType UserProductInfo;
+ ///ӿڶ˲ƷϢ
+ TThostFtdcProductInfoType InterfaceProductInfo;
+ ///ЭϢ
+ TThostFtdcProtocolInfoType ProtocolInfo;
+ ///ϵͳ
+ TThostFtdcSystemNameType SystemName;
+ ///
+ TThostFtdcPasswordType Password;
+ ///
+ TThostFtdcOrderRefType MaxOrderRef;
+ ///ʱ
+ TThostFtdcTimeType SHFETime;
+ ///ʱ
+ TThostFtdcTimeType DCETime;
+ ///֣ʱ
+ TThostFtdcTimeType CZCETime;
+ ///нʱ
+ TThostFtdcTimeType FFEXTime;
+ ///Macַ
+ TThostFtdcMacAddressType MacAddress;
+ ///̬
+ TThostFtdcPasswordType OneTimePassword;
+ ///Դʱ
+ TThostFtdcTimeType INETime;
+};
+
+///¼Ϣ
+struct CThostFtdcLogoutAllField
+{
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///ϵͳ
+ TThostFtdcSystemNameType SystemName;
+};
+
+///ǰ״̬
+struct CThostFtdcFrontStatusField
+{
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///ϴα
+ TThostFtdcDateType LastReportDate;
+ ///ϴαʱ
+ TThostFtdcTimeType LastReportTime;
+ ///ǷԾ
+ TThostFtdcBoolType IsActive;
+};
+
+///û
+struct CThostFtdcUserPasswordUpdateField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///ԭĿ
+ TThostFtdcPasswordType OldPassword;
+ ///µĿ
+ TThostFtdcPasswordType NewPassword;
+};
+
+///뱨
+struct CThostFtdcInputOrderField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcOrderRefType OrderRef;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///۸
+ TThostFtdcOrderPriceTypeType OrderPriceType;
+ ///
+ TThostFtdcDirectionType Direction;
+ ///Ͽƽ־
+ TThostFtdcCombOffsetFlagType CombOffsetFlag;
+ ///Ͷױ־
+ TThostFtdcCombHedgeFlagType CombHedgeFlag;
+ ///۸
+ TThostFtdcPriceType LimitPrice;
+ ///
+ TThostFtdcVolumeType VolumeTotalOriginal;
+ ///Ч
+ TThostFtdcTimeConditionType TimeCondition;
+ ///GTD
+ TThostFtdcDateType GTDDate;
+ ///ɽ
+ TThostFtdcVolumeConditionType VolumeCondition;
+ ///Сɽ
+ TThostFtdcVolumeType MinVolume;
+ ///
+ TThostFtdcContingentConditionType ContingentCondition;
+ ///ֹ
+ TThostFtdcPriceType StopPrice;
+ ///ǿƽԭ
+ TThostFtdcForceCloseReasonType ForceCloseReason;
+ ///Զ־
+ TThostFtdcBoolType IsAutoSuspend;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ûǿ־
+ TThostFtdcBoolType UserForceClose;
+ ///־
+ TThostFtdcBoolType IsSwapOrder;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///
+struct CThostFtdcOrderField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcOrderRefType OrderRef;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///۸
+ TThostFtdcOrderPriceTypeType OrderPriceType;
+ ///
+ TThostFtdcDirectionType Direction;
+ ///Ͽƽ־
+ TThostFtdcCombOffsetFlagType CombOffsetFlag;
+ ///Ͷױ־
+ TThostFtdcCombHedgeFlagType CombHedgeFlag;
+ ///۸
+ TThostFtdcPriceType LimitPrice;
+ ///
+ TThostFtdcVolumeType VolumeTotalOriginal;
+ ///Ч
+ TThostFtdcTimeConditionType TimeCondition;
+ ///GTD
+ TThostFtdcDateType GTDDate;
+ ///ɽ
+ TThostFtdcVolumeConditionType VolumeCondition;
+ ///Сɽ
+ TThostFtdcVolumeType MinVolume;
+ ///
+ TThostFtdcContingentConditionType ContingentCondition;
+ ///ֹ
+ TThostFtdcPriceType StopPrice;
+ ///ǿƽԭ
+ TThostFtdcForceCloseReasonType ForceCloseReason;
+ ///Զ־
+ TThostFtdcBoolType IsAutoSuspend;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ر
+ TThostFtdcOrderLocalIDType OrderLocalID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ύ״̬
+ TThostFtdcOrderSubmitStatusType OrderSubmitStatus;
+ ///ʾ
+ TThostFtdcSequenceNoType NotifySequence;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///
+ TThostFtdcOrderSysIDType OrderSysID;
+ ///Դ
+ TThostFtdcOrderSourceType OrderSource;
+ ///״̬
+ TThostFtdcOrderStatusType OrderStatus;
+ ///
+ TThostFtdcOrderTypeType OrderType;
+ ///ɽ
+ TThostFtdcVolumeType VolumeTraded;
+ ///ʣ
+ TThostFtdcVolumeType VolumeTotal;
+ ///
+ TThostFtdcDateType InsertDate;
+ ///ίʱ
+ TThostFtdcTimeType InsertTime;
+ ///ʱ
+ TThostFtdcTimeType ActiveTime;
+ ///ʱ
+ TThostFtdcTimeType SuspendTime;
+ ///ʱ
+ TThostFtdcTimeType UpdateTime;
+ ///ʱ
+ TThostFtdcTimeType CancelTime;
+ ///ĽԱ
+ TThostFtdcTraderIDType ActiveTraderID;
+ ///Ա
+ TThostFtdcParticipantIDType ClearingPartID;
+ ///
+ TThostFtdcSequenceNoType SequenceNo;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///û˲ƷϢ
+ TThostFtdcProductInfoType UserProductInfo;
+ ///״̬Ϣ
+ TThostFtdcErrorMsgType StatusMsg;
+ ///ûǿ־
+ TThostFtdcBoolType UserForceClose;
+ ///û
+ TThostFtdcUserIDType ActiveUserID;
+ ///˾
+ TThostFtdcSequenceNoType BrokerOrderSeq;
+ ///ر
+ TThostFtdcOrderSysIDType RelativeOrderSysID;
+ ///֣ɽ
+ TThostFtdcVolumeType ZCETotalTradedVolume;
+ ///־
+ TThostFtdcBoolType IsSwapOrder;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+};
+
+///
+struct CThostFtdcExchangeOrderField
+{
+ ///۸
+ TThostFtdcOrderPriceTypeType OrderPriceType;
+ ///
+ TThostFtdcDirectionType Direction;
+ ///Ͽƽ־
+ TThostFtdcCombOffsetFlagType CombOffsetFlag;
+ ///Ͷױ־
+ TThostFtdcCombHedgeFlagType CombHedgeFlag;
+ ///۸
+ TThostFtdcPriceType LimitPrice;
+ ///
+ TThostFtdcVolumeType VolumeTotalOriginal;
+ ///Ч
+ TThostFtdcTimeConditionType TimeCondition;
+ ///GTD
+ TThostFtdcDateType GTDDate;
+ ///ɽ
+ TThostFtdcVolumeConditionType VolumeCondition;
+ ///Сɽ
+ TThostFtdcVolumeType MinVolume;
+ ///
+ TThostFtdcContingentConditionType ContingentCondition;
+ ///ֹ
+ TThostFtdcPriceType StopPrice;
+ ///ǿƽԭ
+ TThostFtdcForceCloseReasonType ForceCloseReason;
+ ///Զ־
+ TThostFtdcBoolType IsAutoSuspend;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ر
+ TThostFtdcOrderLocalIDType OrderLocalID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ύ״̬
+ TThostFtdcOrderSubmitStatusType OrderSubmitStatus;
+ ///ʾ
+ TThostFtdcSequenceNoType NotifySequence;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///
+ TThostFtdcOrderSysIDType OrderSysID;
+ ///Դ
+ TThostFtdcOrderSourceType OrderSource;
+ ///״̬
+ TThostFtdcOrderStatusType OrderStatus;
+ ///
+ TThostFtdcOrderTypeType OrderType;
+ ///ɽ
+ TThostFtdcVolumeType VolumeTraded;
+ ///ʣ
+ TThostFtdcVolumeType VolumeTotal;
+ ///
+ TThostFtdcDateType InsertDate;
+ ///ίʱ
+ TThostFtdcTimeType InsertTime;
+ ///ʱ
+ TThostFtdcTimeType ActiveTime;
+ ///ʱ
+ TThostFtdcTimeType SuspendTime;
+ ///ʱ
+ TThostFtdcTimeType UpdateTime;
+ ///ʱ
+ TThostFtdcTimeType CancelTime;
+ ///ĽԱ
+ TThostFtdcTraderIDType ActiveTraderID;
+ ///Ա
+ TThostFtdcParticipantIDType ClearingPartID;
+ ///
+ TThostFtdcSequenceNoType SequenceNo;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+};
+
+///ʧ
+struct CThostFtdcExchangeOrderInsertErrorField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ر
+ TThostFtdcOrderLocalIDType OrderLocalID;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+};
+
+///뱨
+struct CThostFtdcInputOrderActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcOrderActionRefType OrderActionRef;
+ ///
+ TThostFtdcOrderRefType OrderRef;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcOrderSysIDType OrderSysID;
+ ///־
+ TThostFtdcActionFlagType ActionFlag;
+ ///۸
+ TThostFtdcPriceType LimitPrice;
+ ///仯
+ TThostFtdcVolumeType VolumeChange;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+};
+
+///
+struct CThostFtdcOrderActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcOrderActionRefType OrderActionRef;
+ ///
+ TThostFtdcOrderRefType OrderRef;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcOrderSysIDType OrderSysID;
+ ///־
+ TThostFtdcActionFlagType ActionFlag;
+ ///۸
+ TThostFtdcPriceType LimitPrice;
+ ///仯
+ TThostFtdcVolumeType VolumeChange;
+ ///
+ TThostFtdcDateType ActionDate;
+ ///ʱ
+ TThostFtdcTimeType ActionTime;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ر
+ TThostFtdcOrderLocalIDType OrderLocalID;
+ ///ر
+ TThostFtdcOrderLocalIDType ActionLocalID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///״̬
+ TThostFtdcOrderActionStatusType OrderActionStatus;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///״̬Ϣ
+ TThostFtdcErrorMsgType StatusMsg;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+};
+
+///
+struct CThostFtdcExchangeOrderActionField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcOrderSysIDType OrderSysID;
+ ///־
+ TThostFtdcActionFlagType ActionFlag;
+ ///۸
+ TThostFtdcPriceType LimitPrice;
+ ///仯
+ TThostFtdcVolumeType VolumeChange;
+ ///
+ TThostFtdcDateType ActionDate;
+ ///ʱ
+ TThostFtdcTimeType ActionTime;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ر
+ TThostFtdcOrderLocalIDType OrderLocalID;
+ ///ر
+ TThostFtdcOrderLocalIDType ActionLocalID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///״̬
+ TThostFtdcOrderActionStatusType OrderActionStatus;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+};
+
+///ʧ
+struct CThostFtdcExchangeOrderActionErrorField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcOrderSysIDType OrderSysID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ر
+ TThostFtdcOrderLocalIDType OrderLocalID;
+ ///ر
+ TThostFtdcOrderLocalIDType ActionLocalID;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+};
+
+///ɽ
+struct CThostFtdcExchangeTradeField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ɽ
+ TThostFtdcTradeIDType TradeID;
+ ///
+ TThostFtdcDirectionType Direction;
+ ///
+ TThostFtdcOrderSysIDType OrderSysID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ɫ
+ TThostFtdcTradingRoleType TradingRole;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///ƽ־
+ TThostFtdcOffsetFlagType OffsetFlag;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///۸
+ TThostFtdcPriceType Price;
+ ///
+ TThostFtdcVolumeType Volume;
+ ///ɽʱ
+ TThostFtdcDateType TradeDate;
+ ///ɽʱ
+ TThostFtdcTimeType TradeTime;
+ ///ɽ
+ TThostFtdcTradeTypeType TradeType;
+ ///ɽԴ
+ TThostFtdcPriceSourceType PriceSource;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///ر
+ TThostFtdcOrderLocalIDType OrderLocalID;
+ ///Ա
+ TThostFtdcParticipantIDType ClearingPartID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///
+ TThostFtdcSequenceNoType SequenceNo;
+ ///ɽԴ
+ TThostFtdcTradeSourceType TradeSource;
+};
+
+///ɽ
+struct CThostFtdcTradeField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcOrderRefType OrderRef;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ɽ
+ TThostFtdcTradeIDType TradeID;
+ ///
+ TThostFtdcDirectionType Direction;
+ ///
+ TThostFtdcOrderSysIDType OrderSysID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ɫ
+ TThostFtdcTradingRoleType TradingRole;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///ƽ־
+ TThostFtdcOffsetFlagType OffsetFlag;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///۸
+ TThostFtdcPriceType Price;
+ ///
+ TThostFtdcVolumeType Volume;
+ ///ɽʱ
+ TThostFtdcDateType TradeDate;
+ ///ɽʱ
+ TThostFtdcTimeType TradeTime;
+ ///ɽ
+ TThostFtdcTradeTypeType TradeType;
+ ///ɽԴ
+ TThostFtdcPriceSourceType PriceSource;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///ر
+ TThostFtdcOrderLocalIDType OrderLocalID;
+ ///Ա
+ TThostFtdcParticipantIDType ClearingPartID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///
+ TThostFtdcSequenceNoType SequenceNo;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///˾
+ TThostFtdcSequenceNoType BrokerOrderSeq;
+ ///ɽԴ
+ TThostFtdcTradeSourceType TradeSource;
+};
+
+///ûỰ
+struct CThostFtdcUserSessionField
+{
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///¼
+ TThostFtdcDateType LoginDate;
+ ///¼ʱ
+ TThostFtdcTimeType LoginTime;
+ ///IPַ
+ TThostFtdcIPAddressType IPAddress;
+ ///û˲ƷϢ
+ TThostFtdcProductInfoType UserProductInfo;
+ ///ӿڶ˲ƷϢ
+ TThostFtdcProductInfoType InterfaceProductInfo;
+ ///ЭϢ
+ TThostFtdcProtocolInfoType ProtocolInfo;
+ ///Macַ
+ TThostFtdcMacAddressType MacAddress;
+};
+
+///ѯ
+struct CThostFtdcQueryMaxOrderVolumeField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcDirectionType Direction;
+ ///ƽ־
+ TThostFtdcOffsetFlagType OffsetFlag;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///
+ TThostFtdcVolumeType MaxVolume;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///Ͷ߽ȷϢ
+struct CThostFtdcSettlementInfoConfirmField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ȷ
+ TThostFtdcDateType ConfirmDate;
+ ///ȷʱ
+ TThostFtdcTimeType ConfirmTime;
+};
+
+///ͬ
+struct CThostFtdcSyncDepositField
+{
+ ///ˮ
+ TThostFtdcDepositSeqNoType DepositSeqNo;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcMoneyType Deposit;
+ ///Ƿǿƽ
+ TThostFtdcBoolType IsForce;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+};
+
+///Ѻͬ
+struct CThostFtdcSyncFundMortgageField
+{
+ ///Ѻˮ
+ TThostFtdcDepositSeqNoType MortgageSeqNo;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Դ
+ TThostFtdcCurrencyIDType FromCurrencyID;
+ ///Ѻ
+ TThostFtdcMoneyType MortgageAmount;
+ ///Ŀ
+ TThostFtdcCurrencyIDType ToCurrencyID;
+};
+
+///˾ͬ
+struct CThostFtdcBrokerSyncField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+};
+
+///ͬеͶ
+struct CThostFtdcSyncingInvestorField
+{
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷ߷
+ TThostFtdcInvestorIDType InvestorGroupID;
+ ///Ͷ
+ TThostFtdcPartyNameType InvestorName;
+ ///֤
+ TThostFtdcIdCardTypeType IdentifiedCardType;
+ ///֤
+ TThostFtdcIdentifiedCardNoType IdentifiedCardNo;
+ ///ǷԾ
+ TThostFtdcBoolType IsActive;
+ ///ϵ绰
+ TThostFtdcTelephoneType Telephone;
+ ///ͨѶַ
+ TThostFtdcAddressType Address;
+ ///
+ TThostFtdcDateType OpenDate;
+ ///ֻ
+ TThostFtdcMobileType Mobile;
+ ///ģ
+ TThostFtdcInvestorIDType CommModelID;
+ ///֤ģ
+ TThostFtdcInvestorIDType MarginModelID;
+};
+
+///ͬеĽ״
+struct CThostFtdcSyncingTradingCodeField
+{
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ǷԾ
+ TThostFtdcBoolType IsActive;
+ ///ױ
+ TThostFtdcClientIDTypeType ClientIDType;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+};
+
+///ͬеͶ߷
+struct CThostFtdcSyncingInvestorGroupField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷ߷
+ TThostFtdcInvestorIDType InvestorGroupID;
+ ///Ͷ߷
+ TThostFtdcInvestorGroupNameType InvestorGroupName;
+};
+
+///ͬеĽ˺
+struct CThostFtdcSyncingTradingAccountField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ϴѺ
+ TThostFtdcMoneyType PreMortgage;
+ ///ϴö
+ TThostFtdcMoneyType PreCredit;
+ ///ϴδ
+ TThostFtdcMoneyType PreDeposit;
+ ///ϴν
+ TThostFtdcMoneyType PreBalance;
+ ///ϴռõı֤
+ TThostFtdcMoneyType PreMargin;
+ ///Ϣ
+ TThostFtdcMoneyType InterestBase;
+ ///Ϣ
+ TThostFtdcMoneyType Interest;
+ ///
+ TThostFtdcMoneyType Deposit;
+ ///
+ TThostFtdcMoneyType Withdraw;
+ ///ı֤
+ TThostFtdcMoneyType FrozenMargin;
+ ///ʽ
+ TThostFtdcMoneyType FrozenCash;
+ ///
+ TThostFtdcMoneyType FrozenCommission;
+ ///ǰ֤ܶ
+ TThostFtdcMoneyType CurrMargin;
+ ///ʽ
+ TThostFtdcMoneyType CashIn;
+ ///
+ TThostFtdcMoneyType Commission;
+ ///ƽӯ
+ TThostFtdcMoneyType CloseProfit;
+ ///ֲӯ
+ TThostFtdcMoneyType PositionProfit;
+ ///ڻ
+ TThostFtdcMoneyType Balance;
+ ///ʽ
+ TThostFtdcMoneyType Available;
+ ///ȡʽ
+ TThostFtdcMoneyType WithdrawQuota;
+ ///
+ TThostFtdcMoneyType Reserve;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///ö
+ TThostFtdcMoneyType Credit;
+ ///Ѻ
+ TThostFtdcMoneyType Mortgage;
+ ///֤
+ TThostFtdcMoneyType ExchangeMargin;
+ ///Ͷ߽֤
+ TThostFtdcMoneyType DeliveryMargin;
+ ///֤
+ TThostFtdcMoneyType ExchangeDeliveryMargin;
+ ///ڻ
+ TThostFtdcMoneyType ReserveBalance;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///ϴλ
+ TThostFtdcMoneyType PreFundMortgageIn;
+ ///ϴλʳ
+ TThostFtdcMoneyType PreFundMortgageOut;
+ ///
+ TThostFtdcMoneyType FundMortgageIn;
+ ///ʳ
+ TThostFtdcMoneyType FundMortgageOut;
+ ///Ѻ
+ TThostFtdcMoneyType FundMortgageAvailable;
+ ///Ѻҽ
+ TThostFtdcMoneyType MortgageableFund;
+ ///Ʒռñ֤
+ TThostFtdcMoneyType SpecProductMargin;
+ ///Ʒᱣ֤
+ TThostFtdcMoneyType SpecProductFrozenMargin;
+ ///Ʒ
+ TThostFtdcMoneyType SpecProductCommission;
+ ///Ʒ
+ TThostFtdcMoneyType SpecProductFrozenCommission;
+ ///Ʒֲӯ
+ TThostFtdcMoneyType SpecProductPositionProfit;
+ ///Ʒƽӯ
+ TThostFtdcMoneyType SpecProductCloseProfit;
+ ///ݳֲӯ㷨Ʒֲӯ
+ TThostFtdcMoneyType SpecProductPositionProfitByAlg;
+ ///Ʒ֤
+ TThostFtdcMoneyType SpecProductExchangeMargin;
+};
+
+///ͬеͶֲ߳
+struct CThostFtdcSyncingInvestorPositionField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ֲֶշ
+ TThostFtdcPosiDirectionType PosiDirection;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///ֲ
+ TThostFtdcPositionDateType PositionDate;
+ ///ճֲ
+ TThostFtdcVolumeType YdPosition;
+ ///ճֲ
+ TThostFtdcVolumeType Position;
+ ///ͷ
+ TThostFtdcVolumeType LongFrozen;
+ ///ͷ
+ TThostFtdcVolumeType ShortFrozen;
+ ///ֶ
+ TThostFtdcMoneyType LongFrozenAmount;
+ ///ֶ
+ TThostFtdcMoneyType ShortFrozenAmount;
+ ///
+ TThostFtdcVolumeType OpenVolume;
+ ///ƽ
+ TThostFtdcVolumeType CloseVolume;
+ ///ֽ
+ TThostFtdcMoneyType OpenAmount;
+ ///ƽֽ
+ TThostFtdcMoneyType CloseAmount;
+ ///ֲֳɱ
+ TThostFtdcMoneyType PositionCost;
+ ///ϴռõı֤
+ TThostFtdcMoneyType PreMargin;
+ ///ռõı֤
+ TThostFtdcMoneyType UseMargin;
+ ///ı֤
+ TThostFtdcMoneyType FrozenMargin;
+ ///ʽ
+ TThostFtdcMoneyType FrozenCash;
+ ///
+ TThostFtdcMoneyType FrozenCommission;
+ ///ʽ
+ TThostFtdcMoneyType CashIn;
+ ///
+ TThostFtdcMoneyType Commission;
+ ///ƽӯ
+ TThostFtdcMoneyType CloseProfit;
+ ///ֲӯ
+ TThostFtdcMoneyType PositionProfit;
+ ///ϴν
+ TThostFtdcPriceType PreSettlementPrice;
+ ///ν
+ TThostFtdcPriceType SettlementPrice;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///ֳɱ
+ TThostFtdcMoneyType OpenCost;
+ ///֤
+ TThostFtdcMoneyType ExchangeMargin;
+ ///ϳɽγɵijֲ
+ TThostFtdcVolumeType CombPosition;
+ ///϶ͷ
+ TThostFtdcVolumeType CombLongFrozen;
+ ///Ͽͷ
+ TThostFtdcVolumeType CombShortFrozen;
+ ///նƽӯ
+ TThostFtdcMoneyType CloseProfitByDate;
+ ///ʶԳƽӯ
+ TThostFtdcMoneyType CloseProfitByTrade;
+ ///ճֲ
+ TThostFtdcVolumeType TodayPosition;
+ ///֤
+ TThostFtdcRatioType MarginRateByMoney;
+ ///֤()
+ TThostFtdcRatioType MarginRateByVolume;
+ ///ִж
+ TThostFtdcVolumeType StrikeFrozen;
+ ///ִж
+ TThostFtdcMoneyType StrikeFrozenAmount;
+ ///ִж
+ TThostFtdcVolumeType AbandonFrozen;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ִж
+ TThostFtdcVolumeType YdStrikeFrozen;
+};
+
+///ͬеĺԼ֤
+struct CThostFtdcSyncingInstrumentMarginRateField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷ߷Χ
+ TThostFtdcInvestorRangeType InvestorRange;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///ͷ֤
+ TThostFtdcRatioType LongMarginRatioByMoney;
+ ///ͷ֤
+ TThostFtdcMoneyType LongMarginRatioByVolume;
+ ///ͷ֤
+ TThostFtdcRatioType ShortMarginRatioByMoney;
+ ///ͷ֤
+ TThostFtdcMoneyType ShortMarginRatioByVolume;
+ ///ǷԽȡ
+ TThostFtdcBoolType IsRelative;
+};
+
+///ͬеĺԼ
+struct CThostFtdcSyncingInstrumentCommissionRateField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷ߷Χ
+ TThostFtdcInvestorRangeType InvestorRange;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcRatioType OpenRatioByMoney;
+ ///
+ TThostFtdcRatioType OpenRatioByVolume;
+ ///ƽ
+ TThostFtdcRatioType CloseRatioByMoney;
+ ///ƽ
+ TThostFtdcRatioType CloseRatioByVolume;
+ ///ƽ
+ TThostFtdcRatioType CloseTodayRatioByMoney;
+ ///ƽ
+ TThostFtdcRatioType CloseTodayRatioByVolume;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ͬеĺԼȨ
+struct CThostFtdcSyncingInstrumentTradingRightField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷ߷Χ
+ TThostFtdcInvestorRangeType InvestorRange;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Ȩ
+ TThostFtdcTradingRightType TradingRight;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ѯ
+struct CThostFtdcQryOrderField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcOrderSysIDType OrderSysID;
+ ///ʼʱ
+ TThostFtdcTimeType InsertTimeStart;
+ ///ʱ
+ TThostFtdcTimeType InsertTimeEnd;
+};
+
+///ѯɽ
+struct CThostFtdcQryTradeField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ɽ
+ TThostFtdcTradeIDType TradeID;
+ ///ʼʱ
+ TThostFtdcTimeType TradeTimeStart;
+ ///ʱ
+ TThostFtdcTimeType TradeTimeEnd;
+};
+
+///ѯͶֲ߳
+struct CThostFtdcQryInvestorPositionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ѯʽ˻
+struct CThostFtdcQryTradingAccountField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///ҵ
+ TThostFtdcBizTypeType BizType;
+};
+
+///ѯͶ
+struct CThostFtdcQryInvestorField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+};
+
+///ѯױ
+struct CThostFtdcQryTradingCodeField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ױ
+ TThostFtdcClientIDTypeType ClientIDType;
+};
+
+///ѯͶ
+struct CThostFtdcQryInvestorGroupField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+};
+
+///ѯԼ֤
+struct CThostFtdcQryInstrumentMarginRateField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+};
+
+///ѯ
+struct CThostFtdcQryInstrumentCommissionRateField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ѯԼȨ
+struct CThostFtdcQryInstrumentTradingRightField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ѯ˾
+struct CThostFtdcQryBrokerField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+};
+
+///ѯԱ
+struct CThostFtdcQryTraderField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+};
+
+///ѯûȨ
+struct CThostFtdcQrySuperUserFunctionField
+{
+ ///û
+ TThostFtdcUserIDType UserID;
+};
+
+///ѯûỰ
+struct CThostFtdcQryUserSessionField
+{
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+};
+
+///ѯ˾Ա
+struct CThostFtdcQryPartBrokerField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+};
+
+///ѯǰ״̬
+struct CThostFtdcQryFrontStatusField
+{
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+};
+
+///ѯ
+struct CThostFtdcQryExchangeOrderField
+{
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+};
+
+///ѯ
+struct CThostFtdcQryOrderActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ѯ
+struct CThostFtdcQryExchangeOrderActionField
+{
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+};
+
+///ѯû
+struct CThostFtdcQrySuperUserField
+{
+ ///û
+ TThostFtdcUserIDType UserID;
+};
+
+///ѯ
+struct CThostFtdcQryExchangeField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ѯƷ
+struct CThostFtdcQryProductField
+{
+ ///Ʒ
+ TThostFtdcInstrumentIDType ProductID;
+ ///Ʒ
+ TThostFtdcProductClassType ProductClass;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ѯԼ
+struct CThostFtdcQryInstrumentField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///Ʒ
+ TThostFtdcInstrumentIDType ProductID;
+};
+
+///ѯ
+struct CThostFtdcQryDepthMarketDataField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ѯ˾û
+struct CThostFtdcQryBrokerUserField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+};
+
+///ѯ˾ûȨ
+struct CThostFtdcQryBrokerUserFunctionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+};
+
+///ѯԱ̻
+struct CThostFtdcQryTraderOfferField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+};
+
+///ѯˮ
+struct CThostFtdcQrySyncDepositField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///ˮ
+ TThostFtdcDepositSeqNoType DepositSeqNo;
+};
+
+///ѯͶ߽
+struct CThostFtdcQrySettlementInfoField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcDateType TradingDay;
+};
+
+///ѯ֤
+struct CThostFtdcQryExchangeMarginRateField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+};
+
+///ѯ֤
+struct CThostFtdcQryExchangeMarginRateAdjustField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+};
+
+///ѯ
+struct CThostFtdcQryExchangeRateField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Դ
+ TThostFtdcCurrencyIDType FromCurrencyID;
+ ///Ŀ
+ TThostFtdcCurrencyIDType ToCurrencyID;
+};
+
+///ѯѺˮ
+struct CThostFtdcQrySyncFundMortgageField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ѻˮ
+ TThostFtdcDepositSeqNoType MortgageSeqNo;
+};
+
+///ѯ
+struct CThostFtdcQryHisOrderField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcOrderSysIDType OrderSysID;
+ ///ʼʱ
+ TThostFtdcTimeType InsertTimeStart;
+ ///ʱ
+ TThostFtdcTimeType InsertTimeEnd;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+};
+
+///ǰȨԼС֤
+struct CThostFtdcOptionInstrMiniMarginField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷ߷Χ
+ TThostFtdcInvestorRangeType InvestorRange;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///λ֣ȨԼС֤
+ TThostFtdcMoneyType MinMargin;
+ ///ȡֵʽ
+ TThostFtdcValueMethodType ValueMethod;
+ ///Ƿ潻ȡ
+ TThostFtdcBoolType IsRelative;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ǰȨԼ֤ϵ
+struct CThostFtdcOptionInstrMarginAdjustField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷ߷Χ
+ TThostFtdcInvestorRangeType InvestorRange;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Ͷͷ֤ϵ
+ TThostFtdcRatioType SShortMarginRatioByMoney;
+ ///Ͷͷ֤ϵ
+ TThostFtdcMoneyType SShortMarginRatioByVolume;
+ ///ֵͷ֤ϵ
+ TThostFtdcRatioType HShortMarginRatioByMoney;
+ ///ֵͷ֤ϵ
+ TThostFtdcMoneyType HShortMarginRatioByVolume;
+ ///ͷ֤ϵ
+ TThostFtdcRatioType AShortMarginRatioByMoney;
+ ///ͷ֤ϵ
+ TThostFtdcMoneyType AShortMarginRatioByVolume;
+ ///Ƿ潻ȡ
+ TThostFtdcBoolType IsRelative;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ǰȨԼѵϸ
+struct CThostFtdcOptionInstrCommRateField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷ߷Χ
+ TThostFtdcInvestorRangeType InvestorRange;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcRatioType OpenRatioByMoney;
+ ///
+ TThostFtdcRatioType OpenRatioByVolume;
+ ///ƽ
+ TThostFtdcRatioType CloseRatioByMoney;
+ ///ƽ
+ TThostFtdcRatioType CloseRatioByVolume;
+ ///ƽ
+ TThostFtdcRatioType CloseTodayRatioByMoney;
+ ///ƽ
+ TThostFtdcRatioType CloseTodayRatioByVolume;
+ ///ִ
+ TThostFtdcRatioType StrikeRatioByMoney;
+ ///ִ
+ TThostFtdcRatioType StrikeRatioByVolume;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///Ȩ׳ɱ
+struct CThostFtdcOptionInstrTradeCostField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///ȨԼ֤䲿
+ TThostFtdcMoneyType FixedMargin;
+ ///ȨԼС֤
+ TThostFtdcMoneyType MiniMargin;
+ ///ȨԼȨ
+ TThostFtdcMoneyType Royalty;
+ ///ȨԼ֤䲿
+ TThostFtdcMoneyType ExchFixedMargin;
+ ///ȨԼС֤
+ TThostFtdcMoneyType ExchMiniMargin;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///Ȩ׳ɱѯ
+struct CThostFtdcQryOptionInstrTradeCostField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///ȨԼ
+ TThostFtdcPriceType InputPrice;
+ ///ļ۸,0
+ TThostFtdcPriceType UnderlyingPrice;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///Ȩʲѯ
+struct CThostFtdcQryOptionInstrCommRateField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ָָֻ
+struct CThostFtdcIndexPriceField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///ָֻ̼
+ TThostFtdcPriceType ClosePrice;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ִ
+struct CThostFtdcInputExecOrderField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///ִ
+ TThostFtdcOrderRefType ExecOrderRef;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///
+ TThostFtdcVolumeType Volume;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///ƽ־
+ TThostFtdcOffsetFlagType OffsetFlag;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///ִ
+ TThostFtdcActionTypeType ActionType;
+ ///ͷijֲַ
+ TThostFtdcPosiDirectionType PosiDirection;
+ ///ȨȨǷڻͷı
+ TThostFtdcExecOrderPositionFlagType ReservePositionFlag;
+ ///ȨȨɵͷǷԶƽ
+ TThostFtdcExecOrderCloseFlagType CloseFlag;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ִ
+struct CThostFtdcInputExecOrderActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ִ
+ TThostFtdcOrderActionRefType ExecOrderActionRef;
+ ///ִ
+ TThostFtdcOrderRefType ExecOrderRef;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ִ
+ TThostFtdcExecOrderSysIDType ExecOrderSysID;
+ ///־
+ TThostFtdcActionFlagType ActionFlag;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+};
+
+///ִ
+struct CThostFtdcExecOrderField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///ִ
+ TThostFtdcOrderRefType ExecOrderRef;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///
+ TThostFtdcVolumeType Volume;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///ƽ־
+ TThostFtdcOffsetFlagType OffsetFlag;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///ִ
+ TThostFtdcActionTypeType ActionType;
+ ///ͷijֲַ
+ TThostFtdcPosiDirectionType PosiDirection;
+ ///ȨȨǷڻͷı
+ TThostFtdcExecOrderPositionFlagType ReservePositionFlag;
+ ///ȨȨɵͷǷԶƽ
+ TThostFtdcExecOrderCloseFlagType CloseFlag;
+ ///ִ
+ TThostFtdcOrderLocalIDType ExecOrderLocalID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ִύ״̬
+ TThostFtdcOrderSubmitStatusType OrderSubmitStatus;
+ ///ʾ
+ TThostFtdcSequenceNoType NotifySequence;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///ִ
+ TThostFtdcExecOrderSysIDType ExecOrderSysID;
+ ///
+ TThostFtdcDateType InsertDate;
+ ///ʱ
+ TThostFtdcTimeType InsertTime;
+ ///ʱ
+ TThostFtdcTimeType CancelTime;
+ ///ִн
+ TThostFtdcExecResultType ExecResult;
+ ///Ա
+ TThostFtdcParticipantIDType ClearingPartID;
+ ///
+ TThostFtdcSequenceNoType SequenceNo;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///û˲ƷϢ
+ TThostFtdcProductInfoType UserProductInfo;
+ ///״̬Ϣ
+ TThostFtdcErrorMsgType StatusMsg;
+ ///û
+ TThostFtdcUserIDType ActiveUserID;
+ ///˾
+ TThostFtdcSequenceNoType BrokerExecOrderSeq;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+};
+
+///ִ
+struct CThostFtdcExecOrderActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ִ
+ TThostFtdcOrderActionRefType ExecOrderActionRef;
+ ///ִ
+ TThostFtdcOrderRefType ExecOrderRef;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ִ
+ TThostFtdcExecOrderSysIDType ExecOrderSysID;
+ ///־
+ TThostFtdcActionFlagType ActionFlag;
+ ///
+ TThostFtdcDateType ActionDate;
+ ///ʱ
+ TThostFtdcTimeType ActionTime;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ִ
+ TThostFtdcOrderLocalIDType ExecOrderLocalID;
+ ///ر
+ TThostFtdcOrderLocalIDType ActionLocalID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///״̬
+ TThostFtdcOrderActionStatusType OrderActionStatus;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///ִ
+ TThostFtdcActionTypeType ActionType;
+ ///״̬Ϣ
+ TThostFtdcErrorMsgType StatusMsg;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+};
+
+///ִѯ
+struct CThostFtdcQryExecOrderField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ִ
+ TThostFtdcExecOrderSysIDType ExecOrderSysID;
+ ///ʼʱ
+ TThostFtdcTimeType InsertTimeStart;
+ ///ʱ
+ TThostFtdcTimeType InsertTimeEnd;
+};
+
+///ִϢ
+struct CThostFtdcExchangeExecOrderField
+{
+ ///
+ TThostFtdcVolumeType Volume;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///ƽ־
+ TThostFtdcOffsetFlagType OffsetFlag;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///ִ
+ TThostFtdcActionTypeType ActionType;
+ ///ͷijֲַ
+ TThostFtdcPosiDirectionType PosiDirection;
+ ///ȨȨǷڻͷı
+ TThostFtdcExecOrderPositionFlagType ReservePositionFlag;
+ ///ȨȨɵͷǷԶƽ
+ TThostFtdcExecOrderCloseFlagType CloseFlag;
+ ///ִ
+ TThostFtdcOrderLocalIDType ExecOrderLocalID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ִύ״̬
+ TThostFtdcOrderSubmitStatusType OrderSubmitStatus;
+ ///ʾ
+ TThostFtdcSequenceNoType NotifySequence;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///ִ
+ TThostFtdcExecOrderSysIDType ExecOrderSysID;
+ ///
+ TThostFtdcDateType InsertDate;
+ ///ʱ
+ TThostFtdcTimeType InsertTime;
+ ///ʱ
+ TThostFtdcTimeType CancelTime;
+ ///ִн
+ TThostFtdcExecResultType ExecResult;
+ ///Ա
+ TThostFtdcParticipantIDType ClearingPartID;
+ ///
+ TThostFtdcSequenceNoType SequenceNo;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+};
+
+///ִѯ
+struct CThostFtdcQryExchangeExecOrderField
+{
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+};
+
+///ִѯ
+struct CThostFtdcQryExecOrderActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ִ
+struct CThostFtdcExchangeExecOrderActionField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ִ
+ TThostFtdcExecOrderSysIDType ExecOrderSysID;
+ ///־
+ TThostFtdcActionFlagType ActionFlag;
+ ///
+ TThostFtdcDateType ActionDate;
+ ///ʱ
+ TThostFtdcTimeType ActionTime;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ִ
+ TThostFtdcOrderLocalIDType ExecOrderLocalID;
+ ///ر
+ TThostFtdcOrderLocalIDType ActionLocalID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///״̬
+ TThostFtdcOrderActionStatusType OrderActionStatus;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///ִ
+ TThostFtdcActionTypeType ActionType;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+};
+
+///ִѯ
+struct CThostFtdcQryExchangeExecOrderActionField
+{
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+};
+
+///ִ
+struct CThostFtdcErrExecOrderField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///ִ
+ TThostFtdcOrderRefType ExecOrderRef;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///
+ TThostFtdcVolumeType Volume;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///ƽ־
+ TThostFtdcOffsetFlagType OffsetFlag;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///ִ
+ TThostFtdcActionTypeType ActionType;
+ ///ͷijֲַ
+ TThostFtdcPosiDirectionType PosiDirection;
+ ///ȨȨǷڻͷı
+ TThostFtdcExecOrderPositionFlagType ReservePositionFlag;
+ ///ȨȨɵͷǷԶƽ
+ TThostFtdcExecOrderCloseFlagType CloseFlag;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+};
+
+///ѯִ
+struct CThostFtdcQryErrExecOrderField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+};
+
+///ִ
+struct CThostFtdcErrExecOrderActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ִ
+ TThostFtdcOrderActionRefType ExecOrderActionRef;
+ ///ִ
+ TThostFtdcOrderRefType ExecOrderRef;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ִ
+ TThostFtdcExecOrderSysIDType ExecOrderSysID;
+ ///־
+ TThostFtdcActionFlagType ActionFlag;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+};
+
+///ѯִ
+struct CThostFtdcQryErrExecOrderActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+};
+
+///ͶȨԼȨ
+struct CThostFtdcOptionInstrTradingRightField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷ߷Χ
+ TThostFtdcInvestorRangeType InvestorRange;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcDirectionType Direction;
+ ///Ȩ
+ TThostFtdcTradingRightType TradingRight;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+};
+
+///ѯȨԼȨ
+struct CThostFtdcQryOptionInstrTradingRightField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcDirectionType Direction;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ѯ
+struct CThostFtdcInputForQuoteField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///ѯ
+ TThostFtdcOrderRefType ForQuoteRef;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ѯ
+struct CThostFtdcForQuoteField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///ѯ
+ TThostFtdcOrderRefType ForQuoteRef;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///ѯ۱
+ TThostFtdcOrderLocalIDType ForQuoteLocalID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///
+ TThostFtdcDateType InsertDate;
+ ///ʱ
+ TThostFtdcTimeType InsertTime;
+ ///ѯ״̬
+ TThostFtdcForQuoteStatusType ForQuoteStatus;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///״̬Ϣ
+ TThostFtdcErrorMsgType StatusMsg;
+ ///û
+ TThostFtdcUserIDType ActiveUserID;
+ ///˾ѯ۱
+ TThostFtdcSequenceNoType BrokerForQutoSeq;
+};
+
+///ѯ۲ѯ
+struct CThostFtdcQryForQuoteField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ʼʱ
+ TThostFtdcTimeType InsertTimeStart;
+ ///ʱ
+ TThostFtdcTimeType InsertTimeEnd;
+};
+
+///ѯϢ
+struct CThostFtdcExchangeForQuoteField
+{
+ ///ѯ۱
+ TThostFtdcOrderLocalIDType ForQuoteLocalID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///
+ TThostFtdcDateType InsertDate;
+ ///ʱ
+ TThostFtdcTimeType InsertTime;
+ ///ѯ״̬
+ TThostFtdcForQuoteStatusType ForQuoteStatus;
+};
+
+///ѯ۲ѯ
+struct CThostFtdcQryExchangeForQuoteField
+{
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+};
+
+///ı
+struct CThostFtdcInputQuoteField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcOrderRefType QuoteRef;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///۸
+ TThostFtdcPriceType AskPrice;
+ ///۸
+ TThostFtdcPriceType BidPrice;
+ ///
+ TThostFtdcVolumeType AskVolume;
+ ///
+ TThostFtdcVolumeType BidVolume;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///ƽ־
+ TThostFtdcOffsetFlagType AskOffsetFlag;
+ ///ƽ־
+ TThostFtdcOffsetFlagType BidOffsetFlag;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType AskHedgeFlag;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType BidHedgeFlag;
+ ///
+ TThostFtdcOrderRefType AskOrderRef;
+ ///
+ TThostFtdcOrderRefType BidOrderRef;
+ ///Ӧ۱
+ TThostFtdcOrderSysIDType ForQuoteSysID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///뱨۲
+struct CThostFtdcInputQuoteActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///۲
+ TThostFtdcOrderActionRefType QuoteActionRef;
+ ///
+ TThostFtdcOrderRefType QuoteRef;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///۲
+ TThostFtdcOrderSysIDType QuoteSysID;
+ ///־
+ TThostFtdcActionFlagType ActionFlag;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+};
+
+///
+struct CThostFtdcQuoteField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcOrderRefType QuoteRef;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///۸
+ TThostFtdcPriceType AskPrice;
+ ///۸
+ TThostFtdcPriceType BidPrice;
+ ///
+ TThostFtdcVolumeType AskVolume;
+ ///
+ TThostFtdcVolumeType BidVolume;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///ƽ־
+ TThostFtdcOffsetFlagType AskOffsetFlag;
+ ///ƽ־
+ TThostFtdcOffsetFlagType BidOffsetFlag;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType AskHedgeFlag;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType BidHedgeFlag;
+ ///ر۱
+ TThostFtdcOrderLocalIDType QuoteLocalID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ʾ
+ TThostFtdcSequenceNoType NotifySequence;
+ ///ύ״̬
+ TThostFtdcOrderSubmitStatusType OrderSubmitStatus;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///۱
+ TThostFtdcOrderSysIDType QuoteSysID;
+ ///
+ TThostFtdcDateType InsertDate;
+ ///ʱ
+ TThostFtdcTimeType InsertTime;
+ ///ʱ
+ TThostFtdcTimeType CancelTime;
+ ///״̬
+ TThostFtdcOrderStatusType QuoteStatus;
+ ///Ա
+ TThostFtdcParticipantIDType ClearingPartID;
+ ///
+ TThostFtdcSequenceNoType SequenceNo;
+ ///
+ TThostFtdcOrderSysIDType AskOrderSysID;
+ ///
+ TThostFtdcOrderSysIDType BidOrderSysID;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///û˲ƷϢ
+ TThostFtdcProductInfoType UserProductInfo;
+ ///״̬Ϣ
+ TThostFtdcErrorMsgType StatusMsg;
+ ///û
+ TThostFtdcUserIDType ActiveUserID;
+ ///˾۱
+ TThostFtdcSequenceNoType BrokerQuoteSeq;
+ ///
+ TThostFtdcOrderRefType AskOrderRef;
+ ///
+ TThostFtdcOrderRefType BidOrderRef;
+ ///Ӧ۱
+ TThostFtdcOrderSysIDType ForQuoteSysID;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+};
+
+///۲
+struct CThostFtdcQuoteActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///۲
+ TThostFtdcOrderActionRefType QuoteActionRef;
+ ///
+ TThostFtdcOrderRefType QuoteRef;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///۲
+ TThostFtdcOrderSysIDType QuoteSysID;
+ ///־
+ TThostFtdcActionFlagType ActionFlag;
+ ///
+ TThostFtdcDateType ActionDate;
+ ///ʱ
+ TThostFtdcTimeType ActionTime;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ر۱
+ TThostFtdcOrderLocalIDType QuoteLocalID;
+ ///ر
+ TThostFtdcOrderLocalIDType ActionLocalID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///״̬
+ TThostFtdcOrderActionStatusType OrderActionStatus;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///״̬Ϣ
+ TThostFtdcErrorMsgType StatusMsg;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+};
+
+///۲ѯ
+struct CThostFtdcQryQuoteField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///۱
+ TThostFtdcOrderSysIDType QuoteSysID;
+ ///ʼʱ
+ TThostFtdcTimeType InsertTimeStart;
+ ///ʱ
+ TThostFtdcTimeType InsertTimeEnd;
+};
+
+///Ϣ
+struct CThostFtdcExchangeQuoteField
+{
+ ///۸
+ TThostFtdcPriceType AskPrice;
+ ///۸
+ TThostFtdcPriceType BidPrice;
+ ///
+ TThostFtdcVolumeType AskVolume;
+ ///
+ TThostFtdcVolumeType BidVolume;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///ƽ־
+ TThostFtdcOffsetFlagType AskOffsetFlag;
+ ///ƽ־
+ TThostFtdcOffsetFlagType BidOffsetFlag;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType AskHedgeFlag;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType BidHedgeFlag;
+ ///ر۱
+ TThostFtdcOrderLocalIDType QuoteLocalID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ʾ
+ TThostFtdcSequenceNoType NotifySequence;
+ ///ύ״̬
+ TThostFtdcOrderSubmitStatusType OrderSubmitStatus;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///۱
+ TThostFtdcOrderSysIDType QuoteSysID;
+ ///
+ TThostFtdcDateType InsertDate;
+ ///ʱ
+ TThostFtdcTimeType InsertTime;
+ ///ʱ
+ TThostFtdcTimeType CancelTime;
+ ///״̬
+ TThostFtdcOrderStatusType QuoteStatus;
+ ///Ա
+ TThostFtdcParticipantIDType ClearingPartID;
+ ///
+ TThostFtdcSequenceNoType SequenceNo;
+ ///
+ TThostFtdcOrderSysIDType AskOrderSysID;
+ ///
+ TThostFtdcOrderSysIDType BidOrderSysID;
+ ///Ӧ۱
+ TThostFtdcOrderSysIDType ForQuoteSysID;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+};
+
+///۲ѯ
+struct CThostFtdcQryExchangeQuoteField
+{
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+};
+
+///۲ѯ
+struct CThostFtdcQryQuoteActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///۲
+struct CThostFtdcExchangeQuoteActionField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///۲
+ TThostFtdcOrderSysIDType QuoteSysID;
+ ///־
+ TThostFtdcActionFlagType ActionFlag;
+ ///
+ TThostFtdcDateType ActionDate;
+ ///ʱ
+ TThostFtdcTimeType ActionTime;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ر۱
+ TThostFtdcOrderLocalIDType QuoteLocalID;
+ ///ر
+ TThostFtdcOrderLocalIDType ActionLocalID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///״̬
+ TThostFtdcOrderActionStatusType OrderActionStatus;
+ ///û
+ TThostFtdcUserIDType UserID;
+};
+
+///۲ѯ
+struct CThostFtdcQryExchangeQuoteActionField
+{
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+};
+
+///ȨԼdeltaֵ
+struct CThostFtdcOptionInstrDeltaField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷ߷Χ
+ TThostFtdcInvestorRangeType InvestorRange;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Deltaֵ
+ TThostFtdcRatioType Delta;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///̵ѯ
+struct CThostFtdcForQuoteRspField
+{
+ ///
+ TThostFtdcDateType TradingDay;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///ѯ۱
+ TThostFtdcOrderSysIDType ForQuoteSysID;
+ ///ѯʱ
+ TThostFtdcTimeType ForQuoteTime;
+ ///ҵ
+ TThostFtdcDateType ActionDay;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ǰȨԼִƫֵϸ
+struct CThostFtdcStrikeOffsetField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷ߷Χ
+ TThostFtdcInvestorRangeType InvestorRange;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ִƫֵ
+ TThostFtdcMoneyType Offset;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///Ȩִƫֵѯ
+struct CThostFtdcQryStrikeOffsetField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+};
+
+///¼
+struct CThostFtdcInputLockField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcOrderRefType LockRef;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///
+ TThostFtdcVolumeType Volume;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///
+ TThostFtdcLockTypeType LockType;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///
+struct CThostFtdcLockField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcOrderRefType LockRef;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///
+ TThostFtdcVolumeType Volume;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///
+ TThostFtdcLockTypeType LockType;
+ ///
+ TThostFtdcOrderLocalIDType LockLocalID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ִύ״̬
+ TThostFtdcOrderSubmitStatusType OrderSubmitStatus;
+ ///ʾ
+ TThostFtdcSequenceNoType NotifySequence;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///
+ TThostFtdcOrderSysIDType LockSysID;
+ ///
+ TThostFtdcDateType InsertDate;
+ ///ʱ
+ TThostFtdcTimeType InsertTime;
+ ///ʱ
+ TThostFtdcTimeType CancelTime;
+ ///״̬
+ TThostFtdcOrderActionStatusType LockStatus;
+ ///Ա
+ TThostFtdcParticipantIDType ClearingPartID;
+ ///
+ TThostFtdcSequenceNoType SequenceNo;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///û˲ƷϢ
+ TThostFtdcProductInfoType UserProductInfo;
+ ///״̬Ϣ
+ TThostFtdcErrorMsgType StatusMsg;
+ ///û
+ TThostFtdcUserIDType ActiveUserID;
+ ///˾
+ TThostFtdcSequenceNoType BrokerLockSeq;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+};
+
+///ѯ
+struct CThostFtdcQryLockField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcOrderSysIDType LockSysID;
+ ///ʼʱ
+ TThostFtdcTimeType InsertTimeStart;
+ ///ʱ
+ TThostFtdcTimeType InsertTimeEnd;
+};
+
+///֤ȯλ
+struct CThostFtdcLockPositionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcVolumeType Volume;
+ ///
+ TThostFtdcVolumeType FrozenVolume;
+};
+
+///ѯ֤ȯλ
+struct CThostFtdcQryLockPositionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ǰETFȨԼѵϸ
+struct CThostFtdcETFOptionInstrCommRateField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷ߷Χ
+ TThostFtdcInvestorRangeType InvestorRange;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcRatioType OpenRatioByMoney;
+ ///
+ TThostFtdcRatioType OpenRatioByVolume;
+ ///ƽ
+ TThostFtdcRatioType CloseRatioByMoney;
+ ///ƽ
+ TThostFtdcRatioType CloseRatioByVolume;
+ ///ƽ
+ TThostFtdcRatioType CloseTodayRatioByMoney;
+ ///ƽ
+ TThostFtdcRatioType CloseTodayRatioByVolume;
+ ///ִ
+ TThostFtdcRatioType StrikeRatioByMoney;
+ ///ִ
+ TThostFtdcRatioType StrikeRatioByVolume;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///ֲַ
+ TThostFtdcPosiDirectionType PosiDirection;
+};
+
+///ETFȨʲѯ
+struct CThostFtdcQryETFOptionInstrCommRateField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ijֲֶ
+struct CThostFtdcPosiFreezeField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ر
+ TThostFtdcOrderLocalIDType OrderLocalID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///
+ TThostFtdcVolumeType Volume;
+ ///ԭ
+ TThostFtdcFreezeReasonTypeType FreezeReasonType;
+ ///
+ TThostFtdcFreezeTypeType FreezeType;
+};
+
+///ѯ
+struct CThostFtdcQryExchangeLockField
+{
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+};
+
+///
+struct CThostFtdcExchangeLockField
+{
+ ///
+ TThostFtdcVolumeType Volume;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///
+ TThostFtdcLockTypeType LockType;
+ ///
+ TThostFtdcOrderLocalIDType LockLocalID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ִύ״̬
+ TThostFtdcOrderSubmitStatusType OrderSubmitStatus;
+ ///ʾ
+ TThostFtdcSequenceNoType NotifySequence;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///
+ TThostFtdcOrderSysIDType LockSysID;
+ ///
+ TThostFtdcDateType InsertDate;
+ ///ʱ
+ TThostFtdcTimeType InsertTime;
+ ///ʱ
+ TThostFtdcTimeType CancelTime;
+ ///״̬
+ TThostFtdcOrderActionStatusType LockStatus;
+ ///Ա
+ TThostFtdcParticipantIDType ClearingPartID;
+ ///
+ TThostFtdcSequenceNoType SequenceNo;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+};
+
+///
+struct CThostFtdcExchangeExecOrderActionErrorField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ִ
+ TThostFtdcExecOrderSysIDType ExecOrderSysID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ִ
+ TThostFtdcOrderLocalIDType ExecOrderLocalID;
+ ///ر
+ TThostFtdcOrderLocalIDType ActionLocalID;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+};
+
+///
+struct CThostFtdcInputBatchOrderActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcOrderActionRefType OrderActionRef;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///û
+ TThostFtdcUserIDType UserID;
+};
+
+///
+struct CThostFtdcBatchOrderActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcOrderActionRefType OrderActionRef;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcDateType ActionDate;
+ ///ʱ
+ TThostFtdcTimeType ActionTime;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ر
+ TThostFtdcOrderLocalIDType ActionLocalID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///״̬
+ TThostFtdcOrderActionStatusType OrderActionStatus;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///״̬Ϣ
+ TThostFtdcErrorMsgType StatusMsg;
+};
+
+///
+struct CThostFtdcExchangeBatchOrderActionField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcDateType ActionDate;
+ ///ʱ
+ TThostFtdcTimeType ActionTime;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ر
+ TThostFtdcOrderLocalIDType ActionLocalID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///״̬
+ TThostFtdcOrderActionStatusType OrderActionStatus;
+ ///û
+ TThostFtdcUserIDType UserID;
+};
+
+///ѯ
+struct CThostFtdcQryBatchOrderActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///Ͷֲ߳
+struct CThostFtdcLimitPosiField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcVolumeType TotalVolume;
+ ///ͷ
+ TThostFtdcVolumeType LongVolume;
+ ///նͷ
+ TThostFtdcVolumeType OpenVolume;
+ ///ͷֲֽ
+ TThostFtdcMoneyType LongAmount;
+ ///
+ TThostFtdcVolumeType TotalVolumeFrozen;
+ ///ͷ
+ TThostFtdcVolumeType LongVolumeFrozen;
+ ///նͷ
+ TThostFtdcVolumeType OpenVolumeFrozen;
+ ///ͷֲֽ
+ TThostFtdcMoneyType LongAmountFrozen;
+};
+
+///ѯͶֲ߳
+struct CThostFtdcQryLimitPosiField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///˾ֲ
+struct CThostFtdcBrokerLimitPosiField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcLargeVolumeType TotalVolume;
+ ///ͷ
+ TThostFtdcLargeVolumeType LongVolume;
+ ///
+ TThostFtdcLargeVolumeType TotalVolumeFrozen;
+ ///ͷ
+ TThostFtdcLargeVolumeType LongVolumeFrozen;
+};
+
+///ѯ˾ֲ
+struct CThostFtdcQryBrokerLimitPosiField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///Ͷ֤ȯֲ
+struct CThostFtdcLimitPosiSField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcVolumeType TotalVolume;
+ ///տ
+ TThostFtdcVolumeType OpenVolume;
+ ///
+ TThostFtdcVolumeType TotalVolumeFrozen;
+ ///տ
+ TThostFtdcVolumeType OpenVolumeFrozen;
+};
+
+///ѯͶ֤ȯֲ
+struct CThostFtdcQryLimitPosiSField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///Ͷֲ߳Ʋ
+struct CThostFtdcLimitPosiParamField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷ߷Χ
+ TThostFtdcInvestorRangeType InvestorRange;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcVolumeType TotalVolume;
+ ///ͷ
+ TThostFtdcVolumeType LongVolume;
+ ///նͷ
+ TThostFtdcVolumeType OpenVolume;
+ ///ͷֲֽ
+ TThostFtdcMoneyType LongAmount;
+};
+
+///˾ֲƲ
+struct CThostFtdcBrokerLimitPosiParamField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcLargeVolumeType TotalVolume;
+ ///ͷ
+ TThostFtdcLargeVolumeType LongVolume;
+};
+
+///Ͷ֤ȯֲƲ
+struct CThostFtdcLimitPosiParamSField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷ߷Χ
+ TThostFtdcInvestorRangeType InvestorRange;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcVolumeType TotalVolume;
+ ///տ
+ TThostFtdcVolumeType OpenVolume;
+};
+
+///֤ȯò
+struct CThostFtdcInputStockDisposalActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///֤ȯò
+ TThostFtdcOrderActionRefType StockDisposalActionRef;
+ ///֤ȯ
+ TThostFtdcOrderRefType StockDisposalRef;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///֤ȯò
+ TThostFtdcStockDisposalSysIDType StockDisposalSysID;
+ ///־
+ TThostFtdcActionFlagType ActionFlag;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+};
+
+///֤ȯò
+struct CThostFtdcStockDisposalActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///֤ȯò
+ TThostFtdcOrderActionRefType StockDisposalActionRef;
+ ///֤ȯ
+ TThostFtdcOrderRefType StockDisposalRef;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///֤ȯò
+ TThostFtdcStockDisposalSysIDType StockDisposalSysID;
+ ///־
+ TThostFtdcActionFlagType ActionFlag;
+ ///
+ TThostFtdcDateType ActionDate;
+ ///ʱ
+ TThostFtdcTimeType ActionTime;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///֤ȯñ
+ TThostFtdcOrderLocalIDType StockDisposalLocalID;
+ ///ر
+ TThostFtdcOrderLocalIDType ActionLocalID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///״̬
+ TThostFtdcOrderActionStatusType OrderActionStatus;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///ִ
+ TThostFtdcActionTypeType ActionType;
+ ///״̬Ϣ
+ TThostFtdcErrorMsgType StatusMsg;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+};
+
+///֤ȯòѯ
+struct CThostFtdcQryStockDisposalActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///֤ȯò
+struct CThostFtdcExchangeStockDisposalActionField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///֤ȯò
+ TThostFtdcStockDisposalSysIDType StockDisposalSysID;
+ ///־
+ TThostFtdcActionFlagType ActionFlag;
+ ///
+ TThostFtdcDateType ActionDate;
+ ///ʱ
+ TThostFtdcTimeType ActionTime;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///֤ȯñ
+ TThostFtdcOrderLocalIDType StockDisposalLocalID;
+ ///ر
+ TThostFtdcOrderLocalIDType ActionLocalID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///״̬
+ TThostFtdcOrderActionStatusType OrderActionStatus;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///ִ
+ TThostFtdcActionTypeType ActionType;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+};
+
+///֤ȯò
+struct CThostFtdcQryExchangeStockDisposalActionField
+{
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+};
+
+///ѯ֤ȯò
+struct CThostFtdcQryErrStockDisposalActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+};
+
+///֤ȯò
+struct CThostFtdcExchangeStockDisposalActionErrorField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///֤ȯñ
+ TThostFtdcStockDisposalSysIDType StockDisposalSysID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///֤ȯñ
+ TThostFtdcOrderLocalIDType StockDisposalLocalID;
+ ///ر
+ TThostFtdcOrderLocalIDType ActionLocalID;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+};
+
+///֤ȯò
+struct CThostFtdcErrStockDisposalActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///֤ȯò
+ TThostFtdcOrderActionRefType StockDisposalActionRef;
+ ///֤ȯ
+ TThostFtdcOrderRefType StockDisposalRef;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///֤ȯò
+ TThostFtdcStockDisposalSysIDType StockDisposalSysID;
+ ///־
+ TThostFtdcActionFlagType ActionFlag;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+};
+
+///Ͷ߷ּ
+struct CThostFtdcInvestorLevelField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ͷ߷ּ
+ TThostFtdcLevelTypeType LevelType;
+};
+
+///ϺԼȫϵ
+struct CThostFtdcCombInstrumentGuardField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcRatioType GuarantRatio;
+};
+
+///ϺԼȫϵѯ
+struct CThostFtdcQryCombInstrumentGuardField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+};
+
+///
+struct CThostFtdcInputCombActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcOrderRefType CombActionRef;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///
+ TThostFtdcDirectionType Direction;
+ ///
+ TThostFtdcVolumeType Volume;
+ ///ָ
+ TThostFtdcCombDirectionType CombDirection;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///
+struct CThostFtdcCombActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcOrderRefType CombActionRef;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///
+ TThostFtdcDirectionType Direction;
+ ///
+ TThostFtdcVolumeType Volume;
+ ///ָ
+ TThostFtdcCombDirectionType CombDirection;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///ϱ
+ TThostFtdcOrderLocalIDType ActionLocalID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///״̬
+ TThostFtdcOrderActionStatusType ActionStatus;
+ ///ʾ
+ TThostFtdcSequenceNoType NotifySequence;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///
+ TThostFtdcSequenceNoType SequenceNo;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///û˲ƷϢ
+ TThostFtdcProductInfoType UserProductInfo;
+ ///״̬Ϣ
+ TThostFtdcErrorMsgType StatusMsg;
+};
+
+///ϲѯ
+struct CThostFtdcQryCombActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///Ϣ
+struct CThostFtdcExchangeCombActionField
+{
+ ///
+ TThostFtdcDirectionType Direction;
+ ///
+ TThostFtdcVolumeType Volume;
+ ///ָ
+ TThostFtdcCombDirectionType CombDirection;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///ϱ
+ TThostFtdcOrderLocalIDType ActionLocalID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///״̬
+ TThostFtdcOrderActionStatusType ActionStatus;
+ ///ʾ
+ TThostFtdcSequenceNoType NotifySequence;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///
+ TThostFtdcSequenceNoType SequenceNo;
+};
+
+///ϲѯ
+struct CThostFtdcQryExchangeCombActionField
+{
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+};
+
+///Ʒۻ
+struct CThostFtdcProductExchRateField
+{
+ ///Ʒ
+ TThostFtdcInstrumentIDType ProductID;
+ ///۱
+ TThostFtdcCurrencyIDType QuoteCurrencyID;
+ ///
+ TThostFtdcExchangeRateType ExchangeRate;
+};
+
+///Ʒۻʲѯ
+struct CThostFtdcQryProductExchRateField
+{
+ ///Ʒ
+ TThostFtdcInstrumentIDType ProductID;
+};
+
+///ָ
+struct CThostFtdcInputDesignateField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ָǼ
+ TThostFtdcOrderRefType DesignateRef;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///ָ
+ TThostFtdcDesignateTypeType DesignateType;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ָ
+struct CThostFtdcDesignateField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ָǼ
+ TThostFtdcOrderRefType DesignateRef;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///ָ
+ TThostFtdcDesignateTypeType DesignateType;
+ ///ָ
+ TThostFtdcOrderLocalIDType DesignateLocalID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ָ״̬
+ TThostFtdcOrderActionStatusType DesignateStatus;
+ ///ʾ
+ TThostFtdcSequenceNoType NotifySequence;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///
+ TThostFtdcDateType InsertDate;
+ ///ʱ
+ TThostFtdcTimeType InsertTime;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///û˲ƷϢ
+ TThostFtdcProductInfoType UserProductInfo;
+ ///״̬Ϣ
+ TThostFtdcErrorMsgType StatusMsg;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+};
+
+///ָ
+struct CThostFtdcQryDesignateField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ָϢ
+struct CThostFtdcExchangeDesignateField
+{
+ ///ָ
+ TThostFtdcDesignateTypeType DesignateType;
+ ///ָ
+ TThostFtdcOrderLocalIDType DesignateLocalID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ָ״̬
+ TThostFtdcOrderActionStatusType DesignateStatus;
+ ///ʾ
+ TThostFtdcSequenceNoType NotifySequence;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///
+ TThostFtdcDateType InsertDate;
+ ///ʱ
+ TThostFtdcTimeType InsertTime;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+};
+
+///֤ȯ
+struct CThostFtdcInputStockDisposalField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///֤ȯõǼ
+ TThostFtdcOrderRefType StockDisposalRef;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcVolumeType Volume;
+ ///֤ȯ÷
+ TThostFtdcStockDisposalTypeType StockDisposalType;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///֤ȯ
+struct CThostFtdcStockDisposalField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///֤ȯõǼ
+ TThostFtdcOrderRefType StockDisposalRef;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcVolumeType Volume;
+ ///֤ȯ÷
+ TThostFtdcStockDisposalTypeType StockDisposalType;
+ ///֤ȯñ
+ TThostFtdcOrderLocalIDType StockDisposalLocalID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///֤ȯ״̬
+ TThostFtdcStockDisposalStatusType StockDisposalStatus;
+ ///ʾ
+ TThostFtdcSequenceNoType NotifySequence;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///
+ TThostFtdcDateType InsertDate;
+ ///ʱ
+ TThostFtdcTimeType InsertTime;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///û˲ƷϢ
+ TThostFtdcProductInfoType UserProductInfo;
+ ///״̬Ϣ
+ TThostFtdcErrorMsgType StatusMsg;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+ ///֤ȯò
+ TThostFtdcStockDisposalSysIDType StockDisposalSysID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+};
+
+///֤ȯ
+struct CThostFtdcQryStockDisposalField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///֤ȯϢ
+struct CThostFtdcExchangeStockDisposalField
+{
+ ///
+ TThostFtdcVolumeType Volume;
+ ///֤ȯ÷
+ TThostFtdcStockDisposalTypeType StockDisposalType;
+ ///֤ȯñ
+ TThostFtdcOrderLocalIDType StockDisposalLocalID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///֤ȯ״̬
+ TThostFtdcStockDisposalStatusType StockDisposalStatus;
+ ///ʾ
+ TThostFtdcSequenceNoType NotifySequence;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///
+ TThostFtdcDateType InsertDate;
+ ///ʱ
+ TThostFtdcTimeType InsertTime;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+ ///֤ȯò
+ TThostFtdcStockDisposalSysIDType StockDisposalSysID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+};
+
+///ѯͶ߷ּ
+struct CThostFtdcQryInvestorLevelField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ѯѯۼ۲
+struct CThostFtdcQryForQuoteParamField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ѯۼ۲
+struct CThostFtdcForQuoteParamField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///¼
+ TThostFtdcPriceType LastPrice;
+ ///۲
+ TThostFtdcPriceType PriceInterval;
+};
+
+///ѯȨ
+struct CThostFtdcQryExecFreezeField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///Ȩ
+struct CThostFtdcExecFreezeField
+{
+ ///ĺԼ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ֲֶշ
+ TThostFtdcPosiDirectionType PosiDirection;
+ ///Ȩ
+ TThostFtdcOptionsTypeType OptionsType;
+ ///_λ
+ TThostFtdcVolumeType Volume;
+ ///
+ TThostFtdcMoneyType FrozenAmount;
+};
+
+///г
+struct CThostFtdcMarketDataField
+{
+ ///
+ TThostFtdcDateType TradingDay;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///¼
+ TThostFtdcPriceType LastPrice;
+ ///ϴν
+ TThostFtdcPriceType PreSettlementPrice;
+ ///
+ TThostFtdcPriceType PreClosePrice;
+ ///ֲ
+ TThostFtdcLargeVolumeType PreOpenInterest;
+ ///
+ TThostFtdcPriceType OpenPrice;
+ ///
+ TThostFtdcPriceType HighestPrice;
+ ///ͼ
+ TThostFtdcPriceType LowestPrice;
+ ///
+ TThostFtdcVolumeType Volume;
+ ///ɽ
+ TThostFtdcMoneyType Turnover;
+ ///ֲ
+ TThostFtdcLargeVolumeType OpenInterest;
+ ///
+ TThostFtdcPriceType ClosePrice;
+ ///ν
+ TThostFtdcPriceType SettlementPrice;
+ ///ͣ
+ TThostFtdcPriceType UpperLimitPrice;
+ ///ͣ
+ TThostFtdcPriceType LowerLimitPrice;
+ ///ʵ
+ TThostFtdcRatioType PreDelta;
+ ///ʵ
+ TThostFtdcRatioType CurrDelta;
+ ///ʱ
+ TThostFtdcTimeType UpdateTime;
+ ///ĺ
+ TThostFtdcMillisecType UpdateMillisec;
+ ///ҵ
+ TThostFtdcDateType ActionDay;
+};
+
+///
+struct CThostFtdcMarketDataBaseField
+{
+ ///
+ TThostFtdcDateType TradingDay;
+ ///ϴν
+ TThostFtdcPriceType PreSettlementPrice;
+ ///
+ TThostFtdcPriceType PreClosePrice;
+ ///ֲ
+ TThostFtdcLargeVolumeType PreOpenInterest;
+ ///ʵ
+ TThostFtdcRatioType PreDelta;
+};
+
+///龲̬
+struct CThostFtdcMarketDataStaticField
+{
+ ///
+ TThostFtdcPriceType OpenPrice;
+ ///
+ TThostFtdcPriceType HighestPrice;
+ ///ͼ
+ TThostFtdcPriceType LowestPrice;
+ ///
+ TThostFtdcPriceType ClosePrice;
+ ///ͣ
+ TThostFtdcPriceType UpperLimitPrice;
+ ///ͣ
+ TThostFtdcPriceType LowerLimitPrice;
+ ///ν
+ TThostFtdcPriceType SettlementPrice;
+ ///ʵ
+ TThostFtdcRatioType CurrDelta;
+};
+
+///³ɽ
+struct CThostFtdcMarketDataLastMatchField
+{
+ ///¼
+ TThostFtdcPriceType LastPrice;
+ ///
+ TThostFtdcVolumeType Volume;
+ ///ɽ
+ TThostFtdcMoneyType Turnover;
+ ///ֲ
+ TThostFtdcLargeVolumeType OpenInterest;
+};
+
+///ż
+struct CThostFtdcMarketDataBestPriceField
+{
+ ///һ
+ TThostFtdcPriceType BidPrice1;
+ ///һ
+ TThostFtdcVolumeType BidVolume1;
+ ///һ
+ TThostFtdcPriceType AskPrice1;
+ ///һ
+ TThostFtdcVolumeType AskVolume1;
+};
+
+///
+struct CThostFtdcMarketDataBid23Field
+{
+ ///۶
+ TThostFtdcPriceType BidPrice2;
+ ///
+ TThostFtdcVolumeType BidVolume2;
+ ///
+ TThostFtdcPriceType BidPrice3;
+ ///
+ TThostFtdcVolumeType BidVolume3;
+};
+
+///
+struct CThostFtdcMarketDataAsk23Field
+{
+ ///۶
+ TThostFtdcPriceType AskPrice2;
+ ///
+ TThostFtdcVolumeType AskVolume2;
+ ///
+ TThostFtdcPriceType AskPrice3;
+ ///
+ TThostFtdcVolumeType AskVolume3;
+};
+
+///ġ
+struct CThostFtdcMarketDataBid45Field
+{
+ ///
+ TThostFtdcPriceType BidPrice4;
+ ///
+ TThostFtdcVolumeType BidVolume4;
+ ///
+ TThostFtdcPriceType BidPrice5;
+ ///
+ TThostFtdcVolumeType BidVolume5;
+};
+
+///ġ
+struct CThostFtdcMarketDataAsk45Field
+{
+ ///
+ TThostFtdcPriceType AskPrice4;
+ ///
+ TThostFtdcVolumeType AskVolume4;
+ ///
+ TThostFtdcPriceType AskPrice5;
+ ///
+ TThostFtdcVolumeType AskVolume5;
+};
+
+///ʱ
+struct CThostFtdcMarketDataUpdateTimeField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///ʱ
+ TThostFtdcTimeType UpdateTime;
+ ///ĺ
+ TThostFtdcMillisecType UpdateMillisec;
+ ///ҵ
+ TThostFtdcDateType ActionDay;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///齻
+struct CThostFtdcMarketDataExchangeField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ָĺԼ
+struct CThostFtdcSpecificInstrumentField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+};
+
+///Լ״̬
+struct CThostFtdcInstrumentStatusField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///
+ TThostFtdcSettlementGroupIDType SettlementGroupID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Լ״̬
+ TThostFtdcInstrumentStatusType InstrumentStatus;
+ ///α
+ TThostFtdcTradingSegmentSNType TradingSegmentSN;
+ ///뱾״̬ʱ
+ TThostFtdcTimeType EnterTime;
+ ///뱾״̬ԭ
+ TThostFtdcInstStatusEnterReasonType EnterReason;
+};
+
+///ѯԼ״̬
+struct CThostFtdcQryInstrumentStatusField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+};
+
+///Ͷ˻
+struct CThostFtdcInvestorAccountField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+};
+
+///ӯ㷨
+struct CThostFtdcPositionProfitAlgorithmField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ӯ㷨
+ TThostFtdcAlgorithmType Algorithm;
+ ///ע
+ TThostFtdcMemoType Memo;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+};
+
+///Աʽۿ
+struct CThostFtdcDiscountField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷ߷Χ
+ TThostFtdcInvestorRangeType InvestorRange;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ʽۿ۱
+ TThostFtdcRatioType Discount;
+};
+
+///ѯת
+struct CThostFtdcQryTransferBankField
+{
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///зĴ
+ TThostFtdcBankBrchIDType BankBrchID;
+};
+
+///ת
+struct CThostFtdcTransferBankField
+{
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///зĴ
+ TThostFtdcBankBrchIDType BankBrchID;
+ ///
+ TThostFtdcBankNameType BankName;
+ ///ǷԾ
+ TThostFtdcBoolType IsActive;
+};
+
+///ѯͶֲ߳ϸ
+struct CThostFtdcQryInvestorPositionDetailField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///Ͷֲ߳ϸ
+struct CThostFtdcInvestorPositionDetailField
+{
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///
+ TThostFtdcDirectionType Direction;
+ ///
+ TThostFtdcDateType OpenDate;
+ ///ɽ
+ TThostFtdcTradeIDType TradeID;
+ ///
+ TThostFtdcVolumeType Volume;
+ ///ּ
+ TThostFtdcPriceType OpenPrice;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///ɽ
+ TThostFtdcTradeTypeType TradeType;
+ ///ϺԼ
+ TThostFtdcInstrumentIDType CombInstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///նƽӯ
+ TThostFtdcMoneyType CloseProfitByDate;
+ ///ʶԳƽӯ
+ TThostFtdcMoneyType CloseProfitByTrade;
+ ///նгֲӯ
+ TThostFtdcMoneyType PositionProfitByDate;
+ ///ʶԳֲӯ
+ TThostFtdcMoneyType PositionProfitByTrade;
+ ///Ͷ֤߱
+ TThostFtdcMoneyType Margin;
+ ///֤
+ TThostFtdcMoneyType ExchMargin;
+ ///֤
+ TThostFtdcRatioType MarginRateByMoney;
+ ///֤()
+ TThostFtdcRatioType MarginRateByVolume;
+ ///
+ TThostFtdcPriceType LastSettlementPrice;
+ ///
+ TThostFtdcPriceType SettlementPrice;
+ ///ƽ
+ TThostFtdcVolumeType CloseVolume;
+ ///ƽֽ
+ TThostFtdcMoneyType CloseAmount;
+};
+
+///ʽ˻
+struct CThostFtdcTradingAccountPasswordField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///
+ TThostFtdcPasswordType Password;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+};
+
+///鱨̻
+struct CThostFtdcMDTraderOfferField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///
+ TThostFtdcPasswordType Password;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ر
+ TThostFtdcOrderLocalIDType OrderLocalID;
+ ///Ա״̬
+ TThostFtdcTraderConnectStatusType TraderConnectStatus;
+ ///
+ TThostFtdcDateType ConnectRequestDate;
+ ///ʱ
+ TThostFtdcTimeType ConnectRequestTime;
+ ///ϴα
+ TThostFtdcDateType LastReportDate;
+ ///ϴαʱ
+ TThostFtdcTimeType LastReportTime;
+ ///
+ TThostFtdcDateType ConnectDate;
+ ///ʱ
+ TThostFtdcTimeType ConnectTime;
+ ///
+ TThostFtdcDateType StartDate;
+ ///ʱ
+ TThostFtdcTimeType StartTime;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///ϯλɽ
+ TThostFtdcTradeIDType MaxTradeID;
+ ///ϯλ
+ TThostFtdcReturnCodeType MaxOrderMessageReference;
+ ///ҵ
+ TThostFtdcBizTypeType BizType;
+};
+
+///ѯ鱨̻
+struct CThostFtdcQryMDTraderOfferField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+};
+
+///ѯͻ֪ͨ
+struct CThostFtdcQryNoticeField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+};
+
+///ͻ֪ͨ
+struct CThostFtdcNoticeField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ϣ
+ TThostFtdcContentType Content;
+ ///˾֪ͨк
+ TThostFtdcSequenceLabelType SequenceLabel;
+};
+
+///ûȨ
+struct CThostFtdcUserRightField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///ͻȨ
+ TThostFtdcUserRightTypeType UserRightType;
+ ///Ƿֹ
+ TThostFtdcBoolType IsForbidden;
+};
+
+///ѯϢȷ
+struct CThostFtdcQrySettlementInfoConfirmField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+};
+
+///װؽϢ
+struct CThostFtdcLoadSettlementInfoField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+};
+
+///˾ʽ㷨
+struct CThostFtdcBrokerWithdrawAlgorithmField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///ʽ㷨
+ TThostFtdcAlgorithmType WithdrawAlgorithm;
+ ///ʽʹ
+ TThostFtdcRatioType UsingRatio;
+ ///Ƿƽӯ
+ TThostFtdcIncludeCloseProfitType IncludeCloseProfit;
+ ///ɽͻǷܿ
+ TThostFtdcAllWithoutTradeType AllWithoutTrade;
+ ///Ƿƽӯ
+ TThostFtdcIncludeCloseProfitType AvailIncludeCloseProfit;
+ ///Ƿû¼
+ TThostFtdcBoolType IsBrokerUserEvent;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///Ѻ
+ TThostFtdcRatioType FundMortgageRatio;
+ ///Ȩ㷨
+ TThostFtdcBalanceAlgorithmType BalanceAlgorithm;
+};
+
+///ʽ˻
+struct CThostFtdcTradingAccountPasswordUpdateV1Field
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ԭĿ
+ TThostFtdcPasswordType OldPassword;
+ ///µĿ
+ TThostFtdcPasswordType NewPassword;
+};
+
+///ʽ˻
+struct CThostFtdcTradingAccountPasswordUpdateField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ԭĿ
+ TThostFtdcPasswordType OldPassword;
+ ///µĿ
+ TThostFtdcPasswordType NewPassword;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+};
+
+///ѯϺԼ
+struct CThostFtdcQryCombinationLegField
+{
+ ///ϺԼ
+ TThostFtdcInstrumentIDType CombInstrumentID;
+ ///ȱ
+ TThostFtdcLegIDType LegID;
+ ///ȺԼ
+ TThostFtdcInstrumentIDType LegInstrumentID;
+};
+
+///ѯϺԼ
+struct CThostFtdcQrySyncStatusField
+{
+ ///
+ TThostFtdcDateType TradingDay;
+};
+
+///ϽԼĵ
+struct CThostFtdcCombinationLegField
+{
+ ///ϺԼ
+ TThostFtdcInstrumentIDType CombInstrumentID;
+ ///ȱ
+ TThostFtdcLegIDType LegID;
+ ///ȺԼ
+ TThostFtdcInstrumentIDType LegInstrumentID;
+ ///
+ TThostFtdcDirectionType Direction;
+ ///ȳ
+ TThostFtdcLegMultipleType LegMultiple;
+ ///
+ TThostFtdcImplyLevelType ImplyLevel;
+};
+
+///ͬ״̬
+struct CThostFtdcSyncStatusField
+{
+ ///
+ TThostFtdcDateType TradingDay;
+ ///ͬ״̬
+ TThostFtdcDataSyncStatusType DataSyncStatus;
+};
+
+///ѯϵ
+struct CThostFtdcQryLinkManField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+};
+
+///ϵ
+struct CThostFtdcLinkManField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ϵ
+ TThostFtdcPersonTypeType PersonType;
+ ///֤
+ TThostFtdcIdCardTypeType IdentifiedCardType;
+ ///֤
+ TThostFtdcIdentifiedCardNoType IdentifiedCardNo;
+ ///
+ TThostFtdcPartyNameType PersonName;
+ ///ϵ绰
+ TThostFtdcTelephoneType Telephone;
+ ///ͨѶַ
+ TThostFtdcAddressType Address;
+ ///
+ TThostFtdcZipCodeType ZipCode;
+ ///ȼ
+ TThostFtdcPriorityType Priority;
+ ///
+ TThostFtdcUOAZipCodeType UOAZipCode;
+ ///ȫ
+ TThostFtdcInvestorFullNameType PersonFullName;
+};
+
+///ѯ˾û¼
+struct CThostFtdcQryBrokerUserEventField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///û¼
+ TThostFtdcUserEventTypeType UserEventType;
+};
+
+///ѯ˾û¼
+struct CThostFtdcBrokerUserEventField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///û¼
+ TThostFtdcUserEventTypeType UserEventType;
+ ///û¼
+ TThostFtdcSequenceNoType EventSequenceNo;
+ ///¼
+ TThostFtdcDateType EventDate;
+ ///¼ʱ
+ TThostFtdcTimeType EventTime;
+ ///û¼Ϣ
+ TThostFtdcUserEventInfoType UserEventInfo;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ѯǩԼ
+struct CThostFtdcQryContractBankField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///зĴ
+ TThostFtdcBankBrchIDType BankBrchID;
+};
+
+///ѯǩԼӦ
+struct CThostFtdcContractBankField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///зĴ
+ TThostFtdcBankBrchIDType BankBrchID;
+ ///
+ TThostFtdcBankNameType BankName;
+};
+
+///Ͷϳֲϸ
+struct CThostFtdcInvestorPositionCombineDetailField
+{
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcDateType OpenDate;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ϱ
+ TThostFtdcTradeIDType ComTradeID;
+ ///ϱ
+ TThostFtdcTradeIDType TradeID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///
+ TThostFtdcDirectionType Direction;
+ ///ֲ
+ TThostFtdcVolumeType TotalAmt;
+ ///Ͷ֤߱
+ TThostFtdcMoneyType Margin;
+ ///֤
+ TThostFtdcMoneyType ExchMargin;
+ ///֤
+ TThostFtdcRatioType MarginRateByMoney;
+ ///֤()
+ TThostFtdcRatioType MarginRateByVolume;
+ ///ȱ
+ TThostFtdcLegIDType LegID;
+ ///ȳ
+ TThostFtdcLegMultipleType LegMultiple;
+ ///ϳֲֺԼ
+ TThostFtdcInstrumentIDType CombInstrumentID;
+ ///ɽ
+ TThostFtdcTradeGroupIDType TradeGroupID;
+};
+
+///Ԥ
+struct CThostFtdcParkedOrderField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcOrderRefType OrderRef;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///۸
+ TThostFtdcOrderPriceTypeType OrderPriceType;
+ ///
+ TThostFtdcDirectionType Direction;
+ ///Ͽƽ־
+ TThostFtdcCombOffsetFlagType CombOffsetFlag;
+ ///Ͷױ־
+ TThostFtdcCombHedgeFlagType CombHedgeFlag;
+ ///۸
+ TThostFtdcPriceType LimitPrice;
+ ///
+ TThostFtdcVolumeType VolumeTotalOriginal;
+ ///Ч
+ TThostFtdcTimeConditionType TimeCondition;
+ ///GTD
+ TThostFtdcDateType GTDDate;
+ ///ɽ
+ TThostFtdcVolumeConditionType VolumeCondition;
+ ///Сɽ
+ TThostFtdcVolumeType MinVolume;
+ ///
+ TThostFtdcContingentConditionType ContingentCondition;
+ ///ֹ
+ TThostFtdcPriceType StopPrice;
+ ///ǿƽԭ
+ TThostFtdcForceCloseReasonType ForceCloseReason;
+ ///Զ־
+ TThostFtdcBoolType IsAutoSuspend;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ûǿ־
+ TThostFtdcBoolType UserForceClose;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ԥ
+ TThostFtdcParkedOrderIDType ParkedOrderID;
+ ///û
+ TThostFtdcUserTypeType UserType;
+ ///Ԥ״̬
+ TThostFtdcParkedOrderStatusType Status;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+ ///־
+ TThostFtdcBoolType IsSwapOrder;
+};
+
+///Ԥ
+struct CThostFtdcParkedOrderActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcOrderActionRefType OrderActionRef;
+ ///
+ TThostFtdcOrderRefType OrderRef;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcOrderSysIDType OrderSysID;
+ ///־
+ TThostFtdcActionFlagType ActionFlag;
+ ///۸
+ TThostFtdcPriceType LimitPrice;
+ ///仯
+ TThostFtdcVolumeType VolumeChange;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ԥ
+ TThostFtdcParkedOrderActionIDType ParkedOrderActionID;
+ ///û
+ TThostFtdcUserTypeType UserType;
+ ///Ԥ״̬
+ TThostFtdcParkedOrderStatusType Status;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+};
+
+///ѯԤ
+struct CThostFtdcQryParkedOrderField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ѯԤ
+struct CThostFtdcQryParkedOrderActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ɾԤ
+struct CThostFtdcRemoveParkedOrderField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Ԥ
+ TThostFtdcParkedOrderIDType ParkedOrderID;
+};
+
+///ɾԤ
+struct CThostFtdcRemoveParkedOrderActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Ԥ
+ TThostFtdcParkedOrderActionIDType ParkedOrderActionID;
+};
+
+///˾ʽ㷨
+struct CThostFtdcInvestorWithdrawAlgorithmField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷ߷Χ
+ TThostFtdcInvestorRangeType InvestorRange;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ʽ
+ TThostFtdcRatioType UsingRatio;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///Ѻ
+ TThostFtdcRatioType FundMortgageRatio;
+};
+
+///ѯϳֲϸ
+struct CThostFtdcQryInvestorPositionCombineDetailField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ϳֲֺԼ
+ TThostFtdcInstrumentIDType CombInstrumentID;
+};
+
+///ɽ
+struct CThostFtdcMarketDataAveragePriceField
+{
+ ///վ
+ TThostFtdcPriceType AveragePrice;
+};
+
+///УͶ
+struct CThostFtdcVerifyInvestorPasswordField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcPasswordType Password;
+};
+
+///ûIP
+struct CThostFtdcUserIPField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///IPַ
+ TThostFtdcIPAddressType IPAddress;
+ ///IPַ
+ TThostFtdcIPAddressType IPMask;
+ ///Macַ
+ TThostFtdcMacAddressType MacAddress;
+};
+
+///û¼֪ͨϢ
+struct CThostFtdcTradingNoticeInfoField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ʱ
+ TThostFtdcTimeType SendTime;
+ ///Ϣ
+ TThostFtdcContentType FieldContent;
+ ///ϵк
+ TThostFtdcSequenceSeriesType SequenceSeries;
+ ///к
+ TThostFtdcSequenceNoType SequenceNo;
+};
+
+///û¼֪ͨ
+struct CThostFtdcTradingNoticeField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷ߷Χ
+ TThostFtdcInvestorRangeType InvestorRange;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ϵк
+ TThostFtdcSequenceSeriesType SequenceSeries;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///ʱ
+ TThostFtdcTimeType SendTime;
+ ///к
+ TThostFtdcSequenceNoType SequenceNo;
+ ///Ϣ
+ TThostFtdcContentType FieldContent;
+};
+
+///ѯ¼֪ͨ
+struct CThostFtdcQryTradingNoticeField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+};
+
+///ѯ
+struct CThostFtdcQryErrOrderField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+};
+
+///
+struct CThostFtdcErrOrderField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcOrderRefType OrderRef;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///۸
+ TThostFtdcOrderPriceTypeType OrderPriceType;
+ ///
+ TThostFtdcDirectionType Direction;
+ ///Ͽƽ־
+ TThostFtdcCombOffsetFlagType CombOffsetFlag;
+ ///Ͷױ־
+ TThostFtdcCombHedgeFlagType CombHedgeFlag;
+ ///۸
+ TThostFtdcPriceType LimitPrice;
+ ///
+ TThostFtdcVolumeType VolumeTotalOriginal;
+ ///Ч
+ TThostFtdcTimeConditionType TimeCondition;
+ ///GTD
+ TThostFtdcDateType GTDDate;
+ ///ɽ
+ TThostFtdcVolumeConditionType VolumeCondition;
+ ///Сɽ
+ TThostFtdcVolumeType MinVolume;
+ ///
+ TThostFtdcContingentConditionType ContingentCondition;
+ ///ֹ
+ TThostFtdcPriceType StopPrice;
+ ///ǿƽԭ
+ TThostFtdcForceCloseReasonType ForceCloseReason;
+ ///Զ־
+ TThostFtdcBoolType IsAutoSuspend;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ûǿ־
+ TThostFtdcBoolType UserForceClose;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+ ///־
+ TThostFtdcBoolType IsSwapOrder;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ѯ
+struct CThostFtdcErrorConditionalOrderField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcOrderRefType OrderRef;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///۸
+ TThostFtdcOrderPriceTypeType OrderPriceType;
+ ///
+ TThostFtdcDirectionType Direction;
+ ///Ͽƽ־
+ TThostFtdcCombOffsetFlagType CombOffsetFlag;
+ ///Ͷױ־
+ TThostFtdcCombHedgeFlagType CombHedgeFlag;
+ ///۸
+ TThostFtdcPriceType LimitPrice;
+ ///
+ TThostFtdcVolumeType VolumeTotalOriginal;
+ ///Ч
+ TThostFtdcTimeConditionType TimeCondition;
+ ///GTD
+ TThostFtdcDateType GTDDate;
+ ///ɽ
+ TThostFtdcVolumeConditionType VolumeCondition;
+ ///Сɽ
+ TThostFtdcVolumeType MinVolume;
+ ///
+ TThostFtdcContingentConditionType ContingentCondition;
+ ///ֹ
+ TThostFtdcPriceType StopPrice;
+ ///ǿƽԭ
+ TThostFtdcForceCloseReasonType ForceCloseReason;
+ ///Զ־
+ TThostFtdcBoolType IsAutoSuspend;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ر
+ TThostFtdcOrderLocalIDType OrderLocalID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ԼڽĴ
+ TThostFtdcExchangeInstIDType ExchangeInstID;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ύ״̬
+ TThostFtdcOrderSubmitStatusType OrderSubmitStatus;
+ ///ʾ
+ TThostFtdcSequenceNoType NotifySequence;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///
+ TThostFtdcOrderSysIDType OrderSysID;
+ ///Դ
+ TThostFtdcOrderSourceType OrderSource;
+ ///״̬
+ TThostFtdcOrderStatusType OrderStatus;
+ ///
+ TThostFtdcOrderTypeType OrderType;
+ ///ɽ
+ TThostFtdcVolumeType VolumeTraded;
+ ///ʣ
+ TThostFtdcVolumeType VolumeTotal;
+ ///
+ TThostFtdcDateType InsertDate;
+ ///ίʱ
+ TThostFtdcTimeType InsertTime;
+ ///ʱ
+ TThostFtdcTimeType ActiveTime;
+ ///ʱ
+ TThostFtdcTimeType SuspendTime;
+ ///ʱ
+ TThostFtdcTimeType UpdateTime;
+ ///ʱ
+ TThostFtdcTimeType CancelTime;
+ ///ĽԱ
+ TThostFtdcTraderIDType ActiveTraderID;
+ ///Ա
+ TThostFtdcParticipantIDType ClearingPartID;
+ ///
+ TThostFtdcSequenceNoType SequenceNo;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///û˲ƷϢ
+ TThostFtdcProductInfoType UserProductInfo;
+ ///״̬Ϣ
+ TThostFtdcErrorMsgType StatusMsg;
+ ///ûǿ־
+ TThostFtdcBoolType UserForceClose;
+ ///û
+ TThostFtdcUserIDType ActiveUserID;
+ ///˾
+ TThostFtdcSequenceNoType BrokerOrderSeq;
+ ///ر
+ TThostFtdcOrderSysIDType RelativeOrderSysID;
+ ///֣ɽ
+ TThostFtdcVolumeType ZCETotalTradedVolume;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+ ///־
+ TThostFtdcBoolType IsSwapOrder;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+};
+
+///ѯ
+struct CThostFtdcQryErrOrderActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+};
+
+///
+struct CThostFtdcErrOrderActionField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcOrderActionRefType OrderActionRef;
+ ///
+ TThostFtdcOrderRefType OrderRef;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ǰñ
+ TThostFtdcFrontIDType FrontID;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcOrderSysIDType OrderSysID;
+ ///־
+ TThostFtdcActionFlagType ActionFlag;
+ ///۸
+ TThostFtdcPriceType LimitPrice;
+ ///仯
+ TThostFtdcVolumeType VolumeChange;
+ ///
+ TThostFtdcDateType ActionDate;
+ ///ʱ
+ TThostFtdcTimeType ActionTime;
+ ///Ա
+ TThostFtdcTraderIDType TraderID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ر
+ TThostFtdcOrderLocalIDType OrderLocalID;
+ ///ر
+ TThostFtdcOrderLocalIDType ActionLocalID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///ͻ
+ TThostFtdcClientIDType ClientID;
+ ///ҵԪ
+ TThostFtdcBusinessUnitType BusinessUnit;
+ ///״̬
+ TThostFtdcOrderActionStatusType OrderActionStatus;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///״̬Ϣ
+ TThostFtdcErrorMsgType StatusMsg;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///Ӫҵ
+ TThostFtdcBranchIDType BranchID;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+};
+
+///ѯ״̬
+struct CThostFtdcQryExchangeSequenceField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///״̬
+struct CThostFtdcExchangeSequenceField
+{
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///
+ TThostFtdcSequenceNoType SequenceNo;
+ ///Լ״̬
+ TThostFtdcInstrumentStatusType MarketStatus;
+};
+
+///ݼ۸ѯ
+struct CThostFtdcQueryMaxOrderVolumeWithPriceField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcDirectionType Direction;
+ ///ƽ־
+ TThostFtdcOffsetFlagType OffsetFlag;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///
+ TThostFtdcVolumeType MaxVolume;
+ ///۸
+ TThostFtdcPriceType Price;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ѯ˾ײ
+struct CThostFtdcQryBrokerTradingParamsField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+};
+
+///˾ײ
+struct CThostFtdcBrokerTradingParamsField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///֤۸
+ TThostFtdcMarginPriceTypeType MarginPriceType;
+ ///ӯ㷨
+ TThostFtdcAlgorithmType Algorithm;
+ ///Ƿƽӯ
+ TThostFtdcIncludeCloseProfitType AvailIncludeCloseProfit;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///ȨȨ۸
+ TThostFtdcOptionRoyaltyPriceTypeType OptionRoyaltyPriceType;
+};
+
+///ѯ˾㷨
+struct CThostFtdcQryBrokerTradingAlgosField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+};
+
+///˾㷨
+struct CThostFtdcBrokerTradingAlgosField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///ֲִ㷨
+ TThostFtdcHandlePositionAlgoIDType HandlePositionAlgoID;
+ ///Ѱұ֤㷨
+ TThostFtdcFindMarginRateAlgoIDType FindMarginRateAlgoID;
+ ///ʽ㷨
+ TThostFtdcHandleTradingAccountAlgoIDType HandleTradingAccountAlgoID;
+};
+
+///ѯ˾ʽ
+struct CThostFtdcQueryBrokerDepositField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///˾ʽ
+struct CThostFtdcBrokerDepositField
+{
+ ///
+ TThostFtdcTradeDateType TradingDay;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ա
+ TThostFtdcParticipantIDType ParticipantID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///ϴν
+ TThostFtdcMoneyType PreBalance;
+ ///ǰ֤ܶ
+ TThostFtdcMoneyType CurrMargin;
+ ///ƽӯ
+ TThostFtdcMoneyType CloseProfit;
+ ///ڻ
+ TThostFtdcMoneyType Balance;
+ ///
+ TThostFtdcMoneyType Deposit;
+ ///
+ TThostFtdcMoneyType Withdraw;
+ ///ʽ
+ TThostFtdcMoneyType Available;
+ ///
+ TThostFtdcMoneyType Reserve;
+ ///ı֤
+ TThostFtdcMoneyType FrozenMargin;
+};
+
+///ѯ֤ϵͳ˾Կ
+struct CThostFtdcQryCFMMCBrokerKeyField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+};
+
+///֤ϵͳ˾Կ
+struct CThostFtdcCFMMCBrokerKeyField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///˾ͳһ
+ TThostFtdcParticipantIDType ParticipantID;
+ ///Կ
+ TThostFtdcDateType CreateDate;
+ ///Կʱ
+ TThostFtdcTimeType CreateTime;
+ ///Կ
+ TThostFtdcSequenceNoType KeyID;
+ ///̬Կ
+ TThostFtdcCFMMCKeyType CurrentKey;
+ ///̬Կ
+ TThostFtdcCFMMCKeyKindType KeyKind;
+};
+
+///֤ϵͳ˾ʽ˻Կ
+struct CThostFtdcCFMMCTradingAccountKeyField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///˾ͳһ
+ TThostFtdcParticipantIDType ParticipantID;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///Կ
+ TThostFtdcSequenceNoType KeyID;
+ ///̬Կ
+ TThostFtdcCFMMCKeyType CurrentKey;
+};
+
+///ѯ֤ϵͳ˾ʽ˻Կ
+struct CThostFtdcQryCFMMCTradingAccountKeyField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+};
+
+///û̬Ʋ
+struct CThostFtdcBrokerUserOTPParamField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///̬ṩ
+ TThostFtdcOTPVendorsIDType OTPVendorsID;
+ ///̬к
+ TThostFtdcSerialNumberType SerialNumber;
+ ///Կ
+ TThostFtdcAuthKeyType AuthKey;
+ ///Ưֵ
+ TThostFtdcLastDriftType LastDrift;
+ ///ɹֵ
+ TThostFtdcLastSuccessType LastSuccess;
+ ///̬
+ TThostFtdcOTPTypeType OTPType;
+};
+
+///ֹͬû̬
+struct CThostFtdcManualSyncBrokerUserOTPField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///̬
+ TThostFtdcOTPTypeType OTPType;
+ ///һ̬
+ TThostFtdcPasswordType FirstOTP;
+ ///ڶ̬
+ TThostFtdcPasswordType SecondOTP;
+};
+
+///Ͷģ
+struct CThostFtdcCommRateModelField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///ģ
+ TThostFtdcInvestorIDType CommModelID;
+ ///ģ
+ TThostFtdcCommModelNameType CommModelName;
+};
+
+///ѯͶģ
+struct CThostFtdcQryCommRateModelField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///ģ
+ TThostFtdcInvestorIDType CommModelID;
+};
+
+///Ͷ֤߱ģ
+struct CThostFtdcMarginModelField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///֤ģ
+ TThostFtdcInvestorIDType MarginModelID;
+ ///ģ
+ TThostFtdcCommModelNameType MarginModelName;
+};
+
+///ѯͶ֤߱ģ
+struct CThostFtdcQryMarginModelField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///֤ģ
+ TThostFtdcInvestorIDType MarginModelID;
+};
+
+///ֵ۵Ϣ
+struct CThostFtdcEWarrantOffsetField
+{
+ ///
+ TThostFtdcTradeDateType TradingDay;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+ ///
+ TThostFtdcDirectionType Direction;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+ ///
+ TThostFtdcVolumeType Volume;
+};
+
+///ѯֵ۵Ϣ
+struct CThostFtdcQryEWarrantOffsetField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Լ
+ TThostFtdcInstrumentIDType InstrumentID;
+};
+
+///ѯͶƷ/Ʒֱ֤
+struct CThostFtdcQryInvestorProductGroupMarginField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///Ʒ/Ʒֱʾ
+ TThostFtdcInstrumentIDType ProductGroupID;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+};
+
+///ͶƷ/Ʒֱ֤
+struct CThostFtdcInvestorProductGroupMarginField
+{
+ ///Ʒ/Ʒֱʾ
+ TThostFtdcInstrumentIDType ProductGroupID;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///
+ TThostFtdcSettlementIDType SettlementID;
+ ///ı֤
+ TThostFtdcMoneyType FrozenMargin;
+ ///ͷı֤
+ TThostFtdcMoneyType LongFrozenMargin;
+ ///ͷı֤
+ TThostFtdcMoneyType ShortFrozenMargin;
+ ///ռõı֤
+ TThostFtdcMoneyType UseMargin;
+ ///ͷ֤
+ TThostFtdcMoneyType LongUseMargin;
+ ///ͷ֤
+ TThostFtdcMoneyType ShortUseMargin;
+ ///֤
+ TThostFtdcMoneyType ExchMargin;
+ ///ͷ֤
+ TThostFtdcMoneyType LongExchMargin;
+ ///ͷ֤
+ TThostFtdcMoneyType ShortExchMargin;
+ ///ƽӯ
+ TThostFtdcMoneyType CloseProfit;
+ ///
+ TThostFtdcMoneyType FrozenCommission;
+ ///
+ TThostFtdcMoneyType Commission;
+ ///ʽ
+ TThostFtdcMoneyType FrozenCash;
+ ///ʽ
+ TThostFtdcMoneyType CashIn;
+ ///ֲӯ
+ TThostFtdcMoneyType PositionProfit;
+ ///۵ܽ
+ TThostFtdcMoneyType OffsetAmount;
+ ///ͷ۵ܽ
+ TThostFtdcMoneyType LongOffsetAmount;
+ ///ͷ۵ܽ
+ TThostFtdcMoneyType ShortOffsetAmount;
+ ///۵ܽ
+ TThostFtdcMoneyType ExchOffsetAmount;
+ ///ͷ۵ܽ
+ TThostFtdcMoneyType LongExchOffsetAmount;
+ ///ͷ۵ܽ
+ TThostFtdcMoneyType ShortExchOffsetAmount;
+ ///Ͷױ־
+ TThostFtdcHedgeFlagType HedgeFlag;
+};
+
+///ѯû
+struct CThostFtdcQueryCFMMCTradingAccountTokenField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+};
+
+///û
+struct CThostFtdcCFMMCTradingAccountTokenField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///˾ͳһ
+ TThostFtdcParticipantIDType ParticipantID;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///Կ
+ TThostFtdcSequenceNoType KeyID;
+ ///̬
+ TThostFtdcCFMMCTokenType Token;
+};
+
+///ͶָȨ
+struct CThostFtdcInstructionRightField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ָȨ
+ TThostFtdcInstructionRightTypeType InstructionRight;
+ ///Ƿֹ
+ TThostFtdcBoolType IsForbidden;
+};
+
+///ѯƷ
+struct CThostFtdcQryProductGroupField
+{
+ ///Ʒ
+ TThostFtdcInstrumentIDType ProductID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+};
+
+///ͶƷ/Ʒֱ֤Ʒ
+struct CThostFtdcProductGroupField
+{
+ ///Ʒ
+ TThostFtdcInstrumentIDType ProductID;
+ ///
+ TThostFtdcExchangeIDType ExchangeID;
+ ///Ʒ
+ TThostFtdcInstrumentIDType ProductGroupID;
+};
+
+///תʿ
+struct CThostFtdcReqOpenAccountField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///ͻ
+ TThostFtdcIndividualNameType CustomerName;
+ ///֤
+ TThostFtdcIdCardTypeType IdCardType;
+ ///֤
+ TThostFtdcIdentifiedCardNoType IdentifiedCardNo;
+ ///Ա
+ TThostFtdcGenderType Gender;
+ ///Ҵ
+ TThostFtdcCountryCodeType CountryCode;
+ ///ͻ
+ TThostFtdcCustTypeType CustType;
+ ///ַ
+ TThostFtdcAddressType Address;
+ ///ʱ
+ TThostFtdcZipCodeType ZipCode;
+ ///绰
+ TThostFtdcTelephoneType Telephone;
+ ///ֻ
+ TThostFtdcMobilePhoneType MobilePhone;
+ ///
+ TThostFtdcFaxType Fax;
+ ///ʼ
+ TThostFtdcEMailType EMail;
+ ///ʽ˻״̬
+ TThostFtdcMoneyAccountStatusType MoneyAccountStatus;
+ ///ʺ
+ TThostFtdcBankAccountType BankAccount;
+ ///
+ TThostFtdcPasswordType BankPassWord;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ڻ
+ TThostFtdcPasswordType Password;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///֤ͻ֤־
+ TThostFtdcYesNoIndicatorType VerifyCertNoFlag;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///㳮־
+ TThostFtdcCashExchangeCodeType CashExchangeCode;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+ ///ʺ
+ TThostFtdcBankAccTypeType BankAccType;
+ ///־
+ TThostFtdcDeviceIDType DeviceID;
+ ///ڻλʺ
+ TThostFtdcBankAccTypeType BankSecuAccType;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///ڻλʺ
+ TThostFtdcBankAccountType BankSecuAcc;
+ ///־
+ TThostFtdcPwdFlagType BankPwdFlag;
+ ///ڻʽ˶Ա־
+ TThostFtdcPwdFlagType SecuPwdFlag;
+ ///Ա
+ TThostFtdcOperNoType OperNo;
+ ///ID
+ TThostFtdcTIDType TID;
+ ///ûʶ
+ TThostFtdcUserIDType UserID;
+};
+
+///ת
+struct CThostFtdcReqCancelAccountField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///ͻ
+ TThostFtdcIndividualNameType CustomerName;
+ ///֤
+ TThostFtdcIdCardTypeType IdCardType;
+ ///֤
+ TThostFtdcIdentifiedCardNoType IdentifiedCardNo;
+ ///Ա
+ TThostFtdcGenderType Gender;
+ ///Ҵ
+ TThostFtdcCountryCodeType CountryCode;
+ ///ͻ
+ TThostFtdcCustTypeType CustType;
+ ///ַ
+ TThostFtdcAddressType Address;
+ ///ʱ
+ TThostFtdcZipCodeType ZipCode;
+ ///绰
+ TThostFtdcTelephoneType Telephone;
+ ///ֻ
+ TThostFtdcMobilePhoneType MobilePhone;
+ ///
+ TThostFtdcFaxType Fax;
+ ///ʼ
+ TThostFtdcEMailType EMail;
+ ///ʽ˻״̬
+ TThostFtdcMoneyAccountStatusType MoneyAccountStatus;
+ ///ʺ
+ TThostFtdcBankAccountType BankAccount;
+ ///
+ TThostFtdcPasswordType BankPassWord;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ڻ
+ TThostFtdcPasswordType Password;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///֤ͻ֤־
+ TThostFtdcYesNoIndicatorType VerifyCertNoFlag;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///㳮־
+ TThostFtdcCashExchangeCodeType CashExchangeCode;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+ ///ʺ
+ TThostFtdcBankAccTypeType BankAccType;
+ ///־
+ TThostFtdcDeviceIDType DeviceID;
+ ///ڻλʺ
+ TThostFtdcBankAccTypeType BankSecuAccType;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///ڻλʺ
+ TThostFtdcBankAccountType BankSecuAcc;
+ ///־
+ TThostFtdcPwdFlagType BankPwdFlag;
+ ///ڻʽ˶Ա־
+ TThostFtdcPwdFlagType SecuPwdFlag;
+ ///Ա
+ TThostFtdcOperNoType OperNo;
+ ///ID
+ TThostFtdcTIDType TID;
+ ///ûʶ
+ TThostFtdcUserIDType UserID;
+};
+
+///˻
+struct CThostFtdcReqChangeAccountField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///ͻ
+ TThostFtdcIndividualNameType CustomerName;
+ ///֤
+ TThostFtdcIdCardTypeType IdCardType;
+ ///֤
+ TThostFtdcIdentifiedCardNoType IdentifiedCardNo;
+ ///Ա
+ TThostFtdcGenderType Gender;
+ ///Ҵ
+ TThostFtdcCountryCodeType CountryCode;
+ ///ͻ
+ TThostFtdcCustTypeType CustType;
+ ///ַ
+ TThostFtdcAddressType Address;
+ ///ʱ
+ TThostFtdcZipCodeType ZipCode;
+ ///绰
+ TThostFtdcTelephoneType Telephone;
+ ///ֻ
+ TThostFtdcMobilePhoneType MobilePhone;
+ ///
+ TThostFtdcFaxType Fax;
+ ///ʼ
+ TThostFtdcEMailType EMail;
+ ///ʽ˻״̬
+ TThostFtdcMoneyAccountStatusType MoneyAccountStatus;
+ ///ʺ
+ TThostFtdcBankAccountType BankAccount;
+ ///
+ TThostFtdcPasswordType BankPassWord;
+ ///ʺ
+ TThostFtdcBankAccountType NewBankAccount;
+ ///
+ TThostFtdcPasswordType NewBankPassWord;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ڻ
+ TThostFtdcPasswordType Password;
+ ///ʺ
+ TThostFtdcBankAccTypeType BankAccType;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///֤ͻ֤־
+ TThostFtdcYesNoIndicatorType VerifyCertNoFlag;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///־
+ TThostFtdcPwdFlagType BankPwdFlag;
+ ///ڻʽ˶Ա־
+ TThostFtdcPwdFlagType SecuPwdFlag;
+ ///ID
+ TThostFtdcTIDType TID;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+};
+
+///ת
+struct CThostFtdcReqTransferField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///ͻ
+ TThostFtdcIndividualNameType CustomerName;
+ ///֤
+ TThostFtdcIdCardTypeType IdCardType;
+ ///֤
+ TThostFtdcIdentifiedCardNoType IdentifiedCardNo;
+ ///ͻ
+ TThostFtdcCustTypeType CustType;
+ ///ʺ
+ TThostFtdcBankAccountType BankAccount;
+ ///
+ TThostFtdcPasswordType BankPassWord;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ڻ
+ TThostFtdcPasswordType Password;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ڻ˾ˮ
+ TThostFtdcFutureSerialType FutureSerial;
+ ///ûʶ
+ TThostFtdcUserIDType UserID;
+ ///֤ͻ֤־
+ TThostFtdcYesNoIndicatorType VerifyCertNoFlag;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///תʽ
+ TThostFtdcTradeAmountType TradeAmount;
+ ///ڻȡ
+ TThostFtdcTradeAmountType FutureFetchAmount;
+ ///֧־
+ TThostFtdcFeePayFlagType FeePayFlag;
+ ///Ӧտͻ
+ TThostFtdcCustFeeType CustFee;
+ ///Ӧڻ˾
+ TThostFtdcFutureFeeType BrokerFee;
+ ///ͷշϢ
+ TThostFtdcAddInfoType Message;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+ ///ʺ
+ TThostFtdcBankAccTypeType BankAccType;
+ ///־
+ TThostFtdcDeviceIDType DeviceID;
+ ///ڻλʺ
+ TThostFtdcBankAccTypeType BankSecuAccType;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///ڻλʺ
+ TThostFtdcBankAccountType BankSecuAcc;
+ ///־
+ TThostFtdcPwdFlagType BankPwdFlag;
+ ///ڻʽ˶Ա־
+ TThostFtdcPwdFlagType SecuPwdFlag;
+ ///Ա
+ TThostFtdcOperNoType OperNo;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ID
+ TThostFtdcTIDType TID;
+ ///ת˽״̬
+ TThostFtdcTransferStatusType TransferStatus;
+};
+
+///зʽתڻӦ
+struct CThostFtdcRspTransferField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///ͻ
+ TThostFtdcIndividualNameType CustomerName;
+ ///֤
+ TThostFtdcIdCardTypeType IdCardType;
+ ///֤
+ TThostFtdcIdentifiedCardNoType IdentifiedCardNo;
+ ///ͻ
+ TThostFtdcCustTypeType CustType;
+ ///ʺ
+ TThostFtdcBankAccountType BankAccount;
+ ///
+ TThostFtdcPasswordType BankPassWord;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ڻ
+ TThostFtdcPasswordType Password;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ڻ˾ˮ
+ TThostFtdcFutureSerialType FutureSerial;
+ ///ûʶ
+ TThostFtdcUserIDType UserID;
+ ///֤ͻ֤־
+ TThostFtdcYesNoIndicatorType VerifyCertNoFlag;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///תʽ
+ TThostFtdcTradeAmountType TradeAmount;
+ ///ڻȡ
+ TThostFtdcTradeAmountType FutureFetchAmount;
+ ///֧־
+ TThostFtdcFeePayFlagType FeePayFlag;
+ ///Ӧտͻ
+ TThostFtdcCustFeeType CustFee;
+ ///Ӧڻ˾
+ TThostFtdcFutureFeeType BrokerFee;
+ ///ͷշϢ
+ TThostFtdcAddInfoType Message;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+ ///ʺ
+ TThostFtdcBankAccTypeType BankAccType;
+ ///־
+ TThostFtdcDeviceIDType DeviceID;
+ ///ڻλʺ
+ TThostFtdcBankAccTypeType BankSecuAccType;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///ڻλʺ
+ TThostFtdcBankAccountType BankSecuAcc;
+ ///־
+ TThostFtdcPwdFlagType BankPwdFlag;
+ ///ڻʽ˶Ա־
+ TThostFtdcPwdFlagType SecuPwdFlag;
+ ///Ա
+ TThostFtdcOperNoType OperNo;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ID
+ TThostFtdcTIDType TID;
+ ///ת˽״̬
+ TThostFtdcTransferStatusType TransferStatus;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+};
+
+///
+struct CThostFtdcReqRepealField
+{
+ ///ʱ
+ TThostFtdcRepealTimeIntervalType RepealTimeInterval;
+ ///Ѿ
+ TThostFtdcRepealedTimesType RepealedTimes;
+ ///г־
+ TThostFtdcBankRepealFlagType BankRepealFlag;
+ ///̳־
+ TThostFtdcBrokerRepealFlagType BrokerRepealFlag;
+ ///ƽ̨ˮ
+ TThostFtdcPlateSerialType PlateRepealSerial;
+ ///ˮ
+ TThostFtdcBankSerialType BankRepealSerial;
+ ///ڻˮ
+ TThostFtdcFutureSerialType FutureRepealSerial;
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///ͻ
+ TThostFtdcIndividualNameType CustomerName;
+ ///֤
+ TThostFtdcIdCardTypeType IdCardType;
+ ///֤
+ TThostFtdcIdentifiedCardNoType IdentifiedCardNo;
+ ///ͻ
+ TThostFtdcCustTypeType CustType;
+ ///ʺ
+ TThostFtdcBankAccountType BankAccount;
+ ///
+ TThostFtdcPasswordType BankPassWord;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ڻ
+ TThostFtdcPasswordType Password;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ڻ˾ˮ
+ TThostFtdcFutureSerialType FutureSerial;
+ ///ûʶ
+ TThostFtdcUserIDType UserID;
+ ///֤ͻ֤־
+ TThostFtdcYesNoIndicatorType VerifyCertNoFlag;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///תʽ
+ TThostFtdcTradeAmountType TradeAmount;
+ ///ڻȡ
+ TThostFtdcTradeAmountType FutureFetchAmount;
+ ///֧־
+ TThostFtdcFeePayFlagType FeePayFlag;
+ ///Ӧտͻ
+ TThostFtdcCustFeeType CustFee;
+ ///Ӧڻ˾
+ TThostFtdcFutureFeeType BrokerFee;
+ ///ͷշϢ
+ TThostFtdcAddInfoType Message;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+ ///ʺ
+ TThostFtdcBankAccTypeType BankAccType;
+ ///־
+ TThostFtdcDeviceIDType DeviceID;
+ ///ڻλʺ
+ TThostFtdcBankAccTypeType BankSecuAccType;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///ڻλʺ
+ TThostFtdcBankAccountType BankSecuAcc;
+ ///־
+ TThostFtdcPwdFlagType BankPwdFlag;
+ ///ڻʽ˶Ա־
+ TThostFtdcPwdFlagType SecuPwdFlag;
+ ///Ա
+ TThostFtdcOperNoType OperNo;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ID
+ TThostFtdcTIDType TID;
+ ///ת˽״̬
+ TThostFtdcTransferStatusType TransferStatus;
+};
+
+///Ӧ
+struct CThostFtdcRspRepealField
+{
+ ///ʱ
+ TThostFtdcRepealTimeIntervalType RepealTimeInterval;
+ ///Ѿ
+ TThostFtdcRepealedTimesType RepealedTimes;
+ ///г־
+ TThostFtdcBankRepealFlagType BankRepealFlag;
+ ///̳־
+ TThostFtdcBrokerRepealFlagType BrokerRepealFlag;
+ ///ƽ̨ˮ
+ TThostFtdcPlateSerialType PlateRepealSerial;
+ ///ˮ
+ TThostFtdcBankSerialType BankRepealSerial;
+ ///ڻˮ
+ TThostFtdcFutureSerialType FutureRepealSerial;
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///ͻ
+ TThostFtdcIndividualNameType CustomerName;
+ ///֤
+ TThostFtdcIdCardTypeType IdCardType;
+ ///֤
+ TThostFtdcIdentifiedCardNoType IdentifiedCardNo;
+ ///ͻ
+ TThostFtdcCustTypeType CustType;
+ ///ʺ
+ TThostFtdcBankAccountType BankAccount;
+ ///
+ TThostFtdcPasswordType BankPassWord;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ڻ
+ TThostFtdcPasswordType Password;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ڻ˾ˮ
+ TThostFtdcFutureSerialType FutureSerial;
+ ///ûʶ
+ TThostFtdcUserIDType UserID;
+ ///֤ͻ֤־
+ TThostFtdcYesNoIndicatorType VerifyCertNoFlag;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///תʽ
+ TThostFtdcTradeAmountType TradeAmount;
+ ///ڻȡ
+ TThostFtdcTradeAmountType FutureFetchAmount;
+ ///֧־
+ TThostFtdcFeePayFlagType FeePayFlag;
+ ///Ӧտͻ
+ TThostFtdcCustFeeType CustFee;
+ ///Ӧڻ˾
+ TThostFtdcFutureFeeType BrokerFee;
+ ///ͷշϢ
+ TThostFtdcAddInfoType Message;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+ ///ʺ
+ TThostFtdcBankAccTypeType BankAccType;
+ ///־
+ TThostFtdcDeviceIDType DeviceID;
+ ///ڻλʺ
+ TThostFtdcBankAccTypeType BankSecuAccType;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///ڻλʺ
+ TThostFtdcBankAccountType BankSecuAcc;
+ ///־
+ TThostFtdcPwdFlagType BankPwdFlag;
+ ///ڻʽ˶Ա־
+ TThostFtdcPwdFlagType SecuPwdFlag;
+ ///Ա
+ TThostFtdcOperNoType OperNo;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ID
+ TThostFtdcTIDType TID;
+ ///ת˽״̬
+ TThostFtdcTransferStatusType TransferStatus;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+};
+
+///ѯ˻Ϣ
+struct CThostFtdcReqQueryAccountField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///ͻ
+ TThostFtdcIndividualNameType CustomerName;
+ ///֤
+ TThostFtdcIdCardTypeType IdCardType;
+ ///֤
+ TThostFtdcIdentifiedCardNoType IdentifiedCardNo;
+ ///ͻ
+ TThostFtdcCustTypeType CustType;
+ ///ʺ
+ TThostFtdcBankAccountType BankAccount;
+ ///
+ TThostFtdcPasswordType BankPassWord;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ڻ
+ TThostFtdcPasswordType Password;
+ ///ڻ˾ˮ
+ TThostFtdcFutureSerialType FutureSerial;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ûʶ
+ TThostFtdcUserIDType UserID;
+ ///֤ͻ֤־
+ TThostFtdcYesNoIndicatorType VerifyCertNoFlag;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+ ///ʺ
+ TThostFtdcBankAccTypeType BankAccType;
+ ///־
+ TThostFtdcDeviceIDType DeviceID;
+ ///ڻλʺ
+ TThostFtdcBankAccTypeType BankSecuAccType;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///ڻλʺ
+ TThostFtdcBankAccountType BankSecuAcc;
+ ///־
+ TThostFtdcPwdFlagType BankPwdFlag;
+ ///ڻʽ˶Ա־
+ TThostFtdcPwdFlagType SecuPwdFlag;
+ ///Ա
+ TThostFtdcOperNoType OperNo;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ID
+ TThostFtdcTIDType TID;
+};
+
+///ѯ˻ϢӦ
+struct CThostFtdcRspQueryAccountField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///ͻ
+ TThostFtdcIndividualNameType CustomerName;
+ ///֤
+ TThostFtdcIdCardTypeType IdCardType;
+ ///֤
+ TThostFtdcIdentifiedCardNoType IdentifiedCardNo;
+ ///ͻ
+ TThostFtdcCustTypeType CustType;
+ ///ʺ
+ TThostFtdcBankAccountType BankAccount;
+ ///
+ TThostFtdcPasswordType BankPassWord;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ڻ
+ TThostFtdcPasswordType Password;
+ ///ڻ˾ˮ
+ TThostFtdcFutureSerialType FutureSerial;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ûʶ
+ TThostFtdcUserIDType UserID;
+ ///֤ͻ֤־
+ TThostFtdcYesNoIndicatorType VerifyCertNoFlag;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+ ///ʺ
+ TThostFtdcBankAccTypeType BankAccType;
+ ///־
+ TThostFtdcDeviceIDType DeviceID;
+ ///ڻλʺ
+ TThostFtdcBankAccTypeType BankSecuAccType;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///ڻλʺ
+ TThostFtdcBankAccountType BankSecuAcc;
+ ///־
+ TThostFtdcPwdFlagType BankPwdFlag;
+ ///ڻʽ˶Ա־
+ TThostFtdcPwdFlagType SecuPwdFlag;
+ ///Ա
+ TThostFtdcOperNoType OperNo;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ID
+ TThostFtdcTIDType TID;
+ ///пý
+ TThostFtdcTradeAmountType BankUseAmount;
+ ///пȡ
+ TThostFtdcTradeAmountType BankFetchAmount;
+};
+
+///ǩǩ
+struct CThostFtdcFutureSignIOField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ûʶ
+ TThostFtdcUserIDType UserID;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///־
+ TThostFtdcDeviceIDType DeviceID;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///Ա
+ TThostFtdcOperNoType OperNo;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ID
+ TThostFtdcTIDType TID;
+};
+
+///ǩӦ
+struct CThostFtdcRspFutureSignInField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ûʶ
+ TThostFtdcUserIDType UserID;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///־
+ TThostFtdcDeviceIDType DeviceID;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///Ա
+ TThostFtdcOperNoType OperNo;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ID
+ TThostFtdcTIDType TID;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+ ///PINԿ
+ TThostFtdcPasswordKeyType PinKey;
+ ///MACԿ
+ TThostFtdcPasswordKeyType MacKey;
+};
+
+///ǩ
+struct CThostFtdcReqFutureSignOutField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ûʶ
+ TThostFtdcUserIDType UserID;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///־
+ TThostFtdcDeviceIDType DeviceID;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///Ա
+ TThostFtdcOperNoType OperNo;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ID
+ TThostFtdcTIDType TID;
+};
+
+///ǩӦ
+struct CThostFtdcRspFutureSignOutField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ûʶ
+ TThostFtdcUserIDType UserID;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///־
+ TThostFtdcDeviceIDType DeviceID;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///Ա
+ TThostFtdcOperNoType OperNo;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ID
+ TThostFtdcTIDType TID;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+};
+
+///ѯָˮŵĽ
+struct CThostFtdcReqQueryTradeResultBySerialField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///ˮ
+ TThostFtdcSerialType Reference;
+ ///ˮŷߵĻ
+ TThostFtdcInstitutionTypeType RefrenceIssureType;
+ ///ˮŷ
+ TThostFtdcOrganCodeType RefrenceIssure;
+ ///ͻ
+ TThostFtdcIndividualNameType CustomerName;
+ ///֤
+ TThostFtdcIdCardTypeType IdCardType;
+ ///֤
+ TThostFtdcIdentifiedCardNoType IdentifiedCardNo;
+ ///ͻ
+ TThostFtdcCustTypeType CustType;
+ ///ʺ
+ TThostFtdcBankAccountType BankAccount;
+ ///
+ TThostFtdcPasswordType BankPassWord;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ڻ
+ TThostFtdcPasswordType Password;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///תʽ
+ TThostFtdcTradeAmountType TradeAmount;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+};
+
+///ѯָˮŵĽӦ
+struct CThostFtdcRspQueryTradeResultBySerialField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+ ///ˮ
+ TThostFtdcSerialType Reference;
+ ///ˮŷߵĻ
+ TThostFtdcInstitutionTypeType RefrenceIssureType;
+ ///ˮŷ
+ TThostFtdcOrganCodeType RefrenceIssure;
+ ///ԭʼش
+ TThostFtdcReturnCodeType OriginReturnCode;
+ ///ԭʼ
+ TThostFtdcDescrInfoForReturnCodeType OriginDescrInfoForReturnCode;
+ ///ʺ
+ TThostFtdcBankAccountType BankAccount;
+ ///
+ TThostFtdcPasswordType BankPassWord;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ڻ
+ TThostFtdcPasswordType Password;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///תʽ
+ TThostFtdcTradeAmountType TradeAmount;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+};
+
+///ļ
+struct CThostFtdcReqDayEndFileReadyField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///ļҵ
+ TThostFtdcFileBusinessCodeType FileBusinessCode;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+};
+
+///ؽ
+struct CThostFtdcReturnResultField
+{
+ ///ش
+ TThostFtdcReturnCodeType ReturnCode;
+ ///
+ TThostFtdcDescrInfoForReturnCodeType DescrInfoForReturnCode;
+};
+
+///֤ڻʽ
+struct CThostFtdcVerifyFuturePasswordField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ڻ
+ TThostFtdcPasswordType Password;
+ ///ʺ
+ TThostFtdcBankAccountType BankAccount;
+ ///
+ TThostFtdcPasswordType BankPassWord;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ID
+ TThostFtdcTIDType TID;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+};
+
+///֤ͻϢ
+struct CThostFtdcVerifyCustInfoField
+{
+ ///ͻ
+ TThostFtdcIndividualNameType CustomerName;
+ ///֤
+ TThostFtdcIdCardTypeType IdCardType;
+ ///֤
+ TThostFtdcIdentifiedCardNoType IdentifiedCardNo;
+ ///ͻ
+ TThostFtdcCustTypeType CustType;
+};
+
+///֤ڻʽͿͻϢ
+struct CThostFtdcVerifyFuturePasswordAndCustInfoField
+{
+ ///ͻ
+ TThostFtdcIndividualNameType CustomerName;
+ ///֤
+ TThostFtdcIdCardTypeType IdCardType;
+ ///֤
+ TThostFtdcIdentifiedCardNoType IdentifiedCardNo;
+ ///ͻ
+ TThostFtdcCustTypeType CustType;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ڻ
+ TThostFtdcPasswordType Password;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+};
+
+///֤ڻʽͿͻϢ
+struct CThostFtdcDepositResultInformField
+{
+ ///ˮţˮΪڱ̷صˮ
+ TThostFtdcDepositSeqNoType DepositSeqNo;
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///
+ TThostFtdcMoneyType Deposit;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ش
+ TThostFtdcReturnCodeType ReturnCode;
+ ///
+ TThostFtdcDescrInfoForReturnCodeType DescrInfoForReturnCode;
+};
+
+///ڱ̷Կͬ
+struct CThostFtdcReqSyncKeyField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ûʶ
+ TThostFtdcUserIDType UserID;
+ ///ĸڱ̵Ϣ
+ TThostFtdcAddInfoType Message;
+ ///־
+ TThostFtdcDeviceIDType DeviceID;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///Ա
+ TThostFtdcOperNoType OperNo;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ID
+ TThostFtdcTIDType TID;
+};
+
+///ڱ̷ԿͬӦ
+struct CThostFtdcRspSyncKeyField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ûʶ
+ TThostFtdcUserIDType UserID;
+ ///ĸڱ̵Ϣ
+ TThostFtdcAddInfoType Message;
+ ///־
+ TThostFtdcDeviceIDType DeviceID;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///Ա
+ TThostFtdcOperNoType OperNo;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ID
+ TThostFtdcTIDType TID;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+};
+
+///ѯ˻Ϣ֪ͨ
+struct CThostFtdcNotifyQueryAccountField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///ͻ
+ TThostFtdcIndividualNameType CustomerName;
+ ///֤
+ TThostFtdcIdCardTypeType IdCardType;
+ ///֤
+ TThostFtdcIdentifiedCardNoType IdentifiedCardNo;
+ ///ͻ
+ TThostFtdcCustTypeType CustType;
+ ///ʺ
+ TThostFtdcBankAccountType BankAccount;
+ ///
+ TThostFtdcPasswordType BankPassWord;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ڻ
+ TThostFtdcPasswordType Password;
+ ///ڻ˾ˮ
+ TThostFtdcFutureSerialType FutureSerial;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ûʶ
+ TThostFtdcUserIDType UserID;
+ ///֤ͻ֤־
+ TThostFtdcYesNoIndicatorType VerifyCertNoFlag;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+ ///ʺ
+ TThostFtdcBankAccTypeType BankAccType;
+ ///־
+ TThostFtdcDeviceIDType DeviceID;
+ ///ڻλʺ
+ TThostFtdcBankAccTypeType BankSecuAccType;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///ڻλʺ
+ TThostFtdcBankAccountType BankSecuAcc;
+ ///־
+ TThostFtdcPwdFlagType BankPwdFlag;
+ ///ڻʽ˶Ա־
+ TThostFtdcPwdFlagType SecuPwdFlag;
+ ///Ա
+ TThostFtdcOperNoType OperNo;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ID
+ TThostFtdcTIDType TID;
+ ///пý
+ TThostFtdcTradeAmountType BankUseAmount;
+ ///пȡ
+ TThostFtdcTradeAmountType BankFetchAmount;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+};
+
+///ת˽ˮ
+struct CThostFtdcTransferSerialField
+{
+ ///ƽ̨ˮ
+ TThostFtdcPlateSerialType PlateSerial;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///
+ TThostFtdcDateType TradingDay;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///״
+ TThostFtdcTradeCodeType TradeCode;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///б
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///ʺ
+ TThostFtdcBankAccTypeType BankAccType;
+ ///ʺ
+ TThostFtdcBankAccountType BankAccount;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ڻ˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///ڻ˾ʺ
+ TThostFtdcFutureAccTypeType FutureAccType;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///Ͷߴ
+ TThostFtdcInvestorIDType InvestorID;
+ ///ڻ˾ˮ
+ TThostFtdcFutureSerialType FutureSerial;
+ ///֤
+ TThostFtdcIdCardTypeType IdCardType;
+ ///֤
+ TThostFtdcIdentifiedCardNoType IdentifiedCardNo;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///
+ TThostFtdcTradeAmountType TradeAmount;
+ ///Ӧտͻ
+ TThostFtdcCustFeeType CustFee;
+ ///Ӧڻ˾
+ TThostFtdcFutureFeeType BrokerFee;
+ ///Ч־
+ TThostFtdcAvailabilityFlagType AvailabilityFlag;
+ ///Ա
+ TThostFtdcOperatorCodeType OperatorCode;
+ ///ʺ
+ TThostFtdcBankAccountType BankNewAccount;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+};
+
+///ѯתˮ
+struct CThostFtdcQryTransferSerialField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///б
+ TThostFtdcBankIDType BankID;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+};
+
+///ǩ֪ͨ
+struct CThostFtdcNotifyFutureSignInField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ûʶ
+ TThostFtdcUserIDType UserID;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///־
+ TThostFtdcDeviceIDType DeviceID;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///Ա
+ TThostFtdcOperNoType OperNo;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ID
+ TThostFtdcTIDType TID;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+ ///PINԿ
+ TThostFtdcPasswordKeyType PinKey;
+ ///MACԿ
+ TThostFtdcPasswordKeyType MacKey;
+};
+
+///ǩ֪ͨ
+struct CThostFtdcNotifyFutureSignOutField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ûʶ
+ TThostFtdcUserIDType UserID;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///־
+ TThostFtdcDeviceIDType DeviceID;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///Ա
+ TThostFtdcOperNoType OperNo;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ID
+ TThostFtdcTIDType TID;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+};
+
+///ڱ̷Կ֪ͬͨ
+struct CThostFtdcNotifySyncKeyField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///ûʶ
+ TThostFtdcUserIDType UserID;
+ ///ĸڱ̵Ϣ
+ TThostFtdcAddInfoType Message;
+ ///־
+ TThostFtdcDeviceIDType DeviceID;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///Ա
+ TThostFtdcOperNoType OperNo;
+ ///
+ TThostFtdcRequestIDType RequestID;
+ ///ID
+ TThostFtdcTIDType TID;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+};
+
+///ѯǩԼϵ
+struct CThostFtdcQryAccountregisterField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///б
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+};
+
+///ͻϢ
+struct CThostFtdcAccountregisterField
+{
+ ///
+ TThostFtdcTradeDateType TradeDay;
+ ///б
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///ʺ
+ TThostFtdcBankAccountType BankAccount;
+ ///ڻ˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///ڻ˾֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///֤
+ TThostFtdcIdCardTypeType IdCardType;
+ ///֤
+ TThostFtdcIdentifiedCardNoType IdentifiedCardNo;
+ ///ͻ
+ TThostFtdcIndividualNameType CustomerName;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///
+ TThostFtdcOpenOrDestroyType OpenOrDestroy;
+ ///ǩԼ
+ TThostFtdcTradeDateType RegDate;
+ ///Լ
+ TThostFtdcTradeDateType OutDate;
+ ///ID
+ TThostFtdcTIDType TID;
+ ///ͻ
+ TThostFtdcCustTypeType CustType;
+ ///ʺ
+ TThostFtdcBankAccTypeType BankAccType;
+};
+
+///ڿϢ
+struct CThostFtdcOpenAccountField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///ͻ
+ TThostFtdcIndividualNameType CustomerName;
+ ///֤
+ TThostFtdcIdCardTypeType IdCardType;
+ ///֤
+ TThostFtdcIdentifiedCardNoType IdentifiedCardNo;
+ ///Ա
+ TThostFtdcGenderType Gender;
+ ///Ҵ
+ TThostFtdcCountryCodeType CountryCode;
+ ///ͻ
+ TThostFtdcCustTypeType CustType;
+ ///ַ
+ TThostFtdcAddressType Address;
+ ///ʱ
+ TThostFtdcZipCodeType ZipCode;
+ ///绰
+ TThostFtdcTelephoneType Telephone;
+ ///ֻ
+ TThostFtdcMobilePhoneType MobilePhone;
+ ///
+ TThostFtdcFaxType Fax;
+ ///ʼ
+ TThostFtdcEMailType EMail;
+ ///ʽ˻״̬
+ TThostFtdcMoneyAccountStatusType MoneyAccountStatus;
+ ///ʺ
+ TThostFtdcBankAccountType BankAccount;
+ ///
+ TThostFtdcPasswordType BankPassWord;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ڻ
+ TThostFtdcPasswordType Password;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///֤ͻ֤־
+ TThostFtdcYesNoIndicatorType VerifyCertNoFlag;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///㳮־
+ TThostFtdcCashExchangeCodeType CashExchangeCode;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+ ///ʺ
+ TThostFtdcBankAccTypeType BankAccType;
+ ///־
+ TThostFtdcDeviceIDType DeviceID;
+ ///ڻλʺ
+ TThostFtdcBankAccTypeType BankSecuAccType;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///ڻλʺ
+ TThostFtdcBankAccountType BankSecuAcc;
+ ///־
+ TThostFtdcPwdFlagType BankPwdFlag;
+ ///ڻʽ˶Ա־
+ TThostFtdcPwdFlagType SecuPwdFlag;
+ ///Ա
+ TThostFtdcOperNoType OperNo;
+ ///ID
+ TThostFtdcTIDType TID;
+ ///ûʶ
+ TThostFtdcUserIDType UserID;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+};
+
+///Ϣ
+struct CThostFtdcCancelAccountField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///ͻ
+ TThostFtdcIndividualNameType CustomerName;
+ ///֤
+ TThostFtdcIdCardTypeType IdCardType;
+ ///֤
+ TThostFtdcIdentifiedCardNoType IdentifiedCardNo;
+ ///Ա
+ TThostFtdcGenderType Gender;
+ ///Ҵ
+ TThostFtdcCountryCodeType CountryCode;
+ ///ͻ
+ TThostFtdcCustTypeType CustType;
+ ///ַ
+ TThostFtdcAddressType Address;
+ ///ʱ
+ TThostFtdcZipCodeType ZipCode;
+ ///绰
+ TThostFtdcTelephoneType Telephone;
+ ///ֻ
+ TThostFtdcMobilePhoneType MobilePhone;
+ ///
+ TThostFtdcFaxType Fax;
+ ///ʼ
+ TThostFtdcEMailType EMail;
+ ///ʽ˻״̬
+ TThostFtdcMoneyAccountStatusType MoneyAccountStatus;
+ ///ʺ
+ TThostFtdcBankAccountType BankAccount;
+ ///
+ TThostFtdcPasswordType BankPassWord;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ڻ
+ TThostFtdcPasswordType Password;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///֤ͻ֤־
+ TThostFtdcYesNoIndicatorType VerifyCertNoFlag;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///㳮־
+ TThostFtdcCashExchangeCodeType CashExchangeCode;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+ ///ʺ
+ TThostFtdcBankAccTypeType BankAccType;
+ ///־
+ TThostFtdcDeviceIDType DeviceID;
+ ///ڻλʺ
+ TThostFtdcBankAccTypeType BankSecuAccType;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///ڻλʺ
+ TThostFtdcBankAccountType BankSecuAcc;
+ ///־
+ TThostFtdcPwdFlagType BankPwdFlag;
+ ///ڻʽ˶Ա־
+ TThostFtdcPwdFlagType SecuPwdFlag;
+ ///Ա
+ TThostFtdcOperNoType OperNo;
+ ///ID
+ TThostFtdcTIDType TID;
+ ///ûʶ
+ TThostFtdcUserIDType UserID;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+};
+
+///ڱ˺Ϣ
+struct CThostFtdcChangeAccountField
+{
+ ///ҵ
+ TThostFtdcTradeCodeType TradeCode;
+ ///д
+ TThostFtdcBankIDType BankID;
+ ///з֧
+ TThostFtdcBankBrchIDType BankBranchID;
+ ///̴
+ TThostFtdcBrokerIDType BrokerID;
+ ///̷֧
+ TThostFtdcFutureBranchIDType BrokerBranchID;
+ ///
+ TThostFtdcTradeDateType TradeDate;
+ ///ʱ
+ TThostFtdcTradeTimeType TradeTime;
+ ///ˮ
+ TThostFtdcBankSerialType BankSerial;
+ ///ϵͳ
+ TThostFtdcTradeDateType TradingDay;
+ ///ƽ̨Ϣˮ
+ TThostFtdcSerialType PlateSerial;
+ ///Ƭ־
+ TThostFtdcLastFragmentType LastFragment;
+ ///Ự
+ TThostFtdcSessionIDType SessionID;
+ ///ͻ
+ TThostFtdcIndividualNameType CustomerName;
+ ///֤
+ TThostFtdcIdCardTypeType IdCardType;
+ ///֤
+ TThostFtdcIdentifiedCardNoType IdentifiedCardNo;
+ ///Ա
+ TThostFtdcGenderType Gender;
+ ///Ҵ
+ TThostFtdcCountryCodeType CountryCode;
+ ///ͻ
+ TThostFtdcCustTypeType CustType;
+ ///ַ
+ TThostFtdcAddressType Address;
+ ///ʱ
+ TThostFtdcZipCodeType ZipCode;
+ ///绰
+ TThostFtdcTelephoneType Telephone;
+ ///ֻ
+ TThostFtdcMobilePhoneType MobilePhone;
+ ///
+ TThostFtdcFaxType Fax;
+ ///ʼ
+ TThostFtdcEMailType EMail;
+ ///ʽ˻״̬
+ TThostFtdcMoneyAccountStatusType MoneyAccountStatus;
+ ///ʺ
+ TThostFtdcBankAccountType BankAccount;
+ ///
+ TThostFtdcPasswordType BankPassWord;
+ ///ʺ
+ TThostFtdcBankAccountType NewBankAccount;
+ ///
+ TThostFtdcPasswordType NewBankPassWord;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///ڻ
+ TThostFtdcPasswordType Password;
+ ///ʺ
+ TThostFtdcBankAccTypeType BankAccType;
+ ///װ
+ TThostFtdcInstallIDType InstallID;
+ ///֤ͻ֤־
+ TThostFtdcYesNoIndicatorType VerifyCertNoFlag;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///ڻ˾б
+ TThostFtdcBankCodingForFutureType BrokerIDByBank;
+ ///־
+ TThostFtdcPwdFlagType BankPwdFlag;
+ ///ڻʽ˶Ա־
+ TThostFtdcPwdFlagType SecuPwdFlag;
+ ///ID
+ TThostFtdcTIDType TID;
+ ///ժҪ
+ TThostFtdcDigestType Digest;
+ ///
+ TThostFtdcErrorIDType ErrorID;
+ ///Ϣ
+ TThostFtdcErrorMsgType ErrorMsg;
+};
+
+///ԱȨ
+struct CThostFtdcSecAgentACIDMapField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///ʽ˻
+ TThostFtdcAccountIDType AccountID;
+ ///
+ TThostFtdcCurrencyIDType CurrencyID;
+ ///нʽʺ
+ TThostFtdcAccountIDType BrokerSecAgentID;
+};
+
+///ԱȨѯ
+struct CThostFtdcQrySecAgentACIDMapField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///ʽ˻
+ TThostFtdcAccountIDType AccountID;
+ ///
+ TThostFtdcCurrencyIDType CurrencyID;
+};
+
+///ֱĽȨ
+struct CThostFtdcUserRightsAssignField
+{
+ ///ӦõԪ
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///Ĵ
+ TThostFtdcDRIdentityIDType DRIdentityID;
+};
+
+///ù˾ǷڱʾĽȨ
+struct CThostFtdcBrokerUserRightAssignField
+{
+ ///ӦõԪ
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ĵ
+ TThostFtdcDRIdentityIDType DRIdentityID;
+ ///ܷ
+ TThostFtdcBoolType Tradeable;
+};
+
+///ֱת
+struct CThostFtdcDRTransferField
+{
+ ///ԭĴ
+ TThostFtdcDRIdentityIDType OrigDRIdentityID;
+ ///Ŀ꽻Ĵ
+ TThostFtdcDRIdentityIDType DestDRIdentityID;
+ ///ԭӦõԪ
+ TThostFtdcBrokerIDType OrigBrokerID;
+ ///ĿõԪ
+ TThostFtdcBrokerIDType DestBrokerID;
+};
+
+///FensûϢ
+struct CThostFtdcFensUserInfoField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///¼ģʽ
+ TThostFtdcLoginModeType LoginMode;
+};
+
+///ǰ
+struct CThostFtdcCurrTransferIdentityField
+{
+ ///Ĵ
+ TThostFtdcDRIdentityIDType IdentityID;
+};
+
+///ֹ¼û
+struct CThostFtdcLoginForbiddenUserField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+ ///IPַ
+ TThostFtdcIPAddressType IPAddress;
+};
+
+///ѯֹ¼û
+struct CThostFtdcQryLoginForbiddenUserField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///û
+ TThostFtdcUserIDType UserID;
+};
+
+///UDP鲥Ϣ
+struct CThostFtdcMulticastGroupInfoField
+{
+ ///鲥IPַ
+ TThostFtdcIPAddressType GroupIP;
+ ///鲥IP˿
+ TThostFtdcIPPortType GroupPort;
+ ///Դַ
+ TThostFtdcIPAddressType SourceIP;
+};
+
+///ʽ˻
+struct CThostFtdcTradingAccountReserveField
+{
+ ///˾
+ TThostFtdcBrokerIDType BrokerID;
+ ///Ͷʺ
+ TThostFtdcAccountIDType AccountID;
+ ///
+ TThostFtdcMoneyType Reserve;
+ ///ִ
+ TThostFtdcCurrencyIDType CurrencyID;
+};
+
+///DBF¼
+struct CThostFtdcDBFRecordField
+{
+ ///DBF
+ TThostFtdcDBFComdTypeType DBFComdType;
+ ///DBFʱ
+ TThostFtdcDBFComTimeType DBFComTime;
+ ///DBFԭʼˮ
+ TThostFtdcDBFComNoType DBFOComNo;
+ ///DBFˮ
+ TThostFtdcDBFComNoType DBFComNo;
+ ///DBFֶ
+ TThostFtdcDBFFdNameType DBFFdName1;
+ ///DBFֶ
+ TThostFtdcDBFFdContentType DBFFdContent1;
+ ///DBFֶ
+ TThostFtdcDBFFdNameType DBFFdName2;
+ ///DBFֶ
+ TThostFtdcDBFFdContentType DBFFdContent2;
+ ///DBFֶ
+ TThostFtdcDBFFdNameType DBFFdName3;
+ ///DBFֶ
+ TThostFtdcDBFFdContentType DBFFdContent3;
+ ///DBFֶ
+ TThostFtdcDBFFdNameType DBFFdName4;
+ ///DBFֶ
+ TThostFtdcDBFFdContentType DBFFdContent4;
+};
+
+
+
+#endif
diff --git a/vn.how/tick2trade/vn.ctp_t2t/ctpapi/x64_linux/error.dtd b/vn.how/tick2trade/vn.ctp_t2t/ctpapi/x64_linux/error.dtd
new file mode 100644
index 0000000000..15e50b7344
--- /dev/null
+++ b/vn.how/tick2trade/vn.ctp_t2t/ctpapi/x64_linux/error.dtd
@@ -0,0 +1,9 @@
+
+
+
+
+
diff --git a/vn.how/tick2trade/vn.ctp_t2t/ctpapi/x64_linux/error.xml b/vn.how/tick2trade/vn.ctp_t2t/ctpapi/x64_linux/error.xml
new file mode 100644
index 0000000000..57ef9921eb
--- /dev/null
+++ b/vn.how/tick2trade/vn.ctp_t2t/ctpapi/x64_linux/error.xml
@@ -0,0 +1,202 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vn.how/tick2trade/vn.ctp_t2t/ctpapi/x64_linux/libthostmduserapi.so b/vn.how/tick2trade/vn.ctp_t2t/ctpapi/x64_linux/libthostmduserapi.so
new file mode 100644
index 0000000000..df013cd307
Binary files /dev/null and b/vn.how/tick2trade/vn.ctp_t2t/ctpapi/x64_linux/libthostmduserapi.so differ
diff --git a/vn.how/tick2trade/vn.ctp_t2t/ctpapi/x64_linux/libthosttraderapi.so b/vn.how/tick2trade/vn.ctp_t2t/ctpapi/x64_linux/libthosttraderapi.so
new file mode 100644
index 0000000000..fa76a112c3
Binary files /dev/null and b/vn.how/tick2trade/vn.ctp_t2t/ctpapi/x64_linux/libthosttraderapi.so differ
diff --git a/vn.how/tick2trade/vn.ctp_t2t/readme.md b/vn.how/tick2trade/vn.ctp_t2t/readme.md
new file mode 100644
index 0000000000..fa7c4b4f4f
--- /dev/null
+++ b/vn.how/tick2trade/vn.ctp_t2t/readme.md
@@ -0,0 +1,79 @@
+# vn.ctp
+
+###
+CTP̨APIӿڵPythonװpyscriptĿ¼µĽűԶͷļɷװģ飬ṩԭC++ APIеȫܡ
+
+
+### Ŀ¼˵
+* vnctpmd: API
+* vnctptd: API
+* pyscript: Զװű
+* ctpapiC++ APIļ
+
+### ʹCMake
+
+**Windows 7**
+
+:
+
+* AnacondaBoostİװʽοwww.vnpy.orgϵĽ̳̣ʹ32λ
+
+* cmake:װ°汾cmake,ñ뻷
+
+* ûBOOST_ROOT = C:\boost_1_57_0
+
+* 빤ߣVisual Studio 2013
+
+
+:
+
+* vn.ctpĿ¼½ļУΪbuild, ʱļļ
+
+* й룺cmake-gui .. cmakeý
+
+* configure
+
+* generateûдóɹ
+
+* buildĿ¼˫vn_ctp_api.sln
+
+* 밴ť,release
+
+
+**Linux (Debian jessie, Ubuntu 16.04)**
+
+ã
+
+* ο[](http://www.continuum.io/downloads)Ľ̳زװAnacondaLinux 64λ汾
+
+* ʹapt-getװصĹߣעijЩϵUbuntuָʹboost 1.58.0汾
+
+ - apt-get install build-essential
+
+ - apt-get install libboost-all-dev
+
+ - apt-get install python-dev
+
+ - apt-get install cmake
+
+* ӹµctp api tarv6.3.5_20150803_tradeapi_linux64.tarҪctp api soļԺԸò裩
+
+ - thostmduserapi.so --> libthostmduserapi.so
+
+ - thosttraderapi.so --> libthosttraderapi.so
+
+
+̣
+
+* ǰĿ¼build.shɱ
+
+### API汾
+ڣ2015-08-04
+
+ƣfsopt_traderapi
+
+ȨAPI
+
+ӣ[http://www.sfit.com.cn/5_2_DocumentDown.htm](http://www.sfit.com.cn/5_2_DocumentDown.htm)
+
+˵ctpapiļµWindows32λ汾ļx64_linuxеLinux64λ汾
diff --git a/vn.how/tick2trade/vn.ctp_t2t/vnctpmd/vnctpmd.sln b/vn.how/tick2trade/vn.ctp_t2t/vnctpmd/vnctpmd.sln
new file mode 100644
index 0000000000..0b85dc0023
--- /dev/null
+++ b/vn.how/tick2trade/vn.ctp_t2t/vnctpmd/vnctpmd.sln
@@ -0,0 +1,22 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2013
+VisualStudioVersion = 12.0.40629.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vnctpmd", "vnctpmd\vnctpmd.vcxproj", "{5AFC4FBD-8C3A-4CFB-977D-C94C0E7141AF}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Release|Win32 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {5AFC4FBD-8C3A-4CFB-977D-C94C0E7141AF}.Debug|Win32.ActiveCfg = Debug|Win32
+ {5AFC4FBD-8C3A-4CFB-977D-C94C0E7141AF}.Debug|Win32.Build.0 = Debug|Win32
+ {5AFC4FBD-8C3A-4CFB-977D-C94C0E7141AF}.Release|Win32.ActiveCfg = Release|Win32
+ {5AFC4FBD-8C3A-4CFB-977D-C94C0E7141AF}.Release|Win32.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/vn.how/tick2trade/vn.ctp_t2t/vnctpmd/vnctpmd/ReadMe.txt b/vn.how/tick2trade/vn.ctp_t2t/vnctpmd/vnctpmd/ReadMe.txt
new file mode 100644
index 0000000000..a55db891a1
--- /dev/null
+++ b/vn.how/tick2trade/vn.ctp_t2t/vnctpmd/vnctpmd/ReadMe.txt
@@ -0,0 +1,48 @@
+========================================================================
+ DYNAMIC LINK LIBRARY : vnctpmd Project Overview
+========================================================================
+
+AppWizard has created this vnctpmd DLL for you.
+
+This file contains a summary of what you will find in each of the files that
+make up your vnctpmd application.
+
+
+vnctpmd.vcxproj
+ This is the main project file for VC++ projects generated using an Application Wizard.
+ It contains information about the version of Visual C++ that generated the file, and
+ information about the platforms, configurations, and project features selected with the
+ Application Wizard.
+
+vnctpmd.vcxproj.filters
+ This is the filters file for VC++ projects generated using an Application Wizard.
+ It contains information about the association between the files in your project
+ and the filters. This association is used in the IDE to show grouping of files with
+ similar extensions under a specific node (for e.g. ".cpp" files are associated with the
+ "Source Files" filter).
+
+vnctpmd.cpp
+ This is the main DLL source file.
+
+ When created, this DLL does not export any symbols. As a result, it
+ will not produce a .lib file when it is built. If you wish this project
+ to be a project dependency of some other project, you will either need to
+ add code to export some symbols from the DLL so that an export library
+ will be produced, or you can set the Ignore Input Library property to Yes
+ on the General propert page of the Linker folder in the project's Property
+ Pages dialog box.
+
+/////////////////////////////////////////////////////////////////////////////
+Other standard files:
+
+StdAfx.h, StdAfx.cpp
+ These files are used to build a precompiled header (PCH) file
+ named vnctpmd.pch and a precompiled types file named StdAfx.obj.
+
+/////////////////////////////////////////////////////////////////////////////
+Other notes:
+
+AppWizard uses "TODO:" comments to indicate parts of the source code you
+should add to or customize.
+
+/////////////////////////////////////////////////////////////////////////////
diff --git a/vn.how/tick2trade/vn.ctp_t2t/vnctpmd/vnctpmd/dllmain.cpp b/vn.how/tick2trade/vn.ctp_t2t/vnctpmd/vnctpmd/dllmain.cpp
new file mode 100644
index 0000000000..69b58914b3
--- /dev/null
+++ b/vn.how/tick2trade/vn.ctp_t2t/vnctpmd/vnctpmd/dllmain.cpp
@@ -0,0 +1,19 @@
+// dllmain.cpp : Defines the entry point for the DLL application.
+#include "stdafx.h"
+
+BOOL APIENTRY DllMain( HMODULE hModule,
+ DWORD ul_reason_for_call,
+ LPVOID lpReserved
+ )
+{
+ switch (ul_reason_for_call)
+ {
+ case DLL_PROCESS_ATTACH:
+ case DLL_THREAD_ATTACH:
+ case DLL_THREAD_DETACH:
+ case DLL_PROCESS_DETACH:
+ break;
+ }
+ return TRUE;
+}
+
diff --git a/vn.how/tick2trade/vn.ctp_t2t/vnctpmd/vnctpmd/stdafx.cpp b/vn.how/tick2trade/vn.ctp_t2t/vnctpmd/vnctpmd/stdafx.cpp
new file mode 100644
index 0000000000..2b1fc5c506
--- /dev/null
+++ b/vn.how/tick2trade/vn.ctp_t2t/vnctpmd/vnctpmd/stdafx.cpp
@@ -0,0 +1,8 @@
+// stdafx.cpp : source file that includes just the standard includes
+// vnctpmd.pch will be the pre-compiled header
+// stdafx.obj will contain the pre-compiled type information
+
+#include "stdafx.h"
+
+// TODO: reference any additional headers you need in STDAFX.H
+// and not in this file
diff --git a/vn.how/tick2trade/vn.ctp_t2t/vnctpmd/vnctpmd/stdafx.h b/vn.how/tick2trade/vn.ctp_t2t/vnctpmd/vnctpmd/stdafx.h
new file mode 100644
index 0000000000..f3a07375c7
--- /dev/null
+++ b/vn.how/tick2trade/vn.ctp_t2t/vnctpmd/vnctpmd/stdafx.h
@@ -0,0 +1,16 @@
+// stdafx.h : include file for standard system include files,
+// or project specific include files that are used frequently, but
+// are changed infrequently
+//
+
+#pragma once
+
+#include "targetver.h"
+
+#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
+// Windows Header Files:
+#include
+
+
+
+// TODO: reference additional headers your program requires here
diff --git a/vn.how/tick2trade/vn.ctp_t2t/vnctpmd/vnctpmd/targetver.h b/vn.how/tick2trade/vn.ctp_t2t/vnctpmd/vnctpmd/targetver.h
new file mode 100644
index 0000000000..87c0086de7
--- /dev/null
+++ b/vn.how/tick2trade/vn.ctp_t2t/vnctpmd/vnctpmd/targetver.h
@@ -0,0 +1,8 @@
+#pragma once
+
+// Including SDKDDKVer.h defines the highest available Windows platform.
+
+// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
+// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
+
+#include
diff --git a/vn.how/tick2trade/vn.ctp_t2t/vnctpmd/vnctpmd/vnctpmd.cpp b/vn.how/tick2trade/vn.ctp_t2t/vnctpmd/vnctpmd/vnctpmd.cpp
new file mode 100644
index 0000000000..2f6a8f96fe
--- /dev/null
+++ b/vn.how/tick2trade/vn.ctp_t2t/vnctpmd/vnctpmd/vnctpmd.cpp
@@ -0,0 +1,935 @@
+// vnctpmd.cpp : DLL Ӧóĵ
+//
+
+#include "vnctpmd.h"
+
+///-------------------------------------------------------------------------------------
+///PythonC++תõĺ
+///-------------------------------------------------------------------------------------
+
+void getInt(dict d, string key, int *value)
+{
+ if (d.has_key(key)) //ֵǷڸüֵ
+ {
+ object o = d[key]; //ȡüֵ
+ extract x(o); //ȡ
+ if (x.check()) //ȡ
+ {
+ *value = x(); //Ŀָ븳ֵ
+ }
+ }
+};
+
+void getDouble(dict d, string key, double *value)
+{
+ if (d.has_key(key))
+ {
+ object o = d[key];
+ extract x(o);
+ if (x.check())
+ {
+ *value = x();
+ }
+ }
+};
+
+void getStr(dict d, string key, char *value)
+{
+ if (d.has_key(key))
+ {
+ object o = d[key];
+ extract x(o);
+ if (x.check())
+ {
+ string s = x();
+ const char *buffer = s.c_str();
+ //ַָ븳ֵʹstrcpy_s, vs2013ʹstrcpyͨ
+ //+1ӦΪC++ַĽβţرȷ1
+#ifdef _MSC_VER //WIN32
+ strcpy_s(value, strlen(buffer) + 1, buffer);
+#elif __GNUC__
+ strncpy(value, buffer, strlen(buffer) + 1);
+#endif
+ }
+ }
+};
+
+void getChar(dict d, string key, char *value)
+{
+ if (d.has_key(key))
+ {
+ object o = d[key];
+ extract x(o);
+ if (x.check())
+ {
+ string s = x();
+ const char *buffer = s.c_str();
+ *value = *buffer;
+ }
+ }
+};
+
+
+///-------------------------------------------------------------------------------------
+///C++Ļصݱ浽
+///-------------------------------------------------------------------------------------
+
+void MdApi::OnFrontConnected()
+{
+ Task task = Task();
+ task.task_name = ONFRONTCONNECTED;
+ this->task_queue.push(task);
+};
+
+void MdApi::OnFrontDisconnected(int nReason)
+{
+ Task task = Task();
+ task.task_name = ONFRONTDISCONNECTED;
+ task.task_id = nReason;
+ this->task_queue.push(task);
+};
+
+void MdApi::OnHeartBeatWarning(int nTimeLapse)
+{
+ Task task = Task();
+ task.task_name = ONHEARTBEATWARNING;
+ task.task_id = nTimeLapse;
+ this->task_queue.push(task);
+};
+
+void MdApi::OnRspUserLogin(CThostFtdcRspUserLoginField *pRspUserLogin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPUSERLOGIN;
+
+ if (pRspUserLogin)
+ {
+ task.task_data = *pRspUserLogin;
+ }
+ else
+ {
+ CThostFtdcRspUserLoginField empty_data = CThostFtdcRspUserLoginField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void MdApi::OnRspUserLogout(CThostFtdcUserLogoutField *pUserLogout, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPUSERLOGOUT;
+
+ if (pUserLogout)
+ {
+ task.task_data = *pUserLogout;
+ }
+ else
+ {
+ CThostFtdcUserLogoutField empty_data = CThostFtdcUserLogoutField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void MdApi::OnRspError(CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPERROR;
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void MdApi::OnRspSubMarketData(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPSUBMARKETDATA;
+
+ if (pSpecificInstrument)
+ {
+ task.task_data = *pSpecificInstrument;
+ }
+ else
+ {
+ CThostFtdcSpecificInstrumentField empty_data = CThostFtdcSpecificInstrumentField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void MdApi::OnRspUnSubMarketData(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPUNSUBMARKETDATA;
+
+ if (pSpecificInstrument)
+ {
+ task.task_data = *pSpecificInstrument;
+ }
+ else
+ {
+ CThostFtdcSpecificInstrumentField empty_data = CThostFtdcSpecificInstrumentField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void MdApi::OnRspSubForQuoteRsp(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPSUBFORQUOTERSP;
+
+ if (pSpecificInstrument)
+ {
+ task.task_data = *pSpecificInstrument;
+ }
+ else
+ {
+ CThostFtdcSpecificInstrumentField empty_data = CThostFtdcSpecificInstrumentField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void MdApi::OnRspUnSubForQuoteRsp(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPUNSUBFORQUOTERSP;
+
+ if (pSpecificInstrument)
+ {
+ task.task_data = *pSpecificInstrument;
+ }
+ else
+ {
+ CThostFtdcSpecificInstrumentField empty_data = CThostFtdcSpecificInstrumentField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void MdApi::OnRtnDepthMarketData(CThostFtdcDepthMarketDataField *pDepthMarketData)
+{
+ Task task = Task();
+
+ LARGE_INTEGER t;
+ QueryPerformanceCounter(&t);
+ task.task_time = t.QuadPart;
+ //task.task_time = std::clock();
+
+ task.task_name = ONRTNDEPTHMARKETDATA;
+
+ if (pDepthMarketData)
+ {
+ task.task_data = *pDepthMarketData;
+ }
+ else
+ {
+ CThostFtdcDepthMarketDataField empty_data = CThostFtdcDepthMarketDataField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+ this->task_queue.push(task);
+};
+
+void MdApi::OnRtnForQuoteRsp(CThostFtdcForQuoteRspField *pForQuoteRsp)
+{
+ Task task = Task();
+ task.task_name = ONRTNFORQUOTERSP;
+
+ if (pForQuoteRsp)
+ {
+ task.task_data = *pForQuoteRsp;
+ }
+ else
+ {
+ CThostFtdcForQuoteRspField empty_data = CThostFtdcForQuoteRspField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+ this->task_queue.push(task);
+};
+
+
+
+///-------------------------------------------------------------------------------------
+///̴߳ӶȡݣתΪpython
+///-------------------------------------------------------------------------------------
+
+void MdApi::processTask()
+{
+ while (1)
+ {
+ Task task = this->task_queue.wait_and_pop();
+
+ switch (task.task_name)
+ {
+ case ONFRONTCONNECTED:
+ {
+ this->processFrontConnected(task);
+ break;
+ }
+
+ case ONFRONTDISCONNECTED:
+ {
+ this->processFrontDisconnected(task);
+ break;
+ }
+
+ case ONHEARTBEATWARNING:
+ {
+ this->processHeartBeatWarning(task);
+ break;
+ }
+
+ case ONRSPUSERLOGIN:
+ {
+ this->processRspUserLogin(task);
+ break;
+ }
+
+ case ONRSPUSERLOGOUT:
+ {
+ this->processRspUserLogout(task);
+ break;
+ }
+
+ case ONRSPERROR:
+ {
+ this->processRspError(task);
+ break;
+ }
+
+ case ONRSPSUBMARKETDATA:
+ {
+ this->processRspSubMarketData(task);
+ break;
+ }
+
+ case ONRSPUNSUBMARKETDATA:
+ {
+ this->processRspUnSubMarketData(task);
+ break;
+ }
+
+ case ONRSPSUBFORQUOTERSP:
+ {
+ this->processRspSubForQuoteRsp(task);
+ break;
+ }
+
+ case ONRSPUNSUBFORQUOTERSP:
+ {
+ this->processRspUnSubForQuoteRsp(task);
+ break;
+ }
+
+ case ONRTNDEPTHMARKETDATA:
+ {
+ this->processRtnDepthMarketData(task);
+ break;
+ }
+
+ case ONRTNFORQUOTERSP:
+ {
+ this->processRtnForQuoteRsp(task);
+ break;
+ }
+ };
+ }
+};
+
+void MdApi::processFrontConnected(Task task)
+{
+ PyLock lock;
+ this->onFrontConnected();
+};
+
+void MdApi::processFrontDisconnected(Task task)
+{
+ PyLock lock;
+ this->onFrontDisconnected(task.task_id);
+};
+
+void MdApi::processHeartBeatWarning(Task task)
+{
+ PyLock lock;
+ this->onHeartBeatWarning(task.task_id);
+};
+
+void MdApi::processRspUserLogin(Task task)
+{
+ PyLock lock;
+ CThostFtdcRspUserLoginField task_data = any_cast(task.task_data);
+ dict data;
+ data["CZCETime"] = task_data.CZCETime;
+ data["SHFETime"] = task_data.SHFETime;
+ data["MaxOrderRef"] = task_data.MaxOrderRef;
+ data["INETime"] = task_data.INETime;
+ data["UserID"] = task_data.UserID;
+ data["TradingDay"] = task_data.TradingDay;
+ data["SessionID"] = task_data.SessionID;
+ data["SystemName"] = task_data.SystemName;
+ data["FrontID"] = task_data.FrontID;
+ data["FFEXTime"] = task_data.FFEXTime;
+ data["BrokerID"] = task_data.BrokerID;
+ data["DCETime"] = task_data.DCETime;
+ data["LoginTime"] = task_data.LoginTime;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspUserLogin(data, error, task.task_id, task.task_last);
+};
+
+void MdApi::processRspUserLogout(Task task)
+{
+ PyLock lock;
+ CThostFtdcUserLogoutField task_data = any_cast(task.task_data);
+ dict data;
+ data["UserID"] = task_data.UserID;
+ data["BrokerID"] = task_data.BrokerID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspUserLogout(data, error, task.task_id, task.task_last);
+};
+
+void MdApi::processRspError(Task task)
+{
+ PyLock lock;
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspError(error, task.task_id, task.task_last);
+};
+
+void MdApi::processRspSubMarketData(Task task)
+{
+ PyLock lock;
+ CThostFtdcSpecificInstrumentField task_data = any_cast(task.task_data);
+ dict data;
+ data["InstrumentID"] = task_data.InstrumentID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspSubMarketData(data, error, task.task_id, task.task_last);
+};
+
+void MdApi::processRspUnSubMarketData(Task task)
+{
+ PyLock lock;
+ CThostFtdcSpecificInstrumentField task_data = any_cast(task.task_data);
+ dict data;
+ data["InstrumentID"] = task_data.InstrumentID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspUnSubMarketData(data, error, task.task_id, task.task_last);
+};
+
+void MdApi::processRspSubForQuoteRsp(Task task)
+{
+ PyLock lock;
+ CThostFtdcSpecificInstrumentField task_data = any_cast(task.task_data);
+ dict data;
+ data["InstrumentID"] = task_data.InstrumentID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspSubForQuoteRsp(data, error, task.task_id, task.task_last);
+};
+
+void MdApi::processRspUnSubForQuoteRsp(Task task)
+{
+ PyLock lock;
+ CThostFtdcSpecificInstrumentField task_data = any_cast(task.task_data);
+ dict data;
+ data["InstrumentID"] = task_data.InstrumentID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspUnSubForQuoteRsp(data, error, task.task_id, task.task_last);
+};
+
+void MdApi::processRtnDepthMarketData(Task task)
+{
+ PyLock lock;
+ CThostFtdcDepthMarketDataField task_data = any_cast(task.task_data);
+ dict data;
+ data["HighestPrice"] = task_data.HighestPrice;
+ data["BidPrice5"] = task_data.BidPrice5;
+ data["BidPrice4"] = task_data.BidPrice4;
+ data["BidPrice1"] = task_data.BidPrice1;
+ data["BidPrice3"] = task_data.BidPrice3;
+ data["BidPrice2"] = task_data.BidPrice2;
+ data["LowerLimitPrice"] = task_data.LowerLimitPrice;
+ data["OpenPrice"] = task_data.OpenPrice;
+ data["AskPrice5"] = task_data.AskPrice5;
+ data["AskPrice4"] = task_data.AskPrice4;
+ data["AskPrice3"] = task_data.AskPrice3;
+ data["PreClosePrice"] = task_data.PreClosePrice;
+ data["AskPrice1"] = task_data.AskPrice1;
+ data["PreSettlementPrice"] = task_data.PreSettlementPrice;
+ data["AskVolume1"] = task_data.AskVolume1;
+ data["UpdateTime"] = task_data.UpdateTime;
+ data["UpdateMillisec"] = task_data.UpdateMillisec;
+ data["AveragePrice"] = task_data.AveragePrice;
+ data["BidVolume5"] = task_data.BidVolume5;
+ data["BidVolume4"] = task_data.BidVolume4;
+ data["BidVolume3"] = task_data.BidVolume3;
+ data["BidVolume2"] = task_data.BidVolume2;
+ data["PreOpenInterest"] = task_data.PreOpenInterest;
+ data["AskPrice2"] = task_data.AskPrice2;
+ data["Volume"] = task_data.Volume;
+ data["AskVolume3"] = task_data.AskVolume3;
+ data["AskVolume2"] = task_data.AskVolume2;
+ data["AskVolume5"] = task_data.AskVolume5;
+ data["AskVolume4"] = task_data.AskVolume4;
+ data["UpperLimitPrice"] = task_data.UpperLimitPrice;
+ data["BidVolume1"] = task_data.BidVolume1;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["ClosePrice"] = task_data.ClosePrice;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["TradingDay"] = task_data.TradingDay;
+ data["PreDelta"] = task_data.PreDelta;
+ data["OpenInterest"] = task_data.OpenInterest;
+ data["CurrDelta"] = task_data.CurrDelta;
+ data["Turnover"] = task_data.Turnover;
+ data["LastPrice"] = task_data.LastPrice;
+ data["SettlementPrice"] = task_data.SettlementPrice;
+ data["ExchangeInstID"] = task_data.ExchangeInstID;
+ data["LowestPrice"] = task_data.LowestPrice;
+ data["ActionDay"] = task_data.ActionDay;
+
+ //ʱ
+ data["tick_time"] = task.task_time;
+ data["frequency_time"] = this->t.QuadPart;
+ this->onRtnDepthMarketData(data);
+};
+
+void MdApi::processRtnForQuoteRsp(Task task)
+{
+ PyLock lock;
+ CThostFtdcForQuoteRspField task_data = any_cast(task.task_data);
+ dict data;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["ActionDay"] = task_data.ActionDay;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["TradingDay"] = task_data.TradingDay;
+ data["ForQuoteSysID"] = task_data.ForQuoteSysID;
+ data["ForQuoteTime"] = task_data.ForQuoteTime;
+
+ this->onRtnForQuoteRsp(data);
+};
+
+
+
+///-------------------------------------------------------------------------------------
+///
+///-------------------------------------------------------------------------------------
+
+void MdApi::createFtdcMdApi(string pszFlowPath)
+{
+ this->api = CThostFtdcMdApi::CreateFtdcMdApi(pszFlowPath.c_str());
+ this->api->RegisterSpi(this);
+};
+
+void MdApi::release()
+{
+ this->api->Release();
+};
+
+void MdApi::init()
+{
+ this->api->Init();
+};
+
+int MdApi::join()
+{
+ int i = this->api->Join();
+ return i;
+};
+
+int MdApi::exit()
+{
+ //úԭAPIûУڰȫ˳APIãԭjoinƺ̫ȶ
+ this->api->RegisterSpi(NULL);
+ this->api->Release();
+ this->api = NULL;
+ return 1;
+};
+
+string MdApi::getTradingDay()
+{
+ string day = this->api->GetTradingDay();
+ return day;
+};
+
+void MdApi::registerFront(string pszFrontAddress)
+{
+ this->api->RegisterFront((char*)pszFrontAddress.c_str());
+};
+
+int MdApi::subscribeMarketData(string instrumentID)
+{
+ char* buffer = (char*) instrumentID.c_str();
+ char* myreq[1] = { buffer };
+ int i = this->api->SubscribeMarketData(myreq, 1);
+ return i;
+};
+
+int MdApi::unSubscribeMarketData(string instrumentID)
+{
+ char* buffer = (char*)instrumentID.c_str();
+ char* myreq[1] = { buffer };;
+ int i = this->api->UnSubscribeMarketData(myreq, 1);
+ return i;
+};
+
+int MdApi::subscribeForQuoteRsp(string instrumentID)
+{
+ char* buffer = (char*)instrumentID.c_str();
+ char* myreq[1] = { buffer };
+ int i = this->api->SubscribeForQuoteRsp(myreq, 1);
+ return i;
+};
+
+int MdApi::unSubscribeForQuoteRsp(string instrumentID)
+{
+ char* buffer = (char*)instrumentID.c_str();
+ char* myreq[1] = { buffer };;
+ int i = this->api->UnSubscribeForQuoteRsp(myreq, 1);
+ return i;
+};
+
+int MdApi::reqUserLogin(dict req, int nRequestID)
+{
+ CThostFtdcReqUserLoginField myreq = CThostFtdcReqUserLoginField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "MacAddress", myreq.MacAddress);
+ getStr(req, "UserProductInfo", myreq.UserProductInfo);
+ getStr(req, "UserID", myreq.UserID);
+ getStr(req, "TradingDay", myreq.TradingDay);
+ getStr(req, "InterfaceProductInfo", myreq.InterfaceProductInfo);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ getStr(req, "ClientIPAddress", myreq.ClientIPAddress);
+ getStr(req, "OneTimePassword", myreq.OneTimePassword);
+ getStr(req, "ProtocolInfo", myreq.ProtocolInfo);
+ getStr(req, "Password", myreq.Password);
+ int i = this->api->ReqUserLogin(&myreq, nRequestID);
+ return i;
+};
+
+int MdApi::reqUserLogout(dict req, int nRequestID)
+{
+ CThostFtdcUserLogoutField myreq = CThostFtdcUserLogoutField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "UserID", myreq.UserID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ int i = this->api->ReqUserLogout(&myreq, nRequestID);
+ return i;
+};
+
+
+
+///-------------------------------------------------------------------------------------
+///Boost.Pythonװ
+///-------------------------------------------------------------------------------------
+
+struct MdApiWrap : MdApi, wrapper < MdApi >
+{
+ virtual void onFrontConnected()
+ {
+ //µtry...catch...ʵֲpythonдĹܣֹC++ֱӳԭδ֪ı
+ try
+ {
+ this->get_override("onFrontConnected")();
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onFrontDisconnected(int i)
+ {
+ try
+ {
+ this->get_override("onFrontDisconnected")(i);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onHeartBeatWarning(int i)
+ {
+ try
+ {
+ this->get_override("onHeartBeatWarning")(i);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspError(dict data, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspError")(data, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspUserLogin(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspUserLogin")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspUserLogout(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspUserLogout")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspSubMarketData(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspSubMarketData")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspUnSubMarketData(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspUnSubMarketData")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspSubForQuoteRsp(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspSubForQuoteRsp")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspUnSubForQuoteRsp(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspUnSubForQuoteRsp")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRtnDepthMarketData(dict data)
+ {
+ try
+ {
+ this->get_override("onRtnDepthMarketData")(data);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRtnForQuoteRsp(dict data)
+ {
+ try
+ {
+ this->get_override("onRtnForQuoteRsp")(data);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+};
+
+
+BOOST_PYTHON_MODULE(vnctpmd)
+{
+ PyEval_InitThreads(); //ʱУ֤ȴGIL
+
+ class_("MdApi")
+ .def("createFtdcMdApi", &MdApiWrap::createFtdcMdApi)
+ .def("release", &MdApiWrap::release)
+ .def("init", &MdApiWrap::init)
+ .def("join", &MdApiWrap::join)
+ .def("exit", &MdApiWrap::exit)
+ .def("getTradingDay", &MdApiWrap::getTradingDay)
+ .def("registerFront", &MdApiWrap::registerFront)
+ .def("subscribeMarketData", &MdApiWrap::subscribeMarketData)
+ .def("unSubscribeMarketData", &MdApiWrap::unSubscribeMarketData)
+ .def("subscribeForQuoteRsp", &MdApiWrap::subscribeForQuoteRsp)
+ .def("unSubscribeForQuoteRsp", &MdApiWrap::unSubscribeForQuoteRsp)
+ .def("reqUserLogin", &MdApiWrap::reqUserLogin)
+ .def("reqUserLogout", &MdApiWrap::reqUserLogout)
+
+ .def("onFrontConnected", pure_virtual(&MdApiWrap::onFrontConnected))
+ .def("onFrontDisconnected", pure_virtual(&MdApiWrap::onFrontDisconnected))
+ .def("onHeartBeatWarning", pure_virtual(&MdApiWrap::onHeartBeatWarning))
+ .def("onRspError", pure_virtual(&MdApiWrap::onRspError))
+ .def("onRspUserLogin", pure_virtual(&MdApiWrap::onRspUserLogin))
+ .def("onRspUserLogout", pure_virtual(&MdApiWrap::onRspUserLogout))
+ .def("onRspSubMarketData", pure_virtual(&MdApiWrap::onRspSubMarketData))
+ .def("onRspUnSubMarketData", pure_virtual(&MdApiWrap::onRspUnSubMarketData))
+ .def("onRtnDepthMarketData", pure_virtual(&MdApiWrap::onRtnDepthMarketData))
+ .def("onRspSubForQuoteRsp", pure_virtual(&MdApiWrap::onRspSubForQuoteRsp))
+ .def("onRspUnSubForQuoteRsp", pure_virtual(&MdApiWrap::onRspUnSubForQuoteRsp))
+ .def("onRtnForQuoteRsp", pure_virtual(&MdApiWrap::onRtnForQuoteRsp))
+ ;
+};
diff --git a/vn.how/tick2trade/vn.ctp_t2t/vnctpmd/vnctpmd/vnctpmd.h b/vn.how/tick2trade/vn.ctp_t2t/vnctpmd/vnctpmd/vnctpmd.h
new file mode 100644
index 0000000000..2ad040d699
--- /dev/null
+++ b/vn.how/tick2trade/vn.ctp_t2t/vnctpmd/vnctpmd/vnctpmd.h
@@ -0,0 +1,315 @@
+//˵
+
+//ϵͳ
+#ifdef WIN32
+#include "stdafx.h"
+#endif
+#include
+#include
+
+//Boost
+#define BOOST_PYTHON_STATIC_LIB
+#include //pythonװ
+#include //pythonװ
+#include //pythonװ
+#include //pythonװ
+#include //pythonװ
+#include //е̹߳
+#include //е̹߳
+#include //еʵ
+
+//API
+#include "ThostFtdcMdApi.h"
+
+//ʱ
+#include "windows.h"
+
+//ռ
+using namespace std;
+using namespace boost::python;
+using namespace boost;
+
+//
+#define ONFRONTCONNECTED 1
+#define ONFRONTDISCONNECTED 2
+#define ONHEARTBEATWARNING 3
+#define ONRSPUSERLOGIN 4
+#define ONRSPUSERLOGOUT 5
+#define ONRSPERROR 6
+#define ONRSPSUBMARKETDATA 7
+#define ONRSPUNSUBMARKETDATA 8
+#define ONRSPSUBFORQUOTERSP 9
+#define ONRSPUNSUBFORQUOTERSP 10
+#define ONRTNDEPTHMARKETDATA 11
+#define ONRTNFORQUOTERSP 12
+
+
+
+///-------------------------------------------------------------------------------------
+///APIеIJ
+///-------------------------------------------------------------------------------------
+
+//GILȫȡã
+//ڰC++̻߳GILӶֹpython
+class PyLock
+{
+private:
+ PyGILState_STATE gil_state;
+
+public:
+ //ijдöʱGIL
+ PyLock()
+ {
+ gil_state = PyGILState_Ensure();
+ }
+
+ //ijɺٸöʱGIL
+ ~PyLock()
+ {
+ PyGILState_Release(gil_state);
+ }
+};
+
+
+//ṹ
+struct Task
+{
+ int task_name; //صƶӦij
+ any task_data; //ݽṹ
+ any task_error; //ṹ
+ int task_id; //id
+ bool task_last; //ǷΪ
+
+ LONGLONG task_time; //ʱõʱ
+};
+
+
+///̰߳ȫĶ
+template
+
+class ConcurrentQueue
+{
+private:
+ queue the_queue; //
+ mutable mutex the_mutex; //boost
+ condition_variable the_condition_variable; //boost
+
+public:
+
+ //µ
+ void push(Data const& data)
+ {
+ mutex::scoped_lock lock(the_mutex); //ȡ
+ the_queue.push(data); //д
+ lock.unlock(); //ͷ
+ the_condition_variable.notify_one(); //֪ͨȴ߳
+ }
+
+ //ǷΪ
+ bool empty() const
+ {
+ mutex::scoped_lock lock(the_mutex);
+ return the_queue.empty();
+ }
+
+ //ȡ
+ Data wait_and_pop()
+ {
+ mutex::scoped_lock lock(the_mutex);
+
+ while (the_queue.empty()) //Ϊʱ
+ {
+ the_condition_variable.wait(lock); //ȴ֪ͨ
+ }
+
+ Data popped_value = the_queue.front(); //ȡеһ
+ the_queue.pop(); //ɾ
+ return popped_value; //ظ
+ }
+
+};
+
+
+//ֵлȡijֵӦֵṹֵ
+void getInt(dict d, string key, int* value);
+
+
+//ֵлȡijֵӦĸֵṹֵ
+void getDouble(dict d, string key, double* value);
+
+
+//ֵлȡijֵӦֵַṹֵ
+void getChar(dict d, string key, char* value);
+
+
+//ֵлȡijֵӦֵַṹֵ
+void getStr(dict d, string key, char* value);
+
+
+///-------------------------------------------------------------------------------------
+///C++ SPIĻصʵ
+///-------------------------------------------------------------------------------------
+
+//APIļ̳ʵ
+class MdApi : public CThostFtdcMdSpi
+{
+private:
+ CThostFtdcMdApi* api; //API
+ thread *task_thread; //ָ߳루pythonݣ
+ ConcurrentQueue task_queue; //
+
+ LARGE_INTEGER t;
+
+public:
+ MdApi()
+ {
+ function0 f = boost::bind(&MdApi::processTask, this);
+ thread t(f);
+ this->task_thread = &t;
+
+ QueryPerformanceFrequency(&this->t);
+ };
+
+ ~MdApi()
+ {
+ };
+
+ //-------------------------------------------------------------------------------------
+ //APIص
+ //-------------------------------------------------------------------------------------
+
+ ///ͻ뽻̨ͨʱδ¼ǰ÷á
+ virtual void OnFrontConnected();
+
+ ///ͻ뽻̨ͨӶϿʱ÷áAPIԶӣͻ˿ɲ
+ ///@param nReason ԭ
+ /// 0x1001 ʧ
+ /// 0x1002 дʧ
+ /// 0x2001 ʱ
+ /// 0x2002 ʧ
+ /// 0x2003 յ
+ virtual void OnFrontDisconnected(int nReason);
+
+ ///ʱ档ʱδյʱ÷á
+ ///@param nTimeLapse ϴνձĵʱ
+ virtual void OnHeartBeatWarning(int nTimeLapse);
+
+ ///¼Ӧ
+ virtual void OnRspUserLogin(CThostFtdcRspUserLoginField *pRspUserLogin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);
+
+ ///dzӦ
+ virtual void OnRspUserLogout(CThostFtdcUserLogoutField *pUserLogout, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);
+
+ ///Ӧ
+ virtual void OnRspError(CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);
+
+ ///Ӧ
+ virtual void OnRspSubMarketData(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);
+
+ ///ȡӦ
+ virtual void OnRspUnSubMarketData(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);
+
+ ///ѯӦ
+ virtual void OnRspSubForQuoteRsp(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);
+
+ ///ȡѯӦ
+ virtual void OnRspUnSubForQuoteRsp(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);
+
+ ///֪ͨ
+ virtual void OnRtnDepthMarketData(CThostFtdcDepthMarketDataField *pDepthMarketData);
+
+ ///ѯ֪ͨ
+ virtual void OnRtnForQuoteRsp(CThostFtdcForQuoteRspField *pForQuoteRsp);
+
+ //-------------------------------------------------------------------------------------
+ //task
+ //-------------------------------------------------------------------------------------
+
+ void processTask();
+
+ void processFrontConnected(Task task);
+
+ void processFrontDisconnected(Task task);
+
+ void processHeartBeatWarning(Task task);
+
+ void processRspUserLogin(Task task);
+
+ void processRspUserLogout(Task task);
+
+ void processRspError(Task task);
+
+ void processRspSubMarketData(Task task);
+
+ void processRspUnSubMarketData(Task task);
+
+ void processRspSubForQuoteRsp(Task task);
+
+ void processRspUnSubForQuoteRsp(Task task);
+
+ void processRtnDepthMarketData(Task task);
+
+ void processRtnForQuoteRsp(Task task);
+
+ //-------------------------------------------------------------------------------------
+ //dataصֵ
+ //errorصĴֵ
+ //idid
+ //lastǷΪ
+ //i
+ //-------------------------------------------------------------------------------------
+
+ virtual void onFrontConnected(){};
+
+ virtual void onFrontDisconnected(int i){};
+
+ virtual void onHeartBeatWarning(int i){};
+
+ virtual void onRspUserLogin(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspUserLogout(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspError(dict error, int id, bool last) {};
+
+ virtual void onRspSubMarketData(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspUnSubMarketData(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspSubForQuoteRsp(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspUnSubForQuoteRsp(dict data, dict error, int id, bool last) {};
+
+ virtual void onRtnDepthMarketData(dict data) {};
+
+ virtual void onRtnForQuoteRsp(dict data) {};
+
+ //-------------------------------------------------------------------------------------
+ //req:ֵ
+ //-------------------------------------------------------------------------------------
+
+ void createFtdcMdApi(string pszFlowPath = "");
+
+ void release();
+
+ void init();
+
+ int join();
+
+ int exit();
+
+ string getTradingDay();
+
+ void registerFront(string pszFrontAddress);
+
+ int subscribeMarketData(string instrumentID);
+
+ int unSubscribeMarketData(string instrumentID);
+
+ int subscribeForQuoteRsp(string instrumentID);
+
+ int unSubscribeForQuoteRsp(string instrumentID);
+
+ int reqUserLogin(dict req, int nRequestID);
+
+ int reqUserLogout(dict req, int nRequestID);
+};
diff --git a/vn.how/tick2trade/vn.ctp_t2t/vnctpmd/vnctpmd/vnctpmd.vcxproj b/vn.how/tick2trade/vn.ctp_t2t/vnctpmd/vnctpmd/vnctpmd.vcxproj
new file mode 100644
index 0000000000..3aa7fc31a3
--- /dev/null
+++ b/vn.how/tick2trade/vn.ctp_t2t/vnctpmd/vnctpmd/vnctpmd.vcxproj
@@ -0,0 +1,120 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+
+ {5AFC4FBD-8C3A-4CFB-977D-C94C0E7141AF}
+ Win32Proj
+ vnctpmd
+
+
+
+ DynamicLibrary
+ true
+ v120
+ Unicode
+
+
+ DynamicLibrary
+ false
+ v120
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+ false
+ D:\Anaconda2\include;D:\boost_1_57_0;X:\GithubProject\vnpy\vn.ctp\ctpapi;$(IncludePath)
+ D:\boost_1_57_0\libs;D:\Anaconda2\libs;X:\GithubProject\vnpy\vn.ctp\ctpapi;$(ReferencePath)
+ .pyd
+
+
+
+ Use
+ Level3
+ Disabled
+ WIN32;_DEBUG;_WINDOWS;_USRDLL;VNCTPMD_EXPORTS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+
+
+
+
+ Level3
+ NotUsing
+ MaxSpeed
+ true
+ true
+ WIN32;NDEBUG;_WINDOWS;_USRDLL;VNCTPMD_EXPORTS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+ true
+ true
+ D:\boost_1_57_0\stage\lib;D:\Anaconda2\libs;X:\GithubProject\vnpy\vn.ctp\ctpapi;%(AdditionalLibraryDirectories)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+
+
+ false
+
+
+
+
+ Create
+ Create
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vn.how/tick2trade/vn.ctp_t2t/vnctpmd/vnctpmd/vnctpmd.vcxproj.filters b/vn.how/tick2trade/vn.ctp_t2t/vnctpmd/vnctpmd/vnctpmd.vcxproj.filters
new file mode 100644
index 0000000000..329899c11d
--- /dev/null
+++ b/vn.how/tick2trade/vn.ctp_t2t/vnctpmd/vnctpmd/vnctpmd.vcxproj.filters
@@ -0,0 +1,62 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;hm;inl;inc;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+
+
+
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vn.how/tick2trade/vn.ctp_t2t/vnctpmd/vnctpmd/vnctpmd.vcxproj.user b/vn.how/tick2trade/vn.ctp_t2t/vnctpmd/vnctpmd/vnctpmd.vcxproj.user
new file mode 100644
index 0000000000..ef5ff2a1fa
--- /dev/null
+++ b/vn.how/tick2trade/vn.ctp_t2t/vnctpmd/vnctpmd/vnctpmd.vcxproj.user
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/vn.how/tick2trade/vn.ctp_t2t/vnctptd/vnctptd.sln b/vn.how/tick2trade/vn.ctp_t2t/vnctptd/vnctptd.sln
new file mode 100644
index 0000000000..62f18e2514
--- /dev/null
+++ b/vn.how/tick2trade/vn.ctp_t2t/vnctptd/vnctptd.sln
@@ -0,0 +1,22 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2013
+VisualStudioVersion = 12.0.40629.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vnctptd", "vnctptd\vnctptd.vcxproj", "{9C81A42B-56A6-4E46-9F2E-8243061AAD25}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Release|Win32 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {9C81A42B-56A6-4E46-9F2E-8243061AAD25}.Debug|Win32.ActiveCfg = Debug|Win32
+ {9C81A42B-56A6-4E46-9F2E-8243061AAD25}.Debug|Win32.Build.0 = Debug|Win32
+ {9C81A42B-56A6-4E46-9F2E-8243061AAD25}.Release|Win32.ActiveCfg = Release|Win32
+ {9C81A42B-56A6-4E46-9F2E-8243061AAD25}.Release|Win32.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/vn.how/tick2trade/vn.ctp_t2t/vnctptd/vnctptd/ReadMe.txt b/vn.how/tick2trade/vn.ctp_t2t/vnctptd/vnctptd/ReadMe.txt
new file mode 100644
index 0000000000..2282768fbc
--- /dev/null
+++ b/vn.how/tick2trade/vn.ctp_t2t/vnctptd/vnctptd/ReadMe.txt
@@ -0,0 +1,48 @@
+========================================================================
+ DYNAMIC LINK LIBRARY : vnctptd Project Overview
+========================================================================
+
+AppWizard has created this vnctptd DLL for you.
+
+This file contains a summary of what you will find in each of the files that
+make up your vnctptd application.
+
+
+vnctptd.vcxproj
+ This is the main project file for VC++ projects generated using an Application Wizard.
+ It contains information about the version of Visual C++ that generated the file, and
+ information about the platforms, configurations, and project features selected with the
+ Application Wizard.
+
+vnctptd.vcxproj.filters
+ This is the filters file for VC++ projects generated using an Application Wizard.
+ It contains information about the association between the files in your project
+ and the filters. This association is used in the IDE to show grouping of files with
+ similar extensions under a specific node (for e.g. ".cpp" files are associated with the
+ "Source Files" filter).
+
+vnctptd.cpp
+ This is the main DLL source file.
+
+ When created, this DLL does not export any symbols. As a result, it
+ will not produce a .lib file when it is built. If you wish this project
+ to be a project dependency of some other project, you will either need to
+ add code to export some symbols from the DLL so that an export library
+ will be produced, or you can set the Ignore Input Library property to Yes
+ on the General propert page of the Linker folder in the project's Property
+ Pages dialog box.
+
+/////////////////////////////////////////////////////////////////////////////
+Other standard files:
+
+StdAfx.h, StdAfx.cpp
+ These files are used to build a precompiled header (PCH) file
+ named vnctptd.pch and a precompiled types file named StdAfx.obj.
+
+/////////////////////////////////////////////////////////////////////////////
+Other notes:
+
+AppWizard uses "TODO:" comments to indicate parts of the source code you
+should add to or customize.
+
+/////////////////////////////////////////////////////////////////////////////
diff --git a/vn.how/tick2trade/vn.ctp_t2t/vnctptd/vnctptd/dllmain.cpp b/vn.how/tick2trade/vn.ctp_t2t/vnctptd/vnctptd/dllmain.cpp
new file mode 100644
index 0000000000..69b58914b3
--- /dev/null
+++ b/vn.how/tick2trade/vn.ctp_t2t/vnctptd/vnctptd/dllmain.cpp
@@ -0,0 +1,19 @@
+// dllmain.cpp : Defines the entry point for the DLL application.
+#include "stdafx.h"
+
+BOOL APIENTRY DllMain( HMODULE hModule,
+ DWORD ul_reason_for_call,
+ LPVOID lpReserved
+ )
+{
+ switch (ul_reason_for_call)
+ {
+ case DLL_PROCESS_ATTACH:
+ case DLL_THREAD_ATTACH:
+ case DLL_THREAD_DETACH:
+ case DLL_PROCESS_DETACH:
+ break;
+ }
+ return TRUE;
+}
+
diff --git a/vn.how/tick2trade/vn.ctp_t2t/vnctptd/vnctptd/stdafx.cpp b/vn.how/tick2trade/vn.ctp_t2t/vnctptd/vnctptd/stdafx.cpp
new file mode 100644
index 0000000000..fe15b80540
--- /dev/null
+++ b/vn.how/tick2trade/vn.ctp_t2t/vnctptd/vnctptd/stdafx.cpp
@@ -0,0 +1,8 @@
+// stdafx.cpp : source file that includes just the standard includes
+// vnctptd.pch will be the pre-compiled header
+// stdafx.obj will contain the pre-compiled type information
+
+#include "stdafx.h"
+
+// TODO: reference any additional headers you need in STDAFX.H
+// and not in this file
diff --git a/vn.how/tick2trade/vn.ctp_t2t/vnctptd/vnctptd/stdafx.h b/vn.how/tick2trade/vn.ctp_t2t/vnctptd/vnctptd/stdafx.h
new file mode 100644
index 0000000000..f3a07375c7
--- /dev/null
+++ b/vn.how/tick2trade/vn.ctp_t2t/vnctptd/vnctptd/stdafx.h
@@ -0,0 +1,16 @@
+// stdafx.h : include file for standard system include files,
+// or project specific include files that are used frequently, but
+// are changed infrequently
+//
+
+#pragma once
+
+#include "targetver.h"
+
+#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
+// Windows Header Files:
+#include
+
+
+
+// TODO: reference additional headers your program requires here
diff --git a/vn.how/tick2trade/vn.ctp_t2t/vnctptd/vnctptd/targetver.h b/vn.how/tick2trade/vn.ctp_t2t/vnctptd/vnctptd/targetver.h
new file mode 100644
index 0000000000..87c0086de7
--- /dev/null
+++ b/vn.how/tick2trade/vn.ctp_t2t/vnctptd/vnctptd/targetver.h
@@ -0,0 +1,8 @@
+#pragma once
+
+// Including SDKDDKVer.h defines the highest available Windows platform.
+
+// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
+// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
+
+#include
diff --git a/vn.how/tick2trade/vn.ctp_t2t/vnctptd/vnctptd/vnctptd.cpp b/vn.how/tick2trade/vn.ctp_t2t/vnctptd/vnctptd/vnctptd.cpp
new file mode 100644
index 0000000000..99408e3cbc
--- /dev/null
+++ b/vn.how/tick2trade/vn.ctp_t2t/vnctptd/vnctptd/vnctptd.cpp
@@ -0,0 +1,10525 @@
+// vnctptd.cpp : DLL Ӧóĵ
+//
+
+#include "vnctptd.h"
+
+
+///-------------------------------------------------------------------------------------
+///PythonC++תõĺ
+///-------------------------------------------------------------------------------------
+
+void getInt(dict d, string key, int *value)
+{
+ if (d.has_key(key)) //ֵǷڸüֵ
+ {
+ object o = d[key]; //ȡüֵ
+ extract x(o); //ȡ
+ if (x.check()) //ȡ
+ {
+ *value = x(); //Ŀָ븳ֵ
+ }
+ }
+}
+
+void getLong(dict d, string key, LONG *value)
+{
+ if (d.has_key(key)) //ֵǷڸüֵ
+ {
+ object o = d[key]; //ȡüֵ
+ extract x(o); //ȡ
+ if (x.check()) //ȡ
+ {
+ *value = x(); //Ŀָ븳ֵ
+ }
+ }
+}
+
+void getDouble(dict d, string key, double *value)
+{
+ if (d.has_key(key))
+ {
+ object o = d[key];
+ extract x(o);
+ if (x.check())
+ {
+ *value = x();
+ }
+ }
+}
+
+void getStr(dict d, string key, char *value)
+{
+ if (d.has_key(key))
+ {
+ object o = d[key];
+ extract x(o);
+ if (x.check())
+ {
+ string s = x();
+ const char *buffer = s.c_str();
+ //ַָ븳ֵʹstrcpy_s, vs2013ʹstrcpyͨ
+ //+1ӦΪC++ַĽβţرȷ1
+#ifdef _MSC_VER //WIN32
+ strcpy_s(value, strlen(buffer) + 1, buffer);
+#elif __GNUC__
+ strncpy(value, buffer, strlen(buffer) + 1);
+#endif
+ }
+ }
+}
+
+void getChar(dict d, string key, char *value)
+{
+ if (d.has_key(key))
+ {
+ object o = d[key];
+ extract x(o);
+ if (x.check())
+ {
+ string s = x();
+ const char *buffer = s.c_str();
+ *value = *buffer;
+ }
+ }
+}
+
+
+///-------------------------------------------------------------------------------------
+///C++Ļصݱ浽
+///-------------------------------------------------------------------------------------
+
+void TdApi::OnFrontConnected()
+{
+ Task task = Task();
+ task.task_name = ONFRONTCONNECTED;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnFrontDisconnected(int nReason)
+{
+ Task task = Task();
+ task.task_name = ONFRONTDISCONNECTED;
+ task.task_id = nReason;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnHeartBeatWarning(int nTimeLapse)
+{
+ Task task = Task();
+ task.task_name = ONHEARTBEATWARNING;
+ task.task_id = nTimeLapse;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspAuthenticate(CThostFtdcRspAuthenticateField *pRspAuthenticateField, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPAUTHENTICATE;
+
+ if (pRspAuthenticateField)
+ {
+ task.task_data = *pRspAuthenticateField;
+ }
+ else
+ {
+ CThostFtdcRspAuthenticateField empty_data = CThostFtdcRspAuthenticateField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspUserLogin(CThostFtdcRspUserLoginField *pRspUserLogin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPUSERLOGIN;
+
+ if (pRspUserLogin)
+ {
+ task.task_data = *pRspUserLogin;
+ }
+ else
+ {
+ CThostFtdcRspUserLoginField empty_data = CThostFtdcRspUserLoginField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspUserLogout(CThostFtdcUserLogoutField *pUserLogout, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPUSERLOGOUT;
+
+ if (pUserLogout)
+ {
+ task.task_data = *pUserLogout;
+ }
+ else
+ {
+ CThostFtdcUserLogoutField empty_data = CThostFtdcUserLogoutField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspUserPasswordUpdate(CThostFtdcUserPasswordUpdateField *pUserPasswordUpdate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPUSERPASSWORDUPDATE;
+
+ if (pUserPasswordUpdate)
+ {
+ task.task_data = *pUserPasswordUpdate;
+ }
+ else
+ {
+ CThostFtdcUserPasswordUpdateField empty_data = CThostFtdcUserPasswordUpdateField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspTradingAccountPasswordUpdate(CThostFtdcTradingAccountPasswordUpdateField *pTradingAccountPasswordUpdate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPTRADINGACCOUNTPASSWORDUPDATE;
+
+ if (pTradingAccountPasswordUpdate)
+ {
+ task.task_data = *pTradingAccountPasswordUpdate;
+ }
+ else
+ {
+ CThostFtdcTradingAccountPasswordUpdateField empty_data = CThostFtdcTradingAccountPasswordUpdateField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspOrderInsert(CThostFtdcInputOrderField *pInputOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPORDERINSERT;
+
+ if (pInputOrder)
+ {
+ task.task_data = *pInputOrder;
+ }
+ else
+ {
+ CThostFtdcInputOrderField empty_data = CThostFtdcInputOrderField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspParkedOrderInsert(CThostFtdcParkedOrderField *pParkedOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPPARKEDORDERINSERT;
+
+ if (pParkedOrder)
+ {
+ task.task_data = *pParkedOrder;
+ }
+ else
+ {
+ CThostFtdcParkedOrderField empty_data = CThostFtdcParkedOrderField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspParkedOrderAction(CThostFtdcParkedOrderActionField *pParkedOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPPARKEDORDERACTION;
+
+ if (pParkedOrderAction)
+ {
+ task.task_data = *pParkedOrderAction;
+ }
+ else
+ {
+ CThostFtdcParkedOrderActionField empty_data = CThostFtdcParkedOrderActionField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspOrderAction(CThostFtdcInputOrderActionField *pInputOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPORDERACTION;
+
+ if (pInputOrderAction)
+ {
+ task.task_data = *pInputOrderAction;
+ }
+ else
+ {
+ CThostFtdcInputOrderActionField empty_data = CThostFtdcInputOrderActionField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQueryMaxOrderVolume(CThostFtdcQueryMaxOrderVolumeField *pQueryMaxOrderVolume, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQUERYMAXORDERVOLUME;
+
+ if (pQueryMaxOrderVolume)
+ {
+ task.task_data = *pQueryMaxOrderVolume;
+ }
+ else
+ {
+ CThostFtdcQueryMaxOrderVolumeField empty_data = CThostFtdcQueryMaxOrderVolumeField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspSettlementInfoConfirm(CThostFtdcSettlementInfoConfirmField *pSettlementInfoConfirm, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPSETTLEMENTINFOCONFIRM;
+
+ if (pSettlementInfoConfirm)
+ {
+ task.task_data = *pSettlementInfoConfirm;
+ }
+ else
+ {
+ CThostFtdcSettlementInfoConfirmField empty_data = CThostFtdcSettlementInfoConfirmField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspRemoveParkedOrder(CThostFtdcRemoveParkedOrderField *pRemoveParkedOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPREMOVEPARKEDORDER;
+
+ if (pRemoveParkedOrder)
+ {
+ task.task_data = *pRemoveParkedOrder;
+ }
+ else
+ {
+ CThostFtdcRemoveParkedOrderField empty_data = CThostFtdcRemoveParkedOrderField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspRemoveParkedOrderAction(CThostFtdcRemoveParkedOrderActionField *pRemoveParkedOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPREMOVEPARKEDORDERACTION;
+
+ if (pRemoveParkedOrderAction)
+ {
+ task.task_data = *pRemoveParkedOrderAction;
+ }
+ else
+ {
+ CThostFtdcRemoveParkedOrderActionField empty_data = CThostFtdcRemoveParkedOrderActionField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspExecOrderInsert(CThostFtdcInputExecOrderField *pInputExecOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPEXECORDERINSERT;
+
+ if (pInputExecOrder)
+ {
+ task.task_data = *pInputExecOrder;
+ }
+ else
+ {
+ CThostFtdcInputExecOrderField empty_data = CThostFtdcInputExecOrderField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspExecOrderAction(CThostFtdcInputExecOrderActionField *pInputExecOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPEXECORDERACTION;
+
+ if (pInputExecOrderAction)
+ {
+ task.task_data = *pInputExecOrderAction;
+ }
+ else
+ {
+ CThostFtdcInputExecOrderActionField empty_data = CThostFtdcInputExecOrderActionField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspForQuoteInsert(CThostFtdcInputForQuoteField *pInputForQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPFORQUOTEINSERT;
+
+ if (pInputForQuote)
+ {
+ task.task_data = *pInputForQuote;
+ }
+ else
+ {
+ CThostFtdcInputForQuoteField empty_data = CThostFtdcInputForQuoteField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQuoteInsert(CThostFtdcInputQuoteField *pInputQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQUOTEINSERT;
+
+ if (pInputQuote)
+ {
+ task.task_data = *pInputQuote;
+ }
+ else
+ {
+ CThostFtdcInputQuoteField empty_data = CThostFtdcInputQuoteField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQuoteAction(CThostFtdcInputQuoteActionField *pInputQuoteAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQUOTEACTION;
+
+ if (pInputQuoteAction)
+ {
+ task.task_data = *pInputQuoteAction;
+ }
+ else
+ {
+ CThostFtdcInputQuoteActionField empty_data = CThostFtdcInputQuoteActionField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspLockInsert(CThostFtdcInputLockField *pInputLock, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPLOCKINSERT;
+
+ if (pInputLock)
+ {
+ task.task_data = *pInputLock;
+ }
+ else
+ {
+ CThostFtdcInputLockField empty_data = CThostFtdcInputLockField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspCombActionInsert(CThostFtdcInputCombActionField *pInputCombAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPCOMBACTIONINSERT;
+
+ if (pInputCombAction)
+ {
+ task.task_data = *pInputCombAction;
+ }
+ else
+ {
+ CThostFtdcInputCombActionField empty_data = CThostFtdcInputCombActionField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQryOrder(CThostFtdcOrderField *pOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYORDER;
+
+ if (pOrder)
+ {
+ task.task_data = *pOrder;
+ }
+ else
+ {
+ CThostFtdcOrderField empty_data = CThostFtdcOrderField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQryTrade(CThostFtdcTradeField *pTrade, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYTRADE;
+
+ if (pTrade)
+ {
+ task.task_data = *pTrade;
+ }
+ else
+ {
+ CThostFtdcTradeField empty_data = CThostFtdcTradeField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQryInvestorPosition(CThostFtdcInvestorPositionField *pInvestorPosition, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYINVESTORPOSITION;
+
+ if (pInvestorPosition)
+ {
+ task.task_data = *pInvestorPosition;
+ }
+ else
+ {
+ CThostFtdcInvestorPositionField empty_data = CThostFtdcInvestorPositionField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQryTradingAccount(CThostFtdcTradingAccountField *pTradingAccount, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYTRADINGACCOUNT;
+
+ if (pTradingAccount)
+ {
+ task.task_data = *pTradingAccount;
+ }
+ else
+ {
+ CThostFtdcTradingAccountField empty_data = CThostFtdcTradingAccountField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQryInvestor(CThostFtdcInvestorField *pInvestor, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYINVESTOR;
+
+ if (pInvestor)
+ {
+ task.task_data = *pInvestor;
+ }
+ else
+ {
+ CThostFtdcInvestorField empty_data = CThostFtdcInvestorField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQryTradingCode(CThostFtdcTradingCodeField *pTradingCode, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYTRADINGCODE;
+
+ if (pTradingCode)
+ {
+ task.task_data = *pTradingCode;
+ }
+ else
+ {
+ CThostFtdcTradingCodeField empty_data = CThostFtdcTradingCodeField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQryInstrumentMarginRate(CThostFtdcInstrumentMarginRateField *pInstrumentMarginRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYINSTRUMENTMARGINRATE;
+
+ if (pInstrumentMarginRate)
+ {
+ task.task_data = *pInstrumentMarginRate;
+ }
+ else
+ {
+ CThostFtdcInstrumentMarginRateField empty_data = CThostFtdcInstrumentMarginRateField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQryInstrumentCommissionRate(CThostFtdcInstrumentCommissionRateField *pInstrumentCommissionRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYINSTRUMENTCOMMISSIONRATE;
+
+ if (pInstrumentCommissionRate)
+ {
+ task.task_data = *pInstrumentCommissionRate;
+ }
+ else
+ {
+ CThostFtdcInstrumentCommissionRateField empty_data = CThostFtdcInstrumentCommissionRateField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQryExchange(CThostFtdcExchangeField *pExchange, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYEXCHANGE;
+
+ if (pExchange)
+ {
+ task.task_data = *pExchange;
+ }
+ else
+ {
+ CThostFtdcExchangeField empty_data = CThostFtdcExchangeField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQryProduct(CThostFtdcProductField *pProduct, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYPRODUCT;
+
+ if (pProduct)
+ {
+ task.task_data = *pProduct;
+ }
+ else
+ {
+ CThostFtdcProductField empty_data = CThostFtdcProductField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQryInstrument(CThostFtdcInstrumentField *pInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYINSTRUMENT;
+
+ if (pInstrument)
+ {
+ task.task_data = *pInstrument;
+ }
+ else
+ {
+ CThostFtdcInstrumentField empty_data = CThostFtdcInstrumentField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQryDepthMarketData(CThostFtdcDepthMarketDataField *pDepthMarketData, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYDEPTHMARKETDATA;
+
+ if (pDepthMarketData)
+ {
+ task.task_data = *pDepthMarketData;
+ }
+ else
+ {
+ CThostFtdcDepthMarketDataField empty_data = CThostFtdcDepthMarketDataField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQrySettlementInfo(CThostFtdcSettlementInfoField *pSettlementInfo, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYSETTLEMENTINFO;
+
+ if (pSettlementInfo)
+ {
+ task.task_data = *pSettlementInfo;
+ }
+ else
+ {
+ CThostFtdcSettlementInfoField empty_data = CThostFtdcSettlementInfoField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQryTransferBank(CThostFtdcTransferBankField *pTransferBank, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYTRANSFERBANK;
+
+ if (pTransferBank)
+ {
+ task.task_data = *pTransferBank;
+ }
+ else
+ {
+ CThostFtdcTransferBankField empty_data = CThostFtdcTransferBankField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQryInvestorPositionDetail(CThostFtdcInvestorPositionDetailField *pInvestorPositionDetail, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYINVESTORPOSITIONDETAIL;
+
+ if (pInvestorPositionDetail)
+ {
+ task.task_data = *pInvestorPositionDetail;
+ }
+ else
+ {
+ CThostFtdcInvestorPositionDetailField empty_data = CThostFtdcInvestorPositionDetailField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQryNotice(CThostFtdcNoticeField *pNotice, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYNOTICE;
+
+ if (pNotice)
+ {
+ task.task_data = *pNotice;
+ }
+ else
+ {
+ CThostFtdcNoticeField empty_data = CThostFtdcNoticeField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQrySettlementInfoConfirm(CThostFtdcSettlementInfoConfirmField *pSettlementInfoConfirm, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYSETTLEMENTINFOCONFIRM;
+
+ if (pSettlementInfoConfirm)
+ {
+ task.task_data = *pSettlementInfoConfirm;
+ }
+ else
+ {
+ CThostFtdcSettlementInfoConfirmField empty_data = CThostFtdcSettlementInfoConfirmField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQryInvestorPositionCombineDetail(CThostFtdcInvestorPositionCombineDetailField *pInvestorPositionCombineDetail, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYINVESTORPOSITIONCOMBINEDETAIL;
+
+ if (pInvestorPositionCombineDetail)
+ {
+ task.task_data = *pInvestorPositionCombineDetail;
+ }
+ else
+ {
+ CThostFtdcInvestorPositionCombineDetailField empty_data = CThostFtdcInvestorPositionCombineDetailField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQryCFMMCTradingAccountKey(CThostFtdcCFMMCTradingAccountKeyField *pCFMMCTradingAccountKey, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYCFMMCTRADINGACCOUNTKEY;
+
+ if (pCFMMCTradingAccountKey)
+ {
+ task.task_data = *pCFMMCTradingAccountKey;
+ }
+ else
+ {
+ CThostFtdcCFMMCTradingAccountKeyField empty_data = CThostFtdcCFMMCTradingAccountKeyField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQryEWarrantOffset(CThostFtdcEWarrantOffsetField *pEWarrantOffset, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYEWARRANTOFFSET;
+
+ if (pEWarrantOffset)
+ {
+ task.task_data = *pEWarrantOffset;
+ }
+ else
+ {
+ CThostFtdcEWarrantOffsetField empty_data = CThostFtdcEWarrantOffsetField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQryInvestorProductGroupMargin(CThostFtdcInvestorProductGroupMarginField *pInvestorProductGroupMargin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYINVESTORPRODUCTGROUPMARGIN;
+
+ if (pInvestorProductGroupMargin)
+ {
+ task.task_data = *pInvestorProductGroupMargin;
+ }
+ else
+ {
+ CThostFtdcInvestorProductGroupMarginField empty_data = CThostFtdcInvestorProductGroupMarginField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQryExchangeMarginRate(CThostFtdcExchangeMarginRateField *pExchangeMarginRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYEXCHANGEMARGINRATE;
+
+ if (pExchangeMarginRate)
+ {
+ task.task_data = *pExchangeMarginRate;
+ }
+ else
+ {
+ CThostFtdcExchangeMarginRateField empty_data = CThostFtdcExchangeMarginRateField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQryExchangeMarginRateAdjust(CThostFtdcExchangeMarginRateAdjustField *pExchangeMarginRateAdjust, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYEXCHANGEMARGINRATEADJUST;
+
+ if (pExchangeMarginRateAdjust)
+ {
+ task.task_data = *pExchangeMarginRateAdjust;
+ }
+ else
+ {
+ CThostFtdcExchangeMarginRateAdjustField empty_data = CThostFtdcExchangeMarginRateAdjustField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQryExchangeRate(CThostFtdcExchangeRateField *pExchangeRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYEXCHANGERATE;
+
+ if (pExchangeRate)
+ {
+ task.task_data = *pExchangeRate;
+ }
+ else
+ {
+ CThostFtdcExchangeRateField empty_data = CThostFtdcExchangeRateField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQrySecAgentACIDMap(CThostFtdcSecAgentACIDMapField *pSecAgentACIDMap, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYSECAGENTACIDMAP;
+
+ if (pSecAgentACIDMap)
+ {
+ task.task_data = *pSecAgentACIDMap;
+ }
+ else
+ {
+ CThostFtdcSecAgentACIDMapField empty_data = CThostFtdcSecAgentACIDMapField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQryProductExchRate(CThostFtdcProductExchRateField *pProductExchRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYPRODUCTEXCHRATE;
+
+ if (pProductExchRate)
+ {
+ task.task_data = *pProductExchRate;
+ }
+ else
+ {
+ CThostFtdcProductExchRateField empty_data = CThostFtdcProductExchRateField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQryProductGroup(CThostFtdcProductGroupField *pProductGroup, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYPRODUCTGROUP;
+
+ if (pProductGroup)
+ {
+ task.task_data = *pProductGroup;
+ }
+ else
+ {
+ CThostFtdcProductGroupField empty_data = CThostFtdcProductGroupField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQryOptionInstrTradeCost(CThostFtdcOptionInstrTradeCostField *pOptionInstrTradeCost, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYOPTIONINSTRTRADECOST;
+
+ if (pOptionInstrTradeCost)
+ {
+ task.task_data = *pOptionInstrTradeCost;
+ }
+ else
+ {
+ CThostFtdcOptionInstrTradeCostField empty_data = CThostFtdcOptionInstrTradeCostField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQryOptionInstrCommRate(CThostFtdcOptionInstrCommRateField *pOptionInstrCommRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYOPTIONINSTRCOMMRATE;
+
+ if (pOptionInstrCommRate)
+ {
+ task.task_data = *pOptionInstrCommRate;
+ }
+ else
+ {
+ CThostFtdcOptionInstrCommRateField empty_data = CThostFtdcOptionInstrCommRateField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQryExecOrder(CThostFtdcExecOrderField *pExecOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYEXECORDER;
+
+ if (pExecOrder)
+ {
+ task.task_data = *pExecOrder;
+ }
+ else
+ {
+ CThostFtdcExecOrderField empty_data = CThostFtdcExecOrderField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQryForQuote(CThostFtdcForQuoteField *pForQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYFORQUOTE;
+
+ if (pForQuote)
+ {
+ task.task_data = *pForQuote;
+ }
+ else
+ {
+ CThostFtdcForQuoteField empty_data = CThostFtdcForQuoteField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQryQuote(CThostFtdcQuoteField *pQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYQUOTE;
+
+ if (pQuote)
+ {
+ task.task_data = *pQuote;
+ }
+ else
+ {
+ CThostFtdcQuoteField empty_data = CThostFtdcQuoteField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQryLock(CThostFtdcLockField *pLock, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYLOCK;
+
+ if (pLock)
+ {
+ task.task_data = *pLock;
+ }
+ else
+ {
+ CThostFtdcLockField empty_data = CThostFtdcLockField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQryLockPosition(CThostFtdcLockPositionField *pLockPosition, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYLOCKPOSITION;
+
+ if (pLockPosition)
+ {
+ task.task_data = *pLockPosition;
+ }
+ else
+ {
+ CThostFtdcLockPositionField empty_data = CThostFtdcLockPositionField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQryInvestorLevel(CThostFtdcInvestorLevelField *pInvestorLevel, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYINVESTORLEVEL;
+
+ if (pInvestorLevel)
+ {
+ task.task_data = *pInvestorLevel;
+ }
+ else
+ {
+ CThostFtdcInvestorLevelField empty_data = CThostFtdcInvestorLevelField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQryExecFreeze(CThostFtdcExecFreezeField *pExecFreeze, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYEXECFREEZE;
+
+ if (pExecFreeze)
+ {
+ task.task_data = *pExecFreeze;
+ }
+ else
+ {
+ CThostFtdcExecFreezeField empty_data = CThostFtdcExecFreezeField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQryCombInstrumentGuard(CThostFtdcCombInstrumentGuardField *pCombInstrumentGuard, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYCOMBINSTRUMENTGUARD;
+
+ if (pCombInstrumentGuard)
+ {
+ task.task_data = *pCombInstrumentGuard;
+ }
+ else
+ {
+ CThostFtdcCombInstrumentGuardField empty_data = CThostFtdcCombInstrumentGuardField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQryCombAction(CThostFtdcCombActionField *pCombAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYCOMBACTION;
+
+ if (pCombAction)
+ {
+ task.task_data = *pCombAction;
+ }
+ else
+ {
+ CThostFtdcCombActionField empty_data = CThostFtdcCombActionField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQryTransferSerial(CThostFtdcTransferSerialField *pTransferSerial, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYTRANSFERSERIAL;
+
+ if (pTransferSerial)
+ {
+ task.task_data = *pTransferSerial;
+ }
+ else
+ {
+ CThostFtdcTransferSerialField empty_data = CThostFtdcTransferSerialField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQryAccountregister(CThostFtdcAccountregisterField *pAccountregister, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYACCOUNTREGISTER;
+
+ if (pAccountregister)
+ {
+ task.task_data = *pAccountregister;
+ }
+ else
+ {
+ CThostFtdcAccountregisterField empty_data = CThostFtdcAccountregisterField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspError(CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPERROR;
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRtnOrder(CThostFtdcOrderField *pOrder)
+{
+ Task task = Task();
+ task.task_name = ONRTNORDER;
+
+ if (pOrder)
+ {
+ task.task_data = *pOrder;
+ }
+ else
+ {
+ CThostFtdcOrderField empty_data = CThostFtdcOrderField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRtnTrade(CThostFtdcTradeField *pTrade)
+{
+ Task task = Task();
+ task.task_name = ONRTNTRADE;
+
+ if (pTrade)
+ {
+ task.task_data = *pTrade;
+ }
+ else
+ {
+ CThostFtdcTradeField empty_data = CThostFtdcTradeField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+ this->task_queue.push(task);
+};
+
+void TdApi::OnErrRtnOrderInsert(CThostFtdcInputOrderField *pInputOrder, CThostFtdcRspInfoField *pRspInfo)
+{
+ Task task = Task();
+ task.task_name = ONERRRTNORDERINSERT;
+
+ if (pInputOrder)
+ {
+ task.task_data = *pInputOrder;
+ }
+ else
+ {
+ CThostFtdcInputOrderField empty_data = CThostFtdcInputOrderField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ this->task_queue.push(task);
+};
+
+void TdApi::OnErrRtnOrderAction(CThostFtdcOrderActionField *pOrderAction, CThostFtdcRspInfoField *pRspInfo)
+{
+ Task task = Task();
+ task.task_name = ONERRRTNORDERACTION;
+
+ if (pOrderAction)
+ {
+ task.task_data = *pOrderAction;
+ }
+ else
+ {
+ CThostFtdcOrderActionField empty_data = CThostFtdcOrderActionField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRtnInstrumentStatus(CThostFtdcInstrumentStatusField *pInstrumentStatus)
+{
+ Task task = Task();
+ task.task_name = ONRTNINSTRUMENTSTATUS;
+
+ if (pInstrumentStatus)
+ {
+ task.task_data = *pInstrumentStatus;
+ }
+ else
+ {
+ CThostFtdcInstrumentStatusField empty_data = CThostFtdcInstrumentStatusField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRtnTradingNotice(CThostFtdcTradingNoticeInfoField *pTradingNoticeInfo)
+{
+ Task task = Task();
+ task.task_name = ONRTNTRADINGNOTICE;
+
+ if (pTradingNoticeInfo)
+ {
+ task.task_data = *pTradingNoticeInfo;
+ }
+ else
+ {
+ CThostFtdcTradingNoticeInfoField empty_data = CThostFtdcTradingNoticeInfoField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRtnErrorConditionalOrder(CThostFtdcErrorConditionalOrderField *pErrorConditionalOrder)
+{
+ Task task = Task();
+ task.task_name = ONRTNERRORCONDITIONALORDER;
+
+ if (pErrorConditionalOrder)
+ {
+ task.task_data = *pErrorConditionalOrder;
+ }
+ else
+ {
+ CThostFtdcErrorConditionalOrderField empty_data = CThostFtdcErrorConditionalOrderField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRtnExecOrder(CThostFtdcExecOrderField *pExecOrder)
+{
+ Task task = Task();
+ task.task_name = ONRTNEXECORDER;
+
+ if (pExecOrder)
+ {
+ task.task_data = *pExecOrder;
+ }
+ else
+ {
+ CThostFtdcExecOrderField empty_data = CThostFtdcExecOrderField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+ this->task_queue.push(task);
+};
+
+void TdApi::OnErrRtnExecOrderInsert(CThostFtdcInputExecOrderField *pInputExecOrder, CThostFtdcRspInfoField *pRspInfo)
+{
+ Task task = Task();
+ task.task_name = ONERRRTNEXECORDERINSERT;
+
+ if (pInputExecOrder)
+ {
+ task.task_data = *pInputExecOrder;
+ }
+ else
+ {
+ CThostFtdcInputExecOrderField empty_data = CThostFtdcInputExecOrderField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ this->task_queue.push(task);
+};
+
+void TdApi::OnErrRtnExecOrderAction(CThostFtdcExecOrderActionField *pExecOrderAction, CThostFtdcRspInfoField *pRspInfo)
+{
+ Task task = Task();
+ task.task_name = ONERRRTNEXECORDERACTION;
+
+ if (pExecOrderAction)
+ {
+ task.task_data = *pExecOrderAction;
+ }
+ else
+ {
+ CThostFtdcExecOrderActionField empty_data = CThostFtdcExecOrderActionField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ this->task_queue.push(task);
+};
+
+void TdApi::OnErrRtnForQuoteInsert(CThostFtdcInputForQuoteField *pInputForQuote, CThostFtdcRspInfoField *pRspInfo)
+{
+ Task task = Task();
+ task.task_name = ONERRRTNFORQUOTEINSERT;
+
+ if (pInputForQuote)
+ {
+ task.task_data = *pInputForQuote;
+ }
+ else
+ {
+ CThostFtdcInputForQuoteField empty_data = CThostFtdcInputForQuoteField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRtnQuote(CThostFtdcQuoteField *pQuote)
+{
+ Task task = Task();
+ task.task_name = ONRTNQUOTE;
+
+ if (pQuote)
+ {
+ task.task_data = *pQuote;
+ }
+ else
+ {
+ CThostFtdcQuoteField empty_data = CThostFtdcQuoteField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+ this->task_queue.push(task);
+};
+
+void TdApi::OnErrRtnQuoteInsert(CThostFtdcInputQuoteField *pInputQuote, CThostFtdcRspInfoField *pRspInfo)
+{
+ Task task = Task();
+ task.task_name = ONERRRTNQUOTEINSERT;
+
+ if (pInputQuote)
+ {
+ task.task_data = *pInputQuote;
+ }
+ else
+ {
+ CThostFtdcInputQuoteField empty_data = CThostFtdcInputQuoteField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ this->task_queue.push(task);
+};
+
+void TdApi::OnErrRtnQuoteAction(CThostFtdcQuoteActionField *pQuoteAction, CThostFtdcRspInfoField *pRspInfo)
+{
+ Task task = Task();
+ task.task_name = ONERRRTNQUOTEACTION;
+
+ if (pQuoteAction)
+ {
+ task.task_data = *pQuoteAction;
+ }
+ else
+ {
+ CThostFtdcQuoteActionField empty_data = CThostFtdcQuoteActionField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRtnForQuoteRsp(CThostFtdcForQuoteRspField *pForQuoteRsp)
+{
+ Task task = Task();
+ task.task_name = ONRTNFORQUOTERSP;
+
+ if (pForQuoteRsp)
+ {
+ task.task_data = *pForQuoteRsp;
+ }
+ else
+ {
+ CThostFtdcForQuoteRspField empty_data = CThostFtdcForQuoteRspField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRtnCFMMCTradingAccountToken(CThostFtdcCFMMCTradingAccountTokenField *pCFMMCTradingAccountToken)
+{
+ Task task = Task();
+ task.task_name = ONRTNCFMMCTRADINGACCOUNTTOKEN;
+
+ if (pCFMMCTradingAccountToken)
+ {
+ task.task_data = *pCFMMCTradingAccountToken;
+ }
+ else
+ {
+ CThostFtdcCFMMCTradingAccountTokenField empty_data = CThostFtdcCFMMCTradingAccountTokenField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRtnLock(CThostFtdcLockField *pLock)
+{
+ Task task = Task();
+ task.task_name = ONRTNLOCK;
+
+ if (pLock)
+ {
+ task.task_data = *pLock;
+ }
+ else
+ {
+ CThostFtdcLockField empty_data = CThostFtdcLockField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+ this->task_queue.push(task);
+};
+
+void TdApi::OnErrRtnLockInsert(CThostFtdcInputLockField *pInputLock, CThostFtdcRspInfoField *pRspInfo)
+{
+ Task task = Task();
+ task.task_name = ONERRRTNLOCKINSERT;
+
+ if (pInputLock)
+ {
+ task.task_data = *pInputLock;
+ }
+ else
+ {
+ CThostFtdcInputLockField empty_data = CThostFtdcInputLockField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRtnCombAction(CThostFtdcCombActionField *pCombAction)
+{
+ Task task = Task();
+ task.task_name = ONRTNCOMBACTION;
+
+ if (pCombAction)
+ {
+ task.task_data = *pCombAction;
+ }
+ else
+ {
+ CThostFtdcCombActionField empty_data = CThostFtdcCombActionField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+ this->task_queue.push(task);
+};
+
+void TdApi::OnErrRtnCombActionInsert(CThostFtdcInputCombActionField *pInputCombAction, CThostFtdcRspInfoField *pRspInfo)
+{
+ Task task = Task();
+ task.task_name = ONERRRTNCOMBACTIONINSERT;
+
+ if (pInputCombAction)
+ {
+ task.task_data = *pInputCombAction;
+ }
+ else
+ {
+ CThostFtdcInputCombActionField empty_data = CThostFtdcInputCombActionField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQryContractBank(CThostFtdcContractBankField *pContractBank, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYCONTRACTBANK;
+
+ if (pContractBank)
+ {
+ task.task_data = *pContractBank;
+ }
+ else
+ {
+ CThostFtdcContractBankField empty_data = CThostFtdcContractBankField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQryParkedOrder(CThostFtdcParkedOrderField *pParkedOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYPARKEDORDER;
+
+ if (pParkedOrder)
+ {
+ task.task_data = *pParkedOrder;
+ }
+ else
+ {
+ CThostFtdcParkedOrderField empty_data = CThostFtdcParkedOrderField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQryParkedOrderAction(CThostFtdcParkedOrderActionField *pParkedOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYPARKEDORDERACTION;
+
+ if (pParkedOrderAction)
+ {
+ task.task_data = *pParkedOrderAction;
+ }
+ else
+ {
+ CThostFtdcParkedOrderActionField empty_data = CThostFtdcParkedOrderActionField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQryTradingNotice(CThostFtdcTradingNoticeField *pTradingNotice, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYTRADINGNOTICE;
+
+ if (pTradingNotice)
+ {
+ task.task_data = *pTradingNotice;
+ }
+ else
+ {
+ CThostFtdcTradingNoticeField empty_data = CThostFtdcTradingNoticeField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQryBrokerTradingParams(CThostFtdcBrokerTradingParamsField *pBrokerTradingParams, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYBROKERTRADINGPARAMS;
+
+ if (pBrokerTradingParams)
+ {
+ task.task_data = *pBrokerTradingParams;
+ }
+ else
+ {
+ CThostFtdcBrokerTradingParamsField empty_data = CThostFtdcBrokerTradingParamsField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQryBrokerTradingAlgos(CThostFtdcBrokerTradingAlgosField *pBrokerTradingAlgos, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQRYBROKERTRADINGALGOS;
+
+ if (pBrokerTradingAlgos)
+ {
+ task.task_data = *pBrokerTradingAlgos;
+ }
+ else
+ {
+ CThostFtdcBrokerTradingAlgosField empty_data = CThostFtdcBrokerTradingAlgosField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQueryCFMMCTradingAccountToken(CThostFtdcQueryCFMMCTradingAccountTokenField *pQueryCFMMCTradingAccountToken, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQUERYCFMMCTRADINGACCOUNTTOKEN;
+
+ if (pQueryCFMMCTradingAccountToken)
+ {
+ task.task_data = *pQueryCFMMCTradingAccountToken;
+ }
+ else
+ {
+ CThostFtdcQueryCFMMCTradingAccountTokenField empty_data = CThostFtdcQueryCFMMCTradingAccountTokenField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRtnFromBankToFutureByBank(CThostFtdcRspTransferField *pRspTransfer)
+{
+ Task task = Task();
+ task.task_name = ONRTNFROMBANKTOFUTUREBYBANK;
+
+ if (pRspTransfer)
+ {
+ task.task_data = *pRspTransfer;
+ }
+ else
+ {
+ CThostFtdcRspTransferField empty_data = CThostFtdcRspTransferField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRtnFromFutureToBankByBank(CThostFtdcRspTransferField *pRspTransfer)
+{
+ Task task = Task();
+ task.task_name = ONRTNFROMFUTURETOBANKBYBANK;
+
+ if (pRspTransfer)
+ {
+ task.task_data = *pRspTransfer;
+ }
+ else
+ {
+ CThostFtdcRspTransferField empty_data = CThostFtdcRspTransferField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRtnRepealFromBankToFutureByBank(CThostFtdcRspRepealField *pRspRepeal)
+{
+ Task task = Task();
+ task.task_name = ONRTNREPEALFROMBANKTOFUTUREBYBANK;
+
+ if (pRspRepeal)
+ {
+ task.task_data = *pRspRepeal;
+ }
+ else
+ {
+ CThostFtdcRspRepealField empty_data = CThostFtdcRspRepealField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRtnRepealFromFutureToBankByBank(CThostFtdcRspRepealField *pRspRepeal)
+{
+ Task task = Task();
+ task.task_name = ONRTNREPEALFROMFUTURETOBANKBYBANK;
+
+ if (pRspRepeal)
+ {
+ task.task_data = *pRspRepeal;
+ }
+ else
+ {
+ CThostFtdcRspRepealField empty_data = CThostFtdcRspRepealField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRtnFromBankToFutureByFuture(CThostFtdcRspTransferField *pRspTransfer)
+{
+ Task task = Task();
+ task.task_name = ONRTNFROMBANKTOFUTUREBYFUTURE;
+
+ if (pRspTransfer)
+ {
+ task.task_data = *pRspTransfer;
+ }
+ else
+ {
+ CThostFtdcRspTransferField empty_data = CThostFtdcRspTransferField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRtnFromFutureToBankByFuture(CThostFtdcRspTransferField *pRspTransfer)
+{
+ Task task = Task();
+ task.task_name = ONRTNFROMFUTURETOBANKBYFUTURE;
+
+ if (pRspTransfer)
+ {
+ task.task_data = *pRspTransfer;
+ }
+ else
+ {
+ CThostFtdcRspTransferField empty_data = CThostFtdcRspTransferField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRtnRepealFromBankToFutureByFutureManual(CThostFtdcRspRepealField *pRspRepeal)
+{
+ Task task = Task();
+ task.task_name = ONRTNREPEALFROMBANKTOFUTUREBYFUTUREMANUAL;
+
+ if (pRspRepeal)
+ {
+ task.task_data = *pRspRepeal;
+ }
+ else
+ {
+ CThostFtdcRspRepealField empty_data = CThostFtdcRspRepealField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRtnRepealFromFutureToBankByFutureManual(CThostFtdcRspRepealField *pRspRepeal)
+{
+ Task task = Task();
+ task.task_name = ONRTNREPEALFROMFUTURETOBANKBYFUTUREMANUAL;
+
+ if (pRspRepeal)
+ {
+ task.task_data = *pRspRepeal;
+ }
+ else
+ {
+ CThostFtdcRspRepealField empty_data = CThostFtdcRspRepealField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRtnQueryBankBalanceByFuture(CThostFtdcNotifyQueryAccountField *pNotifyQueryAccount)
+{
+ Task task = Task();
+ task.task_name = ONRTNQUERYBANKBALANCEBYFUTURE;
+
+ if (pNotifyQueryAccount)
+ {
+ task.task_data = *pNotifyQueryAccount;
+ }
+ else
+ {
+ CThostFtdcNotifyQueryAccountField empty_data = CThostFtdcNotifyQueryAccountField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+ this->task_queue.push(task);
+};
+
+void TdApi::OnErrRtnBankToFutureByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo)
+{
+ Task task = Task();
+ task.task_name = ONERRRTNBANKTOFUTUREBYFUTURE;
+
+ if (pReqTransfer)
+ {
+ task.task_data = *pReqTransfer;
+ }
+ else
+ {
+ CThostFtdcReqTransferField empty_data = CThostFtdcReqTransferField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ this->task_queue.push(task);
+};
+
+void TdApi::OnErrRtnFutureToBankByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo)
+{
+ Task task = Task();
+ task.task_name = ONERRRTNFUTURETOBANKBYFUTURE;
+
+ if (pReqTransfer)
+ {
+ task.task_data = *pReqTransfer;
+ }
+ else
+ {
+ CThostFtdcReqTransferField empty_data = CThostFtdcReqTransferField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ this->task_queue.push(task);
+};
+
+void TdApi::OnErrRtnRepealBankToFutureByFutureManual(CThostFtdcReqRepealField *pReqRepeal, CThostFtdcRspInfoField *pRspInfo)
+{
+ Task task = Task();
+ task.task_name = ONERRRTNREPEALBANKTOFUTUREBYFUTUREMANUAL;
+
+ if (pReqRepeal)
+ {
+ task.task_data = *pReqRepeal;
+ }
+ else
+ {
+ CThostFtdcReqRepealField empty_data = CThostFtdcReqRepealField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ this->task_queue.push(task);
+};
+
+void TdApi::OnErrRtnRepealFutureToBankByFutureManual(CThostFtdcReqRepealField *pReqRepeal, CThostFtdcRspInfoField *pRspInfo)
+{
+ Task task = Task();
+ task.task_name = ONERRRTNREPEALFUTURETOBANKBYFUTUREMANUAL;
+
+ if (pReqRepeal)
+ {
+ task.task_data = *pReqRepeal;
+ }
+ else
+ {
+ CThostFtdcReqRepealField empty_data = CThostFtdcReqRepealField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ this->task_queue.push(task);
+};
+
+void TdApi::OnErrRtnQueryBankBalanceByFuture(CThostFtdcReqQueryAccountField *pReqQueryAccount, CThostFtdcRspInfoField *pRspInfo)
+{
+ Task task = Task();
+ task.task_name = ONERRRTNQUERYBANKBALANCEBYFUTURE;
+
+ if (pReqQueryAccount)
+ {
+ task.task_data = *pReqQueryAccount;
+ }
+ else
+ {
+ CThostFtdcReqQueryAccountField empty_data = CThostFtdcReqQueryAccountField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRtnRepealFromBankToFutureByFuture(CThostFtdcRspRepealField *pRspRepeal)
+{
+ Task task = Task();
+ task.task_name = ONRTNREPEALFROMBANKTOFUTUREBYFUTURE;
+
+ if (pRspRepeal)
+ {
+ task.task_data = *pRspRepeal;
+ }
+ else
+ {
+ CThostFtdcRspRepealField empty_data = CThostFtdcRspRepealField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRtnRepealFromFutureToBankByFuture(CThostFtdcRspRepealField *pRspRepeal)
+{
+ Task task = Task();
+ task.task_name = ONRTNREPEALFROMFUTURETOBANKBYFUTURE;
+
+ if (pRspRepeal)
+ {
+ task.task_data = *pRspRepeal;
+ }
+ else
+ {
+ CThostFtdcRspRepealField empty_data = CThostFtdcRspRepealField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspFromBankToFutureByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPFROMBANKTOFUTUREBYFUTURE;
+
+ if (pReqTransfer)
+ {
+ task.task_data = *pReqTransfer;
+ }
+ else
+ {
+ CThostFtdcReqTransferField empty_data = CThostFtdcReqTransferField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspFromFutureToBankByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPFROMFUTURETOBANKBYFUTURE;
+
+ if (pReqTransfer)
+ {
+ task.task_data = *pReqTransfer;
+ }
+ else
+ {
+ CThostFtdcReqTransferField empty_data = CThostFtdcReqTransferField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRspQueryBankAccountMoneyByFuture(CThostFtdcReqQueryAccountField *pReqQueryAccount, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
+{
+ Task task = Task();
+ task.task_name = ONRSPQUERYBANKACCOUNTMONEYBYFUTURE;
+
+ if (pReqQueryAccount)
+ {
+ task.task_data = *pReqQueryAccount;
+ }
+ else
+ {
+ CThostFtdcReqQueryAccountField empty_data = CThostFtdcReqQueryAccountField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+
+ if (pRspInfo)
+ {
+ task.task_error = *pRspInfo;
+ }
+ else
+ {
+ CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField();
+ memset(&empty_error, 0, sizeof(empty_error));
+ task.task_error = empty_error;
+ }
+ task.task_id = nRequestID;
+ task.task_last = bIsLast;
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRtnOpenAccountByBank(CThostFtdcOpenAccountField *pOpenAccount)
+{
+ Task task = Task();
+ task.task_name = ONRTNOPENACCOUNTBYBANK;
+
+ if (pOpenAccount)
+ {
+ task.task_data = *pOpenAccount;
+ }
+ else
+ {
+ CThostFtdcOpenAccountField empty_data = CThostFtdcOpenAccountField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRtnCancelAccountByBank(CThostFtdcCancelAccountField *pCancelAccount)
+{
+ Task task = Task();
+ task.task_name = ONRTNCANCELACCOUNTBYBANK;
+
+ if (pCancelAccount)
+ {
+ task.task_data = *pCancelAccount;
+ }
+ else
+ {
+ CThostFtdcCancelAccountField empty_data = CThostFtdcCancelAccountField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+ this->task_queue.push(task);
+};
+
+void TdApi::OnRtnChangeAccountByBank(CThostFtdcChangeAccountField *pChangeAccount)
+{
+ Task task = Task();
+ task.task_name = ONRTNCHANGEACCOUNTBYBANK;
+
+ if (pChangeAccount)
+ {
+ task.task_data = *pChangeAccount;
+ }
+ else
+ {
+ CThostFtdcChangeAccountField empty_data = CThostFtdcChangeAccountField();
+ memset(&empty_data, 0, sizeof(empty_data));
+ task.task_data = empty_data;
+ }
+ this->task_queue.push(task);
+};
+
+
+
+///-------------------------------------------------------------------------------------
+///̴߳ӶȡݣתΪpython
+///-------------------------------------------------------------------------------------
+
+void TdApi::processTask()
+{
+ while (1)
+ {
+ Task task = this->task_queue.wait_and_pop();
+
+ switch (task.task_name)
+ {
+ case ONFRONTCONNECTED:
+ {
+ this->processFrontConnected(task);
+ break;
+ }
+
+ case ONFRONTDISCONNECTED:
+ {
+ this->processFrontDisconnected(task);
+ break;
+ }
+
+ case ONHEARTBEATWARNING:
+ {
+ this->processHeartBeatWarning(task);
+ break;
+ }
+
+ case ONRSPAUTHENTICATE:
+ {
+ this->processRspAuthenticate(task);
+ break;
+ }
+
+ case ONRSPUSERLOGIN:
+ {
+ this->processRspUserLogin(task);
+ break;
+ }
+
+ case ONRSPUSERLOGOUT:
+ {
+ this->processRspUserLogout(task);
+ break;
+ }
+
+ case ONRSPUSERPASSWORDUPDATE:
+ {
+ this->processRspUserPasswordUpdate(task);
+ break;
+ }
+
+ case ONRSPTRADINGACCOUNTPASSWORDUPDATE:
+ {
+ this->processRspTradingAccountPasswordUpdate(task);
+ break;
+ }
+
+ case ONRSPORDERINSERT:
+ {
+ this->processRspOrderInsert(task);
+ break;
+ }
+
+ case ONRSPPARKEDORDERINSERT:
+ {
+ this->processRspParkedOrderInsert(task);
+ break;
+ }
+
+ case ONRSPPARKEDORDERACTION:
+ {
+ this->processRspParkedOrderAction(task);
+ break;
+ }
+
+ case ONRSPORDERACTION:
+ {
+ this->processRspOrderAction(task);
+ break;
+ }
+
+ case ONRSPQUERYMAXORDERVOLUME:
+ {
+ this->processRspQueryMaxOrderVolume(task);
+ break;
+ }
+
+ case ONRSPSETTLEMENTINFOCONFIRM:
+ {
+ this->processRspSettlementInfoConfirm(task);
+ break;
+ }
+
+ case ONRSPREMOVEPARKEDORDER:
+ {
+ this->processRspRemoveParkedOrder(task);
+ break;
+ }
+
+ case ONRSPREMOVEPARKEDORDERACTION:
+ {
+ this->processRspRemoveParkedOrderAction(task);
+ break;
+ }
+
+ case ONRSPEXECORDERINSERT:
+ {
+ this->processRspExecOrderInsert(task);
+ break;
+ }
+
+ case ONRSPEXECORDERACTION:
+ {
+ this->processRspExecOrderAction(task);
+ break;
+ }
+
+ case ONRSPFORQUOTEINSERT:
+ {
+ this->processRspForQuoteInsert(task);
+ break;
+ }
+
+ case ONRSPQUOTEINSERT:
+ {
+ this->processRspQuoteInsert(task);
+ break;
+ }
+
+ case ONRSPQUOTEACTION:
+ {
+ this->processRspQuoteAction(task);
+ break;
+ }
+
+ case ONRSPLOCKINSERT:
+ {
+ this->processRspLockInsert(task);
+ break;
+ }
+
+ case ONRSPCOMBACTIONINSERT:
+ {
+ this->processRspCombActionInsert(task);
+ break;
+ }
+
+ case ONRSPQRYORDER:
+ {
+ this->processRspQryOrder(task);
+ break;
+ }
+
+ case ONRSPQRYTRADE:
+ {
+ this->processRspQryTrade(task);
+ break;
+ }
+
+ case ONRSPQRYINVESTORPOSITION:
+ {
+ this->processRspQryInvestorPosition(task);
+ break;
+ }
+
+ case ONRSPQRYTRADINGACCOUNT:
+ {
+ this->processRspQryTradingAccount(task);
+ break;
+ }
+
+ case ONRSPQRYINVESTOR:
+ {
+ this->processRspQryInvestor(task);
+ break;
+ }
+
+ case ONRSPQRYTRADINGCODE:
+ {
+ this->processRspQryTradingCode(task);
+ break;
+ }
+
+ case ONRSPQRYINSTRUMENTMARGINRATE:
+ {
+ this->processRspQryInstrumentMarginRate(task);
+ break;
+ }
+
+ case ONRSPQRYINSTRUMENTCOMMISSIONRATE:
+ {
+ this->processRspQryInstrumentCommissionRate(task);
+ break;
+ }
+
+ case ONRSPQRYEXCHANGE:
+ {
+ this->processRspQryExchange(task);
+ break;
+ }
+
+ case ONRSPQRYPRODUCT:
+ {
+ this->processRspQryProduct(task);
+ break;
+ }
+
+ case ONRSPQRYINSTRUMENT:
+ {
+ this->processRspQryInstrument(task);
+ break;
+ }
+
+ case ONRSPQRYDEPTHMARKETDATA:
+ {
+ this->processRspQryDepthMarketData(task);
+ break;
+ }
+
+ case ONRSPQRYSETTLEMENTINFO:
+ {
+ this->processRspQrySettlementInfo(task);
+ break;
+ }
+
+ case ONRSPQRYTRANSFERBANK:
+ {
+ this->processRspQryTransferBank(task);
+ break;
+ }
+
+ case ONRSPQRYINVESTORPOSITIONDETAIL:
+ {
+ this->processRspQryInvestorPositionDetail(task);
+ break;
+ }
+
+ case ONRSPQRYNOTICE:
+ {
+ this->processRspQryNotice(task);
+ break;
+ }
+
+ case ONRSPQRYSETTLEMENTINFOCONFIRM:
+ {
+ this->processRspQrySettlementInfoConfirm(task);
+ break;
+ }
+
+ case ONRSPQRYINVESTORPOSITIONCOMBINEDETAIL:
+ {
+ this->processRspQryInvestorPositionCombineDetail(task);
+ break;
+ }
+
+ case ONRSPQRYCFMMCTRADINGACCOUNTKEY:
+ {
+ this->processRspQryCFMMCTradingAccountKey(task);
+ break;
+ }
+
+ case ONRSPQRYEWARRANTOFFSET:
+ {
+ this->processRspQryEWarrantOffset(task);
+ break;
+ }
+
+ case ONRSPQRYINVESTORPRODUCTGROUPMARGIN:
+ {
+ this->processRspQryInvestorProductGroupMargin(task);
+ break;
+ }
+
+ case ONRSPQRYEXCHANGEMARGINRATE:
+ {
+ this->processRspQryExchangeMarginRate(task);
+ break;
+ }
+
+ case ONRSPQRYEXCHANGEMARGINRATEADJUST:
+ {
+ this->processRspQryExchangeMarginRateAdjust(task);
+ break;
+ }
+
+ case ONRSPQRYEXCHANGERATE:
+ {
+ this->processRspQryExchangeRate(task);
+ break;
+ }
+
+ case ONRSPQRYSECAGENTACIDMAP:
+ {
+ this->processRspQrySecAgentACIDMap(task);
+ break;
+ }
+
+ case ONRSPQRYPRODUCTEXCHRATE:
+ {
+ this->processRspQryProductExchRate(task);
+ break;
+ }
+
+ case ONRSPQRYPRODUCTGROUP:
+ {
+ this->processRspQryProductGroup(task);
+ break;
+ }
+
+ case ONRSPQRYOPTIONINSTRTRADECOST:
+ {
+ this->processRspQryOptionInstrTradeCost(task);
+ break;
+ }
+
+ case ONRSPQRYOPTIONINSTRCOMMRATE:
+ {
+ this->processRspQryOptionInstrCommRate(task);
+ break;
+ }
+
+ case ONRSPQRYEXECORDER:
+ {
+ this->processRspQryExecOrder(task);
+ break;
+ }
+
+ case ONRSPQRYFORQUOTE:
+ {
+ this->processRspQryForQuote(task);
+ break;
+ }
+
+ case ONRSPQRYQUOTE:
+ {
+ this->processRspQryQuote(task);
+ break;
+ }
+
+ case ONRSPQRYLOCK:
+ {
+ this->processRspQryLock(task);
+ break;
+ }
+
+ case ONRSPQRYLOCKPOSITION:
+ {
+ this->processRspQryLockPosition(task);
+ break;
+ }
+
+ case ONRSPQRYINVESTORLEVEL:
+ {
+ this->processRspQryInvestorLevel(task);
+ break;
+ }
+
+ case ONRSPQRYEXECFREEZE:
+ {
+ this->processRspQryExecFreeze(task);
+ break;
+ }
+
+ case ONRSPQRYCOMBINSTRUMENTGUARD:
+ {
+ this->processRspQryCombInstrumentGuard(task);
+ break;
+ }
+
+ case ONRSPQRYCOMBACTION:
+ {
+ this->processRspQryCombAction(task);
+ break;
+ }
+
+ case ONRSPQRYTRANSFERSERIAL:
+ {
+ this->processRspQryTransferSerial(task);
+ break;
+ }
+
+ case ONRSPQRYACCOUNTREGISTER:
+ {
+ this->processRspQryAccountregister(task);
+ break;
+ }
+
+ case ONRSPERROR:
+ {
+ this->processRspError(task);
+ break;
+ }
+
+ case ONRTNORDER:
+ {
+ this->processRtnOrder(task);
+ break;
+ }
+
+ case ONRTNTRADE:
+ {
+ this->processRtnTrade(task);
+ break;
+ }
+
+ case ONERRRTNORDERINSERT:
+ {
+ this->processErrRtnOrderInsert(task);
+ break;
+ }
+
+ case ONERRRTNORDERACTION:
+ {
+ this->processErrRtnOrderAction(task);
+ break;
+ }
+
+ case ONRTNINSTRUMENTSTATUS:
+ {
+ this->processRtnInstrumentStatus(task);
+ break;
+ }
+
+ case ONRTNTRADINGNOTICE:
+ {
+ this->processRtnTradingNotice(task);
+ break;
+ }
+
+ case ONRTNERRORCONDITIONALORDER:
+ {
+ this->processRtnErrorConditionalOrder(task);
+ break;
+ }
+
+ case ONRTNEXECORDER:
+ {
+ this->processRtnExecOrder(task);
+ break;
+ }
+
+ case ONERRRTNEXECORDERINSERT:
+ {
+ this->processErrRtnExecOrderInsert(task);
+ break;
+ }
+
+ case ONERRRTNEXECORDERACTION:
+ {
+ this->processErrRtnExecOrderAction(task);
+ break;
+ }
+
+ case ONERRRTNFORQUOTEINSERT:
+ {
+ this->processErrRtnForQuoteInsert(task);
+ break;
+ }
+
+ case ONRTNQUOTE:
+ {
+ this->processRtnQuote(task);
+ break;
+ }
+
+ case ONERRRTNQUOTEINSERT:
+ {
+ this->processErrRtnQuoteInsert(task);
+ break;
+ }
+
+ case ONERRRTNQUOTEACTION:
+ {
+ this->processErrRtnQuoteAction(task);
+ break;
+ }
+
+ case ONRTNFORQUOTERSP:
+ {
+ this->processRtnForQuoteRsp(task);
+ break;
+ }
+
+ case ONRTNCFMMCTRADINGACCOUNTTOKEN:
+ {
+ this->processRtnCFMMCTradingAccountToken(task);
+ break;
+ }
+
+ case ONRTNLOCK:
+ {
+ this->processRtnLock(task);
+ break;
+ }
+
+ case ONERRRTNLOCKINSERT:
+ {
+ this->processErrRtnLockInsert(task);
+ break;
+ }
+
+ case ONRTNCOMBACTION:
+ {
+ this->processRtnCombAction(task);
+ break;
+ }
+
+ case ONERRRTNCOMBACTIONINSERT:
+ {
+ this->processErrRtnCombActionInsert(task);
+ break;
+ }
+
+ case ONRSPQRYCONTRACTBANK:
+ {
+ this->processRspQryContractBank(task);
+ break;
+ }
+
+ case ONRSPQRYPARKEDORDER:
+ {
+ this->processRspQryParkedOrder(task);
+ break;
+ }
+
+ case ONRSPQRYPARKEDORDERACTION:
+ {
+ this->processRspQryParkedOrderAction(task);
+ break;
+ }
+
+ case ONRSPQRYTRADINGNOTICE:
+ {
+ this->processRspQryTradingNotice(task);
+ break;
+ }
+
+ case ONRSPQRYBROKERTRADINGPARAMS:
+ {
+ this->processRspQryBrokerTradingParams(task);
+ break;
+ }
+
+ case ONRSPQRYBROKERTRADINGALGOS:
+ {
+ this->processRspQryBrokerTradingAlgos(task);
+ break;
+ }
+
+ case ONRSPQUERYCFMMCTRADINGACCOUNTTOKEN:
+ {
+ this->processRspQueryCFMMCTradingAccountToken(task);
+ break;
+ }
+
+ case ONRTNFROMBANKTOFUTUREBYBANK:
+ {
+ this->processRtnFromBankToFutureByBank(task);
+ break;
+ }
+
+ case ONRTNFROMFUTURETOBANKBYBANK:
+ {
+ this->processRtnFromFutureToBankByBank(task);
+ break;
+ }
+
+ case ONRTNREPEALFROMBANKTOFUTUREBYBANK:
+ {
+ this->processRtnRepealFromBankToFutureByBank(task);
+ break;
+ }
+
+ case ONRTNREPEALFROMFUTURETOBANKBYBANK:
+ {
+ this->processRtnRepealFromFutureToBankByBank(task);
+ break;
+ }
+
+ case ONRTNFROMBANKTOFUTUREBYFUTURE:
+ {
+ this->processRtnFromBankToFutureByFuture(task);
+ break;
+ }
+
+ case ONRTNFROMFUTURETOBANKBYFUTURE:
+ {
+ this->processRtnFromFutureToBankByFuture(task);
+ break;
+ }
+
+ case ONRTNREPEALFROMBANKTOFUTUREBYFUTUREMANUAL:
+ {
+ this->processRtnRepealFromBankToFutureByFutureManual(task);
+ break;
+ }
+
+ case ONRTNREPEALFROMFUTURETOBANKBYFUTUREMANUAL:
+ {
+ this->processRtnRepealFromFutureToBankByFutureManual(task);
+ break;
+ }
+
+ case ONRTNQUERYBANKBALANCEBYFUTURE:
+ {
+ this->processRtnQueryBankBalanceByFuture(task);
+ break;
+ }
+
+ case ONERRRTNBANKTOFUTUREBYFUTURE:
+ {
+ this->processErrRtnBankToFutureByFuture(task);
+ break;
+ }
+
+ case ONERRRTNFUTURETOBANKBYFUTURE:
+ {
+ this->processErrRtnFutureToBankByFuture(task);
+ break;
+ }
+
+ case ONERRRTNREPEALBANKTOFUTUREBYFUTUREMANUAL:
+ {
+ this->processErrRtnRepealBankToFutureByFutureManual(task);
+ break;
+ }
+
+ case ONERRRTNREPEALFUTURETOBANKBYFUTUREMANUAL:
+ {
+ this->processErrRtnRepealFutureToBankByFutureManual(task);
+ break;
+ }
+
+ case ONERRRTNQUERYBANKBALANCEBYFUTURE:
+ {
+ this->processErrRtnQueryBankBalanceByFuture(task);
+ break;
+ }
+
+ case ONRTNREPEALFROMBANKTOFUTUREBYFUTURE:
+ {
+ this->processRtnRepealFromBankToFutureByFuture(task);
+ break;
+ }
+
+ case ONRTNREPEALFROMFUTURETOBANKBYFUTURE:
+ {
+ this->processRtnRepealFromFutureToBankByFuture(task);
+ break;
+ }
+
+ case ONRSPFROMBANKTOFUTUREBYFUTURE:
+ {
+ this->processRspFromBankToFutureByFuture(task);
+ break;
+ }
+
+ case ONRSPFROMFUTURETOBANKBYFUTURE:
+ {
+ this->processRspFromFutureToBankByFuture(task);
+ break;
+ }
+
+ case ONRSPQUERYBANKACCOUNTMONEYBYFUTURE:
+ {
+ this->processRspQueryBankAccountMoneyByFuture(task);
+ break;
+ }
+
+ case ONRTNOPENACCOUNTBYBANK:
+ {
+ this->processRtnOpenAccountByBank(task);
+ break;
+ }
+
+ case ONRTNCANCELACCOUNTBYBANK:
+ {
+ this->processRtnCancelAccountByBank(task);
+ break;
+ }
+
+ case ONRTNCHANGEACCOUNTBYBANK:
+ {
+ this->processRtnChangeAccountByBank(task);
+ break;
+ }
+ }
+ }
+}
+
+void TdApi::processFrontConnected(Task task)
+{
+ PyLock lock;
+ this->onFrontConnected();
+};
+
+void TdApi::processFrontDisconnected(Task task)
+{
+ PyLock lock;
+ this->onFrontDisconnected(task.task_id);
+};
+
+void TdApi::processHeartBeatWarning(Task task)
+{
+ PyLock lock;
+ this->onHeartBeatWarning(task.task_id);
+};
+
+void TdApi::processRspAuthenticate(Task task)
+{
+ PyLock lock;
+ CThostFtdcRspAuthenticateField task_data = any_cast(task.task_data);
+ dict data;
+ data["UserID"] = task_data.UserID;
+ data["BrokerID"] = task_data.BrokerID;
+ data["UserProductInfo"] = task_data.UserProductInfo;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspAuthenticate(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspUserLogin(Task task)
+{
+ PyLock lock;
+ CThostFtdcRspUserLoginField task_data = any_cast(task.task_data);
+ dict data;
+ data["CZCETime"] = task_data.CZCETime;
+ data["SHFETime"] = task_data.SHFETime;
+ data["MaxOrderRef"] = task_data.MaxOrderRef;
+ data["INETime"] = task_data.INETime;
+ data["UserID"] = task_data.UserID;
+ data["TradingDay"] = task_data.TradingDay;
+ data["SessionID"] = task_data.SessionID;
+ data["SystemName"] = task_data.SystemName;
+ data["FrontID"] = task_data.FrontID;
+ data["FFEXTime"] = task_data.FFEXTime;
+ data["BrokerID"] = task_data.BrokerID;
+ data["DCETime"] = task_data.DCETime;
+ data["LoginTime"] = task_data.LoginTime;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspUserLogin(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspUserLogout(Task task)
+{
+ PyLock lock;
+ CThostFtdcUserLogoutField task_data = any_cast(task.task_data);
+ dict data;
+ data["UserID"] = task_data.UserID;
+ data["BrokerID"] = task_data.BrokerID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspUserLogout(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspUserPasswordUpdate(Task task)
+{
+ PyLock lock;
+ CThostFtdcUserPasswordUpdateField task_data = any_cast(task.task_data);
+ dict data;
+ data["UserID"] = task_data.UserID;
+ data["NewPassword"] = task_data.NewPassword;
+ data["OldPassword"] = task_data.OldPassword;
+ data["BrokerID"] = task_data.BrokerID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspUserPasswordUpdate(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspTradingAccountPasswordUpdate(Task task)
+{
+ PyLock lock;
+ CThostFtdcTradingAccountPasswordUpdateField task_data = any_cast(task.task_data);
+ dict data;
+ data["CurrencyID"] = task_data.CurrencyID;
+ data["NewPassword"] = task_data.NewPassword;
+ data["OldPassword"] = task_data.OldPassword;
+ data["BrokerID"] = task_data.BrokerID;
+ data["AccountID"] = task_data.AccountID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspTradingAccountPasswordUpdate(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspOrderInsert(Task task)
+{
+ PyLock lock;
+ CThostFtdcInputOrderField task_data = any_cast(task.task_data);
+ dict data;
+ data["ContingentCondition"] = task_data.ContingentCondition;
+ data["CombOffsetFlag"] = task_data.CombOffsetFlag;
+ data["UserID"] = task_data.UserID;
+ data["LimitPrice"] = task_data.LimitPrice;
+ data["UserForceClose"] = task_data.UserForceClose;
+ data["Direction"] = task_data.Direction;
+ data["IsSwapOrder"] = task_data.IsSwapOrder;
+ data["VolumeTotalOriginal"] = task_data.VolumeTotalOriginal;
+ data["OrderPriceType"] = task_data.OrderPriceType;
+ data["TimeCondition"] = task_data.TimeCondition;
+ data["IsAutoSuspend"] = task_data.IsAutoSuspend;
+ data["StopPrice"] = task_data.StopPrice;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["MinVolume"] = task_data.MinVolume;
+ data["ForceCloseReason"] = task_data.ForceCloseReason;
+ data["BrokerID"] = task_data.BrokerID;
+ data["CombHedgeFlag"] = task_data.CombHedgeFlag;
+ data["GTDDate"] = task_data.GTDDate;
+ data["BusinessUnit"] = task_data.BusinessUnit;
+ data["OrderRef"] = task_data.OrderRef;
+ data["InvestorID"] = task_data.InvestorID;
+ data["VolumeCondition"] = task_data.VolumeCondition;
+ data["RequestID"] = task_data.RequestID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspOrderInsert(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspParkedOrderInsert(Task task)
+{
+ PyLock lock;
+ CThostFtdcParkedOrderField task_data = any_cast(task.task_data);
+ dict data;
+ data["ContingentCondition"] = task_data.ContingentCondition;
+ data["CombOffsetFlag"] = task_data.CombOffsetFlag;
+ data["UserID"] = task_data.UserID;
+ data["LimitPrice"] = task_data.LimitPrice;
+ data["UserForceClose"] = task_data.UserForceClose;
+ data["Status"] = task_data.Status;
+ data["Direction"] = task_data.Direction;
+ data["IsSwapOrder"] = task_data.IsSwapOrder;
+ data["UserType"] = task_data.UserType;
+ data["VolumeTotalOriginal"] = task_data.VolumeTotalOriginal;
+ data["OrderPriceType"] = task_data.OrderPriceType;
+ data["TimeCondition"] = task_data.TimeCondition;
+ data["IsAutoSuspend"] = task_data.IsAutoSuspend;
+ data["StopPrice"] = task_data.StopPrice;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["MinVolume"] = task_data.MinVolume;
+ data["ForceCloseReason"] = task_data.ForceCloseReason;
+ data["ErrorID"] = task_data.ErrorID;
+ data["ParkedOrderID"] = task_data.ParkedOrderID;
+ data["BrokerID"] = task_data.BrokerID;
+ data["CombHedgeFlag"] = task_data.CombHedgeFlag;
+ data["GTDDate"] = task_data.GTDDate;
+ data["BusinessUnit"] = task_data.BusinessUnit;
+ data["ErrorMsg"] = task_data.ErrorMsg;
+ data["OrderRef"] = task_data.OrderRef;
+ data["InvestorID"] = task_data.InvestorID;
+ data["VolumeCondition"] = task_data.VolumeCondition;
+ data["RequestID"] = task_data.RequestID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspParkedOrderInsert(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspParkedOrderAction(Task task)
+{
+ PyLock lock;
+ CThostFtdcParkedOrderActionField task_data = any_cast(task.task_data);
+ dict data;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["Status"] = task_data.Status;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["ActionFlag"] = task_data.ActionFlag;
+ data["OrderActionRef"] = task_data.OrderActionRef;
+ data["UserType"] = task_data.UserType;
+ data["ErrorMsg"] = task_data.ErrorMsg;
+ data["UserID"] = task_data.UserID;
+ data["LimitPrice"] = task_data.LimitPrice;
+ data["OrderRef"] = task_data.OrderRef;
+ data["InvestorID"] = task_data.InvestorID;
+ data["SessionID"] = task_data.SessionID;
+ data["VolumeChange"] = task_data.VolumeChange;
+ data["BrokerID"] = task_data.BrokerID;
+ data["RequestID"] = task_data.RequestID;
+ data["OrderSysID"] = task_data.OrderSysID;
+ data["ParkedOrderActionID"] = task_data.ParkedOrderActionID;
+ data["FrontID"] = task_data.FrontID;
+ data["ErrorID"] = task_data.ErrorID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspParkedOrderAction(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspOrderAction(Task task)
+{
+ PyLock lock;
+ CThostFtdcInputOrderActionField task_data = any_cast(task.task_data);
+ dict data;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["ActionFlag"] = task_data.ActionFlag;
+ data["OrderActionRef"] = task_data.OrderActionRef;
+ data["UserID"] = task_data.UserID;
+ data["LimitPrice"] = task_data.LimitPrice;
+ data["OrderRef"] = task_data.OrderRef;
+ data["InvestorID"] = task_data.InvestorID;
+ data["SessionID"] = task_data.SessionID;
+ data["VolumeChange"] = task_data.VolumeChange;
+ data["BrokerID"] = task_data.BrokerID;
+ data["RequestID"] = task_data.RequestID;
+ data["OrderSysID"] = task_data.OrderSysID;
+ data["FrontID"] = task_data.FrontID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspOrderAction(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQueryMaxOrderVolume(Task task)
+{
+ PyLock lock;
+ CThostFtdcQueryMaxOrderVolumeField task_data = any_cast(task.task_data);
+ dict data;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["Direction"] = task_data.Direction;
+ data["OffsetFlag"] = task_data.OffsetFlag;
+ data["HedgeFlag"] = task_data.HedgeFlag;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["InvestorID"] = task_data.InvestorID;
+ data["BrokerID"] = task_data.BrokerID;
+ data["MaxVolume"] = task_data.MaxVolume;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQueryMaxOrderVolume(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspSettlementInfoConfirm(Task task)
+{
+ PyLock lock;
+ CThostFtdcSettlementInfoConfirmField task_data = any_cast(task.task_data);
+ dict data;
+ data["ConfirmTime"] = task_data.ConfirmTime;
+ data["InvestorID"] = task_data.InvestorID;
+ data["BrokerID"] = task_data.BrokerID;
+ data["ConfirmDate"] = task_data.ConfirmDate;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspSettlementInfoConfirm(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspRemoveParkedOrder(Task task)
+{
+ PyLock lock;
+ CThostFtdcRemoveParkedOrderField task_data = any_cast(task.task_data);
+ dict data;
+ data["InvestorID"] = task_data.InvestorID;
+ data["BrokerID"] = task_data.BrokerID;
+ data["ParkedOrderID"] = task_data.ParkedOrderID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspRemoveParkedOrder(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspRemoveParkedOrderAction(Task task)
+{
+ PyLock lock;
+ CThostFtdcRemoveParkedOrderActionField task_data = any_cast(task.task_data);
+ dict data;
+ data["InvestorID"] = task_data.InvestorID;
+ data["BrokerID"] = task_data.BrokerID;
+ data["ParkedOrderActionID"] = task_data.ParkedOrderActionID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspRemoveParkedOrderAction(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspExecOrderInsert(Task task)
+{
+ PyLock lock;
+ CThostFtdcInputExecOrderField task_data = any_cast(task.task_data);
+ dict data;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["ExecOrderRef"] = task_data.ExecOrderRef;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["CloseFlag"] = task_data.CloseFlag;
+ data["OffsetFlag"] = task_data.OffsetFlag;
+ data["PosiDirection"] = task_data.PosiDirection;
+ data["BusinessUnit"] = task_data.BusinessUnit;
+ data["HedgeFlag"] = task_data.HedgeFlag;
+ data["UserID"] = task_data.UserID;
+ data["Volume"] = task_data.Volume;
+ data["InvestorID"] = task_data.InvestorID;
+ data["BrokerID"] = task_data.BrokerID;
+ data["RequestID"] = task_data.RequestID;
+ data["ActionType"] = task_data.ActionType;
+ data["ReservePositionFlag"] = task_data.ReservePositionFlag;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspExecOrderInsert(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspExecOrderAction(Task task)
+{
+ PyLock lock;
+ CThostFtdcInputExecOrderActionField task_data = any_cast(task.task_data);
+ dict data;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["ExecOrderSysID"] = task_data.ExecOrderSysID;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["UserID"] = task_data.UserID;
+ data["ExecOrderRef"] = task_data.ExecOrderRef;
+ data["InvestorID"] = task_data.InvestorID;
+ data["SessionID"] = task_data.SessionID;
+ data["BrokerID"] = task_data.BrokerID;
+ data["RequestID"] = task_data.RequestID;
+ data["ActionFlag"] = task_data.ActionFlag;
+ data["ExecOrderActionRef"] = task_data.ExecOrderActionRef;
+ data["FrontID"] = task_data.FrontID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspExecOrderAction(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspForQuoteInsert(Task task)
+{
+ PyLock lock;
+ CThostFtdcInputForQuoteField task_data = any_cast(task.task_data);
+ dict data;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["ForQuoteRef"] = task_data.ForQuoteRef;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["UserID"] = task_data.UserID;
+ data["InvestorID"] = task_data.InvestorID;
+ data["BrokerID"] = task_data.BrokerID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspForQuoteInsert(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQuoteInsert(Task task)
+{
+ PyLock lock;
+ CThostFtdcInputQuoteField task_data = any_cast(task.task_data);
+ dict data;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["AskHedgeFlag"] = task_data.AskHedgeFlag;
+ data["BusinessUnit"] = task_data.BusinessUnit;
+ data["AskPrice"] = task_data.AskPrice;
+ data["UserID"] = task_data.UserID;
+ data["AskOffsetFlag"] = task_data.AskOffsetFlag;
+ data["BidVolume"] = task_data.BidVolume;
+ data["AskOrderRef"] = task_data.AskOrderRef;
+ data["AskVolume"] = task_data.AskVolume;
+ data["InvestorID"] = task_data.InvestorID;
+ data["BidOffsetFlag"] = task_data.BidOffsetFlag;
+ data["BrokerID"] = task_data.BrokerID;
+ data["RequestID"] = task_data.RequestID;
+ data["ForQuoteSysID"] = task_data.ForQuoteSysID;
+ data["BidPrice"] = task_data.BidPrice;
+ data["BidHedgeFlag"] = task_data.BidHedgeFlag;
+ data["QuoteRef"] = task_data.QuoteRef;
+ data["BidOrderRef"] = task_data.BidOrderRef;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQuoteInsert(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQuoteAction(Task task)
+{
+ PyLock lock;
+ CThostFtdcInputQuoteActionField task_data = any_cast(task.task_data);
+ dict data;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["QuoteActionRef"] = task_data.QuoteActionRef;
+ data["UserID"] = task_data.UserID;
+ data["InvestorID"] = task_data.InvestorID;
+ data["SessionID"] = task_data.SessionID;
+ data["BrokerID"] = task_data.BrokerID;
+ data["RequestID"] = task_data.RequestID;
+ data["ActionFlag"] = task_data.ActionFlag;
+ data["FrontID"] = task_data.FrontID;
+ data["QuoteSysID"] = task_data.QuoteSysID;
+ data["QuoteRef"] = task_data.QuoteRef;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQuoteAction(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspLockInsert(Task task)
+{
+ PyLock lock;
+ CThostFtdcInputLockField task_data = any_cast(task.task_data);
+ dict data;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["BusinessUnit"] = task_data.BusinessUnit;
+ data["UserID"] = task_data.UserID;
+ data["LockRef"] = task_data.LockRef;
+ data["Volume"] = task_data.Volume;
+ data["InvestorID"] = task_data.InvestorID;
+ data["BrokerID"] = task_data.BrokerID;
+ data["RequestID"] = task_data.RequestID;
+ data["LockType"] = task_data.LockType;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspLockInsert(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspCombActionInsert(Task task)
+{
+ PyLock lock;
+ CThostFtdcInputCombActionField task_data = any_cast(task.task_data);
+ dict data;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["Direction"] = task_data.Direction;
+ data["CombActionRef"] = task_data.CombActionRef;
+ data["HedgeFlag"] = task_data.HedgeFlag;
+ data["UserID"] = task_data.UserID;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["Volume"] = task_data.Volume;
+ data["InvestorID"] = task_data.InvestorID;
+ data["BrokerID"] = task_data.BrokerID;
+ data["CombDirection"] = task_data.CombDirection;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspCombActionInsert(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQryOrder(Task task)
+{
+ PyLock lock;
+ CThostFtdcOrderField task_data = any_cast(task.task_data);
+ dict data;
+ data["ContingentCondition"] = task_data.ContingentCondition;
+ data["NotifySequence"] = task_data.NotifySequence;
+ data["ActiveUserID"] = task_data.ActiveUserID;
+ data["VolumeTraded"] = task_data.VolumeTraded;
+ data["UserProductInfo"] = task_data.UserProductInfo;
+ data["CombOffsetFlag"] = task_data.CombOffsetFlag;
+ data["TraderID"] = task_data.TraderID;
+ data["UserID"] = task_data.UserID;
+ data["LimitPrice"] = task_data.LimitPrice;
+ data["UserForceClose"] = task_data.UserForceClose;
+ data["RelativeOrderSysID"] = task_data.RelativeOrderSysID;
+ data["Direction"] = task_data.Direction;
+ data["InstallID"] = task_data.InstallID;
+ data["IsSwapOrder"] = task_data.IsSwapOrder;
+ data["ParticipantID"] = task_data.ParticipantID;
+ data["VolumeTotalOriginal"] = task_data.VolumeTotalOriginal;
+ data["ExchangeInstID"] = task_data.ExchangeInstID;
+ data["ClientID"] = task_data.ClientID;
+ data["VolumeTotal"] = task_data.VolumeTotal;
+ data["OrderPriceType"] = task_data.OrderPriceType;
+ data["SessionID"] = task_data.SessionID;
+ data["TimeCondition"] = task_data.TimeCondition;
+ data["OrderStatus"] = task_data.OrderStatus;
+ data["OrderSysID"] = task_data.OrderSysID;
+ data["OrderSubmitStatus"] = task_data.OrderSubmitStatus;
+ data["IsAutoSuspend"] = task_data.IsAutoSuspend;
+ data["StopPrice"] = task_data.StopPrice;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["MinVolume"] = task_data.MinVolume;
+ data["StatusMsg"] = task_data.StatusMsg;
+ data["SettlementID"] = task_data.SettlementID;
+ data["ForceCloseReason"] = task_data.ForceCloseReason;
+ data["OrderType"] = task_data.OrderType;
+ data["UpdateTime"] = task_data.UpdateTime;
+ data["TradingDay"] = task_data.TradingDay;
+ data["ActiveTime"] = task_data.ActiveTime;
+ data["BrokerID"] = task_data.BrokerID;
+ data["InsertTime"] = task_data.InsertTime;
+ data["FrontID"] = task_data.FrontID;
+ data["SuspendTime"] = task_data.SuspendTime;
+ data["ClearingPartID"] = task_data.ClearingPartID;
+ data["CombHedgeFlag"] = task_data.CombHedgeFlag;
+ data["CancelTime"] = task_data.CancelTime;
+ data["GTDDate"] = task_data.GTDDate;
+ data["OrderLocalID"] = task_data.OrderLocalID;
+ data["BranchID"] = task_data.BranchID;
+ data["BusinessUnit"] = task_data.BusinessUnit;
+ data["InsertDate"] = task_data.InsertDate;
+ data["SequenceNo"] = task_data.SequenceNo;
+ data["OrderRef"] = task_data.OrderRef;
+ data["BrokerOrderSeq"] = task_data.BrokerOrderSeq;
+ data["InvestorID"] = task_data.InvestorID;
+ data["VolumeCondition"] = task_data.VolumeCondition;
+ data["RequestID"] = task_data.RequestID;
+ data["OrderSource"] = task_data.OrderSource;
+ data["ZCETotalTradedVolume"] = task_data.ZCETotalTradedVolume;
+ data["ActiveTraderID"] = task_data.ActiveTraderID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQryOrder(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQryTrade(Task task)
+{
+ PyLock lock;
+ CThostFtdcTradeField task_data = any_cast(task.task_data);
+ dict data;
+ data["TradeType"] = task_data.TradeType;
+ data["TraderID"] = task_data.TraderID;
+ data["HedgeFlag"] = task_data.HedgeFlag;
+ data["TradeTime"] = task_data.TradeTime;
+ data["Direction"] = task_data.Direction;
+ data["ParticipantID"] = task_data.ParticipantID;
+ data["Price"] = task_data.Price;
+ data["ClientID"] = task_data.ClientID;
+ data["Volume"] = task_data.Volume;
+ data["OrderSysID"] = task_data.OrderSysID;
+ data["ClearingPartID"] = task_data.ClearingPartID;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["SettlementID"] = task_data.SettlementID;
+ data["UserID"] = task_data.UserID;
+ data["TradingDay"] = task_data.TradingDay;
+ data["BrokerID"] = task_data.BrokerID;
+ data["OffsetFlag"] = task_data.OffsetFlag;
+ data["OrderLocalID"] = task_data.OrderLocalID;
+ data["TradeID"] = task_data.TradeID;
+ data["TradeDate"] = task_data.TradeDate;
+ data["BusinessUnit"] = task_data.BusinessUnit;
+ data["SequenceNo"] = task_data.SequenceNo;
+ data["OrderRef"] = task_data.OrderRef;
+ data["BrokerOrderSeq"] = task_data.BrokerOrderSeq;
+ data["InvestorID"] = task_data.InvestorID;
+ data["ExchangeInstID"] = task_data.ExchangeInstID;
+ data["TradeSource"] = task_data.TradeSource;
+ data["PriceSource"] = task_data.PriceSource;
+ data["TradingRole"] = task_data.TradingRole;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQryTrade(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQryInvestorPosition(Task task)
+{
+ PyLock lock;
+ CThostFtdcInvestorPositionField task_data = any_cast(task.task_data);
+ dict data;
+ data["ShortFrozenAmount"] = task_data.ShortFrozenAmount;
+ data["FrozenMargin"] = task_data.FrozenMargin;
+ data["HedgeFlag"] = task_data.HedgeFlag;
+ data["PositionProfit"] = task_data.PositionProfit;
+ data["Commission"] = task_data.Commission;
+ data["MarginRateByVolume"] = task_data.MarginRateByVolume;
+ data["StrikeFrozen"] = task_data.StrikeFrozen;
+ data["CombPosition"] = task_data.CombPosition;
+ data["CashIn"] = task_data.CashIn;
+ data["PreSettlementPrice"] = task_data.PreSettlementPrice;
+ data["CombLongFrozen"] = task_data.CombLongFrozen;
+ data["CloseAmount"] = task_data.CloseAmount;
+ data["PosiDirection"] = task_data.PosiDirection;
+ data["YdPosition"] = task_data.YdPosition;
+ data["MarginRateByMoney"] = task_data.MarginRateByMoney;
+ data["AbandonFrozen"] = task_data.AbandonFrozen;
+ data["OpenVolume"] = task_data.OpenVolume;
+ data["CloseVolume"] = task_data.CloseVolume;
+ data["ExchangeMargin"] = task_data.ExchangeMargin;
+ data["YdStrikeFrozen"] = task_data.YdStrikeFrozen;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["PositionDate"] = task_data.PositionDate;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["CloseProfitByTrade"] = task_data.CloseProfitByTrade;
+ data["PreMargin"] = task_data.PreMargin;
+ data["SettlementID"] = task_data.SettlementID;
+ data["ShortFrozen"] = task_data.ShortFrozen;
+ data["LongFrozen"] = task_data.LongFrozen;
+ data["TodayPosition"] = task_data.TodayPosition;
+ data["TradingDay"] = task_data.TradingDay;
+ data["PositionCost"] = task_data.PositionCost;
+ data["BrokerID"] = task_data.BrokerID;
+ data["FrozenCash"] = task_data.FrozenCash;
+ data["OpenAmount"] = task_data.OpenAmount;
+ data["OpenCost"] = task_data.OpenCost;
+ data["Position"] = task_data.Position;
+ data["FrozenCommission"] = task_data.FrozenCommission;
+ data["CombShortFrozen"] = task_data.CombShortFrozen;
+ data["CloseProfitByDate"] = task_data.CloseProfitByDate;
+ data["SettlementPrice"] = task_data.SettlementPrice;
+ data["LongFrozenAmount"] = task_data.LongFrozenAmount;
+ data["InvestorID"] = task_data.InvestorID;
+ data["StrikeFrozenAmount"] = task_data.StrikeFrozenAmount;
+ data["CloseProfit"] = task_data.CloseProfit;
+ data["UseMargin"] = task_data.UseMargin;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQryInvestorPosition(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQryTradingAccount(Task task)
+{
+ PyLock lock;
+ CThostFtdcTradingAccountField task_data = any_cast(task.task_data);
+ dict data;
+ data["SpecProductFrozenCommission"] = task_data.SpecProductFrozenCommission;
+ data["FundMortgageOut"] = task_data.FundMortgageOut;
+ data["Mortgage"] = task_data.Mortgage;
+ data["ExchangeDeliveryMargin"] = task_data.ExchangeDeliveryMargin;
+ data["FrozenMargin"] = task_data.FrozenMargin;
+ data["WithdrawQuota"] = task_data.WithdrawQuota;
+ data["PositionProfit"] = task_data.PositionProfit;
+ data["Commission"] = task_data.Commission;
+ data["SpecProductCloseProfit"] = task_data.SpecProductCloseProfit;
+ data["Interest"] = task_data.Interest;
+ data["SpecProductCommission"] = task_data.SpecProductCommission;
+ data["CashIn"] = task_data.CashIn;
+ data["AccountID"] = task_data.AccountID;
+ data["Available"] = task_data.Available;
+ data["FundMortgageAvailable"] = task_data.FundMortgageAvailable;
+ data["PreCredit"] = task_data.PreCredit;
+ data["PreMortgage"] = task_data.PreMortgage;
+ data["InterestBase"] = task_data.InterestBase;
+ data["ExchangeMargin"] = task_data.ExchangeMargin;
+ data["MortgageableFund"] = task_data.MortgageableFund;
+ data["PreFundMortgageIn"] = task_data.PreFundMortgageIn;
+ data["PreMargin"] = task_data.PreMargin;
+ data["SettlementID"] = task_data.SettlementID;
+ data["BizType"] = task_data.BizType;
+ data["FundMortgageIn"] = task_data.FundMortgageIn;
+ data["DeliveryMargin"] = task_data.DeliveryMargin;
+ data["SpecProductFrozenMargin"] = task_data.SpecProductFrozenMargin;
+ data["TradingDay"] = task_data.TradingDay;
+ data["BrokerID"] = task_data.BrokerID;
+ data["FrozenCash"] = task_data.FrozenCash;
+ data["Withdraw"] = task_data.Withdraw;
+ data["Balance"] = task_data.Balance;
+ data["SpecProductMargin"] = task_data.SpecProductMargin;
+ data["SpecProductPositionProfitByAlg"] = task_data.SpecProductPositionProfitByAlg;
+ data["Reserve"] = task_data.Reserve;
+ data["PreDeposit"] = task_data.PreDeposit;
+ data["Credit"] = task_data.Credit;
+ data["CurrencyID"] = task_data.CurrencyID;
+ data["ReserveBalance"] = task_data.ReserveBalance;
+ data["SpecProductPositionProfit"] = task_data.SpecProductPositionProfit;
+ data["SpecProductExchangeMargin"] = task_data.SpecProductExchangeMargin;
+ data["PreBalance"] = task_data.PreBalance;
+ data["CurrMargin"] = task_data.CurrMargin;
+ data["FrozenCommission"] = task_data.FrozenCommission;
+ data["CloseProfit"] = task_data.CloseProfit;
+ data["PreFundMortgageOut"] = task_data.PreFundMortgageOut;
+ data["Deposit"] = task_data.Deposit;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQryTradingAccount(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQryInvestor(Task task)
+{
+ PyLock lock;
+ CThostFtdcInvestorField task_data = any_cast(task.task_data);
+ dict data;
+ data["CommModelID"] = task_data.CommModelID;
+ data["InvestorName"] = task_data.InvestorName;
+ data["Mobile"] = task_data.Mobile;
+ data["IdentifiedCardNo"] = task_data.IdentifiedCardNo;
+ data["Telephone"] = task_data.Telephone;
+ data["MarginModelID"] = task_data.MarginModelID;
+ data["InvestorID"] = task_data.InvestorID;
+ data["BrokerID"] = task_data.BrokerID;
+ data["Address"] = task_data.Address;
+ data["InvestorGroupID"] = task_data.InvestorGroupID;
+ data["OpenDate"] = task_data.OpenDate;
+ data["IsActive"] = task_data.IsActive;
+ data["IdentifiedCardType"] = task_data.IdentifiedCardType;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQryInvestor(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQryTradingCode(Task task)
+{
+ PyLock lock;
+ CThostFtdcTradingCodeField task_data = any_cast(task.task_data);
+ dict data;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["BranchID"] = task_data.BranchID;
+ data["BizType"] = task_data.BizType;
+ data["ClientID"] = task_data.ClientID;
+ data["InvestorID"] = task_data.InvestorID;
+ data["BrokerID"] = task_data.BrokerID;
+ data["ClientIDType"] = task_data.ClientIDType;
+ data["IsActive"] = task_data.IsActive;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQryTradingCode(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQryInstrumentMarginRate(Task task)
+{
+ PyLock lock;
+ CThostFtdcInstrumentMarginRateField task_data = any_cast(task.task_data);
+ dict data;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["ShortMarginRatioByMoney"] = task_data.ShortMarginRatioByMoney;
+ data["LongMarginRatioByMoney"] = task_data.LongMarginRatioByMoney;
+ data["IsRelative"] = task_data.IsRelative;
+ data["HedgeFlag"] = task_data.HedgeFlag;
+ data["InvestorID"] = task_data.InvestorID;
+ data["BrokerID"] = task_data.BrokerID;
+ data["InvestorRange"] = task_data.InvestorRange;
+ data["ShortMarginRatioByVolume"] = task_data.ShortMarginRatioByVolume;
+ data["LongMarginRatioByVolume"] = task_data.LongMarginRatioByVolume;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQryInstrumentMarginRate(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQryInstrumentCommissionRate(Task task)
+{
+ PyLock lock;
+ CThostFtdcInstrumentCommissionRateField task_data = any_cast(task.task_data);
+ dict data;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["OpenRatioByMoney"] = task_data.OpenRatioByMoney;
+ data["CloseRatioByVolume"] = task_data.CloseRatioByVolume;
+ data["BizType"] = task_data.BizType;
+ data["CloseTodayRatioByMoney"] = task_data.CloseTodayRatioByMoney;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["InvestorID"] = task_data.InvestorID;
+ data["BrokerID"] = task_data.BrokerID;
+ data["InvestorRange"] = task_data.InvestorRange;
+ data["CloseRatioByMoney"] = task_data.CloseRatioByMoney;
+ data["OpenRatioByVolume"] = task_data.OpenRatioByVolume;
+ data["CloseTodayRatioByVolume"] = task_data.CloseTodayRatioByVolume;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQryInstrumentCommissionRate(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQryExchange(Task task)
+{
+ PyLock lock;
+ CThostFtdcExchangeField task_data = any_cast(task.task_data);
+ dict data;
+ data["ExchangeProperty"] = task_data.ExchangeProperty;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["ExchangeName"] = task_data.ExchangeName;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQryExchange(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQryProduct(Task task)
+{
+ PyLock lock;
+ CThostFtdcProductField task_data = any_cast(task.task_data);
+ dict data;
+ data["MaxLimitOrderVolume"] = task_data.MaxLimitOrderVolume;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["MortgageFundUseRange"] = task_data.MortgageFundUseRange;
+ data["PositionDateType"] = task_data.PositionDateType;
+ data["MinLimitOrderVolume"] = task_data.MinLimitOrderVolume;
+ data["CloseDealType"] = task_data.CloseDealType;
+ data["MaxMarketOrderVolume"] = task_data.MaxMarketOrderVolume;
+ data["PriceTick"] = task_data.PriceTick;
+ data["ProductName"] = task_data.ProductName;
+ data["ExchangeProductID"] = task_data.ExchangeProductID;
+ data["VolumeMultiple"] = task_data.VolumeMultiple;
+ data["PositionType"] = task_data.PositionType;
+ data["MinMarketOrderVolume"] = task_data.MinMarketOrderVolume;
+ data["ProductClass"] = task_data.ProductClass;
+ data["UnderlyingMultiple"] = task_data.UnderlyingMultiple;
+ data["TradeCurrencyID"] = task_data.TradeCurrencyID;
+ data["ProductID"] = task_data.ProductID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQryProduct(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQryInstrument(Task task)
+{
+ PyLock lock;
+ CThostFtdcInstrumentField task_data = any_cast(task.task_data);
+ dict data;
+ data["IsTrading"] = task_data.IsTrading;
+ data["ExpireDate"] = task_data.ExpireDate;
+ data["PositionDateType"] = task_data.PositionDateType;
+ data["LongMarginRatio"] = task_data.LongMarginRatio;
+ data["StrikePrice"] = task_data.StrikePrice;
+ data["UnderlyingMultiple"] = task_data.UnderlyingMultiple;
+ data["PositionType"] = task_data.PositionType;
+ data["ProductClass"] = task_data.ProductClass;
+ data["MinSellVolume"] = task_data.MinSellVolume;
+ data["InstrumentName"] = task_data.InstrumentName;
+ data["ShortMarginRatio"] = task_data.ShortMarginRatio;
+ data["VolumeMultiple"] = task_data.VolumeMultiple;
+ data["MaxMarginSideAlgorithm"] = task_data.MaxMarginSideAlgorithm;
+ data["DeliveryYear"] = task_data.DeliveryYear;
+ data["CombinationType"] = task_data.CombinationType;
+ data["CreateDate"] = task_data.CreateDate;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["MaxLimitOrderVolume"] = task_data.MaxLimitOrderVolume;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["MinLimitOrderVolume"] = task_data.MinLimitOrderVolume;
+ data["MaxMarketOrderVolume"] = task_data.MaxMarketOrderVolume;
+ data["OptionsType"] = task_data.OptionsType;
+ data["StartDelivDate"] = task_data.StartDelivDate;
+ data["DeliveryMonth"] = task_data.DeliveryMonth;
+ data["InstrumentCode"] = task_data.InstrumentCode;
+ data["MinBuyVolume"] = task_data.MinBuyVolume;
+ data["PriceTick"] = task_data.PriceTick;
+ data["InstLifePhase"] = task_data.InstLifePhase;
+ data["ExchangeInstID"] = task_data.ExchangeInstID;
+ data["MinMarketOrderVolume"] = task_data.MinMarketOrderVolume;
+ data["EndDelivDate"] = task_data.EndDelivDate;
+ data["UnderlyingInstrID"] = task_data.UnderlyingInstrID;
+ data["OpenDate"] = task_data.OpenDate;
+ data["ProductID"] = task_data.ProductID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQryInstrument(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQryDepthMarketData(Task task)
+{
+ PyLock lock;
+ CThostFtdcDepthMarketDataField task_data = any_cast(task.task_data);
+ dict data;
+ data["HighestPrice"] = task_data.HighestPrice;
+ data["BidPrice5"] = task_data.BidPrice5;
+ data["BidPrice4"] = task_data.BidPrice4;
+ data["BidPrice1"] = task_data.BidPrice1;
+ data["BidPrice3"] = task_data.BidPrice3;
+ data["BidPrice2"] = task_data.BidPrice2;
+ data["LowerLimitPrice"] = task_data.LowerLimitPrice;
+ data["OpenPrice"] = task_data.OpenPrice;
+ data["AskPrice5"] = task_data.AskPrice5;
+ data["AskPrice4"] = task_data.AskPrice4;
+ data["AskPrice3"] = task_data.AskPrice3;
+ data["PreClosePrice"] = task_data.PreClosePrice;
+ data["AskPrice1"] = task_data.AskPrice1;
+ data["PreSettlementPrice"] = task_data.PreSettlementPrice;
+ data["AskVolume1"] = task_data.AskVolume1;
+ data["UpdateTime"] = task_data.UpdateTime;
+ data["UpdateMillisec"] = task_data.UpdateMillisec;
+ data["AveragePrice"] = task_data.AveragePrice;
+ data["BidVolume5"] = task_data.BidVolume5;
+ data["BidVolume4"] = task_data.BidVolume4;
+ data["BidVolume3"] = task_data.BidVolume3;
+ data["BidVolume2"] = task_data.BidVolume2;
+ data["PreOpenInterest"] = task_data.PreOpenInterest;
+ data["AskPrice2"] = task_data.AskPrice2;
+ data["Volume"] = task_data.Volume;
+ data["AskVolume3"] = task_data.AskVolume3;
+ data["AskVolume2"] = task_data.AskVolume2;
+ data["AskVolume5"] = task_data.AskVolume5;
+ data["AskVolume4"] = task_data.AskVolume4;
+ data["UpperLimitPrice"] = task_data.UpperLimitPrice;
+ data["BidVolume1"] = task_data.BidVolume1;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["ClosePrice"] = task_data.ClosePrice;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["TradingDay"] = task_data.TradingDay;
+ data["PreDelta"] = task_data.PreDelta;
+ data["OpenInterest"] = task_data.OpenInterest;
+ data["CurrDelta"] = task_data.CurrDelta;
+ data["Turnover"] = task_data.Turnover;
+ data["LastPrice"] = task_data.LastPrice;
+ data["SettlementPrice"] = task_data.SettlementPrice;
+ data["ExchangeInstID"] = task_data.ExchangeInstID;
+ data["LowestPrice"] = task_data.LowestPrice;
+ data["ActionDay"] = task_data.ActionDay;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQryDepthMarketData(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQrySettlementInfo(Task task)
+{
+ PyLock lock;
+ CThostFtdcSettlementInfoField task_data = any_cast(task.task_data);
+ dict data;
+ data["SettlementID"] = task_data.SettlementID;
+ data["InvestorID"] = task_data.InvestorID;
+ data["SequenceNo"] = task_data.SequenceNo;
+ data["Content"] = task_data.Content;
+ data["TradingDay"] = task_data.TradingDay;
+ data["BrokerID"] = task_data.BrokerID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQrySettlementInfo(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQryTransferBank(Task task)
+{
+ PyLock lock;
+ CThostFtdcTransferBankField task_data = any_cast(task.task_data);
+ dict data;
+ data["BankName"] = task_data.BankName;
+ data["IsActive"] = task_data.IsActive;
+ data["BankBrchID"] = task_data.BankBrchID;
+ data["BankID"] = task_data.BankID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQryTransferBank(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQryInvestorPositionDetail(Task task)
+{
+ PyLock lock;
+ CThostFtdcInvestorPositionDetailField task_data = any_cast(task.task_data);
+ dict data;
+ data["PositionProfitByDate"] = task_data.PositionProfitByDate;
+ data["ExchMargin"] = task_data.ExchMargin;
+ data["TradeType"] = task_data.TradeType;
+ data["MarginRateByMoney"] = task_data.MarginRateByMoney;
+ data["HedgeFlag"] = task_data.HedgeFlag;
+ data["MarginRateByVolume"] = task_data.MarginRateByVolume;
+ data["Direction"] = task_data.Direction;
+ data["CloseAmount"] = task_data.CloseAmount;
+ data["OpenPrice"] = task_data.OpenPrice;
+ data["Volume"] = task_data.Volume;
+ data["LastSettlementPrice"] = task_data.LastSettlementPrice;
+ data["CloseVolume"] = task_data.CloseVolume;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["CloseProfitByTrade"] = task_data.CloseProfitByTrade;
+ data["SettlementID"] = task_data.SettlementID;
+ data["TradingDay"] = task_data.TradingDay;
+ data["BrokerID"] = task_data.BrokerID;
+ data["Margin"] = task_data.Margin;
+ data["TradeID"] = task_data.TradeID;
+ data["PositionProfitByTrade"] = task_data.PositionProfitByTrade;
+ data["CloseProfitByDate"] = task_data.CloseProfitByDate;
+ data["SettlementPrice"] = task_data.SettlementPrice;
+ data["InvestorID"] = task_data.InvestorID;
+ data["CombInstrumentID"] = task_data.CombInstrumentID;
+ data["OpenDate"] = task_data.OpenDate;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQryInvestorPositionDetail(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQryNotice(Task task)
+{
+ PyLock lock;
+ CThostFtdcNoticeField task_data = any_cast(task.task_data);
+ dict data;
+ data["Content"] = task_data.Content;
+ data["SequenceLabel"] = task_data.SequenceLabel;
+ data["BrokerID"] = task_data.BrokerID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQryNotice(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQrySettlementInfoConfirm(Task task)
+{
+ PyLock lock;
+ CThostFtdcSettlementInfoConfirmField task_data = any_cast(task.task_data);
+ dict data;
+ data["ConfirmTime"] = task_data.ConfirmTime;
+ data["InvestorID"] = task_data.InvestorID;
+ data["BrokerID"] = task_data.BrokerID;
+ data["ConfirmDate"] = task_data.ConfirmDate;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQrySettlementInfoConfirm(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQryInvestorPositionCombineDetail(Task task)
+{
+ PyLock lock;
+ CThostFtdcInvestorPositionCombineDetailField task_data = any_cast(task.task_data);
+ dict data;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["TradeGroupID"] = task_data.TradeGroupID;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["MarginRateByVolume"] = task_data.MarginRateByVolume;
+ data["ComTradeID"] = task_data.ComTradeID;
+ data["SettlementID"] = task_data.SettlementID;
+ data["InvestorID"] = task_data.InvestorID;
+ data["TotalAmt"] = task_data.TotalAmt;
+ data["Margin"] = task_data.Margin;
+ data["ExchMargin"] = task_data.ExchMargin;
+ data["LegMultiple"] = task_data.LegMultiple;
+ data["HedgeFlag"] = task_data.HedgeFlag;
+ data["TradeID"] = task_data.TradeID;
+ data["LegID"] = task_data.LegID;
+ data["TradingDay"] = task_data.TradingDay;
+ data["MarginRateByMoney"] = task_data.MarginRateByMoney;
+ data["Direction"] = task_data.Direction;
+ data["BrokerID"] = task_data.BrokerID;
+ data["CombInstrumentID"] = task_data.CombInstrumentID;
+ data["OpenDate"] = task_data.OpenDate;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQryInvestorPositionCombineDetail(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQryCFMMCTradingAccountKey(Task task)
+{
+ PyLock lock;
+ CThostFtdcCFMMCTradingAccountKeyField task_data = any_cast(task.task_data);
+ dict data;
+ data["KeyID"] = task_data.KeyID;
+ data["BrokerID"] = task_data.BrokerID;
+ data["ParticipantID"] = task_data.ParticipantID;
+ data["CurrentKey"] = task_data.CurrentKey;
+ data["AccountID"] = task_data.AccountID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQryCFMMCTradingAccountKey(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQryEWarrantOffset(Task task)
+{
+ PyLock lock;
+ CThostFtdcEWarrantOffsetField task_data = any_cast(task.task_data);
+ dict data;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["InvestorID"] = task_data.InvestorID;
+ data["HedgeFlag"] = task_data.HedgeFlag;
+ data["Direction"] = task_data.Direction;
+ data["Volume"] = task_data.Volume;
+ data["TradingDay"] = task_data.TradingDay;
+ data["BrokerID"] = task_data.BrokerID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQryEWarrantOffset(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQryInvestorProductGroupMargin(Task task)
+{
+ PyLock lock;
+ CThostFtdcInvestorProductGroupMarginField task_data = any_cast(task.task_data);
+ dict data;
+ data["ExchMargin"] = task_data.ExchMargin;
+ data["ShortExchOffsetAmount"] = task_data.ShortExchOffsetAmount;
+ data["FrozenMargin"] = task_data.FrozenMargin;
+ data["ShortFrozenMargin"] = task_data.ShortFrozenMargin;
+ data["HedgeFlag"] = task_data.HedgeFlag;
+ data["PositionProfit"] = task_data.PositionProfit;
+ data["Commission"] = task_data.Commission;
+ data["LongOffsetAmount"] = task_data.LongOffsetAmount;
+ data["CashIn"] = task_data.CashIn;
+ data["ShortUseMargin"] = task_data.ShortUseMargin;
+ data["ShortOffsetAmount"] = task_data.ShortOffsetAmount;
+ data["SettlementID"] = task_data.SettlementID;
+ data["LongExchOffsetAmount"] = task_data.LongExchOffsetAmount;
+ data["LongUseMargin"] = task_data.LongUseMargin;
+ data["TradingDay"] = task_data.TradingDay;
+ data["BrokerID"] = task_data.BrokerID;
+ data["FrozenCash"] = task_data.FrozenCash;
+ data["LongFrozenMargin"] = task_data.LongFrozenMargin;
+ data["ShortExchMargin"] = task_data.ShortExchMargin;
+ data["FrozenCommission"] = task_data.FrozenCommission;
+ data["ProductGroupID"] = task_data.ProductGroupID;
+ data["ExchOffsetAmount"] = task_data.ExchOffsetAmount;
+ data["InvestorID"] = task_data.InvestorID;
+ data["LongExchMargin"] = task_data.LongExchMargin;
+ data["CloseProfit"] = task_data.CloseProfit;
+ data["OffsetAmount"] = task_data.OffsetAmount;
+ data["UseMargin"] = task_data.UseMargin;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQryInvestorProductGroupMargin(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQryExchangeMarginRate(Task task)
+{
+ PyLock lock;
+ CThostFtdcExchangeMarginRateField task_data = any_cast(task.task_data);
+ dict data;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["ShortMarginRatioByMoney"] = task_data.ShortMarginRatioByMoney;
+ data["LongMarginRatioByMoney"] = task_data.LongMarginRatioByMoney;
+ data["HedgeFlag"] = task_data.HedgeFlag;
+ data["BrokerID"] = task_data.BrokerID;
+ data["ShortMarginRatioByVolume"] = task_data.ShortMarginRatioByVolume;
+ data["LongMarginRatioByVolume"] = task_data.LongMarginRatioByVolume;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQryExchangeMarginRate(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQryExchangeMarginRateAdjust(Task task)
+{
+ PyLock lock;
+ CThostFtdcExchangeMarginRateAdjustField task_data = any_cast(task.task_data);
+ dict data;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["ShortMarginRatioByMoney"] = task_data.ShortMarginRatioByMoney;
+ data["ExchLongMarginRatioByMoney"] = task_data.ExchLongMarginRatioByMoney;
+ data["ExchShortMarginRatioByMoney"] = task_data.ExchShortMarginRatioByMoney;
+ data["LongMarginRatioByMoney"] = task_data.LongMarginRatioByMoney;
+ data["ExchShortMarginRatioByVolume"] = task_data.ExchShortMarginRatioByVolume;
+ data["ExchLongMarginRatioByVolume"] = task_data.ExchLongMarginRatioByVolume;
+ data["NoShortMarginRatioByMoney"] = task_data.NoShortMarginRatioByMoney;
+ data["NoLongMarginRatioByMoney"] = task_data.NoLongMarginRatioByMoney;
+ data["HedgeFlag"] = task_data.HedgeFlag;
+ data["NoLongMarginRatioByVolume"] = task_data.NoLongMarginRatioByVolume;
+ data["NoShortMarginRatioByVolume"] = task_data.NoShortMarginRatioByVolume;
+ data["BrokerID"] = task_data.BrokerID;
+ data["ShortMarginRatioByVolume"] = task_data.ShortMarginRatioByVolume;
+ data["LongMarginRatioByVolume"] = task_data.LongMarginRatioByVolume;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQryExchangeMarginRateAdjust(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQryExchangeRate(Task task)
+{
+ PyLock lock;
+ CThostFtdcExchangeRateField task_data = any_cast(task.task_data);
+ dict data;
+ data["FromCurrencyID"] = task_data.FromCurrencyID;
+ data["FromCurrencyUnit"] = task_data.FromCurrencyUnit;
+ data["BrokerID"] = task_data.BrokerID;
+ data["ExchangeRate"] = task_data.ExchangeRate;
+ data["ToCurrencyID"] = task_data.ToCurrencyID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQryExchangeRate(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQrySecAgentACIDMap(Task task)
+{
+ PyLock lock;
+ CThostFtdcSecAgentACIDMapField task_data = any_cast(task.task_data);
+ dict data;
+ data["CurrencyID"] = task_data.CurrencyID;
+ data["UserID"] = task_data.UserID;
+ data["BrokerSecAgentID"] = task_data.BrokerSecAgentID;
+ data["BrokerID"] = task_data.BrokerID;
+ data["AccountID"] = task_data.AccountID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQrySecAgentACIDMap(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQryProductExchRate(Task task)
+{
+ PyLock lock;
+ CThostFtdcProductExchRateField task_data = any_cast(task.task_data);
+ dict data;
+ data["QuoteCurrencyID"] = task_data.QuoteCurrencyID;
+ data["ExchangeRate"] = task_data.ExchangeRate;
+ data["ProductID"] = task_data.ProductID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQryProductExchRate(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQryProductGroup(Task task)
+{
+ PyLock lock;
+ CThostFtdcProductGroupField task_data = any_cast(task.task_data);
+ dict data;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["ProductGroupID"] = task_data.ProductGroupID;
+ data["ProductID"] = task_data.ProductID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQryProductGroup(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQryOptionInstrTradeCost(Task task)
+{
+ PyLock lock;
+ CThostFtdcOptionInstrTradeCostField task_data = any_cast(task.task_data);
+ dict data;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["ExchMiniMargin"] = task_data.ExchMiniMargin;
+ data["HedgeFlag"] = task_data.HedgeFlag;
+ data["InvestorID"] = task_data.InvestorID;
+ data["Royalty"] = task_data.Royalty;
+ data["BrokerID"] = task_data.BrokerID;
+ data["MiniMargin"] = task_data.MiniMargin;
+ data["ExchFixedMargin"] = task_data.ExchFixedMargin;
+ data["FixedMargin"] = task_data.FixedMargin;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQryOptionInstrTradeCost(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQryOptionInstrCommRate(Task task)
+{
+ PyLock lock;
+ CThostFtdcOptionInstrCommRateField task_data = any_cast(task.task_data);
+ dict data;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["OpenRatioByMoney"] = task_data.OpenRatioByMoney;
+ data["StrikeRatioByMoney"] = task_data.StrikeRatioByMoney;
+ data["CloseRatioByVolume"] = task_data.CloseRatioByVolume;
+ data["CloseTodayRatioByMoney"] = task_data.CloseTodayRatioByMoney;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["InvestorID"] = task_data.InvestorID;
+ data["BrokerID"] = task_data.BrokerID;
+ data["InvestorRange"] = task_data.InvestorRange;
+ data["CloseRatioByMoney"] = task_data.CloseRatioByMoney;
+ data["OpenRatioByVolume"] = task_data.OpenRatioByVolume;
+ data["StrikeRatioByVolume"] = task_data.StrikeRatioByVolume;
+ data["CloseTodayRatioByVolume"] = task_data.CloseTodayRatioByVolume;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQryOptionInstrCommRate(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQryExecOrder(Task task)
+{
+ PyLock lock;
+ CThostFtdcExecOrderField task_data = any_cast(task.task_data);
+ dict data;
+ data["NotifySequence"] = task_data.NotifySequence;
+ data["CloseFlag"] = task_data.CloseFlag;
+ data["ActiveUserID"] = task_data.ActiveUserID;
+ data["UserProductInfo"] = task_data.UserProductInfo;
+ data["TraderID"] = task_data.TraderID;
+ data["HedgeFlag"] = task_data.HedgeFlag;
+ data["ExecResult"] = task_data.ExecResult;
+ data["ReservePositionFlag"] = task_data.ReservePositionFlag;
+ data["Volume"] = task_data.Volume;
+ data["InstallID"] = task_data.InstallID;
+ data["OffsetFlag"] = task_data.OffsetFlag;
+ data["PosiDirection"] = task_data.PosiDirection;
+ data["ClientID"] = task_data.ClientID;
+ data["ExecOrderRef"] = task_data.ExecOrderRef;
+ data["SessionID"] = task_data.SessionID;
+ data["ActionType"] = task_data.ActionType;
+ data["OrderSubmitStatus"] = task_data.OrderSubmitStatus;
+ data["ClearingPartID"] = task_data.ClearingPartID;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["ExecOrderSysID"] = task_data.ExecOrderSysID;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["StatusMsg"] = task_data.StatusMsg;
+ data["SettlementID"] = task_data.SettlementID;
+ data["UserID"] = task_data.UserID;
+ data["TradingDay"] = task_data.TradingDay;
+ data["BrokerID"] = task_data.BrokerID;
+ data["InsertTime"] = task_data.InsertTime;
+ data["ExecOrderLocalID"] = task_data.ExecOrderLocalID;
+ data["ParticipantID"] = task_data.ParticipantID;
+ data["CancelTime"] = task_data.CancelTime;
+ data["BranchID"] = task_data.BranchID;
+ data["BusinessUnit"] = task_data.BusinessUnit;
+ data["InsertDate"] = task_data.InsertDate;
+ data["SequenceNo"] = task_data.SequenceNo;
+ data["InvestorID"] = task_data.InvestorID;
+ data["ExchangeInstID"] = task_data.ExchangeInstID;
+ data["RequestID"] = task_data.RequestID;
+ data["BrokerExecOrderSeq"] = task_data.BrokerExecOrderSeq;
+ data["FrontID"] = task_data.FrontID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQryExecOrder(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQryForQuote(Task task)
+{
+ PyLock lock;
+ CThostFtdcForQuoteField task_data = any_cast(task.task_data);
+ dict data;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["ForQuoteRef"] = task_data.ForQuoteRef;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["InstallID"] = task_data.InstallID;
+ data["ForQuoteLocalID"] = task_data.ForQuoteLocalID;
+ data["ParticipantID"] = task_data.ParticipantID;
+ data["ActiveUserID"] = task_data.ActiveUserID;
+ data["InsertDate"] = task_data.InsertDate;
+ data["TraderID"] = task_data.TraderID;
+ data["UserID"] = task_data.UserID;
+ data["SessionID"] = task_data.SessionID;
+ data["ClientID"] = task_data.ClientID;
+ data["StatusMsg"] = task_data.StatusMsg;
+ data["InvestorID"] = task_data.InvestorID;
+ data["ExchangeInstID"] = task_data.ExchangeInstID;
+ data["BrokerID"] = task_data.BrokerID;
+ data["InsertTime"] = task_data.InsertTime;
+ data["ForQuoteStatus"] = task_data.ForQuoteStatus;
+ data["FrontID"] = task_data.FrontID;
+ data["BrokerForQutoSeq"] = task_data.BrokerForQutoSeq;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQryForQuote(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQryQuote(Task task)
+{
+ PyLock lock;
+ CThostFtdcQuoteField task_data = any_cast(task.task_data);
+ dict data;
+ data["NotifySequence"] = task_data.NotifySequence;
+ data["AskHedgeFlag"] = task_data.AskHedgeFlag;
+ data["BidOrderSysID"] = task_data.BidOrderSysID;
+ data["TraderID"] = task_data.TraderID;
+ data["UserID"] = task_data.UserID;
+ data["AskVolume"] = task_data.AskVolume;
+ data["BidOrderRef"] = task_data.BidOrderRef;
+ data["ActiveUserID"] = task_data.ActiveUserID;
+ data["BidHedgeFlag"] = task_data.BidHedgeFlag;
+ data["QuoteRef"] = task_data.QuoteRef;
+ data["AskOrderSysID"] = task_data.AskOrderSysID;
+ data["InstallID"] = task_data.InstallID;
+ data["ParticipantID"] = task_data.ParticipantID;
+ data["UserProductInfo"] = task_data.UserProductInfo;
+ data["AskOffsetFlag"] = task_data.AskOffsetFlag;
+ data["ClientID"] = task_data.ClientID;
+ data["SessionID"] = task_data.SessionID;
+ data["BidOffsetFlag"] = task_data.BidOffsetFlag;
+ data["BidPrice"] = task_data.BidPrice;
+ data["OrderSubmitStatus"] = task_data.OrderSubmitStatus;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["QuoteStatus"] = task_data.QuoteStatus;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["StatusMsg"] = task_data.StatusMsg;
+ data["SettlementID"] = task_data.SettlementID;
+ data["QuoteLocalID"] = task_data.QuoteLocalID;
+ data["BidVolume"] = task_data.BidVolume;
+ data["TradingDay"] = task_data.TradingDay;
+ data["BrokerID"] = task_data.BrokerID;
+ data["InsertTime"] = task_data.InsertTime;
+ data["QuoteSysID"] = task_data.QuoteSysID;
+ data["ClearingPartID"] = task_data.ClearingPartID;
+ data["ForQuoteSysID"] = task_data.ForQuoteSysID;
+ data["CancelTime"] = task_data.CancelTime;
+ data["BranchID"] = task_data.BranchID;
+ data["BusinessUnit"] = task_data.BusinessUnit;
+ data["InsertDate"] = task_data.InsertDate;
+ data["AskPrice"] = task_data.AskPrice;
+ data["SequenceNo"] = task_data.SequenceNo;
+ data["AskOrderRef"] = task_data.AskOrderRef;
+ data["InvestorID"] = task_data.InvestorID;
+ data["ExchangeInstID"] = task_data.ExchangeInstID;
+ data["RequestID"] = task_data.RequestID;
+ data["BrokerQuoteSeq"] = task_data.BrokerQuoteSeq;
+ data["FrontID"] = task_data.FrontID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQryQuote(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQryLock(Task task)
+{
+ PyLock lock;
+ CThostFtdcLockField task_data = any_cast(task.task_data);
+ dict data;
+ data["LockStatus"] = task_data.LockStatus;
+ data["NotifySequence"] = task_data.NotifySequence;
+ data["ActiveUserID"] = task_data.ActiveUserID;
+ data["UserProductInfo"] = task_data.UserProductInfo;
+ data["TraderID"] = task_data.TraderID;
+ data["UserID"] = task_data.UserID;
+ data["LockLocalID"] = task_data.LockLocalID;
+ data["InstallID"] = task_data.InstallID;
+ data["ParticipantID"] = task_data.ParticipantID;
+ data["ClientID"] = task_data.ClientID;
+ data["Volume"] = task_data.Volume;
+ data["SessionID"] = task_data.SessionID;
+ data["OrderSubmitStatus"] = task_data.OrderSubmitStatus;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["StatusMsg"] = task_data.StatusMsg;
+ data["SettlementID"] = task_data.SettlementID;
+ data["TradingDay"] = task_data.TradingDay;
+ data["BrokerID"] = task_data.BrokerID;
+ data["InsertTime"] = task_data.InsertTime;
+ data["ClearingPartID"] = task_data.ClearingPartID;
+ data["CancelTime"] = task_data.CancelTime;
+ data["BranchID"] = task_data.BranchID;
+ data["BusinessUnit"] = task_data.BusinessUnit;
+ data["InsertDate"] = task_data.InsertDate;
+ data["BrokerLockSeq"] = task_data.BrokerLockSeq;
+ data["SequenceNo"] = task_data.SequenceNo;
+ data["LockRef"] = task_data.LockRef;
+ data["InvestorID"] = task_data.InvestorID;
+ data["ExchangeInstID"] = task_data.ExchangeInstID;
+ data["RequestID"] = task_data.RequestID;
+ data["FrontID"] = task_data.FrontID;
+ data["LockSysID"] = task_data.LockSysID;
+ data["LockType"] = task_data.LockType;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQryLock(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQryLockPosition(Task task)
+{
+ PyLock lock;
+ CThostFtdcLockPositionField task_data = any_cast(task.task_data);
+ dict data;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["FrozenVolume"] = task_data.FrozenVolume;
+ data["Volume"] = task_data.Volume;
+ data["InvestorID"] = task_data.InvestorID;
+ data["BrokerID"] = task_data.BrokerID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQryLockPosition(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQryInvestorLevel(Task task)
+{
+ PyLock lock;
+ CThostFtdcInvestorLevelField task_data = any_cast(task.task_data);
+ dict data;
+ data["InvestorID"] = task_data.InvestorID;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["LevelType"] = task_data.LevelType;
+ data["BrokerID"] = task_data.BrokerID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQryInvestorLevel(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQryExecFreeze(Task task)
+{
+ PyLock lock;
+ CThostFtdcExecFreezeField task_data = any_cast(task.task_data);
+ dict data;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["OptionsType"] = task_data.OptionsType;
+ data["PosiDirection"] = task_data.PosiDirection;
+ data["FrozenAmount"] = task_data.FrozenAmount;
+ data["Volume"] = task_data.Volume;
+ data["InvestorID"] = task_data.InvestorID;
+ data["BrokerID"] = task_data.BrokerID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQryExecFreeze(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQryCombInstrumentGuard(Task task)
+{
+ PyLock lock;
+ CThostFtdcCombInstrumentGuardField task_data = any_cast(task.task_data);
+ dict data;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["GuarantRatio"] = task_data.GuarantRatio;
+ data["BrokerID"] = task_data.BrokerID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQryCombInstrumentGuard(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQryCombAction(Task task)
+{
+ PyLock lock;
+ CThostFtdcCombActionField task_data = any_cast(task.task_data);
+ dict data;
+ data["NotifySequence"] = task_data.NotifySequence;
+ data["UserProductInfo"] = task_data.UserProductInfo;
+ data["TraderID"] = task_data.TraderID;
+ data["HedgeFlag"] = task_data.HedgeFlag;
+ data["ActionStatus"] = task_data.ActionStatus;
+ data["CombDirection"] = task_data.CombDirection;
+ data["Direction"] = task_data.Direction;
+ data["InstallID"] = task_data.InstallID;
+ data["ParticipantID"] = task_data.ParticipantID;
+ data["InvestorID"] = task_data.InvestorID;
+ data["ClientID"] = task_data.ClientID;
+ data["Volume"] = task_data.Volume;
+ data["SessionID"] = task_data.SessionID;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["StatusMsg"] = task_data.StatusMsg;
+ data["SettlementID"] = task_data.SettlementID;
+ data["UserID"] = task_data.UserID;
+ data["TradingDay"] = task_data.TradingDay;
+ data["BrokerID"] = task_data.BrokerID;
+ data["CombActionRef"] = task_data.CombActionRef;
+ data["SequenceNo"] = task_data.SequenceNo;
+ data["ActionLocalID"] = task_data.ActionLocalID;
+ data["ExchangeInstID"] = task_data.ExchangeInstID;
+ data["FrontID"] = task_data.FrontID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQryCombAction(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQryTransferSerial(Task task)
+{
+ PyLock lock;
+ CThostFtdcTransferSerialField task_data = any_cast(task.task_data);
+ dict data;
+ data["BankNewAccount"] = task_data.BankNewAccount;
+ data["BrokerBranchID"] = task_data.BrokerBranchID;
+ data["TradeTime"] = task_data.TradeTime;
+ data["OperatorCode"] = task_data.OperatorCode;
+ data["AccountID"] = task_data.AccountID;
+ data["BankAccount"] = task_data.BankAccount;
+ data["TradeCode"] = task_data.TradeCode;
+ data["BankBranchID"] = task_data.BankBranchID;
+ data["SessionID"] = task_data.SessionID;
+ data["BankID"] = task_data.BankID;
+ data["PlateSerial"] = task_data.PlateSerial;
+ data["FutureAccType"] = task_data.FutureAccType;
+ data["ErrorID"] = task_data.ErrorID;
+ data["BankSerial"] = task_data.BankSerial;
+ data["IdentifiedCardNo"] = task_data.IdentifiedCardNo;
+ data["TradingDay"] = task_data.TradingDay;
+ data["BrokerID"] = task_data.BrokerID;
+ data["IdCardType"] = task_data.IdCardType;
+ data["TradeDate"] = task_data.TradeDate;
+ data["CurrencyID"] = task_data.CurrencyID;
+ data["BrokerFee"] = task_data.BrokerFee;
+ data["BankAccType"] = task_data.BankAccType;
+ data["FutureSerial"] = task_data.FutureSerial;
+ data["InvestorID"] = task_data.InvestorID;
+ data["ErrorMsg"] = task_data.ErrorMsg;
+ data["CustFee"] = task_data.CustFee;
+ data["TradeAmount"] = task_data.TradeAmount;
+ data["AvailabilityFlag"] = task_data.AvailabilityFlag;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQryTransferSerial(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQryAccountregister(Task task)
+{
+ PyLock lock;
+ CThostFtdcAccountregisterField task_data = any_cast(task.task_data);
+ dict data;
+ data["BankAccount"] = task_data.BankAccount;
+ data["CustType"] = task_data.CustType;
+ data["CustomerName"] = task_data.CustomerName;
+ data["CurrencyID"] = task_data.CurrencyID;
+ data["BrokerBranchID"] = task_data.BrokerBranchID;
+ data["OutDate"] = task_data.OutDate;
+ data["IdentifiedCardNo"] = task_data.IdentifiedCardNo;
+ data["BankBranchID"] = task_data.BankBranchID;
+ data["RegDate"] = task_data.RegDate;
+ data["BrokerID"] = task_data.BrokerID;
+ data["BankID"] = task_data.BankID;
+ data["TID"] = task_data.TID;
+ data["OpenOrDestroy"] = task_data.OpenOrDestroy;
+ data["IdCardType"] = task_data.IdCardType;
+ data["TradeDay"] = task_data.TradeDay;
+ data["BankAccType"] = task_data.BankAccType;
+ data["AccountID"] = task_data.AccountID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQryAccountregister(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspError(Task task)
+{
+ PyLock lock;
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspError(error, task.task_id, task.task_last);
+};
+
+void TdApi::processRtnOrder(Task task)
+{
+ PyLock lock;
+ CThostFtdcOrderField task_data = any_cast(task.task_data);
+ dict data;
+ data["ContingentCondition"] = task_data.ContingentCondition;
+ data["NotifySequence"] = task_data.NotifySequence;
+ data["ActiveUserID"] = task_data.ActiveUserID;
+ data["VolumeTraded"] = task_data.VolumeTraded;
+ data["UserProductInfo"] = task_data.UserProductInfo;
+ data["CombOffsetFlag"] = task_data.CombOffsetFlag;
+ data["TraderID"] = task_data.TraderID;
+ data["UserID"] = task_data.UserID;
+ data["LimitPrice"] = task_data.LimitPrice;
+ data["UserForceClose"] = task_data.UserForceClose;
+ data["RelativeOrderSysID"] = task_data.RelativeOrderSysID;
+ data["Direction"] = task_data.Direction;
+ data["InstallID"] = task_data.InstallID;
+ data["IsSwapOrder"] = task_data.IsSwapOrder;
+ data["ParticipantID"] = task_data.ParticipantID;
+ data["VolumeTotalOriginal"] = task_data.VolumeTotalOriginal;
+ data["ExchangeInstID"] = task_data.ExchangeInstID;
+ data["ClientID"] = task_data.ClientID;
+ data["VolumeTotal"] = task_data.VolumeTotal;
+ data["OrderPriceType"] = task_data.OrderPriceType;
+ data["SessionID"] = task_data.SessionID;
+ data["TimeCondition"] = task_data.TimeCondition;
+ data["OrderStatus"] = task_data.OrderStatus;
+ data["OrderSysID"] = task_data.OrderSysID;
+ data["OrderSubmitStatus"] = task_data.OrderSubmitStatus;
+ data["IsAutoSuspend"] = task_data.IsAutoSuspend;
+ data["StopPrice"] = task_data.StopPrice;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["MinVolume"] = task_data.MinVolume;
+ data["StatusMsg"] = task_data.StatusMsg;
+ data["SettlementID"] = task_data.SettlementID;
+ data["ForceCloseReason"] = task_data.ForceCloseReason;
+ data["OrderType"] = task_data.OrderType;
+ data["UpdateTime"] = task_data.UpdateTime;
+ data["TradingDay"] = task_data.TradingDay;
+ data["ActiveTime"] = task_data.ActiveTime;
+ data["BrokerID"] = task_data.BrokerID;
+ data["InsertTime"] = task_data.InsertTime;
+ data["FrontID"] = task_data.FrontID;
+ data["SuspendTime"] = task_data.SuspendTime;
+ data["ClearingPartID"] = task_data.ClearingPartID;
+ data["CombHedgeFlag"] = task_data.CombHedgeFlag;
+ data["CancelTime"] = task_data.CancelTime;
+ data["GTDDate"] = task_data.GTDDate;
+ data["OrderLocalID"] = task_data.OrderLocalID;
+ data["BranchID"] = task_data.BranchID;
+ data["BusinessUnit"] = task_data.BusinessUnit;
+ data["InsertDate"] = task_data.InsertDate;
+ data["SequenceNo"] = task_data.SequenceNo;
+ data["OrderRef"] = task_data.OrderRef;
+ data["BrokerOrderSeq"] = task_data.BrokerOrderSeq;
+ data["InvestorID"] = task_data.InvestorID;
+ data["VolumeCondition"] = task_data.VolumeCondition;
+ data["RequestID"] = task_data.RequestID;
+ data["OrderSource"] = task_data.OrderSource;
+ data["ZCETotalTradedVolume"] = task_data.ZCETotalTradedVolume;
+ data["ActiveTraderID"] = task_data.ActiveTraderID;
+
+ this->onRtnOrder(data);
+};
+
+void TdApi::processRtnTrade(Task task)
+{
+ PyLock lock;
+ CThostFtdcTradeField task_data = any_cast(task.task_data);
+ dict data;
+ data["TradeType"] = task_data.TradeType;
+ data["TraderID"] = task_data.TraderID;
+ data["HedgeFlag"] = task_data.HedgeFlag;
+ data["TradeTime"] = task_data.TradeTime;
+ data["Direction"] = task_data.Direction;
+ data["ParticipantID"] = task_data.ParticipantID;
+ data["Price"] = task_data.Price;
+ data["ClientID"] = task_data.ClientID;
+ data["Volume"] = task_data.Volume;
+ data["OrderSysID"] = task_data.OrderSysID;
+ data["ClearingPartID"] = task_data.ClearingPartID;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["SettlementID"] = task_data.SettlementID;
+ data["UserID"] = task_data.UserID;
+ data["TradingDay"] = task_data.TradingDay;
+ data["BrokerID"] = task_data.BrokerID;
+ data["OffsetFlag"] = task_data.OffsetFlag;
+ data["OrderLocalID"] = task_data.OrderLocalID;
+ data["TradeID"] = task_data.TradeID;
+ data["TradeDate"] = task_data.TradeDate;
+ data["BusinessUnit"] = task_data.BusinessUnit;
+ data["SequenceNo"] = task_data.SequenceNo;
+ data["OrderRef"] = task_data.OrderRef;
+ data["BrokerOrderSeq"] = task_data.BrokerOrderSeq;
+ data["InvestorID"] = task_data.InvestorID;
+ data["ExchangeInstID"] = task_data.ExchangeInstID;
+ data["TradeSource"] = task_data.TradeSource;
+ data["PriceSource"] = task_data.PriceSource;
+ data["TradingRole"] = task_data.TradingRole;
+
+ this->onRtnTrade(data);
+};
+
+void TdApi::processErrRtnOrderInsert(Task task)
+{
+ PyLock lock;
+ CThostFtdcInputOrderField task_data = any_cast(task.task_data);
+ dict data;
+ data["ContingentCondition"] = task_data.ContingentCondition;
+ data["CombOffsetFlag"] = task_data.CombOffsetFlag;
+ data["UserID"] = task_data.UserID;
+ data["LimitPrice"] = task_data.LimitPrice;
+ data["UserForceClose"] = task_data.UserForceClose;
+ data["Direction"] = task_data.Direction;
+ data["IsSwapOrder"] = task_data.IsSwapOrder;
+ data["VolumeTotalOriginal"] = task_data.VolumeTotalOriginal;
+ data["OrderPriceType"] = task_data.OrderPriceType;
+ data["TimeCondition"] = task_data.TimeCondition;
+ data["IsAutoSuspend"] = task_data.IsAutoSuspend;
+ data["StopPrice"] = task_data.StopPrice;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["MinVolume"] = task_data.MinVolume;
+ data["ForceCloseReason"] = task_data.ForceCloseReason;
+ data["BrokerID"] = task_data.BrokerID;
+ data["CombHedgeFlag"] = task_data.CombHedgeFlag;
+ data["GTDDate"] = task_data.GTDDate;
+ data["BusinessUnit"] = task_data.BusinessUnit;
+ data["OrderRef"] = task_data.OrderRef;
+ data["InvestorID"] = task_data.InvestorID;
+ data["VolumeCondition"] = task_data.VolumeCondition;
+ data["RequestID"] = task_data.RequestID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onErrRtnOrderInsert(data, error);
+};
+
+void TdApi::processErrRtnOrderAction(Task task)
+{
+ PyLock lock;
+ CThostFtdcOrderActionField task_data = any_cast(task.task_data);
+ dict data;
+ data["ActionTime"] = task_data.ActionTime;
+ data["InvestorID"] = task_data.InvestorID;
+ data["TraderID"] = task_data.TraderID;
+ data["UserID"] = task_data.UserID;
+ data["LimitPrice"] = task_data.LimitPrice;
+ data["OrderActionStatus"] = task_data.OrderActionStatus;
+ data["InstallID"] = task_data.InstallID;
+ data["ParticipantID"] = task_data.ParticipantID;
+ data["OrderActionRef"] = task_data.OrderActionRef;
+ data["VolumeChange"] = task_data.VolumeChange;
+ data["SessionID"] = task_data.SessionID;
+ data["ActionFlag"] = task_data.ActionFlag;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["StatusMsg"] = task_data.StatusMsg;
+ data["OrderSysID"] = task_data.OrderSysID;
+ data["BrokerID"] = task_data.BrokerID;
+ data["ClientID"] = task_data.ClientID;
+ data["ActionDate"] = task_data.ActionDate;
+ data["OrderLocalID"] = task_data.OrderLocalID;
+ data["BranchID"] = task_data.BranchID;
+ data["BusinessUnit"] = task_data.BusinessUnit;
+ data["OrderRef"] = task_data.OrderRef;
+ data["ActionLocalID"] = task_data.ActionLocalID;
+ data["RequestID"] = task_data.RequestID;
+ data["FrontID"] = task_data.FrontID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onErrRtnOrderAction(data, error);
+};
+
+void TdApi::processRtnInstrumentStatus(Task task)
+{
+ PyLock lock;
+ CThostFtdcInstrumentStatusField task_data = any_cast(task.task_data);
+ dict data;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["EnterTime"] = task_data.EnterTime;
+ data["SettlementGroupID"] = task_data.SettlementGroupID;
+ data["TradingSegmentSN"] = task_data.TradingSegmentSN;
+ data["EnterReason"] = task_data.EnterReason;
+ data["InstrumentStatus"] = task_data.InstrumentStatus;
+ data["ExchangeInstID"] = task_data.ExchangeInstID;
+
+ this->onRtnInstrumentStatus(data);
+};
+
+void TdApi::processRtnTradingNotice(Task task)
+{
+ PyLock lock;
+ CThostFtdcTradingNoticeInfoField task_data = any_cast(task.task_data);
+ dict data;
+ data["SequenceSeries"] = task_data.SequenceSeries;
+ data["SequenceNo"] = task_data.SequenceNo;
+ data["FieldContent"] = task_data.FieldContent;
+ data["InvestorID"] = task_data.InvestorID;
+ data["BrokerID"] = task_data.BrokerID;
+ data["SendTime"] = task_data.SendTime;
+
+ this->onRtnTradingNotice(data);
+};
+
+void TdApi::processRtnErrorConditionalOrder(Task task)
+{
+ PyLock lock;
+ CThostFtdcErrorConditionalOrderField task_data = any_cast(task.task_data);
+ dict data;
+ data["ContingentCondition"] = task_data.ContingentCondition;
+ data["NotifySequence"] = task_data.NotifySequence;
+ data["ActiveUserID"] = task_data.ActiveUserID;
+ data["VolumeTraded"] = task_data.VolumeTraded;
+ data["UserProductInfo"] = task_data.UserProductInfo;
+ data["CombOffsetFlag"] = task_data.CombOffsetFlag;
+ data["TraderID"] = task_data.TraderID;
+ data["UserID"] = task_data.UserID;
+ data["LimitPrice"] = task_data.LimitPrice;
+ data["UserForceClose"] = task_data.UserForceClose;
+ data["RelativeOrderSysID"] = task_data.RelativeOrderSysID;
+ data["Direction"] = task_data.Direction;
+ data["InstallID"] = task_data.InstallID;
+ data["IsSwapOrder"] = task_data.IsSwapOrder;
+ data["ParticipantID"] = task_data.ParticipantID;
+ data["VolumeTotalOriginal"] = task_data.VolumeTotalOriginal;
+ data["ExchangeInstID"] = task_data.ExchangeInstID;
+ data["ClientID"] = task_data.ClientID;
+ data["VolumeTotal"] = task_data.VolumeTotal;
+ data["OrderPriceType"] = task_data.OrderPriceType;
+ data["SessionID"] = task_data.SessionID;
+ data["TimeCondition"] = task_data.TimeCondition;
+ data["OrderStatus"] = task_data.OrderStatus;
+ data["OrderSysID"] = task_data.OrderSysID;
+ data["OrderSubmitStatus"] = task_data.OrderSubmitStatus;
+ data["IsAutoSuspend"] = task_data.IsAutoSuspend;
+ data["StopPrice"] = task_data.StopPrice;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["MinVolume"] = task_data.MinVolume;
+ data["StatusMsg"] = task_data.StatusMsg;
+ data["SettlementID"] = task_data.SettlementID;
+ data["ForceCloseReason"] = task_data.ForceCloseReason;
+ data["OrderType"] = task_data.OrderType;
+ data["ErrorID"] = task_data.ErrorID;
+ data["UpdateTime"] = task_data.UpdateTime;
+ data["TradingDay"] = task_data.TradingDay;
+ data["ActiveTime"] = task_data.ActiveTime;
+ data["BrokerID"] = task_data.BrokerID;
+ data["InsertTime"] = task_data.InsertTime;
+ data["FrontID"] = task_data.FrontID;
+ data["SuspendTime"] = task_data.SuspendTime;
+ data["ClearingPartID"] = task_data.ClearingPartID;
+ data["CombHedgeFlag"] = task_data.CombHedgeFlag;
+ data["CancelTime"] = task_data.CancelTime;
+ data["GTDDate"] = task_data.GTDDate;
+ data["OrderLocalID"] = task_data.OrderLocalID;
+ data["BranchID"] = task_data.BranchID;
+ data["BusinessUnit"] = task_data.BusinessUnit;
+ data["InsertDate"] = task_data.InsertDate;
+ data["SequenceNo"] = task_data.SequenceNo;
+ data["OrderRef"] = task_data.OrderRef;
+ data["BrokerOrderSeq"] = task_data.BrokerOrderSeq;
+ data["InvestorID"] = task_data.InvestorID;
+ data["VolumeCondition"] = task_data.VolumeCondition;
+ data["RequestID"] = task_data.RequestID;
+ data["ErrorMsg"] = task_data.ErrorMsg;
+ data["OrderSource"] = task_data.OrderSource;
+ data["ZCETotalTradedVolume"] = task_data.ZCETotalTradedVolume;
+ data["ActiveTraderID"] = task_data.ActiveTraderID;
+
+ this->onRtnErrorConditionalOrder(data);
+};
+
+void TdApi::processRtnExecOrder(Task task)
+{
+ PyLock lock;
+ CThostFtdcExecOrderField task_data = any_cast(task.task_data);
+ dict data;
+ data["NotifySequence"] = task_data.NotifySequence;
+ data["CloseFlag"] = task_data.CloseFlag;
+ data["ActiveUserID"] = task_data.ActiveUserID;
+ data["UserProductInfo"] = task_data.UserProductInfo;
+ data["TraderID"] = task_data.TraderID;
+ data["HedgeFlag"] = task_data.HedgeFlag;
+ data["ExecResult"] = task_data.ExecResult;
+ data["ReservePositionFlag"] = task_data.ReservePositionFlag;
+ data["Volume"] = task_data.Volume;
+ data["InstallID"] = task_data.InstallID;
+ data["OffsetFlag"] = task_data.OffsetFlag;
+ data["PosiDirection"] = task_data.PosiDirection;
+ data["ClientID"] = task_data.ClientID;
+ data["ExecOrderRef"] = task_data.ExecOrderRef;
+ data["SessionID"] = task_data.SessionID;
+ data["ActionType"] = task_data.ActionType;
+ data["OrderSubmitStatus"] = task_data.OrderSubmitStatus;
+ data["ClearingPartID"] = task_data.ClearingPartID;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["ExecOrderSysID"] = task_data.ExecOrderSysID;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["StatusMsg"] = task_data.StatusMsg;
+ data["SettlementID"] = task_data.SettlementID;
+ data["UserID"] = task_data.UserID;
+ data["TradingDay"] = task_data.TradingDay;
+ data["BrokerID"] = task_data.BrokerID;
+ data["InsertTime"] = task_data.InsertTime;
+ data["ExecOrderLocalID"] = task_data.ExecOrderLocalID;
+ data["ParticipantID"] = task_data.ParticipantID;
+ data["CancelTime"] = task_data.CancelTime;
+ data["BranchID"] = task_data.BranchID;
+ data["BusinessUnit"] = task_data.BusinessUnit;
+ data["InsertDate"] = task_data.InsertDate;
+ data["SequenceNo"] = task_data.SequenceNo;
+ data["InvestorID"] = task_data.InvestorID;
+ data["ExchangeInstID"] = task_data.ExchangeInstID;
+ data["RequestID"] = task_data.RequestID;
+ data["BrokerExecOrderSeq"] = task_data.BrokerExecOrderSeq;
+ data["FrontID"] = task_data.FrontID;
+
+ this->onRtnExecOrder(data);
+};
+
+void TdApi::processErrRtnExecOrderInsert(Task task)
+{
+ PyLock lock;
+ CThostFtdcInputExecOrderField task_data = any_cast(task.task_data);
+ dict data;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["ExecOrderRef"] = task_data.ExecOrderRef;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["CloseFlag"] = task_data.CloseFlag;
+ data["OffsetFlag"] = task_data.OffsetFlag;
+ data["PosiDirection"] = task_data.PosiDirection;
+ data["BusinessUnit"] = task_data.BusinessUnit;
+ data["HedgeFlag"] = task_data.HedgeFlag;
+ data["UserID"] = task_data.UserID;
+ data["Volume"] = task_data.Volume;
+ data["InvestorID"] = task_data.InvestorID;
+ data["BrokerID"] = task_data.BrokerID;
+ data["RequestID"] = task_data.RequestID;
+ data["ActionType"] = task_data.ActionType;
+ data["ReservePositionFlag"] = task_data.ReservePositionFlag;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onErrRtnExecOrderInsert(data, error);
+};
+
+void TdApi::processErrRtnExecOrderAction(Task task)
+{
+ PyLock lock;
+ CThostFtdcExecOrderActionField task_data = any_cast(task.task_data);
+ dict data;
+ data["ActionTime"] = task_data.ActionTime;
+ data["TraderID"] = task_data.TraderID;
+ data["UserID"] = task_data.UserID;
+ data["OrderActionStatus"] = task_data.OrderActionStatus;
+ data["InstallID"] = task_data.InstallID;
+ data["ParticipantID"] = task_data.ParticipantID;
+ data["InvestorID"] = task_data.InvestorID;
+ data["ClientID"] = task_data.ClientID;
+ data["ExecOrderRef"] = task_data.ExecOrderRef;
+ data["SessionID"] = task_data.SessionID;
+ data["ActionType"] = task_data.ActionType;
+ data["ActionFlag"] = task_data.ActionFlag;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["ExecOrderSysID"] = task_data.ExecOrderSysID;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["StatusMsg"] = task_data.StatusMsg;
+ data["BrokerID"] = task_data.BrokerID;
+ data["ExecOrderLocalID"] = task_data.ExecOrderLocalID;
+ data["ActionDate"] = task_data.ActionDate;
+ data["BranchID"] = task_data.BranchID;
+ data["BusinessUnit"] = task_data.BusinessUnit;
+ data["ActionLocalID"] = task_data.ActionLocalID;
+ data["RequestID"] = task_data.RequestID;
+ data["ExecOrderActionRef"] = task_data.ExecOrderActionRef;
+ data["FrontID"] = task_data.FrontID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onErrRtnExecOrderAction(data, error);
+};
+
+void TdApi::processErrRtnForQuoteInsert(Task task)
+{
+ PyLock lock;
+ CThostFtdcInputForQuoteField task_data = any_cast(task.task_data);
+ dict data;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["ForQuoteRef"] = task_data.ForQuoteRef;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["UserID"] = task_data.UserID;
+ data["InvestorID"] = task_data.InvestorID;
+ data["BrokerID"] = task_data.BrokerID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onErrRtnForQuoteInsert(data, error);
+};
+
+void TdApi::processRtnQuote(Task task)
+{
+ PyLock lock;
+ CThostFtdcQuoteField task_data = any_cast(task.task_data);
+ dict data;
+ data["NotifySequence"] = task_data.NotifySequence;
+ data["AskHedgeFlag"] = task_data.AskHedgeFlag;
+ data["BidOrderSysID"] = task_data.BidOrderSysID;
+ data["TraderID"] = task_data.TraderID;
+ data["UserID"] = task_data.UserID;
+ data["AskVolume"] = task_data.AskVolume;
+ data["BidOrderRef"] = task_data.BidOrderRef;
+ data["ActiveUserID"] = task_data.ActiveUserID;
+ data["BidHedgeFlag"] = task_data.BidHedgeFlag;
+ data["QuoteRef"] = task_data.QuoteRef;
+ data["AskOrderSysID"] = task_data.AskOrderSysID;
+ data["InstallID"] = task_data.InstallID;
+ data["ParticipantID"] = task_data.ParticipantID;
+ data["UserProductInfo"] = task_data.UserProductInfo;
+ data["AskOffsetFlag"] = task_data.AskOffsetFlag;
+ data["ClientID"] = task_data.ClientID;
+ data["SessionID"] = task_data.SessionID;
+ data["BidOffsetFlag"] = task_data.BidOffsetFlag;
+ data["BidPrice"] = task_data.BidPrice;
+ data["OrderSubmitStatus"] = task_data.OrderSubmitStatus;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["QuoteStatus"] = task_data.QuoteStatus;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["StatusMsg"] = task_data.StatusMsg;
+ data["SettlementID"] = task_data.SettlementID;
+ data["QuoteLocalID"] = task_data.QuoteLocalID;
+ data["BidVolume"] = task_data.BidVolume;
+ data["TradingDay"] = task_data.TradingDay;
+ data["BrokerID"] = task_data.BrokerID;
+ data["InsertTime"] = task_data.InsertTime;
+ data["QuoteSysID"] = task_data.QuoteSysID;
+ data["ClearingPartID"] = task_data.ClearingPartID;
+ data["ForQuoteSysID"] = task_data.ForQuoteSysID;
+ data["CancelTime"] = task_data.CancelTime;
+ data["BranchID"] = task_data.BranchID;
+ data["BusinessUnit"] = task_data.BusinessUnit;
+ data["InsertDate"] = task_data.InsertDate;
+ data["AskPrice"] = task_data.AskPrice;
+ data["SequenceNo"] = task_data.SequenceNo;
+ data["AskOrderRef"] = task_data.AskOrderRef;
+ data["InvestorID"] = task_data.InvestorID;
+ data["ExchangeInstID"] = task_data.ExchangeInstID;
+ data["RequestID"] = task_data.RequestID;
+ data["BrokerQuoteSeq"] = task_data.BrokerQuoteSeq;
+ data["FrontID"] = task_data.FrontID;
+
+ this->onRtnQuote(data);
+};
+
+void TdApi::processErrRtnQuoteInsert(Task task)
+{
+ PyLock lock;
+ CThostFtdcInputQuoteField task_data = any_cast(task.task_data);
+ dict data;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["AskHedgeFlag"] = task_data.AskHedgeFlag;
+ data["BusinessUnit"] = task_data.BusinessUnit;
+ data["AskPrice"] = task_data.AskPrice;
+ data["UserID"] = task_data.UserID;
+ data["AskOffsetFlag"] = task_data.AskOffsetFlag;
+ data["BidVolume"] = task_data.BidVolume;
+ data["AskOrderRef"] = task_data.AskOrderRef;
+ data["AskVolume"] = task_data.AskVolume;
+ data["InvestorID"] = task_data.InvestorID;
+ data["BidOffsetFlag"] = task_data.BidOffsetFlag;
+ data["BrokerID"] = task_data.BrokerID;
+ data["RequestID"] = task_data.RequestID;
+ data["ForQuoteSysID"] = task_data.ForQuoteSysID;
+ data["BidPrice"] = task_data.BidPrice;
+ data["BidHedgeFlag"] = task_data.BidHedgeFlag;
+ data["QuoteRef"] = task_data.QuoteRef;
+ data["BidOrderRef"] = task_data.BidOrderRef;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onErrRtnQuoteInsert(data, error);
+};
+
+void TdApi::processErrRtnQuoteAction(Task task)
+{
+ PyLock lock;
+ CThostFtdcQuoteActionField task_data = any_cast(task.task_data);
+ dict data;
+ data["ActionTime"] = task_data.ActionTime;
+ data["TraderID"] = task_data.TraderID;
+ data["UserID"] = task_data.UserID;
+ data["OrderActionStatus"] = task_data.OrderActionStatus;
+ data["QuoteRef"] = task_data.QuoteRef;
+ data["InstallID"] = task_data.InstallID;
+ data["ParticipantID"] = task_data.ParticipantID;
+ data["InvestorID"] = task_data.InvestorID;
+ data["ClientID"] = task_data.ClientID;
+ data["SessionID"] = task_data.SessionID;
+ data["ActionFlag"] = task_data.ActionFlag;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["QuoteActionRef"] = task_data.QuoteActionRef;
+ data["StatusMsg"] = task_data.StatusMsg;
+ data["QuoteLocalID"] = task_data.QuoteLocalID;
+ data["BrokerID"] = task_data.BrokerID;
+ data["QuoteSysID"] = task_data.QuoteSysID;
+ data["ActionDate"] = task_data.ActionDate;
+ data["BranchID"] = task_data.BranchID;
+ data["BusinessUnit"] = task_data.BusinessUnit;
+ data["ActionLocalID"] = task_data.ActionLocalID;
+ data["RequestID"] = task_data.RequestID;
+ data["FrontID"] = task_data.FrontID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onErrRtnQuoteAction(data, error);
+};
+
+void TdApi::processRtnForQuoteRsp(Task task)
+{
+ PyLock lock;
+ CThostFtdcForQuoteRspField task_data = any_cast(task.task_data);
+ dict data;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["ActionDay"] = task_data.ActionDay;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["TradingDay"] = task_data.TradingDay;
+ data["ForQuoteSysID"] = task_data.ForQuoteSysID;
+ data["ForQuoteTime"] = task_data.ForQuoteTime;
+
+ this->onRtnForQuoteRsp(data);
+};
+
+void TdApi::processRtnCFMMCTradingAccountToken(Task task)
+{
+ PyLock lock;
+ CThostFtdcCFMMCTradingAccountTokenField task_data = any_cast(task.task_data);
+ dict data;
+ data["Token"] = task_data.Token;
+ data["KeyID"] = task_data.KeyID;
+ data["BrokerID"] = task_data.BrokerID;
+ data["ParticipantID"] = task_data.ParticipantID;
+ data["AccountID"] = task_data.AccountID;
+
+ this->onRtnCFMMCTradingAccountToken(data);
+};
+
+void TdApi::processRtnLock(Task task)
+{
+ PyLock lock;
+ CThostFtdcLockField task_data = any_cast(task.task_data);
+ dict data;
+ data["LockStatus"] = task_data.LockStatus;
+ data["NotifySequence"] = task_data.NotifySequence;
+ data["ActiveUserID"] = task_data.ActiveUserID;
+ data["UserProductInfo"] = task_data.UserProductInfo;
+ data["TraderID"] = task_data.TraderID;
+ data["UserID"] = task_data.UserID;
+ data["LockLocalID"] = task_data.LockLocalID;
+ data["InstallID"] = task_data.InstallID;
+ data["ParticipantID"] = task_data.ParticipantID;
+ data["ClientID"] = task_data.ClientID;
+ data["Volume"] = task_data.Volume;
+ data["SessionID"] = task_data.SessionID;
+ data["OrderSubmitStatus"] = task_data.OrderSubmitStatus;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["StatusMsg"] = task_data.StatusMsg;
+ data["SettlementID"] = task_data.SettlementID;
+ data["TradingDay"] = task_data.TradingDay;
+ data["BrokerID"] = task_data.BrokerID;
+ data["InsertTime"] = task_data.InsertTime;
+ data["ClearingPartID"] = task_data.ClearingPartID;
+ data["CancelTime"] = task_data.CancelTime;
+ data["BranchID"] = task_data.BranchID;
+ data["BusinessUnit"] = task_data.BusinessUnit;
+ data["InsertDate"] = task_data.InsertDate;
+ data["BrokerLockSeq"] = task_data.BrokerLockSeq;
+ data["SequenceNo"] = task_data.SequenceNo;
+ data["LockRef"] = task_data.LockRef;
+ data["InvestorID"] = task_data.InvestorID;
+ data["ExchangeInstID"] = task_data.ExchangeInstID;
+ data["RequestID"] = task_data.RequestID;
+ data["FrontID"] = task_data.FrontID;
+ data["LockSysID"] = task_data.LockSysID;
+ data["LockType"] = task_data.LockType;
+
+ this->onRtnLock(data);
+};
+
+void TdApi::processErrRtnLockInsert(Task task)
+{
+ PyLock lock;
+ CThostFtdcInputLockField task_data = any_cast(task.task_data);
+ dict data;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["BusinessUnit"] = task_data.BusinessUnit;
+ data["UserID"] = task_data.UserID;
+ data["LockRef"] = task_data.LockRef;
+ data["Volume"] = task_data.Volume;
+ data["InvestorID"] = task_data.InvestorID;
+ data["BrokerID"] = task_data.BrokerID;
+ data["RequestID"] = task_data.RequestID;
+ data["LockType"] = task_data.LockType;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onErrRtnLockInsert(data, error);
+};
+
+void TdApi::processRtnCombAction(Task task)
+{
+ PyLock lock;
+ CThostFtdcCombActionField task_data = any_cast(task.task_data);
+ dict data;
+ data["NotifySequence"] = task_data.NotifySequence;
+ data["UserProductInfo"] = task_data.UserProductInfo;
+ data["TraderID"] = task_data.TraderID;
+ data["HedgeFlag"] = task_data.HedgeFlag;
+ data["ActionStatus"] = task_data.ActionStatus;
+ data["CombDirection"] = task_data.CombDirection;
+ data["Direction"] = task_data.Direction;
+ data["InstallID"] = task_data.InstallID;
+ data["ParticipantID"] = task_data.ParticipantID;
+ data["InvestorID"] = task_data.InvestorID;
+ data["ClientID"] = task_data.ClientID;
+ data["Volume"] = task_data.Volume;
+ data["SessionID"] = task_data.SessionID;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["StatusMsg"] = task_data.StatusMsg;
+ data["SettlementID"] = task_data.SettlementID;
+ data["UserID"] = task_data.UserID;
+ data["TradingDay"] = task_data.TradingDay;
+ data["BrokerID"] = task_data.BrokerID;
+ data["CombActionRef"] = task_data.CombActionRef;
+ data["SequenceNo"] = task_data.SequenceNo;
+ data["ActionLocalID"] = task_data.ActionLocalID;
+ data["ExchangeInstID"] = task_data.ExchangeInstID;
+ data["FrontID"] = task_data.FrontID;
+
+ this->onRtnCombAction(data);
+};
+
+void TdApi::processErrRtnCombActionInsert(Task task)
+{
+ PyLock lock;
+ CThostFtdcInputCombActionField task_data = any_cast(task.task_data);
+ dict data;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["Direction"] = task_data.Direction;
+ data["CombActionRef"] = task_data.CombActionRef;
+ data["HedgeFlag"] = task_data.HedgeFlag;
+ data["UserID"] = task_data.UserID;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["Volume"] = task_data.Volume;
+ data["InvestorID"] = task_data.InvestorID;
+ data["BrokerID"] = task_data.BrokerID;
+ data["CombDirection"] = task_data.CombDirection;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onErrRtnCombActionInsert(data, error);
+};
+
+void TdApi::processRspQryContractBank(Task task)
+{
+ PyLock lock;
+ CThostFtdcContractBankField task_data = any_cast(task.task_data);
+ dict data;
+ data["BankName"] = task_data.BankName;
+ data["BrokerID"] = task_data.BrokerID;
+ data["BankBrchID"] = task_data.BankBrchID;
+ data["BankID"] = task_data.BankID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQryContractBank(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQryParkedOrder(Task task)
+{
+ PyLock lock;
+ CThostFtdcParkedOrderField task_data = any_cast(task.task_data);
+ dict data;
+ data["ContingentCondition"] = task_data.ContingentCondition;
+ data["CombOffsetFlag"] = task_data.CombOffsetFlag;
+ data["UserID"] = task_data.UserID;
+ data["LimitPrice"] = task_data.LimitPrice;
+ data["UserForceClose"] = task_data.UserForceClose;
+ data["Status"] = task_data.Status;
+ data["Direction"] = task_data.Direction;
+ data["IsSwapOrder"] = task_data.IsSwapOrder;
+ data["UserType"] = task_data.UserType;
+ data["VolumeTotalOriginal"] = task_data.VolumeTotalOriginal;
+ data["OrderPriceType"] = task_data.OrderPriceType;
+ data["TimeCondition"] = task_data.TimeCondition;
+ data["IsAutoSuspend"] = task_data.IsAutoSuspend;
+ data["StopPrice"] = task_data.StopPrice;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["MinVolume"] = task_data.MinVolume;
+ data["ForceCloseReason"] = task_data.ForceCloseReason;
+ data["ErrorID"] = task_data.ErrorID;
+ data["ParkedOrderID"] = task_data.ParkedOrderID;
+ data["BrokerID"] = task_data.BrokerID;
+ data["CombHedgeFlag"] = task_data.CombHedgeFlag;
+ data["GTDDate"] = task_data.GTDDate;
+ data["BusinessUnit"] = task_data.BusinessUnit;
+ data["ErrorMsg"] = task_data.ErrorMsg;
+ data["OrderRef"] = task_data.OrderRef;
+ data["InvestorID"] = task_data.InvestorID;
+ data["VolumeCondition"] = task_data.VolumeCondition;
+ data["RequestID"] = task_data.RequestID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQryParkedOrder(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQryParkedOrderAction(Task task)
+{
+ PyLock lock;
+ CThostFtdcParkedOrderActionField task_data = any_cast(task.task_data);
+ dict data;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["Status"] = task_data.Status;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["ActionFlag"] = task_data.ActionFlag;
+ data["OrderActionRef"] = task_data.OrderActionRef;
+ data["UserType"] = task_data.UserType;
+ data["ErrorMsg"] = task_data.ErrorMsg;
+ data["UserID"] = task_data.UserID;
+ data["LimitPrice"] = task_data.LimitPrice;
+ data["OrderRef"] = task_data.OrderRef;
+ data["InvestorID"] = task_data.InvestorID;
+ data["SessionID"] = task_data.SessionID;
+ data["VolumeChange"] = task_data.VolumeChange;
+ data["BrokerID"] = task_data.BrokerID;
+ data["RequestID"] = task_data.RequestID;
+ data["OrderSysID"] = task_data.OrderSysID;
+ data["ParkedOrderActionID"] = task_data.ParkedOrderActionID;
+ data["FrontID"] = task_data.FrontID;
+ data["ErrorID"] = task_data.ErrorID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQryParkedOrderAction(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQryTradingNotice(Task task)
+{
+ PyLock lock;
+ CThostFtdcTradingNoticeField task_data = any_cast(task.task_data);
+ dict data;
+ data["SequenceSeries"] = task_data.SequenceSeries;
+ data["SequenceNo"] = task_data.SequenceNo;
+ data["UserID"] = task_data.UserID;
+ data["FieldContent"] = task_data.FieldContent;
+ data["InvestorID"] = task_data.InvestorID;
+ data["BrokerID"] = task_data.BrokerID;
+ data["SendTime"] = task_data.SendTime;
+ data["InvestorRange"] = task_data.InvestorRange;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQryTradingNotice(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQryBrokerTradingParams(Task task)
+{
+ PyLock lock;
+ CThostFtdcBrokerTradingParamsField task_data = any_cast(task.task_data);
+ dict data;
+ data["MarginPriceType"] = task_data.MarginPriceType;
+ data["Algorithm"] = task_data.Algorithm;
+ data["CurrencyID"] = task_data.CurrencyID;
+ data["OptionRoyaltyPriceType"] = task_data.OptionRoyaltyPriceType;
+ data["InvestorID"] = task_data.InvestorID;
+ data["BrokerID"] = task_data.BrokerID;
+ data["AvailIncludeCloseProfit"] = task_data.AvailIncludeCloseProfit;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQryBrokerTradingParams(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQryBrokerTradingAlgos(Task task)
+{
+ PyLock lock;
+ CThostFtdcBrokerTradingAlgosField task_data = any_cast(task.task_data);
+ dict data;
+ data["InstrumentID"] = task_data.InstrumentID;
+ data["HandlePositionAlgoID"] = task_data.HandlePositionAlgoID;
+ data["ExchangeID"] = task_data.ExchangeID;
+ data["FindMarginRateAlgoID"] = task_data.FindMarginRateAlgoID;
+ data["BrokerID"] = task_data.BrokerID;
+ data["HandleTradingAccountAlgoID"] = task_data.HandleTradingAccountAlgoID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQryBrokerTradingAlgos(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQueryCFMMCTradingAccountToken(Task task)
+{
+ PyLock lock;
+ CThostFtdcQueryCFMMCTradingAccountTokenField task_data = any_cast(task.task_data);
+ dict data;
+ data["InvestorID"] = task_data.InvestorID;
+ data["BrokerID"] = task_data.BrokerID;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQueryCFMMCTradingAccountToken(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRtnFromBankToFutureByBank(Task task)
+{
+ PyLock lock;
+ CThostFtdcRspTransferField task_data = any_cast(task.task_data);
+ dict data;
+ data["BrokerBranchID"] = task_data.BrokerBranchID;
+ data["UserID"] = task_data.UserID;
+ data["BankPassWord"] = task_data.BankPassWord;
+ data["TradeTime"] = task_data.TradeTime;
+ data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag;
+ data["TID"] = task_data.TID;
+ data["AccountID"] = task_data.AccountID;
+ data["BankAccount"] = task_data.BankAccount;
+ data["InstallID"] = task_data.InstallID;
+ data["CustomerName"] = task_data.CustomerName;
+ data["TradeCode"] = task_data.TradeCode;
+ data["BankBranchID"] = task_data.BankBranchID;
+ data["SessionID"] = task_data.SessionID;
+ data["BankID"] = task_data.BankID;
+ data["Password"] = task_data.Password;
+ data["BankPwdFlag"] = task_data.BankPwdFlag;
+ data["ErrorID"] = task_data.ErrorID;
+ data["RequestID"] = task_data.RequestID;
+ data["CustType"] = task_data.CustType;
+ data["IdentifiedCardNo"] = task_data.IdentifiedCardNo;
+ data["FeePayFlag"] = task_data.FeePayFlag;
+ data["BankSerial"] = task_data.BankSerial;
+ data["OperNo"] = task_data.OperNo;
+ data["TradingDay"] = task_data.TradingDay;
+ data["BankSecuAcc"] = task_data.BankSecuAcc;
+ data["BrokerID"] = task_data.BrokerID;
+ data["DeviceID"] = task_data.DeviceID;
+ data["TransferStatus"] = task_data.TransferStatus;
+ data["IdCardType"] = task_data.IdCardType;
+ data["PlateSerial"] = task_data.PlateSerial;
+ data["FutureFetchAmount"] = task_data.FutureFetchAmount;
+ data["TradeDate"] = task_data.TradeDate;
+ data["CurrencyID"] = task_data.CurrencyID;
+ data["BrokerFee"] = task_data.BrokerFee;
+ data["BankAccType"] = task_data.BankAccType;
+ data["LastFragment"] = task_data.LastFragment;
+ data["FutureSerial"] = task_data.FutureSerial;
+ data["ErrorMsg"] = task_data.ErrorMsg;
+ data["BankSecuAccType"] = task_data.BankSecuAccType;
+ data["BrokerIDByBank"] = task_data.BrokerIDByBank;
+ data["SecuPwdFlag"] = task_data.SecuPwdFlag;
+ data["Message"] = task_data.Message;
+ data["CustFee"] = task_data.CustFee;
+ data["TradeAmount"] = task_data.TradeAmount;
+ data["Digest"] = task_data.Digest;
+
+ this->onRtnFromBankToFutureByBank(data);
+};
+
+void TdApi::processRtnFromFutureToBankByBank(Task task)
+{
+ PyLock lock;
+ CThostFtdcRspTransferField task_data = any_cast(task.task_data);
+ dict data;
+ data["BrokerBranchID"] = task_data.BrokerBranchID;
+ data["UserID"] = task_data.UserID;
+ data["BankPassWord"] = task_data.BankPassWord;
+ data["TradeTime"] = task_data.TradeTime;
+ data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag;
+ data["TID"] = task_data.TID;
+ data["AccountID"] = task_data.AccountID;
+ data["BankAccount"] = task_data.BankAccount;
+ data["InstallID"] = task_data.InstallID;
+ data["CustomerName"] = task_data.CustomerName;
+ data["TradeCode"] = task_data.TradeCode;
+ data["BankBranchID"] = task_data.BankBranchID;
+ data["SessionID"] = task_data.SessionID;
+ data["BankID"] = task_data.BankID;
+ data["Password"] = task_data.Password;
+ data["BankPwdFlag"] = task_data.BankPwdFlag;
+ data["ErrorID"] = task_data.ErrorID;
+ data["RequestID"] = task_data.RequestID;
+ data["CustType"] = task_data.CustType;
+ data["IdentifiedCardNo"] = task_data.IdentifiedCardNo;
+ data["FeePayFlag"] = task_data.FeePayFlag;
+ data["BankSerial"] = task_data.BankSerial;
+ data["OperNo"] = task_data.OperNo;
+ data["TradingDay"] = task_data.TradingDay;
+ data["BankSecuAcc"] = task_data.BankSecuAcc;
+ data["BrokerID"] = task_data.BrokerID;
+ data["DeviceID"] = task_data.DeviceID;
+ data["TransferStatus"] = task_data.TransferStatus;
+ data["IdCardType"] = task_data.IdCardType;
+ data["PlateSerial"] = task_data.PlateSerial;
+ data["FutureFetchAmount"] = task_data.FutureFetchAmount;
+ data["TradeDate"] = task_data.TradeDate;
+ data["CurrencyID"] = task_data.CurrencyID;
+ data["BrokerFee"] = task_data.BrokerFee;
+ data["BankAccType"] = task_data.BankAccType;
+ data["LastFragment"] = task_data.LastFragment;
+ data["FutureSerial"] = task_data.FutureSerial;
+ data["ErrorMsg"] = task_data.ErrorMsg;
+ data["BankSecuAccType"] = task_data.BankSecuAccType;
+ data["BrokerIDByBank"] = task_data.BrokerIDByBank;
+ data["SecuPwdFlag"] = task_data.SecuPwdFlag;
+ data["Message"] = task_data.Message;
+ data["CustFee"] = task_data.CustFee;
+ data["TradeAmount"] = task_data.TradeAmount;
+ data["Digest"] = task_data.Digest;
+
+ this->onRtnFromFutureToBankByBank(data);
+};
+
+void TdApi::processRtnRepealFromBankToFutureByBank(Task task)
+{
+ PyLock lock;
+ CThostFtdcRspRepealField task_data = any_cast(task.task_data);
+ dict data;
+ data["BrokerBranchID"] = task_data.BrokerBranchID;
+ data["UserID"] = task_data.UserID;
+ data["BankPassWord"] = task_data.BankPassWord;
+ data["BankRepealFlag"] = task_data.BankRepealFlag;
+ data["RepealedTimes"] = task_data.RepealedTimes;
+ data["TradeTime"] = task_data.TradeTime;
+ data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag;
+ data["TID"] = task_data.TID;
+ data["FutureRepealSerial"] = task_data.FutureRepealSerial;
+ data["AccountID"] = task_data.AccountID;
+ data["BankAccount"] = task_data.BankAccount;
+ data["InstallID"] = task_data.InstallID;
+ data["SecuPwdFlag"] = task_data.SecuPwdFlag;
+ data["CustomerName"] = task_data.CustomerName;
+ data["TradeCode"] = task_data.TradeCode;
+ data["BankBranchID"] = task_data.BankBranchID;
+ data["SessionID"] = task_data.SessionID;
+ data["BankID"] = task_data.BankID;
+ data["PlateSerial"] = task_data.PlateSerial;
+ data["BankPwdFlag"] = task_data.BankPwdFlag;
+ data["ErrorID"] = task_data.ErrorID;
+ data["RequestID"] = task_data.RequestID;
+ data["CustType"] = task_data.CustType;
+ data["IdentifiedCardNo"] = task_data.IdentifiedCardNo;
+ data["FeePayFlag"] = task_data.FeePayFlag;
+ data["BankSerial"] = task_data.BankSerial;
+ data["OperNo"] = task_data.OperNo;
+ data["TradingDay"] = task_data.TradingDay;
+ data["BankSecuAcc"] = task_data.BankSecuAcc;
+ data["BrokerID"] = task_data.BrokerID;
+ data["DeviceID"] = task_data.DeviceID;
+ data["TransferStatus"] = task_data.TransferStatus;
+ data["BrokerRepealFlag"] = task_data.BrokerRepealFlag;
+ data["IdCardType"] = task_data.IdCardType;
+ data["Password"] = task_data.Password;
+ data["FutureFetchAmount"] = task_data.FutureFetchAmount;
+ data["TradeDate"] = task_data.TradeDate;
+ data["CurrencyID"] = task_data.CurrencyID;
+ data["BrokerFee"] = task_data.BrokerFee;
+ data["BankAccType"] = task_data.BankAccType;
+ data["LastFragment"] = task_data.LastFragment;
+ data["FutureSerial"] = task_data.FutureSerial;
+ data["BankRepealSerial"] = task_data.BankRepealSerial;
+ data["ErrorMsg"] = task_data.ErrorMsg;
+ data["RepealTimeInterval"] = task_data.RepealTimeInterval;
+ data["BankSecuAccType"] = task_data.BankSecuAccType;
+ data["BrokerIDByBank"] = task_data.BrokerIDByBank;
+ data["PlateRepealSerial"] = task_data.PlateRepealSerial;
+ data["Message"] = task_data.Message;
+ data["CustFee"] = task_data.CustFee;
+ data["TradeAmount"] = task_data.TradeAmount;
+ data["Digest"] = task_data.Digest;
+
+ this->onRtnRepealFromBankToFutureByBank(data);
+};
+
+void TdApi::processRtnRepealFromFutureToBankByBank(Task task)
+{
+ PyLock lock;
+ CThostFtdcRspRepealField task_data = any_cast(task.task_data);
+ dict data;
+ data["BrokerBranchID"] = task_data.BrokerBranchID;
+ data["UserID"] = task_data.UserID;
+ data["BankPassWord"] = task_data.BankPassWord;
+ data["BankRepealFlag"] = task_data.BankRepealFlag;
+ data["RepealedTimes"] = task_data.RepealedTimes;
+ data["TradeTime"] = task_data.TradeTime;
+ data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag;
+ data["TID"] = task_data.TID;
+ data["FutureRepealSerial"] = task_data.FutureRepealSerial;
+ data["AccountID"] = task_data.AccountID;
+ data["BankAccount"] = task_data.BankAccount;
+ data["InstallID"] = task_data.InstallID;
+ data["SecuPwdFlag"] = task_data.SecuPwdFlag;
+ data["CustomerName"] = task_data.CustomerName;
+ data["TradeCode"] = task_data.TradeCode;
+ data["BankBranchID"] = task_data.BankBranchID;
+ data["SessionID"] = task_data.SessionID;
+ data["BankID"] = task_data.BankID;
+ data["PlateSerial"] = task_data.PlateSerial;
+ data["BankPwdFlag"] = task_data.BankPwdFlag;
+ data["ErrorID"] = task_data.ErrorID;
+ data["RequestID"] = task_data.RequestID;
+ data["CustType"] = task_data.CustType;
+ data["IdentifiedCardNo"] = task_data.IdentifiedCardNo;
+ data["FeePayFlag"] = task_data.FeePayFlag;
+ data["BankSerial"] = task_data.BankSerial;
+ data["OperNo"] = task_data.OperNo;
+ data["TradingDay"] = task_data.TradingDay;
+ data["BankSecuAcc"] = task_data.BankSecuAcc;
+ data["BrokerID"] = task_data.BrokerID;
+ data["DeviceID"] = task_data.DeviceID;
+ data["TransferStatus"] = task_data.TransferStatus;
+ data["BrokerRepealFlag"] = task_data.BrokerRepealFlag;
+ data["IdCardType"] = task_data.IdCardType;
+ data["Password"] = task_data.Password;
+ data["FutureFetchAmount"] = task_data.FutureFetchAmount;
+ data["TradeDate"] = task_data.TradeDate;
+ data["CurrencyID"] = task_data.CurrencyID;
+ data["BrokerFee"] = task_data.BrokerFee;
+ data["BankAccType"] = task_data.BankAccType;
+ data["LastFragment"] = task_data.LastFragment;
+ data["FutureSerial"] = task_data.FutureSerial;
+ data["BankRepealSerial"] = task_data.BankRepealSerial;
+ data["ErrorMsg"] = task_data.ErrorMsg;
+ data["RepealTimeInterval"] = task_data.RepealTimeInterval;
+ data["BankSecuAccType"] = task_data.BankSecuAccType;
+ data["BrokerIDByBank"] = task_data.BrokerIDByBank;
+ data["PlateRepealSerial"] = task_data.PlateRepealSerial;
+ data["Message"] = task_data.Message;
+ data["CustFee"] = task_data.CustFee;
+ data["TradeAmount"] = task_data.TradeAmount;
+ data["Digest"] = task_data.Digest;
+
+ this->onRtnRepealFromFutureToBankByBank(data);
+};
+
+void TdApi::processRtnFromBankToFutureByFuture(Task task)
+{
+ PyLock lock;
+ CThostFtdcRspTransferField task_data = any_cast(task.task_data);
+ dict data;
+ data["BrokerBranchID"] = task_data.BrokerBranchID;
+ data["UserID"] = task_data.UserID;
+ data["BankPassWord"] = task_data.BankPassWord;
+ data["TradeTime"] = task_data.TradeTime;
+ data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag;
+ data["TID"] = task_data.TID;
+ data["AccountID"] = task_data.AccountID;
+ data["BankAccount"] = task_data.BankAccount;
+ data["InstallID"] = task_data.InstallID;
+ data["CustomerName"] = task_data.CustomerName;
+ data["TradeCode"] = task_data.TradeCode;
+ data["BankBranchID"] = task_data.BankBranchID;
+ data["SessionID"] = task_data.SessionID;
+ data["BankID"] = task_data.BankID;
+ data["Password"] = task_data.Password;
+ data["BankPwdFlag"] = task_data.BankPwdFlag;
+ data["ErrorID"] = task_data.ErrorID;
+ data["RequestID"] = task_data.RequestID;
+ data["CustType"] = task_data.CustType;
+ data["IdentifiedCardNo"] = task_data.IdentifiedCardNo;
+ data["FeePayFlag"] = task_data.FeePayFlag;
+ data["BankSerial"] = task_data.BankSerial;
+ data["OperNo"] = task_data.OperNo;
+ data["TradingDay"] = task_data.TradingDay;
+ data["BankSecuAcc"] = task_data.BankSecuAcc;
+ data["BrokerID"] = task_data.BrokerID;
+ data["DeviceID"] = task_data.DeviceID;
+ data["TransferStatus"] = task_data.TransferStatus;
+ data["IdCardType"] = task_data.IdCardType;
+ data["PlateSerial"] = task_data.PlateSerial;
+ data["FutureFetchAmount"] = task_data.FutureFetchAmount;
+ data["TradeDate"] = task_data.TradeDate;
+ data["CurrencyID"] = task_data.CurrencyID;
+ data["BrokerFee"] = task_data.BrokerFee;
+ data["BankAccType"] = task_data.BankAccType;
+ data["LastFragment"] = task_data.LastFragment;
+ data["FutureSerial"] = task_data.FutureSerial;
+ data["ErrorMsg"] = task_data.ErrorMsg;
+ data["BankSecuAccType"] = task_data.BankSecuAccType;
+ data["BrokerIDByBank"] = task_data.BrokerIDByBank;
+ data["SecuPwdFlag"] = task_data.SecuPwdFlag;
+ data["Message"] = task_data.Message;
+ data["CustFee"] = task_data.CustFee;
+ data["TradeAmount"] = task_data.TradeAmount;
+ data["Digest"] = task_data.Digest;
+
+ this->onRtnFromBankToFutureByFuture(data);
+};
+
+void TdApi::processRtnFromFutureToBankByFuture(Task task)
+{
+ PyLock lock;
+ CThostFtdcRspTransferField task_data = any_cast(task.task_data);
+ dict data;
+ data["BrokerBranchID"] = task_data.BrokerBranchID;
+ data["UserID"] = task_data.UserID;
+ data["BankPassWord"] = task_data.BankPassWord;
+ data["TradeTime"] = task_data.TradeTime;
+ data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag;
+ data["TID"] = task_data.TID;
+ data["AccountID"] = task_data.AccountID;
+ data["BankAccount"] = task_data.BankAccount;
+ data["InstallID"] = task_data.InstallID;
+ data["CustomerName"] = task_data.CustomerName;
+ data["TradeCode"] = task_data.TradeCode;
+ data["BankBranchID"] = task_data.BankBranchID;
+ data["SessionID"] = task_data.SessionID;
+ data["BankID"] = task_data.BankID;
+ data["Password"] = task_data.Password;
+ data["BankPwdFlag"] = task_data.BankPwdFlag;
+ data["ErrorID"] = task_data.ErrorID;
+ data["RequestID"] = task_data.RequestID;
+ data["CustType"] = task_data.CustType;
+ data["IdentifiedCardNo"] = task_data.IdentifiedCardNo;
+ data["FeePayFlag"] = task_data.FeePayFlag;
+ data["BankSerial"] = task_data.BankSerial;
+ data["OperNo"] = task_data.OperNo;
+ data["TradingDay"] = task_data.TradingDay;
+ data["BankSecuAcc"] = task_data.BankSecuAcc;
+ data["BrokerID"] = task_data.BrokerID;
+ data["DeviceID"] = task_data.DeviceID;
+ data["TransferStatus"] = task_data.TransferStatus;
+ data["IdCardType"] = task_data.IdCardType;
+ data["PlateSerial"] = task_data.PlateSerial;
+ data["FutureFetchAmount"] = task_data.FutureFetchAmount;
+ data["TradeDate"] = task_data.TradeDate;
+ data["CurrencyID"] = task_data.CurrencyID;
+ data["BrokerFee"] = task_data.BrokerFee;
+ data["BankAccType"] = task_data.BankAccType;
+ data["LastFragment"] = task_data.LastFragment;
+ data["FutureSerial"] = task_data.FutureSerial;
+ data["ErrorMsg"] = task_data.ErrorMsg;
+ data["BankSecuAccType"] = task_data.BankSecuAccType;
+ data["BrokerIDByBank"] = task_data.BrokerIDByBank;
+ data["SecuPwdFlag"] = task_data.SecuPwdFlag;
+ data["Message"] = task_data.Message;
+ data["CustFee"] = task_data.CustFee;
+ data["TradeAmount"] = task_data.TradeAmount;
+ data["Digest"] = task_data.Digest;
+
+ this->onRtnFromFutureToBankByFuture(data);
+};
+
+void TdApi::processRtnRepealFromBankToFutureByFutureManual(Task task)
+{
+ PyLock lock;
+ CThostFtdcRspRepealField task_data = any_cast(task.task_data);
+ dict data;
+ data["BrokerBranchID"] = task_data.BrokerBranchID;
+ data["UserID"] = task_data.UserID;
+ data["BankPassWord"] = task_data.BankPassWord;
+ data["BankRepealFlag"] = task_data.BankRepealFlag;
+ data["RepealedTimes"] = task_data.RepealedTimes;
+ data["TradeTime"] = task_data.TradeTime;
+ data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag;
+ data["TID"] = task_data.TID;
+ data["FutureRepealSerial"] = task_data.FutureRepealSerial;
+ data["AccountID"] = task_data.AccountID;
+ data["BankAccount"] = task_data.BankAccount;
+ data["InstallID"] = task_data.InstallID;
+ data["SecuPwdFlag"] = task_data.SecuPwdFlag;
+ data["CustomerName"] = task_data.CustomerName;
+ data["TradeCode"] = task_data.TradeCode;
+ data["BankBranchID"] = task_data.BankBranchID;
+ data["SessionID"] = task_data.SessionID;
+ data["BankID"] = task_data.BankID;
+ data["PlateSerial"] = task_data.PlateSerial;
+ data["BankPwdFlag"] = task_data.BankPwdFlag;
+ data["ErrorID"] = task_data.ErrorID;
+ data["RequestID"] = task_data.RequestID;
+ data["CustType"] = task_data.CustType;
+ data["IdentifiedCardNo"] = task_data.IdentifiedCardNo;
+ data["FeePayFlag"] = task_data.FeePayFlag;
+ data["BankSerial"] = task_data.BankSerial;
+ data["OperNo"] = task_data.OperNo;
+ data["TradingDay"] = task_data.TradingDay;
+ data["BankSecuAcc"] = task_data.BankSecuAcc;
+ data["BrokerID"] = task_data.BrokerID;
+ data["DeviceID"] = task_data.DeviceID;
+ data["TransferStatus"] = task_data.TransferStatus;
+ data["BrokerRepealFlag"] = task_data.BrokerRepealFlag;
+ data["IdCardType"] = task_data.IdCardType;
+ data["Password"] = task_data.Password;
+ data["FutureFetchAmount"] = task_data.FutureFetchAmount;
+ data["TradeDate"] = task_data.TradeDate;
+ data["CurrencyID"] = task_data.CurrencyID;
+ data["BrokerFee"] = task_data.BrokerFee;
+ data["BankAccType"] = task_data.BankAccType;
+ data["LastFragment"] = task_data.LastFragment;
+ data["FutureSerial"] = task_data.FutureSerial;
+ data["BankRepealSerial"] = task_data.BankRepealSerial;
+ data["ErrorMsg"] = task_data.ErrorMsg;
+ data["RepealTimeInterval"] = task_data.RepealTimeInterval;
+ data["BankSecuAccType"] = task_data.BankSecuAccType;
+ data["BrokerIDByBank"] = task_data.BrokerIDByBank;
+ data["PlateRepealSerial"] = task_data.PlateRepealSerial;
+ data["Message"] = task_data.Message;
+ data["CustFee"] = task_data.CustFee;
+ data["TradeAmount"] = task_data.TradeAmount;
+ data["Digest"] = task_data.Digest;
+
+ this->onRtnRepealFromBankToFutureByFutureManual(data);
+};
+
+void TdApi::processRtnRepealFromFutureToBankByFutureManual(Task task)
+{
+ PyLock lock;
+ CThostFtdcRspRepealField task_data = any_cast(task.task_data);
+ dict data;
+ data["BrokerBranchID"] = task_data.BrokerBranchID;
+ data["UserID"] = task_data.UserID;
+ data["BankPassWord"] = task_data.BankPassWord;
+ data["BankRepealFlag"] = task_data.BankRepealFlag;
+ data["RepealedTimes"] = task_data.RepealedTimes;
+ data["TradeTime"] = task_data.TradeTime;
+ data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag;
+ data["TID"] = task_data.TID;
+ data["FutureRepealSerial"] = task_data.FutureRepealSerial;
+ data["AccountID"] = task_data.AccountID;
+ data["BankAccount"] = task_data.BankAccount;
+ data["InstallID"] = task_data.InstallID;
+ data["SecuPwdFlag"] = task_data.SecuPwdFlag;
+ data["CustomerName"] = task_data.CustomerName;
+ data["TradeCode"] = task_data.TradeCode;
+ data["BankBranchID"] = task_data.BankBranchID;
+ data["SessionID"] = task_data.SessionID;
+ data["BankID"] = task_data.BankID;
+ data["PlateSerial"] = task_data.PlateSerial;
+ data["BankPwdFlag"] = task_data.BankPwdFlag;
+ data["ErrorID"] = task_data.ErrorID;
+ data["RequestID"] = task_data.RequestID;
+ data["CustType"] = task_data.CustType;
+ data["IdentifiedCardNo"] = task_data.IdentifiedCardNo;
+ data["FeePayFlag"] = task_data.FeePayFlag;
+ data["BankSerial"] = task_data.BankSerial;
+ data["OperNo"] = task_data.OperNo;
+ data["TradingDay"] = task_data.TradingDay;
+ data["BankSecuAcc"] = task_data.BankSecuAcc;
+ data["BrokerID"] = task_data.BrokerID;
+ data["DeviceID"] = task_data.DeviceID;
+ data["TransferStatus"] = task_data.TransferStatus;
+ data["BrokerRepealFlag"] = task_data.BrokerRepealFlag;
+ data["IdCardType"] = task_data.IdCardType;
+ data["Password"] = task_data.Password;
+ data["FutureFetchAmount"] = task_data.FutureFetchAmount;
+ data["TradeDate"] = task_data.TradeDate;
+ data["CurrencyID"] = task_data.CurrencyID;
+ data["BrokerFee"] = task_data.BrokerFee;
+ data["BankAccType"] = task_data.BankAccType;
+ data["LastFragment"] = task_data.LastFragment;
+ data["FutureSerial"] = task_data.FutureSerial;
+ data["BankRepealSerial"] = task_data.BankRepealSerial;
+ data["ErrorMsg"] = task_data.ErrorMsg;
+ data["RepealTimeInterval"] = task_data.RepealTimeInterval;
+ data["BankSecuAccType"] = task_data.BankSecuAccType;
+ data["BrokerIDByBank"] = task_data.BrokerIDByBank;
+ data["PlateRepealSerial"] = task_data.PlateRepealSerial;
+ data["Message"] = task_data.Message;
+ data["CustFee"] = task_data.CustFee;
+ data["TradeAmount"] = task_data.TradeAmount;
+ data["Digest"] = task_data.Digest;
+
+ this->onRtnRepealFromFutureToBankByFutureManual(data);
+};
+
+void TdApi::processRtnQueryBankBalanceByFuture(Task task)
+{
+ PyLock lock;
+ CThostFtdcNotifyQueryAccountField task_data = any_cast(task.task_data);
+ dict data;
+ data["BrokerBranchID"] = task_data.BrokerBranchID;
+ data["UserID"] = task_data.UserID;
+ data["BankPassWord"] = task_data.BankPassWord;
+ data["TradeTime"] = task_data.TradeTime;
+ data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag;
+ data["TID"] = task_data.TID;
+ data["AccountID"] = task_data.AccountID;
+ data["BankAccount"] = task_data.BankAccount;
+ data["InstallID"] = task_data.InstallID;
+ data["CustomerName"] = task_data.CustomerName;
+ data["TradeCode"] = task_data.TradeCode;
+ data["BankBranchID"] = task_data.BankBranchID;
+ data["SessionID"] = task_data.SessionID;
+ data["BankID"] = task_data.BankID;
+ data["Password"] = task_data.Password;
+ data["BankPwdFlag"] = task_data.BankPwdFlag;
+ data["ErrorID"] = task_data.ErrorID;
+ data["RequestID"] = task_data.RequestID;
+ data["CustType"] = task_data.CustType;
+ data["IdentifiedCardNo"] = task_data.IdentifiedCardNo;
+ data["BankSerial"] = task_data.BankSerial;
+ data["OperNo"] = task_data.OperNo;
+ data["TradingDay"] = task_data.TradingDay;
+ data["BankSecuAcc"] = task_data.BankSecuAcc;
+ data["BrokerID"] = task_data.BrokerID;
+ data["DeviceID"] = task_data.DeviceID;
+ data["BankUseAmount"] = task_data.BankUseAmount;
+ data["IdCardType"] = task_data.IdCardType;
+ data["PlateSerial"] = task_data.PlateSerial;
+ data["TradeDate"] = task_data.TradeDate;
+ data["CurrencyID"] = task_data.CurrencyID;
+ data["ErrorMsg"] = task_data.ErrorMsg;
+ data["BankAccType"] = task_data.BankAccType;
+ data["LastFragment"] = task_data.LastFragment;
+ data["FutureSerial"] = task_data.FutureSerial;
+ data["BankSecuAccType"] = task_data.BankSecuAccType;
+ data["BrokerIDByBank"] = task_data.BrokerIDByBank;
+ data["SecuPwdFlag"] = task_data.SecuPwdFlag;
+ data["Digest"] = task_data.Digest;
+ data["BankFetchAmount"] = task_data.BankFetchAmount;
+
+ this->onRtnQueryBankBalanceByFuture(data);
+};
+
+void TdApi::processErrRtnBankToFutureByFuture(Task task)
+{
+ PyLock lock;
+ CThostFtdcReqTransferField task_data = any_cast(task.task_data);
+ dict data;
+ data["BrokerBranchID"] = task_data.BrokerBranchID;
+ data["UserID"] = task_data.UserID;
+ data["BankPassWord"] = task_data.BankPassWord;
+ data["TradeTime"] = task_data.TradeTime;
+ data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag;
+ data["TID"] = task_data.TID;
+ data["AccountID"] = task_data.AccountID;
+ data["BankAccount"] = task_data.BankAccount;
+ data["InstallID"] = task_data.InstallID;
+ data["CustomerName"] = task_data.CustomerName;
+ data["TradeCode"] = task_data.TradeCode;
+ data["BankBranchID"] = task_data.BankBranchID;
+ data["SessionID"] = task_data.SessionID;
+ data["BankID"] = task_data.BankID;
+ data["Password"] = task_data.Password;
+ data["BankPwdFlag"] = task_data.BankPwdFlag;
+ data["RequestID"] = task_data.RequestID;
+ data["CustType"] = task_data.CustType;
+ data["IdentifiedCardNo"] = task_data.IdentifiedCardNo;
+ data["FeePayFlag"] = task_data.FeePayFlag;
+ data["BankSerial"] = task_data.BankSerial;
+ data["OperNo"] = task_data.OperNo;
+ data["TradingDay"] = task_data.TradingDay;
+ data["BankSecuAcc"] = task_data.BankSecuAcc;
+ data["BrokerID"] = task_data.BrokerID;
+ data["DeviceID"] = task_data.DeviceID;
+ data["TransferStatus"] = task_data.TransferStatus;
+ data["IdCardType"] = task_data.IdCardType;
+ data["PlateSerial"] = task_data.PlateSerial;
+ data["FutureFetchAmount"] = task_data.FutureFetchAmount;
+ data["TradeDate"] = task_data.TradeDate;
+ data["CurrencyID"] = task_data.CurrencyID;
+ data["BrokerFee"] = task_data.BrokerFee;
+ data["BankAccType"] = task_data.BankAccType;
+ data["LastFragment"] = task_data.LastFragment;
+ data["FutureSerial"] = task_data.FutureSerial;
+ data["BankSecuAccType"] = task_data.BankSecuAccType;
+ data["BrokerIDByBank"] = task_data.BrokerIDByBank;
+ data["SecuPwdFlag"] = task_data.SecuPwdFlag;
+ data["Message"] = task_data.Message;
+ data["CustFee"] = task_data.CustFee;
+ data["TradeAmount"] = task_data.TradeAmount;
+ data["Digest"] = task_data.Digest;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onErrRtnBankToFutureByFuture(data, error);
+};
+
+void TdApi::processErrRtnFutureToBankByFuture(Task task)
+{
+ PyLock lock;
+ CThostFtdcReqTransferField task_data = any_cast(task.task_data);
+ dict data;
+ data["BrokerBranchID"] = task_data.BrokerBranchID;
+ data["UserID"] = task_data.UserID;
+ data["BankPassWord"] = task_data.BankPassWord;
+ data["TradeTime"] = task_data.TradeTime;
+ data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag;
+ data["TID"] = task_data.TID;
+ data["AccountID"] = task_data.AccountID;
+ data["BankAccount"] = task_data.BankAccount;
+ data["InstallID"] = task_data.InstallID;
+ data["CustomerName"] = task_data.CustomerName;
+ data["TradeCode"] = task_data.TradeCode;
+ data["BankBranchID"] = task_data.BankBranchID;
+ data["SessionID"] = task_data.SessionID;
+ data["BankID"] = task_data.BankID;
+ data["Password"] = task_data.Password;
+ data["BankPwdFlag"] = task_data.BankPwdFlag;
+ data["RequestID"] = task_data.RequestID;
+ data["CustType"] = task_data.CustType;
+ data["IdentifiedCardNo"] = task_data.IdentifiedCardNo;
+ data["FeePayFlag"] = task_data.FeePayFlag;
+ data["BankSerial"] = task_data.BankSerial;
+ data["OperNo"] = task_data.OperNo;
+ data["TradingDay"] = task_data.TradingDay;
+ data["BankSecuAcc"] = task_data.BankSecuAcc;
+ data["BrokerID"] = task_data.BrokerID;
+ data["DeviceID"] = task_data.DeviceID;
+ data["TransferStatus"] = task_data.TransferStatus;
+ data["IdCardType"] = task_data.IdCardType;
+ data["PlateSerial"] = task_data.PlateSerial;
+ data["FutureFetchAmount"] = task_data.FutureFetchAmount;
+ data["TradeDate"] = task_data.TradeDate;
+ data["CurrencyID"] = task_data.CurrencyID;
+ data["BrokerFee"] = task_data.BrokerFee;
+ data["BankAccType"] = task_data.BankAccType;
+ data["LastFragment"] = task_data.LastFragment;
+ data["FutureSerial"] = task_data.FutureSerial;
+ data["BankSecuAccType"] = task_data.BankSecuAccType;
+ data["BrokerIDByBank"] = task_data.BrokerIDByBank;
+ data["SecuPwdFlag"] = task_data.SecuPwdFlag;
+ data["Message"] = task_data.Message;
+ data["CustFee"] = task_data.CustFee;
+ data["TradeAmount"] = task_data.TradeAmount;
+ data["Digest"] = task_data.Digest;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onErrRtnFutureToBankByFuture(data, error);
+};
+
+void TdApi::processErrRtnRepealBankToFutureByFutureManual(Task task)
+{
+ PyLock lock;
+ CThostFtdcReqRepealField task_data = any_cast(task.task_data);
+ dict data;
+ data["BrokerBranchID"] = task_data.BrokerBranchID;
+ data["UserID"] = task_data.UserID;
+ data["BankPassWord"] = task_data.BankPassWord;
+ data["BankRepealFlag"] = task_data.BankRepealFlag;
+ data["RepealedTimes"] = task_data.RepealedTimes;
+ data["TradeTime"] = task_data.TradeTime;
+ data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag;
+ data["TID"] = task_data.TID;
+ data["FutureRepealSerial"] = task_data.FutureRepealSerial;
+ data["AccountID"] = task_data.AccountID;
+ data["BankAccount"] = task_data.BankAccount;
+ data["InstallID"] = task_data.InstallID;
+ data["SecuPwdFlag"] = task_data.SecuPwdFlag;
+ data["CustomerName"] = task_data.CustomerName;
+ data["TradeCode"] = task_data.TradeCode;
+ data["BankBranchID"] = task_data.BankBranchID;
+ data["SessionID"] = task_data.SessionID;
+ data["BankID"] = task_data.BankID;
+ data["PlateSerial"] = task_data.PlateSerial;
+ data["BankPwdFlag"] = task_data.BankPwdFlag;
+ data["RequestID"] = task_data.RequestID;
+ data["CustType"] = task_data.CustType;
+ data["IdentifiedCardNo"] = task_data.IdentifiedCardNo;
+ data["FeePayFlag"] = task_data.FeePayFlag;
+ data["BankSerial"] = task_data.BankSerial;
+ data["OperNo"] = task_data.OperNo;
+ data["TradingDay"] = task_data.TradingDay;
+ data["BankSecuAcc"] = task_data.BankSecuAcc;
+ data["BrokerID"] = task_data.BrokerID;
+ data["DeviceID"] = task_data.DeviceID;
+ data["TransferStatus"] = task_data.TransferStatus;
+ data["BrokerRepealFlag"] = task_data.BrokerRepealFlag;
+ data["IdCardType"] = task_data.IdCardType;
+ data["Password"] = task_data.Password;
+ data["FutureFetchAmount"] = task_data.FutureFetchAmount;
+ data["TradeDate"] = task_data.TradeDate;
+ data["CurrencyID"] = task_data.CurrencyID;
+ data["BrokerFee"] = task_data.BrokerFee;
+ data["BankAccType"] = task_data.BankAccType;
+ data["LastFragment"] = task_data.LastFragment;
+ data["FutureSerial"] = task_data.FutureSerial;
+ data["BankRepealSerial"] = task_data.BankRepealSerial;
+ data["RepealTimeInterval"] = task_data.RepealTimeInterval;
+ data["BankSecuAccType"] = task_data.BankSecuAccType;
+ data["BrokerIDByBank"] = task_data.BrokerIDByBank;
+ data["PlateRepealSerial"] = task_data.PlateRepealSerial;
+ data["Message"] = task_data.Message;
+ data["CustFee"] = task_data.CustFee;
+ data["TradeAmount"] = task_data.TradeAmount;
+ data["Digest"] = task_data.Digest;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onErrRtnRepealBankToFutureByFutureManual(data, error);
+};
+
+void TdApi::processErrRtnRepealFutureToBankByFutureManual(Task task)
+{
+ PyLock lock;
+ CThostFtdcReqRepealField task_data = any_cast(task.task_data);
+ dict data;
+ data["BrokerBranchID"] = task_data.BrokerBranchID;
+ data["UserID"] = task_data.UserID;
+ data["BankPassWord"] = task_data.BankPassWord;
+ data["BankRepealFlag"] = task_data.BankRepealFlag;
+ data["RepealedTimes"] = task_data.RepealedTimes;
+ data["TradeTime"] = task_data.TradeTime;
+ data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag;
+ data["TID"] = task_data.TID;
+ data["FutureRepealSerial"] = task_data.FutureRepealSerial;
+ data["AccountID"] = task_data.AccountID;
+ data["BankAccount"] = task_data.BankAccount;
+ data["InstallID"] = task_data.InstallID;
+ data["SecuPwdFlag"] = task_data.SecuPwdFlag;
+ data["CustomerName"] = task_data.CustomerName;
+ data["TradeCode"] = task_data.TradeCode;
+ data["BankBranchID"] = task_data.BankBranchID;
+ data["SessionID"] = task_data.SessionID;
+ data["BankID"] = task_data.BankID;
+ data["PlateSerial"] = task_data.PlateSerial;
+ data["BankPwdFlag"] = task_data.BankPwdFlag;
+ data["RequestID"] = task_data.RequestID;
+ data["CustType"] = task_data.CustType;
+ data["IdentifiedCardNo"] = task_data.IdentifiedCardNo;
+ data["FeePayFlag"] = task_data.FeePayFlag;
+ data["BankSerial"] = task_data.BankSerial;
+ data["OperNo"] = task_data.OperNo;
+ data["TradingDay"] = task_data.TradingDay;
+ data["BankSecuAcc"] = task_data.BankSecuAcc;
+ data["BrokerID"] = task_data.BrokerID;
+ data["DeviceID"] = task_data.DeviceID;
+ data["TransferStatus"] = task_data.TransferStatus;
+ data["BrokerRepealFlag"] = task_data.BrokerRepealFlag;
+ data["IdCardType"] = task_data.IdCardType;
+ data["Password"] = task_data.Password;
+ data["FutureFetchAmount"] = task_data.FutureFetchAmount;
+ data["TradeDate"] = task_data.TradeDate;
+ data["CurrencyID"] = task_data.CurrencyID;
+ data["BrokerFee"] = task_data.BrokerFee;
+ data["BankAccType"] = task_data.BankAccType;
+ data["LastFragment"] = task_data.LastFragment;
+ data["FutureSerial"] = task_data.FutureSerial;
+ data["BankRepealSerial"] = task_data.BankRepealSerial;
+ data["RepealTimeInterval"] = task_data.RepealTimeInterval;
+ data["BankSecuAccType"] = task_data.BankSecuAccType;
+ data["BrokerIDByBank"] = task_data.BrokerIDByBank;
+ data["PlateRepealSerial"] = task_data.PlateRepealSerial;
+ data["Message"] = task_data.Message;
+ data["CustFee"] = task_data.CustFee;
+ data["TradeAmount"] = task_data.TradeAmount;
+ data["Digest"] = task_data.Digest;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onErrRtnRepealFutureToBankByFutureManual(data, error);
+};
+
+void TdApi::processErrRtnQueryBankBalanceByFuture(Task task)
+{
+ PyLock lock;
+ CThostFtdcReqQueryAccountField task_data = any_cast(task.task_data);
+ dict data;
+ data["BrokerBranchID"] = task_data.BrokerBranchID;
+ data["UserID"] = task_data.UserID;
+ data["BankPassWord"] = task_data.BankPassWord;
+ data["TradeTime"] = task_data.TradeTime;
+ data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag;
+ data["TID"] = task_data.TID;
+ data["AccountID"] = task_data.AccountID;
+ data["BankAccount"] = task_data.BankAccount;
+ data["InstallID"] = task_data.InstallID;
+ data["CustomerName"] = task_data.CustomerName;
+ data["TradeCode"] = task_data.TradeCode;
+ data["BankBranchID"] = task_data.BankBranchID;
+ data["SessionID"] = task_data.SessionID;
+ data["BankID"] = task_data.BankID;
+ data["Password"] = task_data.Password;
+ data["BankPwdFlag"] = task_data.BankPwdFlag;
+ data["RequestID"] = task_data.RequestID;
+ data["CustType"] = task_data.CustType;
+ data["IdentifiedCardNo"] = task_data.IdentifiedCardNo;
+ data["BankSerial"] = task_data.BankSerial;
+ data["OperNo"] = task_data.OperNo;
+ data["TradingDay"] = task_data.TradingDay;
+ data["BankSecuAcc"] = task_data.BankSecuAcc;
+ data["BrokerID"] = task_data.BrokerID;
+ data["DeviceID"] = task_data.DeviceID;
+ data["IdCardType"] = task_data.IdCardType;
+ data["PlateSerial"] = task_data.PlateSerial;
+ data["TradeDate"] = task_data.TradeDate;
+ data["CurrencyID"] = task_data.CurrencyID;
+ data["BankAccType"] = task_data.BankAccType;
+ data["LastFragment"] = task_data.LastFragment;
+ data["FutureSerial"] = task_data.FutureSerial;
+ data["BankSecuAccType"] = task_data.BankSecuAccType;
+ data["BrokerIDByBank"] = task_data.BrokerIDByBank;
+ data["SecuPwdFlag"] = task_data.SecuPwdFlag;
+ data["Digest"] = task_data.Digest;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onErrRtnQueryBankBalanceByFuture(data, error);
+};
+
+void TdApi::processRtnRepealFromBankToFutureByFuture(Task task)
+{
+ PyLock lock;
+ CThostFtdcRspRepealField task_data = any_cast(task.task_data);
+ dict data;
+ data["BrokerBranchID"] = task_data.BrokerBranchID;
+ data["UserID"] = task_data.UserID;
+ data["BankPassWord"] = task_data.BankPassWord;
+ data["BankRepealFlag"] = task_data.BankRepealFlag;
+ data["RepealedTimes"] = task_data.RepealedTimes;
+ data["TradeTime"] = task_data.TradeTime;
+ data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag;
+ data["TID"] = task_data.TID;
+ data["FutureRepealSerial"] = task_data.FutureRepealSerial;
+ data["AccountID"] = task_data.AccountID;
+ data["BankAccount"] = task_data.BankAccount;
+ data["InstallID"] = task_data.InstallID;
+ data["SecuPwdFlag"] = task_data.SecuPwdFlag;
+ data["CustomerName"] = task_data.CustomerName;
+ data["TradeCode"] = task_data.TradeCode;
+ data["BankBranchID"] = task_data.BankBranchID;
+ data["SessionID"] = task_data.SessionID;
+ data["BankID"] = task_data.BankID;
+ data["PlateSerial"] = task_data.PlateSerial;
+ data["BankPwdFlag"] = task_data.BankPwdFlag;
+ data["ErrorID"] = task_data.ErrorID;
+ data["RequestID"] = task_data.RequestID;
+ data["CustType"] = task_data.CustType;
+ data["IdentifiedCardNo"] = task_data.IdentifiedCardNo;
+ data["FeePayFlag"] = task_data.FeePayFlag;
+ data["BankSerial"] = task_data.BankSerial;
+ data["OperNo"] = task_data.OperNo;
+ data["TradingDay"] = task_data.TradingDay;
+ data["BankSecuAcc"] = task_data.BankSecuAcc;
+ data["BrokerID"] = task_data.BrokerID;
+ data["DeviceID"] = task_data.DeviceID;
+ data["TransferStatus"] = task_data.TransferStatus;
+ data["BrokerRepealFlag"] = task_data.BrokerRepealFlag;
+ data["IdCardType"] = task_data.IdCardType;
+ data["Password"] = task_data.Password;
+ data["FutureFetchAmount"] = task_data.FutureFetchAmount;
+ data["TradeDate"] = task_data.TradeDate;
+ data["CurrencyID"] = task_data.CurrencyID;
+ data["BrokerFee"] = task_data.BrokerFee;
+ data["BankAccType"] = task_data.BankAccType;
+ data["LastFragment"] = task_data.LastFragment;
+ data["FutureSerial"] = task_data.FutureSerial;
+ data["BankRepealSerial"] = task_data.BankRepealSerial;
+ data["ErrorMsg"] = task_data.ErrorMsg;
+ data["RepealTimeInterval"] = task_data.RepealTimeInterval;
+ data["BankSecuAccType"] = task_data.BankSecuAccType;
+ data["BrokerIDByBank"] = task_data.BrokerIDByBank;
+ data["PlateRepealSerial"] = task_data.PlateRepealSerial;
+ data["Message"] = task_data.Message;
+ data["CustFee"] = task_data.CustFee;
+ data["TradeAmount"] = task_data.TradeAmount;
+ data["Digest"] = task_data.Digest;
+
+ this->onRtnRepealFromBankToFutureByFuture(data);
+};
+
+void TdApi::processRtnRepealFromFutureToBankByFuture(Task task)
+{
+ PyLock lock;
+ CThostFtdcRspRepealField task_data = any_cast(task.task_data);
+ dict data;
+ data["BrokerBranchID"] = task_data.BrokerBranchID;
+ data["UserID"] = task_data.UserID;
+ data["BankPassWord"] = task_data.BankPassWord;
+ data["BankRepealFlag"] = task_data.BankRepealFlag;
+ data["RepealedTimes"] = task_data.RepealedTimes;
+ data["TradeTime"] = task_data.TradeTime;
+ data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag;
+ data["TID"] = task_data.TID;
+ data["FutureRepealSerial"] = task_data.FutureRepealSerial;
+ data["AccountID"] = task_data.AccountID;
+ data["BankAccount"] = task_data.BankAccount;
+ data["InstallID"] = task_data.InstallID;
+ data["SecuPwdFlag"] = task_data.SecuPwdFlag;
+ data["CustomerName"] = task_data.CustomerName;
+ data["TradeCode"] = task_data.TradeCode;
+ data["BankBranchID"] = task_data.BankBranchID;
+ data["SessionID"] = task_data.SessionID;
+ data["BankID"] = task_data.BankID;
+ data["PlateSerial"] = task_data.PlateSerial;
+ data["BankPwdFlag"] = task_data.BankPwdFlag;
+ data["ErrorID"] = task_data.ErrorID;
+ data["RequestID"] = task_data.RequestID;
+ data["CustType"] = task_data.CustType;
+ data["IdentifiedCardNo"] = task_data.IdentifiedCardNo;
+ data["FeePayFlag"] = task_data.FeePayFlag;
+ data["BankSerial"] = task_data.BankSerial;
+ data["OperNo"] = task_data.OperNo;
+ data["TradingDay"] = task_data.TradingDay;
+ data["BankSecuAcc"] = task_data.BankSecuAcc;
+ data["BrokerID"] = task_data.BrokerID;
+ data["DeviceID"] = task_data.DeviceID;
+ data["TransferStatus"] = task_data.TransferStatus;
+ data["BrokerRepealFlag"] = task_data.BrokerRepealFlag;
+ data["IdCardType"] = task_data.IdCardType;
+ data["Password"] = task_data.Password;
+ data["FutureFetchAmount"] = task_data.FutureFetchAmount;
+ data["TradeDate"] = task_data.TradeDate;
+ data["CurrencyID"] = task_data.CurrencyID;
+ data["BrokerFee"] = task_data.BrokerFee;
+ data["BankAccType"] = task_data.BankAccType;
+ data["LastFragment"] = task_data.LastFragment;
+ data["FutureSerial"] = task_data.FutureSerial;
+ data["BankRepealSerial"] = task_data.BankRepealSerial;
+ data["ErrorMsg"] = task_data.ErrorMsg;
+ data["RepealTimeInterval"] = task_data.RepealTimeInterval;
+ data["BankSecuAccType"] = task_data.BankSecuAccType;
+ data["BrokerIDByBank"] = task_data.BrokerIDByBank;
+ data["PlateRepealSerial"] = task_data.PlateRepealSerial;
+ data["Message"] = task_data.Message;
+ data["CustFee"] = task_data.CustFee;
+ data["TradeAmount"] = task_data.TradeAmount;
+ data["Digest"] = task_data.Digest;
+
+ this->onRtnRepealFromFutureToBankByFuture(data);
+};
+
+void TdApi::processRspFromBankToFutureByFuture(Task task)
+{
+ PyLock lock;
+ CThostFtdcReqTransferField task_data = any_cast(task.task_data);
+ dict data;
+ data["BrokerBranchID"] = task_data.BrokerBranchID;
+ data["UserID"] = task_data.UserID;
+ data["BankPassWord"] = task_data.BankPassWord;
+ data["TradeTime"] = task_data.TradeTime;
+ data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag;
+ data["TID"] = task_data.TID;
+ data["AccountID"] = task_data.AccountID;
+ data["BankAccount"] = task_data.BankAccount;
+ data["InstallID"] = task_data.InstallID;
+ data["CustomerName"] = task_data.CustomerName;
+ data["TradeCode"] = task_data.TradeCode;
+ data["BankBranchID"] = task_data.BankBranchID;
+ data["SessionID"] = task_data.SessionID;
+ data["BankID"] = task_data.BankID;
+ data["Password"] = task_data.Password;
+ data["BankPwdFlag"] = task_data.BankPwdFlag;
+ data["RequestID"] = task_data.RequestID;
+ data["CustType"] = task_data.CustType;
+ data["IdentifiedCardNo"] = task_data.IdentifiedCardNo;
+ data["FeePayFlag"] = task_data.FeePayFlag;
+ data["BankSerial"] = task_data.BankSerial;
+ data["OperNo"] = task_data.OperNo;
+ data["TradingDay"] = task_data.TradingDay;
+ data["BankSecuAcc"] = task_data.BankSecuAcc;
+ data["BrokerID"] = task_data.BrokerID;
+ data["DeviceID"] = task_data.DeviceID;
+ data["TransferStatus"] = task_data.TransferStatus;
+ data["IdCardType"] = task_data.IdCardType;
+ data["PlateSerial"] = task_data.PlateSerial;
+ data["FutureFetchAmount"] = task_data.FutureFetchAmount;
+ data["TradeDate"] = task_data.TradeDate;
+ data["CurrencyID"] = task_data.CurrencyID;
+ data["BrokerFee"] = task_data.BrokerFee;
+ data["BankAccType"] = task_data.BankAccType;
+ data["LastFragment"] = task_data.LastFragment;
+ data["FutureSerial"] = task_data.FutureSerial;
+ data["BankSecuAccType"] = task_data.BankSecuAccType;
+ data["BrokerIDByBank"] = task_data.BrokerIDByBank;
+ data["SecuPwdFlag"] = task_data.SecuPwdFlag;
+ data["Message"] = task_data.Message;
+ data["CustFee"] = task_data.CustFee;
+ data["TradeAmount"] = task_data.TradeAmount;
+ data["Digest"] = task_data.Digest;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspFromBankToFutureByFuture(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspFromFutureToBankByFuture(Task task)
+{
+ PyLock lock;
+ CThostFtdcReqTransferField task_data = any_cast(task.task_data);
+ dict data;
+ data["BrokerBranchID"] = task_data.BrokerBranchID;
+ data["UserID"] = task_data.UserID;
+ data["BankPassWord"] = task_data.BankPassWord;
+ data["TradeTime"] = task_data.TradeTime;
+ data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag;
+ data["TID"] = task_data.TID;
+ data["AccountID"] = task_data.AccountID;
+ data["BankAccount"] = task_data.BankAccount;
+ data["InstallID"] = task_data.InstallID;
+ data["CustomerName"] = task_data.CustomerName;
+ data["TradeCode"] = task_data.TradeCode;
+ data["BankBranchID"] = task_data.BankBranchID;
+ data["SessionID"] = task_data.SessionID;
+ data["BankID"] = task_data.BankID;
+ data["Password"] = task_data.Password;
+ data["BankPwdFlag"] = task_data.BankPwdFlag;
+ data["RequestID"] = task_data.RequestID;
+ data["CustType"] = task_data.CustType;
+ data["IdentifiedCardNo"] = task_data.IdentifiedCardNo;
+ data["FeePayFlag"] = task_data.FeePayFlag;
+ data["BankSerial"] = task_data.BankSerial;
+ data["OperNo"] = task_data.OperNo;
+ data["TradingDay"] = task_data.TradingDay;
+ data["BankSecuAcc"] = task_data.BankSecuAcc;
+ data["BrokerID"] = task_data.BrokerID;
+ data["DeviceID"] = task_data.DeviceID;
+ data["TransferStatus"] = task_data.TransferStatus;
+ data["IdCardType"] = task_data.IdCardType;
+ data["PlateSerial"] = task_data.PlateSerial;
+ data["FutureFetchAmount"] = task_data.FutureFetchAmount;
+ data["TradeDate"] = task_data.TradeDate;
+ data["CurrencyID"] = task_data.CurrencyID;
+ data["BrokerFee"] = task_data.BrokerFee;
+ data["BankAccType"] = task_data.BankAccType;
+ data["LastFragment"] = task_data.LastFragment;
+ data["FutureSerial"] = task_data.FutureSerial;
+ data["BankSecuAccType"] = task_data.BankSecuAccType;
+ data["BrokerIDByBank"] = task_data.BrokerIDByBank;
+ data["SecuPwdFlag"] = task_data.SecuPwdFlag;
+ data["Message"] = task_data.Message;
+ data["CustFee"] = task_data.CustFee;
+ data["TradeAmount"] = task_data.TradeAmount;
+ data["Digest"] = task_data.Digest;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspFromFutureToBankByFuture(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRspQueryBankAccountMoneyByFuture(Task task)
+{
+ PyLock lock;
+ CThostFtdcReqQueryAccountField task_data = any_cast(task.task_data);
+ dict data;
+ data["BrokerBranchID"] = task_data.BrokerBranchID;
+ data["UserID"] = task_data.UserID;
+ data["BankPassWord"] = task_data.BankPassWord;
+ data["TradeTime"] = task_data.TradeTime;
+ data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag;
+ data["TID"] = task_data.TID;
+ data["AccountID"] = task_data.AccountID;
+ data["BankAccount"] = task_data.BankAccount;
+ data["InstallID"] = task_data.InstallID;
+ data["CustomerName"] = task_data.CustomerName;
+ data["TradeCode"] = task_data.TradeCode;
+ data["BankBranchID"] = task_data.BankBranchID;
+ data["SessionID"] = task_data.SessionID;
+ data["BankID"] = task_data.BankID;
+ data["Password"] = task_data.Password;
+ data["BankPwdFlag"] = task_data.BankPwdFlag;
+ data["RequestID"] = task_data.RequestID;
+ data["CustType"] = task_data.CustType;
+ data["IdentifiedCardNo"] = task_data.IdentifiedCardNo;
+ data["BankSerial"] = task_data.BankSerial;
+ data["OperNo"] = task_data.OperNo;
+ data["TradingDay"] = task_data.TradingDay;
+ data["BankSecuAcc"] = task_data.BankSecuAcc;
+ data["BrokerID"] = task_data.BrokerID;
+ data["DeviceID"] = task_data.DeviceID;
+ data["IdCardType"] = task_data.IdCardType;
+ data["PlateSerial"] = task_data.PlateSerial;
+ data["TradeDate"] = task_data.TradeDate;
+ data["CurrencyID"] = task_data.CurrencyID;
+ data["BankAccType"] = task_data.BankAccType;
+ data["LastFragment"] = task_data.LastFragment;
+ data["FutureSerial"] = task_data.FutureSerial;
+ data["BankSecuAccType"] = task_data.BankSecuAccType;
+ data["BrokerIDByBank"] = task_data.BrokerIDByBank;
+ data["SecuPwdFlag"] = task_data.SecuPwdFlag;
+ data["Digest"] = task_data.Digest;
+
+ CThostFtdcRspInfoField task_error = any_cast(task.task_error);
+ dict error;
+ error["ErrorMsg"] = task_error.ErrorMsg;
+ error["ErrorID"] = task_error.ErrorID;
+
+ this->onRspQueryBankAccountMoneyByFuture(data, error, task.task_id, task.task_last);
+};
+
+void TdApi::processRtnOpenAccountByBank(Task task)
+{
+ PyLock lock;
+ CThostFtdcOpenAccountField task_data = any_cast(task.task_data);
+ dict data;
+ data["MoneyAccountStatus"] = task_data.MoneyAccountStatus;
+ data["BrokerBranchID"] = task_data.BrokerBranchID;
+ data["UserID"] = task_data.UserID;
+ data["BankPassWord"] = task_data.BankPassWord;
+ data["Telephone"] = task_data.Telephone;
+ data["IdentifiedCardNo"] = task_data.IdentifiedCardNo;
+ data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag;
+ data["TID"] = task_data.TID;
+ data["AccountID"] = task_data.AccountID;
+ data["BankAccount"] = task_data.BankAccount;
+ data["Fax"] = task_data.Fax;
+ data["InstallID"] = task_data.InstallID;
+ data["SecuPwdFlag"] = task_data.SecuPwdFlag;
+ data["CustomerName"] = task_data.CustomerName;
+ data["CountryCode"] = task_data.CountryCode;
+ data["TradeCode"] = task_data.TradeCode;
+ data["BankBranchID"] = task_data.BankBranchID;
+ data["SessionID"] = task_data.SessionID;
+ data["Address"] = task_data.Address;
+ data["PlateSerial"] = task_data.PlateSerial;
+ data["BankPwdFlag"] = task_data.BankPwdFlag;
+ data["ErrorID"] = task_data.ErrorID;
+ data["CustType"] = task_data.CustType;
+ data["Gender"] = task_data.Gender;
+ data["BankID"] = task_data.BankID;
+ data["BankSerial"] = task_data.BankSerial;
+ data["OperNo"] = task_data.OperNo;
+ data["TradingDay"] = task_data.TradingDay;
+ data["BankSecuAcc"] = task_data.BankSecuAcc;
+ data["BrokerID"] = task_data.BrokerID;
+ data["CashExchangeCode"] = task_data.CashExchangeCode;
+ data["IdCardType"] = task_data.IdCardType;
+ data["Password"] = task_data.Password;
+ data["MobilePhone"] = task_data.MobilePhone;
+ data["TradeDate"] = task_data.TradeDate;
+ data["CurrencyID"] = task_data.CurrencyID;
+ data["ErrorMsg"] = task_data.ErrorMsg;
+ data["BankAccType"] = task_data.BankAccType;
+ data["LastFragment"] = task_data.LastFragment;
+ data["ZipCode"] = task_data.ZipCode;
+ data["BankSecuAccType"] = task_data.BankSecuAccType;
+ data["BrokerIDByBank"] = task_data.BrokerIDByBank;
+ data["TradeTime"] = task_data.TradeTime;
+ data["EMail"] = task_data.EMail;
+ data["Digest"] = task_data.Digest;
+ data["DeviceID"] = task_data.DeviceID;
+
+ this->onRtnOpenAccountByBank(data);
+};
+
+void TdApi::processRtnCancelAccountByBank(Task task)
+{
+ PyLock lock;
+ CThostFtdcCancelAccountField task_data = any_cast(task.task_data);
+ dict data;
+ data["MoneyAccountStatus"] = task_data.MoneyAccountStatus;
+ data["BrokerBranchID"] = task_data.BrokerBranchID;
+ data["UserID"] = task_data.UserID;
+ data["BankPassWord"] = task_data.BankPassWord;
+ data["Telephone"] = task_data.Telephone;
+ data["IdentifiedCardNo"] = task_data.IdentifiedCardNo;
+ data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag;
+ data["TID"] = task_data.TID;
+ data["AccountID"] = task_data.AccountID;
+ data["BankAccount"] = task_data.BankAccount;
+ data["Fax"] = task_data.Fax;
+ data["InstallID"] = task_data.InstallID;
+ data["SecuPwdFlag"] = task_data.SecuPwdFlag;
+ data["CustomerName"] = task_data.CustomerName;
+ data["CountryCode"] = task_data.CountryCode;
+ data["TradeCode"] = task_data.TradeCode;
+ data["BankBranchID"] = task_data.BankBranchID;
+ data["SessionID"] = task_data.SessionID;
+ data["Address"] = task_data.Address;
+ data["PlateSerial"] = task_data.PlateSerial;
+ data["BankPwdFlag"] = task_data.BankPwdFlag;
+ data["ErrorID"] = task_data.ErrorID;
+ data["CustType"] = task_data.CustType;
+ data["Gender"] = task_data.Gender;
+ data["BankID"] = task_data.BankID;
+ data["BankSerial"] = task_data.BankSerial;
+ data["OperNo"] = task_data.OperNo;
+ data["TradingDay"] = task_data.TradingDay;
+ data["BankSecuAcc"] = task_data.BankSecuAcc;
+ data["BrokerID"] = task_data.BrokerID;
+ data["CashExchangeCode"] = task_data.CashExchangeCode;
+ data["IdCardType"] = task_data.IdCardType;
+ data["Password"] = task_data.Password;
+ data["MobilePhone"] = task_data.MobilePhone;
+ data["TradeDate"] = task_data.TradeDate;
+ data["CurrencyID"] = task_data.CurrencyID;
+ data["ErrorMsg"] = task_data.ErrorMsg;
+ data["BankAccType"] = task_data.BankAccType;
+ data["LastFragment"] = task_data.LastFragment;
+ data["ZipCode"] = task_data.ZipCode;
+ data["BankSecuAccType"] = task_data.BankSecuAccType;
+ data["BrokerIDByBank"] = task_data.BrokerIDByBank;
+ data["TradeTime"] = task_data.TradeTime;
+ data["EMail"] = task_data.EMail;
+ data["Digest"] = task_data.Digest;
+ data["DeviceID"] = task_data.DeviceID;
+
+ this->onRtnCancelAccountByBank(data);
+};
+
+void TdApi::processRtnChangeAccountByBank(Task task)
+{
+ PyLock lock;
+ CThostFtdcChangeAccountField task_data = any_cast(task.task_data);
+ dict data;
+ data["MoneyAccountStatus"] = task_data.MoneyAccountStatus;
+ data["NewBankPassWord"] = task_data.NewBankPassWord;
+ data["BrokerBranchID"] = task_data.BrokerBranchID;
+ data["BankPassWord"] = task_data.BankPassWord;
+ data["Telephone"] = task_data.Telephone;
+ data["IdentifiedCardNo"] = task_data.IdentifiedCardNo;
+ data["VerifyCertNoFlag"] = task_data.VerifyCertNoFlag;
+ data["TID"] = task_data.TID;
+ data["AccountID"] = task_data.AccountID;
+ data["BankAccount"] = task_data.BankAccount;
+ data["Fax"] = task_data.Fax;
+ data["InstallID"] = task_data.InstallID;
+ data["SecuPwdFlag"] = task_data.SecuPwdFlag;
+ data["CustomerName"] = task_data.CustomerName;
+ data["CountryCode"] = task_data.CountryCode;
+ data["TradeCode"] = task_data.TradeCode;
+ data["BankBranchID"] = task_data.BankBranchID;
+ data["SessionID"] = task_data.SessionID;
+ data["NewBankAccount"] = task_data.NewBankAccount;
+ data["Address"] = task_data.Address;
+ data["PlateSerial"] = task_data.PlateSerial;
+ data["BankPwdFlag"] = task_data.BankPwdFlag;
+ data["ErrorID"] = task_data.ErrorID;
+ data["CustType"] = task_data.CustType;
+ data["Gender"] = task_data.Gender;
+ data["BankID"] = task_data.BankID;
+ data["BankSerial"] = task_data.BankSerial;
+ data["TradingDay"] = task_data.TradingDay;
+ data["BrokerID"] = task_data.BrokerID;
+ data["IdCardType"] = task_data.IdCardType;
+ data["Password"] = task_data.Password;
+ data["MobilePhone"] = task_data.MobilePhone;
+ data["TradeDate"] = task_data.TradeDate;
+ data["CurrencyID"] = task_data.CurrencyID;
+ data["ErrorMsg"] = task_data.ErrorMsg;
+ data["BankAccType"] = task_data.BankAccType;
+ data["LastFragment"] = task_data.LastFragment;
+ data["ZipCode"] = task_data.ZipCode;
+ data["BrokerIDByBank"] = task_data.BrokerIDByBank;
+ data["TradeTime"] = task_data.TradeTime;
+ data["EMail"] = task_data.EMail;
+ data["Digest"] = task_data.Digest;
+
+ this->onRtnChangeAccountByBank(data);
+};
+
+
+
+///-------------------------------------------------------------------------------------
+///
+///-------------------------------------------------------------------------------------
+
+void TdApi::createFtdcTraderApi(string pszFlowPath)
+{
+ this->api = CThostFtdcTraderApi::CreateFtdcTraderApi(pszFlowPath.c_str());
+ this->api->RegisterSpi(this);
+};
+
+void TdApi::release()
+{
+ this->api->Release();
+};
+
+void TdApi::init()
+{
+ this->api->Init();
+};
+
+int TdApi::join()
+{
+ int i = this->api->Join();
+ return i;
+};
+
+int TdApi::exit()
+{
+ //úԭAPIûУڰȫ˳APIãԭjoinƺ̫ȶ
+ this->api->RegisterSpi(NULL);
+ this->api->Release();
+ this->api = NULL;
+ return 1;
+};
+
+string TdApi::getTradingDay()
+{
+ string day = this->api->GetTradingDay();
+ return day;
+};
+
+void TdApi::registerFront(string pszFrontAddress)
+{
+ this->api->RegisterFront((char*)pszFrontAddress.c_str());
+};
+
+void TdApi::subscribePrivateTopic(int nType)
+{
+ //úΪֶд
+ THOST_TE_RESUME_TYPE type;
+
+ switch (nType)
+ {
+ case 0:
+ {
+ type = THOST_TERT_RESTART;
+ break;
+ };
+
+ case 1:
+ {
+ type = THOST_TERT_RESUME;
+ break;
+ };
+
+ case 2:
+ {
+ type = THOST_TERT_QUICK;
+ break;
+ };
+ }
+
+ this->api->SubscribePrivateTopic(type);
+};
+
+void TdApi::subscribePublicTopic(int nType)
+{
+ //úΪֶд
+ THOST_TE_RESUME_TYPE type;
+
+ switch (nType)
+ {
+ case 0:
+ {
+ type = THOST_TERT_RESTART;
+ break;
+ };
+
+ case 1:
+ {
+ type = THOST_TERT_RESUME;
+ break;
+ };
+
+ case 2:
+ {
+ type = THOST_TERT_QUICK;
+ break;
+ };
+ }
+
+ this->api->SubscribePublicTopic(type);
+};
+
+int TdApi::reqAuthenticate(dict req, int nRequestID)
+{
+ CThostFtdcReqAuthenticateField myreq = CThostFtdcReqAuthenticateField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "UserID", myreq.UserID);
+ getStr(req, "AuthCode", myreq.AuthCode);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ getStr(req, "UserProductInfo", myreq.UserProductInfo);
+ int i = this->api->ReqAuthenticate(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqUserLogin(dict req, int nRequestID)
+{
+ CThostFtdcReqUserLoginField myreq = CThostFtdcReqUserLoginField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "MacAddress", myreq.MacAddress);
+ getStr(req, "UserProductInfo", myreq.UserProductInfo);
+ getStr(req, "UserID", myreq.UserID);
+ getStr(req, "TradingDay", myreq.TradingDay);
+ getStr(req, "InterfaceProductInfo", myreq.InterfaceProductInfo);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ getStr(req, "ClientIPAddress", myreq.ClientIPAddress);
+ getStr(req, "OneTimePassword", myreq.OneTimePassword);
+ getStr(req, "ProtocolInfo", myreq.ProtocolInfo);
+ getStr(req, "Password", myreq.Password);
+ int i = this->api->ReqUserLogin(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqUserLogout(dict req, int nRequestID)
+{
+ CThostFtdcUserLogoutField myreq = CThostFtdcUserLogoutField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "UserID", myreq.UserID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ int i = this->api->ReqUserLogout(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqUserPasswordUpdate(dict req, int nRequestID)
+{
+ CThostFtdcUserPasswordUpdateField myreq = CThostFtdcUserPasswordUpdateField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "UserID", myreq.UserID);
+ getStr(req, "NewPassword", myreq.NewPassword);
+ getStr(req, "OldPassword", myreq.OldPassword);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ int i = this->api->ReqUserPasswordUpdate(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqTradingAccountPasswordUpdate(dict req, int nRequestID)
+{
+ CThostFtdcTradingAccountPasswordUpdateField myreq = CThostFtdcTradingAccountPasswordUpdateField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "CurrencyID", myreq.CurrencyID);
+ getStr(req, "NewPassword", myreq.NewPassword);
+ getStr(req, "OldPassword", myreq.OldPassword);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ getStr(req, "AccountID", myreq.AccountID);
+ int i = this->api->ReqTradingAccountPasswordUpdate(&myreq, nRequestID);
+ return i;
+};
+
+LONGLONG TdApi::reqOrderInsert(dict req, int nRequestID)
+{
+ CThostFtdcInputOrderField myreq = CThostFtdcInputOrderField();
+ memset(&myreq, 0, sizeof(myreq));
+ getChar(req, "ContingentCondition", &myreq.ContingentCondition);
+ getStr(req, "CombOffsetFlag", myreq.CombOffsetFlag);
+ getStr(req, "UserID", myreq.UserID);
+ getDouble(req, "LimitPrice", &myreq.LimitPrice);
+ getInt(req, "UserForceClose", &myreq.UserForceClose);
+ getChar(req, "Direction", &myreq.Direction);
+ getInt(req, "IsSwapOrder", &myreq.IsSwapOrder);
+ getInt(req, "VolumeTotalOriginal", &myreq.VolumeTotalOriginal);
+ getChar(req, "OrderPriceType", &myreq.OrderPriceType);
+ getChar(req, "TimeCondition", &myreq.TimeCondition);
+ getInt(req, "IsAutoSuspend", &myreq.IsAutoSuspend);
+ getDouble(req, "StopPrice", &myreq.StopPrice);
+ getStr(req, "InstrumentID", myreq.InstrumentID);
+ getStr(req, "ExchangeID", myreq.ExchangeID);
+ getInt(req, "MinVolume", &myreq.MinVolume);
+ getChar(req, "ForceCloseReason", &myreq.ForceCloseReason);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ getStr(req, "CombHedgeFlag", myreq.CombHedgeFlag);
+ getStr(req, "GTDDate", myreq.GTDDate);
+ getStr(req, "BusinessUnit", myreq.BusinessUnit);
+ getStr(req, "OrderRef", myreq.OrderRef);
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getChar(req, "VolumeCondition", &myreq.VolumeCondition);
+ getInt(req, "RequestID", &myreq.RequestID);
+
+ int i = this->api->ReqOrderInsert(&myreq, nRequestID);
+
+ //ʱ
+ LARGE_INTEGER order_time;
+ QueryPerformanceCounter(&order_time);
+ return order_time.QuadPart;
+};
+
+int TdApi::reqParkedOrderInsert(dict req, int nRequestID)
+{
+ CThostFtdcParkedOrderField myreq = CThostFtdcParkedOrderField();
+ memset(&myreq, 0, sizeof(myreq));
+ getChar(req, "ContingentCondition", &myreq.ContingentCondition);
+ getStr(req, "CombOffsetFlag", myreq.CombOffsetFlag);
+ getStr(req, "UserID", myreq.UserID);
+ getDouble(req, "LimitPrice", &myreq.LimitPrice);
+ getInt(req, "UserForceClose", &myreq.UserForceClose);
+ getChar(req, "Status", &myreq.Status);
+ getChar(req, "Direction", &myreq.Direction);
+ getInt(req, "IsSwapOrder", &myreq.IsSwapOrder);
+ getChar(req, "UserType", &myreq.UserType);
+ getInt(req, "VolumeTotalOriginal", &myreq.VolumeTotalOriginal);
+ getChar(req, "OrderPriceType", &myreq.OrderPriceType);
+ getChar(req, "TimeCondition", &myreq.TimeCondition);
+ getInt(req, "IsAutoSuspend", &myreq.IsAutoSuspend);
+ getDouble(req, "StopPrice", &myreq.StopPrice);
+ getStr(req, "InstrumentID", myreq.InstrumentID);
+ getStr(req, "ExchangeID", myreq.ExchangeID);
+ getInt(req, "MinVolume", &myreq.MinVolume);
+ getChar(req, "ForceCloseReason", &myreq.ForceCloseReason);
+ getInt(req, "ErrorID", &myreq.ErrorID);
+ getStr(req, "ParkedOrderID", myreq.ParkedOrderID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ getStr(req, "CombHedgeFlag", myreq.CombHedgeFlag);
+ getStr(req, "GTDDate", myreq.GTDDate);
+ getStr(req, "BusinessUnit", myreq.BusinessUnit);
+ getStr(req, "ErrorMsg", myreq.ErrorMsg);
+ getStr(req, "OrderRef", myreq.OrderRef);
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getChar(req, "VolumeCondition", &myreq.VolumeCondition);
+ getInt(req, "RequestID", &myreq.RequestID);
+ int i = this->api->ReqParkedOrderInsert(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqParkedOrderAction(dict req, int nRequestID)
+{
+ CThostFtdcParkedOrderActionField myreq = CThostFtdcParkedOrderActionField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InstrumentID", myreq.InstrumentID);
+ getChar(req, "Status", &myreq.Status);
+ getStr(req, "ExchangeID", myreq.ExchangeID);
+ getChar(req, "ActionFlag", &myreq.ActionFlag);
+ getInt(req, "OrderActionRef", &myreq.OrderActionRef);
+ getChar(req, "UserType", &myreq.UserType);
+ getStr(req, "ErrorMsg", myreq.ErrorMsg);
+ getStr(req, "UserID", myreq.UserID);
+ getDouble(req, "LimitPrice", &myreq.LimitPrice);
+ getStr(req, "OrderRef", myreq.OrderRef);
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getInt(req, "SessionID", &myreq.SessionID);
+ getInt(req, "VolumeChange", &myreq.VolumeChange);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ getInt(req, "RequestID", &myreq.RequestID);
+ getStr(req, "OrderSysID", myreq.OrderSysID);
+ getStr(req, "ParkedOrderActionID", myreq.ParkedOrderActionID);
+ getInt(req, "FrontID", &myreq.FrontID);
+ getInt(req, "ErrorID", &myreq.ErrorID);
+ int i = this->api->ReqParkedOrderAction(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqOrderAction(dict req, int nRequestID)
+{
+ CThostFtdcInputOrderActionField myreq = CThostFtdcInputOrderActionField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InstrumentID", myreq.InstrumentID);
+ getStr(req, "ExchangeID", myreq.ExchangeID);
+ getChar(req, "ActionFlag", &myreq.ActionFlag);
+ getInt(req, "OrderActionRef", &myreq.OrderActionRef);
+ getStr(req, "UserID", myreq.UserID);
+ getDouble(req, "LimitPrice", &myreq.LimitPrice);
+ getStr(req, "OrderRef", myreq.OrderRef);
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getInt(req, "SessionID", &myreq.SessionID);
+ getInt(req, "VolumeChange", &myreq.VolumeChange);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ getInt(req, "RequestID", &myreq.RequestID);
+ getStr(req, "OrderSysID", myreq.OrderSysID);
+ getInt(req, "FrontID", &myreq.FrontID);
+ int i = this->api->ReqOrderAction(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQueryMaxOrderVolume(dict req, int nRequestID)
+{
+ CThostFtdcQueryMaxOrderVolumeField myreq = CThostFtdcQueryMaxOrderVolumeField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InstrumentID", myreq.InstrumentID);
+ getChar(req, "Direction", &myreq.Direction);
+ getChar(req, "OffsetFlag", &myreq.OffsetFlag);
+ getChar(req, "HedgeFlag", &myreq.HedgeFlag);
+ getStr(req, "ExchangeID", myreq.ExchangeID);
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ getInt(req, "MaxVolume", &myreq.MaxVolume);
+ int i = this->api->ReqQueryMaxOrderVolume(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqSettlementInfoConfirm(dict req, int nRequestID)
+{
+ CThostFtdcSettlementInfoConfirmField myreq = CThostFtdcSettlementInfoConfirmField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "ConfirmTime", myreq.ConfirmTime);
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ getStr(req, "ConfirmDate", myreq.ConfirmDate);
+ int i = this->api->ReqSettlementInfoConfirm(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqRemoveParkedOrder(dict req, int nRequestID)
+{
+ CThostFtdcRemoveParkedOrderField myreq = CThostFtdcRemoveParkedOrderField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ getStr(req, "ParkedOrderID", myreq.ParkedOrderID);
+ int i = this->api->ReqRemoveParkedOrder(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqRemoveParkedOrderAction(dict req, int nRequestID)
+{
+ CThostFtdcRemoveParkedOrderActionField myreq = CThostFtdcRemoveParkedOrderActionField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ getStr(req, "ParkedOrderActionID", myreq.ParkedOrderActionID);
+ int i = this->api->ReqRemoveParkedOrderAction(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqExecOrderInsert(dict req, int nRequestID)
+{
+ CThostFtdcInputExecOrderField myreq = CThostFtdcInputExecOrderField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InstrumentID", myreq.InstrumentID);
+ getStr(req, "ExecOrderRef", myreq.ExecOrderRef);
+ getStr(req, "ExchangeID", myreq.ExchangeID);
+ getChar(req, "CloseFlag", &myreq.CloseFlag);
+ getChar(req, "OffsetFlag", &myreq.OffsetFlag);
+ getChar(req, "PosiDirection", &myreq.PosiDirection);
+ getStr(req, "BusinessUnit", myreq.BusinessUnit);
+ getChar(req, "HedgeFlag", &myreq.HedgeFlag);
+ getStr(req, "UserID", myreq.UserID);
+ getInt(req, "Volume", &myreq.Volume);
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ getInt(req, "RequestID", &myreq.RequestID);
+ getChar(req, "ActionType", &myreq.ActionType);
+ getChar(req, "ReservePositionFlag", &myreq.ReservePositionFlag);
+ int i = this->api->ReqExecOrderInsert(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqExecOrderAction(dict req, int nRequestID)
+{
+ CThostFtdcInputExecOrderActionField myreq = CThostFtdcInputExecOrderActionField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InstrumentID", myreq.InstrumentID);
+ getStr(req, "ExecOrderSysID", myreq.ExecOrderSysID);
+ getStr(req, "ExchangeID", myreq.ExchangeID);
+ getStr(req, "UserID", myreq.UserID);
+ getStr(req, "ExecOrderRef", myreq.ExecOrderRef);
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getInt(req, "SessionID", &myreq.SessionID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ getInt(req, "RequestID", &myreq.RequestID);
+ getChar(req, "ActionFlag", &myreq.ActionFlag);
+ getInt(req, "ExecOrderActionRef", &myreq.ExecOrderActionRef);
+ getInt(req, "FrontID", &myreq.FrontID);
+ int i = this->api->ReqExecOrderAction(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqForQuoteInsert(dict req, int nRequestID)
+{
+ CThostFtdcInputForQuoteField myreq = CThostFtdcInputForQuoteField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InstrumentID", myreq.InstrumentID);
+ getStr(req, "ForQuoteRef", myreq.ForQuoteRef);
+ getStr(req, "ExchangeID", myreq.ExchangeID);
+ getStr(req, "UserID", myreq.UserID);
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ int i = this->api->ReqForQuoteInsert(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQuoteInsert(dict req, int nRequestID)
+{
+ CThostFtdcInputQuoteField myreq = CThostFtdcInputQuoteField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InstrumentID", myreq.InstrumentID);
+ getStr(req, "ExchangeID", myreq.ExchangeID);
+ getChar(req, "AskHedgeFlag", &myreq.AskHedgeFlag);
+ getStr(req, "BusinessUnit", myreq.BusinessUnit);
+ getDouble(req, "AskPrice", &myreq.AskPrice);
+ getStr(req, "UserID", myreq.UserID);
+ getChar(req, "AskOffsetFlag", &myreq.AskOffsetFlag);
+ getInt(req, "BidVolume", &myreq.BidVolume);
+ getStr(req, "AskOrderRef", myreq.AskOrderRef);
+ getInt(req, "AskVolume", &myreq.AskVolume);
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getChar(req, "BidOffsetFlag", &myreq.BidOffsetFlag);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ getInt(req, "RequestID", &myreq.RequestID);
+ getStr(req, "ForQuoteSysID", myreq.ForQuoteSysID);
+ getDouble(req, "BidPrice", &myreq.BidPrice);
+ getChar(req, "BidHedgeFlag", &myreq.BidHedgeFlag);
+ getStr(req, "QuoteRef", myreq.QuoteRef);
+ getStr(req, "BidOrderRef", myreq.BidOrderRef);
+ int i = this->api->ReqQuoteInsert(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQuoteAction(dict req, int nRequestID)
+{
+ CThostFtdcInputQuoteActionField myreq = CThostFtdcInputQuoteActionField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InstrumentID", myreq.InstrumentID);
+ getStr(req, "ExchangeID", myreq.ExchangeID);
+ getInt(req, "QuoteActionRef", &myreq.QuoteActionRef);
+ getStr(req, "UserID", myreq.UserID);
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getInt(req, "SessionID", &myreq.SessionID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ getInt(req, "RequestID", &myreq.RequestID);
+ getChar(req, "ActionFlag", &myreq.ActionFlag);
+ getInt(req, "FrontID", &myreq.FrontID);
+ getStr(req, "QuoteSysID", myreq.QuoteSysID);
+ getStr(req, "QuoteRef", myreq.QuoteRef);
+ int i = this->api->ReqQuoteAction(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqLockInsert(dict req, int nRequestID)
+{
+ CThostFtdcInputLockField myreq = CThostFtdcInputLockField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InstrumentID", myreq.InstrumentID);
+ getStr(req, "ExchangeID", myreq.ExchangeID);
+ getStr(req, "BusinessUnit", myreq.BusinessUnit);
+ getStr(req, "UserID", myreq.UserID);
+ getStr(req, "LockRef", myreq.LockRef);
+ getInt(req, "Volume", &myreq.Volume);
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ getInt(req, "RequestID", &myreq.RequestID);
+ getChar(req, "LockType", &myreq.LockType);
+ int i = this->api->ReqLockInsert(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqCombActionInsert(dict req, int nRequestID)
+{
+ CThostFtdcInputCombActionField myreq = CThostFtdcInputCombActionField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InstrumentID", myreq.InstrumentID);
+ getChar(req, "Direction", &myreq.Direction);
+ getStr(req, "CombActionRef", myreq.CombActionRef);
+ getChar(req, "HedgeFlag", &myreq.HedgeFlag);
+ getStr(req, "UserID", myreq.UserID);
+ getStr(req, "ExchangeID", myreq.ExchangeID);
+ getInt(req, "Volume", &myreq.Volume);
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ getChar(req, "CombDirection", &myreq.CombDirection);
+ int i = this->api->ReqCombActionInsert(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQryOrder(dict req, int nRequestID)
+{
+ CThostFtdcQryOrderField myreq = CThostFtdcQryOrderField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InstrumentID", myreq.InstrumentID);
+ getStr(req, "ExchangeID", myreq.ExchangeID);
+ getStr(req, "InsertTimeStart", myreq.InsertTimeStart);
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ getStr(req, "OrderSysID", myreq.OrderSysID);
+ getStr(req, "InsertTimeEnd", myreq.InsertTimeEnd);
+ int i = this->api->ReqQryOrder(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQryTrade(dict req, int nRequestID)
+{
+ CThostFtdcQryTradeField myreq = CThostFtdcQryTradeField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InstrumentID", myreq.InstrumentID);
+ getStr(req, "TradeTimeStart", myreq.TradeTimeStart);
+ getStr(req, "ExchangeID", myreq.ExchangeID);
+ getStr(req, "TradeID", myreq.TradeID);
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ getStr(req, "TradeTimeEnd", myreq.TradeTimeEnd);
+ int i = this->api->ReqQryTrade(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQryInvestorPosition(dict req, int nRequestID)
+{
+ CThostFtdcQryInvestorPositionField myreq = CThostFtdcQryInvestorPositionField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InstrumentID", myreq.InstrumentID);
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getStr(req, "ExchangeID", myreq.ExchangeID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ int i = this->api->ReqQryInvestorPosition(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQryTradingAccount(dict req, int nRequestID)
+{
+ CThostFtdcQryTradingAccountField myreq = CThostFtdcQryTradingAccountField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "CurrencyID", myreq.CurrencyID);
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getChar(req, "BizType", &myreq.BizType);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ int i = this->api->ReqQryTradingAccount(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQryInvestor(dict req, int nRequestID)
+{
+ CThostFtdcQryInvestorField myreq = CThostFtdcQryInvestorField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ int i = this->api->ReqQryInvestor(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQryTradingCode(dict req, int nRequestID)
+{
+ CThostFtdcQryTradingCodeField myreq = CThostFtdcQryTradingCodeField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getStr(req, "ExchangeID", myreq.ExchangeID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ getChar(req, "ClientIDType", &myreq.ClientIDType);
+ getStr(req, "ClientID", myreq.ClientID);
+ int i = this->api->ReqQryTradingCode(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQryInstrumentMarginRate(dict req, int nRequestID)
+{
+ CThostFtdcQryInstrumentMarginRateField myreq = CThostFtdcQryInstrumentMarginRateField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InstrumentID", myreq.InstrumentID);
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ getChar(req, "HedgeFlag", &myreq.HedgeFlag);
+ int i = this->api->ReqQryInstrumentMarginRate(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQryInstrumentCommissionRate(dict req, int nRequestID)
+{
+ CThostFtdcQryInstrumentCommissionRateField myreq = CThostFtdcQryInstrumentCommissionRateField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InstrumentID", myreq.InstrumentID);
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getStr(req, "ExchangeID", myreq.ExchangeID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ int i = this->api->ReqQryInstrumentCommissionRate(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQryExchange(dict req, int nRequestID)
+{
+ CThostFtdcQryExchangeField myreq = CThostFtdcQryExchangeField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "ExchangeID", myreq.ExchangeID);
+ int i = this->api->ReqQryExchange(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQryProduct(dict req, int nRequestID)
+{
+ CThostFtdcQryProductField myreq = CThostFtdcQryProductField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "ExchangeID", myreq.ExchangeID);
+ getChar(req, "ProductClass", &myreq.ProductClass);
+ getStr(req, "ProductID", myreq.ProductID);
+ int i = this->api->ReqQryProduct(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQryInstrument(dict req, int nRequestID)
+{
+ CThostFtdcQryInstrumentField myreq = CThostFtdcQryInstrumentField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InstrumentID", myreq.InstrumentID);
+ getStr(req, "ExchangeID", myreq.ExchangeID);
+ getStr(req, "ExchangeInstID", myreq.ExchangeInstID);
+ getStr(req, "ProductID", myreq.ProductID);
+ int i = this->api->ReqQryInstrument(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQryDepthMarketData(dict req, int nRequestID)
+{
+ CThostFtdcQryDepthMarketDataField myreq = CThostFtdcQryDepthMarketDataField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InstrumentID", myreq.InstrumentID);
+ getStr(req, "ExchangeID", myreq.ExchangeID);
+ int i = this->api->ReqQryDepthMarketData(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQrySettlementInfo(dict req, int nRequestID)
+{
+ CThostFtdcQrySettlementInfoField myreq = CThostFtdcQrySettlementInfoField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ getStr(req, "TradingDay", myreq.TradingDay);
+ int i = this->api->ReqQrySettlementInfo(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQryTransferBank(dict req, int nRequestID)
+{
+ CThostFtdcQryTransferBankField myreq = CThostFtdcQryTransferBankField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "BankBrchID", myreq.BankBrchID);
+ getStr(req, "BankID", myreq.BankID);
+ int i = this->api->ReqQryTransferBank(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQryInvestorPositionDetail(dict req, int nRequestID)
+{
+ CThostFtdcQryInvestorPositionDetailField myreq = CThostFtdcQryInvestorPositionDetailField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InstrumentID", myreq.InstrumentID);
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getStr(req, "ExchangeID", myreq.ExchangeID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ int i = this->api->ReqQryInvestorPositionDetail(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQryNotice(dict req, int nRequestID)
+{
+ CThostFtdcQryNoticeField myreq = CThostFtdcQryNoticeField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "BrokerID", myreq.BrokerID);
+ int i = this->api->ReqQryNotice(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQrySettlementInfoConfirm(dict req, int nRequestID)
+{
+ CThostFtdcQrySettlementInfoConfirmField myreq = CThostFtdcQrySettlementInfoConfirmField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ int i = this->api->ReqQrySettlementInfoConfirm(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQryInvestorPositionCombineDetail(dict req, int nRequestID)
+{
+ CThostFtdcQryInvestorPositionCombineDetailField myreq = CThostFtdcQryInvestorPositionCombineDetailField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ getStr(req, "CombInstrumentID", myreq.CombInstrumentID);
+ int i = this->api->ReqQryInvestorPositionCombineDetail(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQryCFMMCTradingAccountKey(dict req, int nRequestID)
+{
+ CThostFtdcQryCFMMCTradingAccountKeyField myreq = CThostFtdcQryCFMMCTradingAccountKeyField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ int i = this->api->ReqQryCFMMCTradingAccountKey(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQryEWarrantOffset(dict req, int nRequestID)
+{
+ CThostFtdcQryEWarrantOffsetField myreq = CThostFtdcQryEWarrantOffsetField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InstrumentID", myreq.InstrumentID);
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getStr(req, "ExchangeID", myreq.ExchangeID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ int i = this->api->ReqQryEWarrantOffset(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQryInvestorProductGroupMargin(dict req, int nRequestID)
+{
+ CThostFtdcQryInvestorProductGroupMarginField myreq = CThostFtdcQryInvestorProductGroupMarginField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ getChar(req, "HedgeFlag", &myreq.HedgeFlag);
+ getStr(req, "ProductGroupID", myreq.ProductGroupID);
+ int i = this->api->ReqQryInvestorProductGroupMargin(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQryExchangeMarginRate(dict req, int nRequestID)
+{
+ CThostFtdcQryExchangeMarginRateField myreq = CThostFtdcQryExchangeMarginRateField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InstrumentID", myreq.InstrumentID);
+ getChar(req, "HedgeFlag", &myreq.HedgeFlag);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ int i = this->api->ReqQryExchangeMarginRate(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQryExchangeMarginRateAdjust(dict req, int nRequestID)
+{
+ CThostFtdcQryExchangeMarginRateAdjustField myreq = CThostFtdcQryExchangeMarginRateAdjustField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InstrumentID", myreq.InstrumentID);
+ getChar(req, "HedgeFlag", &myreq.HedgeFlag);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ int i = this->api->ReqQryExchangeMarginRateAdjust(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQryExchangeRate(dict req, int nRequestID)
+{
+ CThostFtdcQryExchangeRateField myreq = CThostFtdcQryExchangeRateField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "FromCurrencyID", myreq.FromCurrencyID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ getStr(req, "ToCurrencyID", myreq.ToCurrencyID);
+ int i = this->api->ReqQryExchangeRate(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQrySecAgentACIDMap(dict req, int nRequestID)
+{
+ CThostFtdcQrySecAgentACIDMapField myreq = CThostFtdcQrySecAgentACIDMapField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "CurrencyID", myreq.CurrencyID);
+ getStr(req, "UserID", myreq.UserID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ getStr(req, "AccountID", myreq.AccountID);
+ int i = this->api->ReqQrySecAgentACIDMap(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQryProductExchRate(dict req, int nRequestID)
+{
+ CThostFtdcQryProductExchRateField myreq = CThostFtdcQryProductExchRateField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "ProductID", myreq.ProductID);
+ int i = this->api->ReqQryProductExchRate(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQryProductGroup(dict req, int nRequestID)
+{
+ CThostFtdcQryProductGroupField myreq = CThostFtdcQryProductGroupField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "ExchangeID", myreq.ExchangeID);
+ getStr(req, "ProductID", myreq.ProductID);
+ int i = this->api->ReqQryProductGroup(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQryOptionInstrTradeCost(dict req, int nRequestID)
+{
+ CThostFtdcQryOptionInstrTradeCostField myreq = CThostFtdcQryOptionInstrTradeCostField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InstrumentID", myreq.InstrumentID);
+ getDouble(req, "InputPrice", &myreq.InputPrice);
+ getStr(req, "ExchangeID", myreq.ExchangeID);
+ getDouble(req, "UnderlyingPrice", &myreq.UnderlyingPrice);
+ getChar(req, "HedgeFlag", &myreq.HedgeFlag);
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ int i = this->api->ReqQryOptionInstrTradeCost(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQryOptionInstrCommRate(dict req, int nRequestID)
+{
+ CThostFtdcQryOptionInstrCommRateField myreq = CThostFtdcQryOptionInstrCommRateField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InstrumentID", myreq.InstrumentID);
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getStr(req, "ExchangeID", myreq.ExchangeID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ int i = this->api->ReqQryOptionInstrCommRate(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQryExecOrder(dict req, int nRequestID)
+{
+ CThostFtdcQryExecOrderField myreq = CThostFtdcQryExecOrderField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InstrumentID", myreq.InstrumentID);
+ getStr(req, "ExecOrderSysID", myreq.ExecOrderSysID);
+ getStr(req, "ExchangeID", myreq.ExchangeID);
+ getStr(req, "InsertTimeStart", myreq.InsertTimeStart);
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ getStr(req, "InsertTimeEnd", myreq.InsertTimeEnd);
+ int i = this->api->ReqQryExecOrder(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQryForQuote(dict req, int nRequestID)
+{
+ CThostFtdcQryForQuoteField myreq = CThostFtdcQryForQuoteField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InstrumentID", myreq.InstrumentID);
+ getStr(req, "ExchangeID", myreq.ExchangeID);
+ getStr(req, "InsertTimeStart", myreq.InsertTimeStart);
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ getStr(req, "InsertTimeEnd", myreq.InsertTimeEnd);
+ int i = this->api->ReqQryForQuote(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQryQuote(dict req, int nRequestID)
+{
+ CThostFtdcQryQuoteField myreq = CThostFtdcQryQuoteField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InstrumentID", myreq.InstrumentID);
+ getStr(req, "ExchangeID", myreq.ExchangeID);
+ getStr(req, "InsertTimeStart", myreq.InsertTimeStart);
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ getStr(req, "QuoteSysID", myreq.QuoteSysID);
+ getStr(req, "InsertTimeEnd", myreq.InsertTimeEnd);
+ int i = this->api->ReqQryQuote(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQryLock(dict req, int nRequestID)
+{
+ CThostFtdcQryLockField myreq = CThostFtdcQryLockField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InstrumentID", myreq.InstrumentID);
+ getStr(req, "ExchangeID", myreq.ExchangeID);
+ getStr(req, "InsertTimeStart", myreq.InsertTimeStart);
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ getStr(req, "LockSysID", myreq.LockSysID);
+ getStr(req, "InsertTimeEnd", myreq.InsertTimeEnd);
+ int i = this->api->ReqQryLock(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQryLockPosition(dict req, int nRequestID)
+{
+ CThostFtdcQryLockPositionField myreq = CThostFtdcQryLockPositionField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InstrumentID", myreq.InstrumentID);
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getStr(req, "ExchangeID", myreq.ExchangeID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ int i = this->api->ReqQryLockPosition(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQryInvestorLevel(dict req, int nRequestID)
+{
+ CThostFtdcQryInvestorLevelField myreq = CThostFtdcQryInvestorLevelField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getStr(req, "ExchangeID", myreq.ExchangeID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ int i = this->api->ReqQryInvestorLevel(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQryExecFreeze(dict req, int nRequestID)
+{
+ CThostFtdcQryExecFreezeField myreq = CThostFtdcQryExecFreezeField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InstrumentID", myreq.InstrumentID);
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getStr(req, "ExchangeID", myreq.ExchangeID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ int i = this->api->ReqQryExecFreeze(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQryCombInstrumentGuard(dict req, int nRequestID)
+{
+ CThostFtdcQryCombInstrumentGuardField myreq = CThostFtdcQryCombInstrumentGuardField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InstrumentID", myreq.InstrumentID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ int i = this->api->ReqQryCombInstrumentGuard(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQryCombAction(dict req, int nRequestID)
+{
+ CThostFtdcQryCombActionField myreq = CThostFtdcQryCombActionField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InstrumentID", myreq.InstrumentID);
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getStr(req, "ExchangeID", myreq.ExchangeID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ int i = this->api->ReqQryCombAction(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQryTransferSerial(dict req, int nRequestID)
+{
+ CThostFtdcQryTransferSerialField myreq = CThostFtdcQryTransferSerialField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "CurrencyID", myreq.CurrencyID);
+ getStr(req, "BankID", myreq.BankID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ getStr(req, "AccountID", myreq.AccountID);
+ int i = this->api->ReqQryTransferSerial(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQryAccountregister(dict req, int nRequestID)
+{
+ CThostFtdcQryAccountregisterField myreq = CThostFtdcQryAccountregisterField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "CurrencyID", myreq.CurrencyID);
+ getStr(req, "BankID", myreq.BankID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ getStr(req, "BankBranchID", myreq.BankBranchID);
+ getStr(req, "AccountID", myreq.AccountID);
+ int i = this->api->ReqQryAccountregister(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQryContractBank(dict req, int nRequestID)
+{
+ CThostFtdcQryContractBankField myreq = CThostFtdcQryContractBankField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "BrokerID", myreq.BrokerID);
+ getStr(req, "BankBrchID", myreq.BankBrchID);
+ getStr(req, "BankID", myreq.BankID);
+ int i = this->api->ReqQryContractBank(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQryParkedOrder(dict req, int nRequestID)
+{
+ CThostFtdcQryParkedOrderField myreq = CThostFtdcQryParkedOrderField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InstrumentID", myreq.InstrumentID);
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getStr(req, "ExchangeID", myreq.ExchangeID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ int i = this->api->ReqQryParkedOrder(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQryParkedOrderAction(dict req, int nRequestID)
+{
+ CThostFtdcQryParkedOrderActionField myreq = CThostFtdcQryParkedOrderActionField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InstrumentID", myreq.InstrumentID);
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getStr(req, "ExchangeID", myreq.ExchangeID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ int i = this->api->ReqQryParkedOrderAction(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQryTradingNotice(dict req, int nRequestID)
+{
+ CThostFtdcQryTradingNoticeField myreq = CThostFtdcQryTradingNoticeField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ int i = this->api->ReqQryTradingNotice(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQryBrokerTradingParams(dict req, int nRequestID)
+{
+ CThostFtdcQryBrokerTradingParamsField myreq = CThostFtdcQryBrokerTradingParamsField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "CurrencyID", myreq.CurrencyID);
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ int i = this->api->ReqQryBrokerTradingParams(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQryBrokerTradingAlgos(dict req, int nRequestID)
+{
+ CThostFtdcQryBrokerTradingAlgosField myreq = CThostFtdcQryBrokerTradingAlgosField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InstrumentID", myreq.InstrumentID);
+ getStr(req, "ExchangeID", myreq.ExchangeID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ int i = this->api->ReqQryBrokerTradingAlgos(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQueryCFMMCTradingAccountToken(dict req, int nRequestID)
+{
+ CThostFtdcQueryCFMMCTradingAccountTokenField myreq = CThostFtdcQueryCFMMCTradingAccountTokenField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "InvestorID", myreq.InvestorID);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ int i = this->api->ReqQueryCFMMCTradingAccountToken(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqFromBankToFutureByFuture(dict req, int nRequestID)
+{
+ CThostFtdcReqTransferField myreq = CThostFtdcReqTransferField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "BrokerBranchID", myreq.BrokerBranchID);
+ getStr(req, "UserID", myreq.UserID);
+ getStr(req, "BankPassWord", myreq.BankPassWord);
+ getStr(req, "TradeTime", myreq.TradeTime);
+ getChar(req, "VerifyCertNoFlag", &myreq.VerifyCertNoFlag);
+ getInt(req, "TID", &myreq.TID);
+ getStr(req, "AccountID", myreq.AccountID);
+ getStr(req, "BankAccount", myreq.BankAccount);
+ getInt(req, "InstallID", &myreq.InstallID);
+ getStr(req, "CustomerName", myreq.CustomerName);
+ getStr(req, "TradeCode", myreq.TradeCode);
+ getStr(req, "BankBranchID", myreq.BankBranchID);
+ getInt(req, "SessionID", &myreq.SessionID);
+ getStr(req, "BankID", myreq.BankID);
+ getStr(req, "Password", myreq.Password);
+ getChar(req, "BankPwdFlag", &myreq.BankPwdFlag);
+ getInt(req, "RequestID", &myreq.RequestID);
+ getChar(req, "CustType", &myreq.CustType);
+ getStr(req, "IdentifiedCardNo", myreq.IdentifiedCardNo);
+ getChar(req, "FeePayFlag", &myreq.FeePayFlag);
+ getStr(req, "BankSerial", myreq.BankSerial);
+ getStr(req, "OperNo", myreq.OperNo);
+ getStr(req, "TradingDay", myreq.TradingDay);
+ getStr(req, "BankSecuAcc", myreq.BankSecuAcc);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ getStr(req, "DeviceID", myreq.DeviceID);
+ getChar(req, "TransferStatus", &myreq.TransferStatus);
+ getChar(req, "IdCardType", &myreq.IdCardType);
+ getInt(req, "PlateSerial", &myreq.PlateSerial);
+ getDouble(req, "FutureFetchAmount", &myreq.FutureFetchAmount);
+ getStr(req, "TradeDate", myreq.TradeDate);
+ getStr(req, "CurrencyID", myreq.CurrencyID);
+ getDouble(req, "BrokerFee", &myreq.BrokerFee);
+ getChar(req, "BankAccType", &myreq.BankAccType);
+ getChar(req, "LastFragment", &myreq.LastFragment);
+ getInt(req, "FutureSerial", &myreq.FutureSerial);
+ getChar(req, "BankSecuAccType", &myreq.BankSecuAccType);
+ getStr(req, "BrokerIDByBank", myreq.BrokerIDByBank);
+ getChar(req, "SecuPwdFlag", &myreq.SecuPwdFlag);
+ getStr(req, "Message", myreq.Message);
+ getDouble(req, "CustFee", &myreq.CustFee);
+ getDouble(req, "TradeAmount", &myreq.TradeAmount);
+ getStr(req, "Digest", myreq.Digest);
+ int i = this->api->ReqFromBankToFutureByFuture(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqFromFutureToBankByFuture(dict req, int nRequestID)
+{
+ CThostFtdcReqTransferField myreq = CThostFtdcReqTransferField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "BrokerBranchID", myreq.BrokerBranchID);
+ getStr(req, "UserID", myreq.UserID);
+ getStr(req, "BankPassWord", myreq.BankPassWord);
+ getStr(req, "TradeTime", myreq.TradeTime);
+ getChar(req, "VerifyCertNoFlag", &myreq.VerifyCertNoFlag);
+ getInt(req, "TID", &myreq.TID);
+ getStr(req, "AccountID", myreq.AccountID);
+ getStr(req, "BankAccount", myreq.BankAccount);
+ getInt(req, "InstallID", &myreq.InstallID);
+ getStr(req, "CustomerName", myreq.CustomerName);
+ getStr(req, "TradeCode", myreq.TradeCode);
+ getStr(req, "BankBranchID", myreq.BankBranchID);
+ getInt(req, "SessionID", &myreq.SessionID);
+ getStr(req, "BankID", myreq.BankID);
+ getStr(req, "Password", myreq.Password);
+ getChar(req, "BankPwdFlag", &myreq.BankPwdFlag);
+ getInt(req, "RequestID", &myreq.RequestID);
+ getChar(req, "CustType", &myreq.CustType);
+ getStr(req, "IdentifiedCardNo", myreq.IdentifiedCardNo);
+ getChar(req, "FeePayFlag", &myreq.FeePayFlag);
+ getStr(req, "BankSerial", myreq.BankSerial);
+ getStr(req, "OperNo", myreq.OperNo);
+ getStr(req, "TradingDay", myreq.TradingDay);
+ getStr(req, "BankSecuAcc", myreq.BankSecuAcc);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ getStr(req, "DeviceID", myreq.DeviceID);
+ getChar(req, "TransferStatus", &myreq.TransferStatus);
+ getChar(req, "IdCardType", &myreq.IdCardType);
+ getInt(req, "PlateSerial", &myreq.PlateSerial);
+ getDouble(req, "FutureFetchAmount", &myreq.FutureFetchAmount);
+ getStr(req, "TradeDate", myreq.TradeDate);
+ getStr(req, "CurrencyID", myreq.CurrencyID);
+ getDouble(req, "BrokerFee", &myreq.BrokerFee);
+ getChar(req, "BankAccType", &myreq.BankAccType);
+ getChar(req, "LastFragment", &myreq.LastFragment);
+ getInt(req, "FutureSerial", &myreq.FutureSerial);
+ getChar(req, "BankSecuAccType", &myreq.BankSecuAccType);
+ getStr(req, "BrokerIDByBank", myreq.BrokerIDByBank);
+ getChar(req, "SecuPwdFlag", &myreq.SecuPwdFlag);
+ getStr(req, "Message", myreq.Message);
+ getDouble(req, "CustFee", &myreq.CustFee);
+ getDouble(req, "TradeAmount", &myreq.TradeAmount);
+ getStr(req, "Digest", myreq.Digest);
+ int i = this->api->ReqFromFutureToBankByFuture(&myreq, nRequestID);
+ return i;
+};
+
+int TdApi::reqQueryBankAccountMoneyByFuture(dict req, int nRequestID)
+{
+ CThostFtdcReqQueryAccountField myreq = CThostFtdcReqQueryAccountField();
+ memset(&myreq, 0, sizeof(myreq));
+ getStr(req, "BrokerBranchID", myreq.BrokerBranchID);
+ getStr(req, "UserID", myreq.UserID);
+ getStr(req, "BankPassWord", myreq.BankPassWord);
+ getStr(req, "TradeTime", myreq.TradeTime);
+ getChar(req, "VerifyCertNoFlag", &myreq.VerifyCertNoFlag);
+ getInt(req, "TID", &myreq.TID);
+ getStr(req, "AccountID", myreq.AccountID);
+ getStr(req, "BankAccount", myreq.BankAccount);
+ getInt(req, "InstallID", &myreq.InstallID);
+ getStr(req, "CustomerName", myreq.CustomerName);
+ getStr(req, "TradeCode", myreq.TradeCode);
+ getStr(req, "BankBranchID", myreq.BankBranchID);
+ getInt(req, "SessionID", &myreq.SessionID);
+ getStr(req, "BankID", myreq.BankID);
+ getStr(req, "Password", myreq.Password);
+ getChar(req, "BankPwdFlag", &myreq.BankPwdFlag);
+ getInt(req, "RequestID", &myreq.RequestID);
+ getChar(req, "CustType", &myreq.CustType);
+ getStr(req, "IdentifiedCardNo", myreq.IdentifiedCardNo);
+ getStr(req, "BankSerial", myreq.BankSerial);
+ getStr(req, "OperNo", myreq.OperNo);
+ getStr(req, "TradingDay", myreq.TradingDay);
+ getStr(req, "BankSecuAcc", myreq.BankSecuAcc);
+ getStr(req, "BrokerID", myreq.BrokerID);
+ getStr(req, "DeviceID", myreq.DeviceID);
+ getChar(req, "IdCardType", &myreq.IdCardType);
+ getInt(req, "PlateSerial", &myreq.PlateSerial);
+ getStr(req, "TradeDate", myreq.TradeDate);
+ getStr(req, "CurrencyID", myreq.CurrencyID);
+ getChar(req, "BankAccType", &myreq.BankAccType);
+ getChar(req, "LastFragment", &myreq.LastFragment);
+ getInt(req, "FutureSerial", &myreq.FutureSerial);
+ getChar(req, "BankSecuAccType", &myreq.BankSecuAccType);
+ getStr(req, "BrokerIDByBank", myreq.BrokerIDByBank);
+ getChar(req, "SecuPwdFlag", &myreq.SecuPwdFlag);
+ getStr(req, "Digest", myreq.Digest);
+ int i = this->api->ReqQueryBankAccountMoneyByFuture(&myreq, nRequestID);
+ return i;
+};
+
+
+///-------------------------------------------------------------------------------------
+///Boost.Pythonװ
+///-------------------------------------------------------------------------------------
+
+struct TdApiWrap : TdApi, wrapper < TdApi >
+{
+ virtual void onFrontConnected()
+ {
+ //pythonеûصǰҪȻȡȫGILֹ
+ PyLock lock;
+
+ //µtry...catch...ʵֲpythonдĹܣֹC++ֱӳԭδ֪ı
+ try
+ {
+ this->get_override("onFrontConnected")();
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onFrontDisconnected(int i)
+ {
+ PyLock lock;
+
+ try
+ {
+ this->get_override("onFrontDisconnected")(i);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onHeartBeatWarning(int i)
+ {
+ PyLock lock;
+
+ try
+ {
+ this->get_override("onHeartBeatWarning")(i);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspAuthenticate(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspAuthenticate")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspUserLogin(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspUserLogin")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspUserLogout(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspUserLogout")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspUserPasswordUpdate(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspUserPasswordUpdate")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspTradingAccountPasswordUpdate(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspTradingAccountPasswordUpdate")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspOrderInsert(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspOrderInsert")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspParkedOrderInsert(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspParkedOrderInsert")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspParkedOrderAction(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspParkedOrderAction")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspOrderAction(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspOrderAction")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQueryMaxOrderVolume(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQueryMaxOrderVolume")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspSettlementInfoConfirm(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspSettlementInfoConfirm")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspRemoveParkedOrder(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspRemoveParkedOrder")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspRemoveParkedOrderAction(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspRemoveParkedOrderAction")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspExecOrderInsert(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspExecOrderInsert")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspExecOrderAction(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspExecOrderAction")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspForQuoteInsert(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspForQuoteInsert")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQuoteInsert(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQuoteInsert")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQuoteAction(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQuoteAction")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspLockInsert(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspLockInsert")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspCombActionInsert(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspCombActionInsert")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQryOrder(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQryOrder")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQryTrade(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQryTrade")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQryInvestorPosition(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQryInvestorPosition")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQryTradingAccount(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQryTradingAccount")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQryInvestor(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQryInvestor")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQryTradingCode(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQryTradingCode")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQryInstrumentMarginRate(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQryInstrumentMarginRate")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQryInstrumentCommissionRate(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQryInstrumentCommissionRate")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQryExchange(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQryExchange")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQryProduct(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQryProduct")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQryInstrument(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQryInstrument")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQryDepthMarketData(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQryDepthMarketData")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQrySettlementInfo(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQrySettlementInfo")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQryTransferBank(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQryTransferBank")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQryInvestorPositionDetail(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQryInvestorPositionDetail")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQryNotice(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQryNotice")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQrySettlementInfoConfirm(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQrySettlementInfoConfirm")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQryInvestorPositionCombineDetail(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQryInvestorPositionCombineDetail")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQryCFMMCTradingAccountKey(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQryCFMMCTradingAccountKey")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQryEWarrantOffset(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQryEWarrantOffset")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQryInvestorProductGroupMargin(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQryInvestorProductGroupMargin")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQryExchangeMarginRate(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQryExchangeMarginRate")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQryExchangeMarginRateAdjust(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQryExchangeMarginRateAdjust")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQryExchangeRate(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQryExchangeRate")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQrySecAgentACIDMap(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQrySecAgentACIDMap")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQryProductExchRate(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQryProductExchRate")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQryProductGroup(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQryProductGroup")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQryOptionInstrTradeCost(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQryOptionInstrTradeCost")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQryOptionInstrCommRate(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQryOptionInstrCommRate")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQryExecOrder(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQryExecOrder")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQryForQuote(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQryForQuote")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQryQuote(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQryQuote")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQryLock(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQryLock")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQryLockPosition(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQryLockPosition")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQryInvestorLevel(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQryInvestorLevel")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQryExecFreeze(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQryExecFreeze")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQryCombInstrumentGuard(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQryCombInstrumentGuard")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQryCombAction(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQryCombAction")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQryTransferSerial(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQryTransferSerial")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQryAccountregister(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQryAccountregister")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspError(dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspError")(error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRtnOrder(dict data)
+ {
+ try
+ {
+ this->get_override("onRtnOrder")(data);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRtnTrade(dict data)
+ {
+ try
+ {
+ this->get_override("onRtnTrade")(data);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onErrRtnOrderInsert(dict data, dict error)
+ {
+ try
+ {
+ this->get_override("onErrRtnOrderInsert")(data, error);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onErrRtnOrderAction(dict data, dict error)
+ {
+ try
+ {
+ this->get_override("onErrRtnOrderAction")(data, error);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRtnInstrumentStatus(dict data)
+ {
+ try
+ {
+ this->get_override("onRtnInstrumentStatus")(data);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRtnTradingNotice(dict data)
+ {
+ try
+ {
+ this->get_override("onRtnTradingNotice")(data);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRtnErrorConditionalOrder(dict data)
+ {
+ try
+ {
+ this->get_override("onRtnErrorConditionalOrder")(data);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRtnExecOrder(dict data)
+ {
+ try
+ {
+ this->get_override("onRtnExecOrder")(data);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onErrRtnExecOrderInsert(dict data, dict error)
+ {
+ try
+ {
+ this->get_override("onErrRtnExecOrderInsert")(data, error);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onErrRtnExecOrderAction(dict data, dict error)
+ {
+ try
+ {
+ this->get_override("onErrRtnExecOrderAction")(data, error);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onErrRtnForQuoteInsert(dict data, dict error)
+ {
+ try
+ {
+ this->get_override("onErrRtnForQuoteInsert")(data, error);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRtnQuote(dict data)
+ {
+ try
+ {
+ this->get_override("onRtnQuote")(data);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onErrRtnQuoteInsert(dict data, dict error)
+ {
+ try
+ {
+ this->get_override("onErrRtnQuoteInsert")(data, error);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onErrRtnQuoteAction(dict data, dict error)
+ {
+ try
+ {
+ this->get_override("onErrRtnQuoteAction")(data, error);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRtnForQuoteRsp(dict data)
+ {
+ try
+ {
+ this->get_override("onRtnForQuoteRsp")(data);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRtnCFMMCTradingAccountToken(dict data)
+ {
+ try
+ {
+ this->get_override("onRtnCFMMCTradingAccountToken")(data);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRtnLock(dict data)
+ {
+ try
+ {
+ this->get_override("onRtnLock")(data);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onErrRtnLockInsert(dict data, dict error)
+ {
+ try
+ {
+ this->get_override("onErrRtnLockInsert")(data, error);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRtnCombAction(dict data)
+ {
+ try
+ {
+ this->get_override("onRtnCombAction")(data);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onErrRtnCombActionInsert(dict data, dict error)
+ {
+ try
+ {
+ this->get_override("onErrRtnCombActionInsert")(data, error);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQryContractBank(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQryContractBank")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQryParkedOrder(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQryParkedOrder")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQryParkedOrderAction(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQryParkedOrderAction")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQryTradingNotice(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQryTradingNotice")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQryBrokerTradingParams(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQryBrokerTradingParams")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQryBrokerTradingAlgos(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQryBrokerTradingAlgos")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQueryCFMMCTradingAccountToken(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQueryCFMMCTradingAccountToken")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRtnFromBankToFutureByBank(dict data)
+ {
+ try
+ {
+ this->get_override("onRtnFromBankToFutureByBank")(data);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRtnFromFutureToBankByBank(dict data)
+ {
+ try
+ {
+ this->get_override("onRtnFromFutureToBankByBank")(data);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRtnRepealFromBankToFutureByBank(dict data)
+ {
+ try
+ {
+ this->get_override("onRtnRepealFromBankToFutureByBank")(data);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRtnRepealFromFutureToBankByBank(dict data)
+ {
+ try
+ {
+ this->get_override("onRtnRepealFromFutureToBankByBank")(data);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRtnFromBankToFutureByFuture(dict data)
+ {
+ try
+ {
+ this->get_override("onRtnFromBankToFutureByFuture")(data);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRtnFromFutureToBankByFuture(dict data)
+ {
+ try
+ {
+ this->get_override("onRtnFromFutureToBankByFuture")(data);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRtnRepealFromBankToFutureByFutureManual(dict data)
+ {
+ try
+ {
+ this->get_override("onRtnRepealFromBankToFutureByFutureManual")(data);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRtnRepealFromFutureToBankByFutureManual(dict data)
+ {
+ try
+ {
+ this->get_override("onRtnRepealFromFutureToBankByFutureManual")(data);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRtnQueryBankBalanceByFuture(dict data)
+ {
+ try
+ {
+ this->get_override("onRtnQueryBankBalanceByFuture")(data);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onErrRtnBankToFutureByFuture(dict data, dict error)
+ {
+ try
+ {
+ this->get_override("onErrRtnBankToFutureByFuture")(data, error);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onErrRtnFutureToBankByFuture(dict data, dict error)
+ {
+ try
+ {
+ this->get_override("onErrRtnFutureToBankByFuture")(data, error);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onErrRtnRepealBankToFutureByFutureManual(dict data, dict error)
+ {
+ try
+ {
+ this->get_override("onErrRtnRepealBankToFutureByFutureManual")(data, error);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onErrRtnRepealFutureToBankByFutureManual(dict data, dict error)
+ {
+ try
+ {
+ this->get_override("onErrRtnRepealFutureToBankByFutureManual")(data, error);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onErrRtnQueryBankBalanceByFuture(dict data, dict error)
+ {
+ try
+ {
+ this->get_override("onErrRtnQueryBankBalanceByFuture")(data, error);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRtnRepealFromBankToFutureByFuture(dict data)
+ {
+ try
+ {
+ this->get_override("onRtnRepealFromBankToFutureByFuture")(data);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRtnRepealFromFutureToBankByFuture(dict data)
+ {
+ try
+ {
+ this->get_override("onRtnRepealFromFutureToBankByFuture")(data);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspFromBankToFutureByFuture(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspFromBankToFutureByFuture")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspFromFutureToBankByFuture(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspFromFutureToBankByFuture")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRspQueryBankAccountMoneyByFuture(dict data, dict error, int id, bool last)
+ {
+ try
+ {
+ this->get_override("onRspQueryBankAccountMoneyByFuture")(data, error, id, last);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRtnOpenAccountByBank(dict data)
+ {
+ try
+ {
+ this->get_override("onRtnOpenAccountByBank")(data);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRtnCancelAccountByBank(dict data)
+ {
+ try
+ {
+ this->get_override("onRtnCancelAccountByBank")(data);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+ virtual void onRtnChangeAccountByBank(dict data)
+ {
+ try
+ {
+ this->get_override("onRtnChangeAccountByBank")(data);
+ }
+ catch (error_already_set const &)
+ {
+ PyErr_Print();
+ }
+ };
+
+};
+
+BOOST_PYTHON_MODULE(vnctptd)
+{
+ PyEval_InitThreads(); //ʱУ֤ȴGIL
+
+ class_("TdApi")
+ .def("createFtdcTraderApi", &TdApiWrap::createFtdcTraderApi)
+ .def("release", &TdApiWrap::release)
+ .def("init", &TdApiWrap::init)
+ .def("join", &TdApiWrap::join)
+ .def("exit", &TdApiWrap::exit)
+ .def("getTradingDay", &TdApiWrap::getTradingDay)
+ .def("registerFront", &TdApiWrap::registerFront)
+ .def("subscribePrivateTopic", &TdApiWrap::subscribePrivateTopic)
+ .def("subscribePublicTopic", &TdApiWrap::subscribePublicTopic)
+ .def("reqAuthenticate", &TdApiWrap::reqAuthenticate)
+ .def("reqUserLogin", &TdApiWrap::reqUserLogin)
+ .def("reqUserLogout", &TdApiWrap::reqUserLogout)
+ .def("reqUserPasswordUpdate", &TdApiWrap::reqUserPasswordUpdate)
+ .def("reqTradingAccountPasswordUpdate", &TdApiWrap::reqTradingAccountPasswordUpdate)
+ .def("reqOrderInsert", &TdApiWrap::reqOrderInsert)
+ .def("reqParkedOrderInsert", &TdApiWrap::reqParkedOrderInsert)
+ .def("reqParkedOrderAction", &TdApiWrap::reqParkedOrderAction)
+ .def("reqOrderAction", &TdApiWrap::reqOrderAction)
+ .def("reqQueryMaxOrderVolume", &TdApiWrap::reqQueryMaxOrderVolume)
+ .def("reqSettlementInfoConfirm", &TdApiWrap::reqSettlementInfoConfirm)
+ .def("reqRemoveParkedOrder", &TdApiWrap::reqRemoveParkedOrder)
+ .def("reqRemoveParkedOrderAction", &TdApiWrap::reqRemoveParkedOrderAction)
+ .def("reqExecOrderInsert", &TdApiWrap::reqExecOrderInsert)
+ .def("reqExecOrderAction", &TdApiWrap::reqExecOrderAction)
+ .def("reqForQuoteInsert", &TdApiWrap::reqForQuoteInsert)
+ .def("reqQuoteInsert", &TdApiWrap::reqQuoteInsert)
+ .def("reqQuoteAction", &TdApiWrap::reqQuoteAction)
+ .def("reqLockInsert", &TdApiWrap::reqLockInsert)
+ .def("reqCombActionInsert", &TdApiWrap::reqCombActionInsert)
+ .def("reqQryOrder", &TdApiWrap::reqQryOrder)
+ .def("reqQryTrade", &TdApiWrap::reqQryTrade)
+ .def("reqQryInvestorPosition", &TdApiWrap::reqQryInvestorPosition)
+ .def("reqQryTradingAccount", &TdApiWrap::reqQryTradingAccount)
+ .def("reqQryInvestor", &TdApiWrap::reqQryInvestor)
+ .def("reqQryTradingCode", &TdApiWrap::reqQryTradingCode)
+ .def("reqQryInstrumentMarginRate", &TdApiWrap::reqQryInstrumentMarginRate)
+ .def("reqQryInstrumentCommissionRate", &TdApiWrap::reqQryInstrumentCommissionRate)
+ .def("reqQryExchange", &TdApiWrap::reqQryExchange)
+ .def("reqQryProduct", &TdApiWrap::reqQryProduct)
+ .def("reqQryInstrument", &TdApiWrap::reqQryInstrument)
+ .def("reqQryDepthMarketData", &TdApiWrap::reqQryDepthMarketData)
+ .def("reqQrySettlementInfo", &TdApiWrap::reqQrySettlementInfo)
+ .def("reqQryTransferBank", &TdApiWrap::reqQryTransferBank)
+ .def("reqQryInvestorPositionDetail", &TdApiWrap::reqQryInvestorPositionDetail)
+ .def("reqQryNotice", &TdApiWrap::reqQryNotice)
+ .def("reqQrySettlementInfoConfirm", &TdApiWrap::reqQrySettlementInfoConfirm)
+ .def("reqQryInvestorPositionCombineDetail", &TdApiWrap::reqQryInvestorPositionCombineDetail)
+ .def("reqQryCFMMCTradingAccountKey", &TdApiWrap::reqQryCFMMCTradingAccountKey)
+ .def("reqQryEWarrantOffset", &TdApiWrap::reqQryEWarrantOffset)
+ .def("reqQryInvestorProductGroupMargin", &TdApiWrap::reqQryInvestorProductGroupMargin)
+ .def("reqQryExchangeMarginRate", &TdApiWrap::reqQryExchangeMarginRate)
+ .def("reqQryExchangeMarginRateAdjust", &TdApiWrap::reqQryExchangeMarginRateAdjust)
+ .def("reqQryExchangeRate", &TdApiWrap::reqQryExchangeRate)
+ .def("reqQrySecAgentACIDMap", &TdApiWrap::reqQrySecAgentACIDMap)
+ .def("reqQryProductExchRate", &TdApiWrap::reqQryProductExchRate)
+ .def("reqQryProductGroup", &TdApiWrap::reqQryProductGroup)
+ .def("reqQryOptionInstrTradeCost", &TdApiWrap::reqQryOptionInstrTradeCost)
+ .def("reqQryOptionInstrCommRate", &TdApiWrap::reqQryOptionInstrCommRate)
+ .def("reqQryExecOrder", &TdApiWrap::reqQryExecOrder)
+ .def("reqQryForQuote", &TdApiWrap::reqQryForQuote)
+ .def("reqQryQuote", &TdApiWrap::reqQryQuote)
+ .def("reqQryLock", &TdApiWrap::reqQryLock)
+ .def("reqQryLockPosition", &TdApiWrap::reqQryLockPosition)
+ .def("reqQryInvestorLevel", &TdApiWrap::reqQryInvestorLevel)
+ .def("reqQryExecFreeze", &TdApiWrap::reqQryExecFreeze)
+ .def("reqQryCombInstrumentGuard", &TdApiWrap::reqQryCombInstrumentGuard)
+ .def("reqQryCombAction", &TdApiWrap::reqQryCombAction)
+ .def("reqQryTransferSerial", &TdApiWrap::reqQryTransferSerial)
+ .def("reqQryAccountregister", &TdApiWrap::reqQryAccountregister)
+ .def("reqQryContractBank", &TdApiWrap::reqQryContractBank)
+ .def("reqQryParkedOrder", &TdApiWrap::reqQryParkedOrder)
+ .def("reqQryParkedOrderAction", &TdApiWrap::reqQryParkedOrderAction)
+ .def("reqQryTradingNotice", &TdApiWrap::reqQryTradingNotice)
+ .def("reqQryBrokerTradingParams", &TdApiWrap::reqQryBrokerTradingParams)
+ .def("reqQryBrokerTradingAlgos", &TdApiWrap::reqQryBrokerTradingAlgos)
+ .def("reqQueryCFMMCTradingAccountToken", &TdApiWrap::reqQueryCFMMCTradingAccountToken)
+ .def("reqFromBankToFutureByFuture", &TdApiWrap::reqFromBankToFutureByFuture)
+ .def("reqFromFutureToBankByFuture", &TdApiWrap::reqFromFutureToBankByFuture)
+ .def("reqQueryBankAccountMoneyByFuture", &TdApiWrap::reqQueryBankAccountMoneyByFuture)
+
+ .def("onFrontConnected", pure_virtual(&TdApiWrap::onFrontConnected))
+ .def("onFrontDisconnected", pure_virtual(&TdApiWrap::onFrontDisconnected))
+ .def("onHeartBeatWarning", pure_virtual(&TdApiWrap::onHeartBeatWarning))
+ .def("onRspAuthenticate", pure_virtual(&TdApiWrap::onRspAuthenticate))
+ .def("onRspUserLogin", pure_virtual(&TdApiWrap::onRspUserLogin))
+ .def("onRspUserLogout", pure_virtual(&TdApiWrap::onRspUserLogout))
+ .def("onRspUserPasswordUpdate", pure_virtual(&TdApiWrap::onRspUserPasswordUpdate))
+ .def("onRspTradingAccountPasswordUpdate", pure_virtual(&TdApiWrap::onRspTradingAccountPasswordUpdate))
+ .def("onRspOrderInsert", pure_virtual(&TdApiWrap::onRspOrderInsert))
+ .def("onRspParkedOrderInsert", pure_virtual(&TdApiWrap::onRspParkedOrderInsert))
+ .def("onRspParkedOrderAction", pure_virtual(&TdApiWrap::onRspParkedOrderAction))
+ .def("onRspOrderAction", pure_virtual(&TdApiWrap::onRspOrderAction))
+ .def("onRspQueryMaxOrderVolume", pure_virtual(&TdApiWrap::onRspQueryMaxOrderVolume))
+ .def("onRspSettlementInfoConfirm", pure_virtual(&TdApiWrap::onRspSettlementInfoConfirm))
+ .def("onRspRemoveParkedOrder", pure_virtual(&TdApiWrap::onRspRemoveParkedOrder))
+ .def("onRspRemoveParkedOrderAction", pure_virtual(&TdApiWrap::onRspRemoveParkedOrderAction))
+ .def("onRspExecOrderInsert", pure_virtual(&TdApiWrap::onRspExecOrderInsert))
+ .def("onRspExecOrderAction", pure_virtual(&TdApiWrap::onRspExecOrderAction))
+ .def("onRspForQuoteInsert", pure_virtual(&TdApiWrap::onRspForQuoteInsert))
+ .def("onRspQuoteInsert", pure_virtual(&TdApiWrap::onRspQuoteInsert))
+ .def("onRspQuoteAction", pure_virtual(&TdApiWrap::onRspQuoteAction))
+ .def("onRspLockInsert", pure_virtual(&TdApiWrap::onRspLockInsert))
+ .def("onRspCombActionInsert", pure_virtual(&TdApiWrap::onRspCombActionInsert))
+ .def("onRspQryOrder", pure_virtual(&TdApiWrap::onRspQryOrder))
+ .def("onRspQryTrade", pure_virtual(&TdApiWrap::onRspQryTrade))
+ .def("onRspQryInvestorPosition", pure_virtual(&TdApiWrap::onRspQryInvestorPosition))
+ .def("onRspQryTradingAccount", pure_virtual(&TdApiWrap::onRspQryTradingAccount))
+ .def("onRspQryInvestor", pure_virtual(&TdApiWrap::onRspQryInvestor))
+ .def("onRspQryTradingCode", pure_virtual(&TdApiWrap::onRspQryTradingCode))
+ .def("onRspQryInstrumentMarginRate", pure_virtual(&TdApiWrap::onRspQryInstrumentMarginRate))
+ .def("onRspQryInstrumentCommissionRate", pure_virtual(&TdApiWrap::onRspQryInstrumentCommissionRate))
+ .def("onRspQryExchange", pure_virtual(&TdApiWrap::onRspQryExchange))
+ .def("onRspQryProduct", pure_virtual(&TdApiWrap::onRspQryProduct))
+ .def("onRspQryInstrument", pure_virtual(&TdApiWrap::onRspQryInstrument))
+ .def("onRspQryDepthMarketData", pure_virtual(&TdApiWrap::onRspQryDepthMarketData))
+ .def("onRspQrySettlementInfo", pure_virtual(&TdApiWrap::onRspQrySettlementInfo))
+ .def("onRspQryTransferBank", pure_virtual(&TdApiWrap::onRspQryTransferBank))
+ .def("onRspQryInvestorPositionDetail", pure_virtual(&TdApiWrap::onRspQryInvestorPositionDetail))
+ .def("onRspQryNotice", pure_virtual(&TdApiWrap::onRspQryNotice))
+ .def("onRspQrySettlementInfoConfirm", pure_virtual(&TdApiWrap::onRspQrySettlementInfoConfirm))
+ .def("onRspQryInvestorPositionCombineDetail", pure_virtual(&TdApiWrap::onRspQryInvestorPositionCombineDetail))
+ .def("onRspQryCFMMCTradingAccountKey", pure_virtual(&TdApiWrap::onRspQryCFMMCTradingAccountKey))
+ .def("onRspQryEWarrantOffset", pure_virtual(&TdApiWrap::onRspQryEWarrantOffset))
+ .def("onRspQryInvestorProductGroupMargin", pure_virtual(&TdApiWrap::onRspQryInvestorProductGroupMargin))
+ .def("onRspQryExchangeMarginRate", pure_virtual(&TdApiWrap::onRspQryExchangeMarginRate))
+ .def("onRspQryExchangeMarginRateAdjust", pure_virtual(&TdApiWrap::onRspQryExchangeMarginRateAdjust))
+ .def("onRspQryExchangeRate", pure_virtual(&TdApiWrap::onRspQryExchangeRate))
+ .def("onRspQrySecAgentACIDMap", pure_virtual(&TdApiWrap::onRspQrySecAgentACIDMap))
+ .def("onRspQryProductExchRate", pure_virtual(&TdApiWrap::onRspQryProductExchRate))
+ .def("onRspQryProductGroup", pure_virtual(&TdApiWrap::onRspQryProductGroup))
+ .def("onRspQryOptionInstrTradeCost", pure_virtual(&TdApiWrap::onRspQryOptionInstrTradeCost))
+ .def("onRspQryOptionInstrCommRate", pure_virtual(&TdApiWrap::onRspQryOptionInstrCommRate))
+ .def("onRspQryExecOrder", pure_virtual(&TdApiWrap::onRspQryExecOrder))
+ .def("onRspQryForQuote", pure_virtual(&TdApiWrap::onRspQryForQuote))
+ .def("onRspQryQuote", pure_virtual(&TdApiWrap::onRspQryQuote))
+ .def("onRspQryLock", pure_virtual(&TdApiWrap::onRspQryLock))
+ .def("onRspQryLockPosition", pure_virtual(&TdApiWrap::onRspQryLockPosition))
+ .def("onRspQryInvestorLevel", pure_virtual(&TdApiWrap::onRspQryInvestorLevel))
+ .def("onRspQryExecFreeze", pure_virtual(&TdApiWrap::onRspQryExecFreeze))
+ .def("onRspQryCombInstrumentGuard", pure_virtual(&TdApiWrap::onRspQryCombInstrumentGuard))
+ .def("onRspQryCombAction", pure_virtual(&TdApiWrap::onRspQryCombAction))
+ .def("onRspQryTransferSerial", pure_virtual(&TdApiWrap::onRspQryTransferSerial))
+ .def("onRspQryAccountregister", pure_virtual(&TdApiWrap::onRspQryAccountregister))
+ .def("onRspError", pure_virtual(&TdApiWrap::onRspError))
+ .def("onRtnOrder", pure_virtual(&TdApiWrap::onRtnOrder))
+ .def("onRtnTrade", pure_virtual(&TdApiWrap::onRtnTrade))
+ .def("onErrRtnOrderInsert", pure_virtual(&TdApiWrap::onErrRtnOrderInsert))
+ .def("onErrRtnOrderAction", pure_virtual(&TdApiWrap::onErrRtnOrderAction))
+ .def("onRtnInstrumentStatus", pure_virtual(&TdApiWrap::onRtnInstrumentStatus))
+ .def("onRtnTradingNotice", pure_virtual(&TdApiWrap::onRtnTradingNotice))
+ .def("onRtnErrorConditionalOrder", pure_virtual(&TdApiWrap::onRtnErrorConditionalOrder))
+ .def("onRtnExecOrder", pure_virtual(&TdApiWrap::onRtnExecOrder))
+ .def("onErrRtnExecOrderInsert", pure_virtual(&TdApiWrap::onErrRtnExecOrderInsert))
+ .def("onErrRtnExecOrderAction", pure_virtual(&TdApiWrap::onErrRtnExecOrderAction))
+ .def("onErrRtnForQuoteInsert", pure_virtual(&TdApiWrap::onErrRtnForQuoteInsert))
+ .def("onRtnQuote", pure_virtual(&TdApiWrap::onRtnQuote))
+ .def("onErrRtnQuoteInsert", pure_virtual(&TdApiWrap::onErrRtnQuoteInsert))
+ .def("onErrRtnQuoteAction", pure_virtual(&TdApiWrap::onErrRtnQuoteAction))
+ .def("onRtnForQuoteRsp", pure_virtual(&TdApiWrap::onRtnForQuoteRsp))
+ .def("onRtnCFMMCTradingAccountToken", pure_virtual(&TdApiWrap::onRtnCFMMCTradingAccountToken))
+ .def("onRtnLock", pure_virtual(&TdApiWrap::onRtnLock))
+ .def("onErrRtnLockInsert", pure_virtual(&TdApiWrap::onErrRtnLockInsert))
+ .def("onRtnCombAction", pure_virtual(&TdApiWrap::onRtnCombAction))
+ .def("onErrRtnCombActionInsert", pure_virtual(&TdApiWrap::onErrRtnCombActionInsert))
+ .def("onRspQryContractBank", pure_virtual(&TdApiWrap::onRspQryContractBank))
+ .def("onRspQryParkedOrder", pure_virtual(&TdApiWrap::onRspQryParkedOrder))
+ .def("onRspQryParkedOrderAction", pure_virtual(&TdApiWrap::onRspQryParkedOrderAction))
+ .def("onRspQryTradingNotice", pure_virtual(&TdApiWrap::onRspQryTradingNotice))
+ .def("onRspQryBrokerTradingParams", pure_virtual(&TdApiWrap::onRspQryBrokerTradingParams))
+ .def("onRspQryBrokerTradingAlgos", pure_virtual(&TdApiWrap::onRspQryBrokerTradingAlgos))
+ .def("onRspQueryCFMMCTradingAccountToken", pure_virtual(&TdApiWrap::onRspQueryCFMMCTradingAccountToken))
+ .def("onRtnFromBankToFutureByBank", pure_virtual(&TdApiWrap::onRtnFromBankToFutureByBank))
+ .def("onRtnFromFutureToBankByBank", pure_virtual(&TdApiWrap::onRtnFromFutureToBankByBank))
+ .def("onRtnRepealFromBankToFutureByBank", pure_virtual(&TdApiWrap::onRtnRepealFromBankToFutureByBank))
+ .def("onRtnRepealFromFutureToBankByBank", pure_virtual(&TdApiWrap::onRtnRepealFromFutureToBankByBank))
+ .def("onRtnFromBankToFutureByFuture", pure_virtual(&TdApiWrap::onRtnFromBankToFutureByFuture))
+ .def("onRtnFromFutureToBankByFuture", pure_virtual(&TdApiWrap::onRtnFromFutureToBankByFuture))
+ .def("onRtnRepealFromBankToFutureByFutureManual", pure_virtual(&TdApiWrap::onRtnRepealFromBankToFutureByFutureManual))
+ .def("onRtnRepealFromFutureToBankByFutureManual", pure_virtual(&TdApiWrap::onRtnRepealFromFutureToBankByFutureManual))
+ .def("onRtnQueryBankBalanceByFuture", pure_virtual(&TdApiWrap::onRtnQueryBankBalanceByFuture))
+ .def("onErrRtnBankToFutureByFuture", pure_virtual(&TdApiWrap::onErrRtnBankToFutureByFuture))
+ .def("onErrRtnFutureToBankByFuture", pure_virtual(&TdApiWrap::onErrRtnFutureToBankByFuture))
+ .def("onErrRtnRepealBankToFutureByFutureManual", pure_virtual(&TdApiWrap::onErrRtnRepealBankToFutureByFutureManual))
+ .def("onErrRtnRepealFutureToBankByFutureManual", pure_virtual(&TdApiWrap::onErrRtnRepealFutureToBankByFutureManual))
+ .def("onErrRtnQueryBankBalanceByFuture", pure_virtual(&TdApiWrap::onErrRtnQueryBankBalanceByFuture))
+ .def("onRtnRepealFromBankToFutureByFuture", pure_virtual(&TdApiWrap::onRtnRepealFromBankToFutureByFuture))
+ .def("onRtnRepealFromFutureToBankByFuture", pure_virtual(&TdApiWrap::onRtnRepealFromFutureToBankByFuture))
+ .def("onRspFromBankToFutureByFuture", pure_virtual(&TdApiWrap::onRspFromBankToFutureByFuture))
+ .def("onRspFromFutureToBankByFuture", pure_virtual(&TdApiWrap::onRspFromFutureToBankByFuture))
+ .def("onRspQueryBankAccountMoneyByFuture", pure_virtual(&TdApiWrap::onRspQueryBankAccountMoneyByFuture))
+ .def("onRtnOpenAccountByBank", pure_virtual(&TdApiWrap::onRtnOpenAccountByBank))
+ .def("onRtnCancelAccountByBank", pure_virtual(&TdApiWrap::onRtnCancelAccountByBank))
+ .def("onRtnChangeAccountByBank", pure_virtual(&TdApiWrap::onRtnChangeAccountByBank))
+ ;
+}
diff --git a/vn.how/tick2trade/vn.ctp_t2t/vnctptd/vnctptd/vnctptd.h b/vn.how/tick2trade/vn.ctp_t2t/vnctptd/vnctptd/vnctptd.h
new file mode 100644
index 0000000000..612a061747
--- /dev/null
+++ b/vn.how/tick2trade/vn.ctp_t2t/vnctptd/vnctptd/vnctptd.h
@@ -0,0 +1,1258 @@
+//˵
+/*
+CTP APIкʽתصĺ̫࣬
+ͬʱҲѾдĿͻ֧Щܣ
+Pythonװʱѡֻֽ֧
+*/
+
+
+//ϵͳ
+#ifdef WIN32
+#include "stdafx.h"
+#endif
+#include
+#include
+
+//Boost
+#define BOOST_PYTHON_STATIC_LIB
+#include //pythonװ
+#include //pythonװ
+#include //pythonװ
+#include //pythonװ
+#include //pythonװ
+#include //е̹߳
+#include //е̹߳
+#include //еʵ
+
+//API
+#include "ThostFtdcTraderApi.h"
+
+//ռ
+using namespace std;
+using namespace boost::python;
+using namespace boost;
+
+//ʱ
+#include "windows.h"
+
+//
+#define ONFRONTCONNECTED 1
+#define ONFRONTDISCONNECTED 2
+#define ONHEARTBEATWARNING 3
+#define ONRSPAUTHENTICATE 4
+#define ONRSPUSERLOGIN 5
+#define ONRSPUSERLOGOUT 6
+#define ONRSPUSERPASSWORDUPDATE 7
+#define ONRSPTRADINGACCOUNTPASSWORDUPDATE 8
+#define ONRSPORDERINSERT 9
+#define ONRSPPARKEDORDERINSERT 10
+#define ONRSPPARKEDORDERACTION 11
+#define ONRSPORDERACTION 12
+#define ONRSPQUERYMAXORDERVOLUME 13
+#define ONRSPSETTLEMENTINFOCONFIRM 14
+#define ONRSPREMOVEPARKEDORDER 15
+#define ONRSPREMOVEPARKEDORDERACTION 16
+#define ONRSPEXECORDERINSERT 17
+#define ONRSPEXECORDERACTION 18
+#define ONRSPFORQUOTEINSERT 19
+#define ONRSPQUOTEINSERT 20
+#define ONRSPQUOTEACTION 21
+#define ONRSPLOCKINSERT 22
+#define ONRSPCOMBACTIONINSERT 23
+#define ONRSPQRYORDER 24
+#define ONRSPQRYTRADE 25
+#define ONRSPQRYINVESTORPOSITION 26
+#define ONRSPQRYTRADINGACCOUNT 27
+#define ONRSPQRYINVESTOR 28
+#define ONRSPQRYTRADINGCODE 29
+#define ONRSPQRYINSTRUMENTMARGINRATE 30
+#define ONRSPQRYINSTRUMENTCOMMISSIONRATE 31
+#define ONRSPQRYEXCHANGE 32
+#define ONRSPQRYPRODUCT 33
+#define ONRSPQRYINSTRUMENT 34
+#define ONRSPQRYDEPTHMARKETDATA 35
+#define ONRSPQRYSETTLEMENTINFO 36
+#define ONRSPQRYTRANSFERBANK 37
+#define ONRSPQRYINVESTORPOSITIONDETAIL 38
+#define ONRSPQRYNOTICE 39
+#define ONRSPQRYSETTLEMENTINFOCONFIRM 40
+#define ONRSPQRYINVESTORPOSITIONCOMBINEDETAIL 41
+#define ONRSPQRYCFMMCTRADINGACCOUNTKEY 42
+#define ONRSPQRYEWARRANTOFFSET 43
+#define ONRSPQRYINVESTORPRODUCTGROUPMARGIN 44
+#define ONRSPQRYEXCHANGEMARGINRATE 45
+#define ONRSPQRYEXCHANGEMARGINRATEADJUST 46
+#define ONRSPQRYEXCHANGERATE 47
+#define ONRSPQRYSECAGENTACIDMAP 48
+#define ONRSPQRYPRODUCTEXCHRATE 49
+#define ONRSPQRYPRODUCTGROUP 50
+#define ONRSPQRYOPTIONINSTRTRADECOST 51
+#define ONRSPQRYOPTIONINSTRCOMMRATE 52
+#define ONRSPQRYEXECORDER 53
+#define ONRSPQRYFORQUOTE 54
+#define ONRSPQRYQUOTE 55
+#define ONRSPQRYLOCK 56
+#define ONRSPQRYLOCKPOSITION 57
+#define ONRSPQRYINVESTORLEVEL 58
+#define ONRSPQRYEXECFREEZE 59
+#define ONRSPQRYCOMBINSTRUMENTGUARD 60
+#define ONRSPQRYCOMBACTION 61
+#define ONRSPQRYTRANSFERSERIAL 62
+#define ONRSPQRYACCOUNTREGISTER 63
+#define ONRSPERROR 64
+#define ONRTNORDER 65
+#define ONRTNTRADE 66
+#define ONERRRTNORDERINSERT 67
+#define ONERRRTNORDERACTION 68
+#define ONRTNINSTRUMENTSTATUS 69
+#define ONRTNTRADINGNOTICE 70
+#define ONRTNERRORCONDITIONALORDER 71
+#define ONRTNEXECORDER 72
+#define ONERRRTNEXECORDERINSERT 73
+#define ONERRRTNEXECORDERACTION 74
+#define ONERRRTNFORQUOTEINSERT 75
+#define ONRTNQUOTE 76
+#define ONERRRTNQUOTEINSERT 77
+#define ONERRRTNQUOTEACTION 78
+#define ONRTNFORQUOTERSP 79
+#define ONRTNCFMMCTRADINGACCOUNTTOKEN 80
+#define ONRTNLOCK 81
+#define ONERRRTNLOCKINSERT 82
+#define ONRTNCOMBACTION 83
+#define ONERRRTNCOMBACTIONINSERT 84
+#define ONRSPQRYCONTRACTBANK 85
+#define ONRSPQRYPARKEDORDER 86
+#define ONRSPQRYPARKEDORDERACTION 87
+#define ONRSPQRYTRADINGNOTICE 88
+#define ONRSPQRYBROKERTRADINGPARAMS 89
+#define ONRSPQRYBROKERTRADINGALGOS 90
+#define ONRSPQUERYCFMMCTRADINGACCOUNTTOKEN 91
+#define ONRTNFROMBANKTOFUTUREBYBANK 92
+#define ONRTNFROMFUTURETOBANKBYBANK 93
+#define ONRTNREPEALFROMBANKTOFUTUREBYBANK 94
+#define ONRTNREPEALFROMFUTURETOBANKBYBANK 95
+#define ONRTNFROMBANKTOFUTUREBYFUTURE 96
+#define ONRTNFROMFUTURETOBANKBYFUTURE 97
+#define ONRTNREPEALFROMBANKTOFUTUREBYFUTUREMANUAL 98
+#define ONRTNREPEALFROMFUTURETOBANKBYFUTUREMANUAL 99
+#define ONRTNQUERYBANKBALANCEBYFUTURE 100
+#define ONERRRTNBANKTOFUTUREBYFUTURE 101
+#define ONERRRTNFUTURETOBANKBYFUTURE 102
+#define ONERRRTNREPEALBANKTOFUTUREBYFUTUREMANUAL 103
+#define ONERRRTNREPEALFUTURETOBANKBYFUTUREMANUAL 104
+#define ONERRRTNQUERYBANKBALANCEBYFUTURE 105
+#define ONRTNREPEALFROMBANKTOFUTUREBYFUTURE 106
+#define ONRTNREPEALFROMFUTURETOBANKBYFUTURE 107
+#define ONRSPFROMBANKTOFUTUREBYFUTURE 108
+#define ONRSPFROMFUTURETOBANKBYFUTURE 109
+#define ONRSPQUERYBANKACCOUNTMONEYBYFUTURE 110
+#define ONRTNOPENACCOUNTBYBANK 111
+#define ONRTNCANCELACCOUNTBYBANK 112
+#define ONRTNCHANGEACCOUNTBYBANK 113
+
+
+
+///-------------------------------------------------------------------------------------
+///APIеIJ
+///-------------------------------------------------------------------------------------
+
+//GILȫȡã
+//ڰC++̻߳GILӶֹpython
+class PyLock
+{
+private:
+ PyGILState_STATE gil_state;
+
+public:
+ //ijдöʱGIL
+ PyLock()
+ {
+ gil_state = PyGILState_Ensure();
+ }
+
+ //ijɺٸöʱGIL
+ ~PyLock()
+ {
+ PyGILState_Release(gil_state);
+ }
+};
+
+
+//ṹ
+struct Task
+{
+ int task_name; //صƶӦij
+ any task_data; //ݽṹ
+ any task_error; //ṹ
+ int task_id; //id
+ bool task_last; //ǷΪ
+};
+
+
+///̰߳ȫĶ
+template
+
+class ConcurrentQueue
+{
+private:
+ queue the_queue; //
+ mutable mutex the_mutex; //boost
+ condition_variable the_condition_variable; //boost
+
+public:
+
+ //µ
+ void push(Data const& data)
+ {
+ mutex::scoped_lock lock(the_mutex); //ȡ
+ the_queue.push(data); //д
+ lock.unlock(); //ͷ
+ the_condition_variable.notify_one(); //֪ͨȴ߳
+ }
+
+ //ǷΪ
+ bool empty() const
+ {
+ mutex::scoped_lock lock(the_mutex);
+ return the_queue.empty();
+ }
+
+ //ȡ
+ Data wait_and_pop()
+ {
+ mutex::scoped_lock lock(the_mutex);
+
+ while (the_queue.empty()) //Ϊʱ
+ {
+ the_condition_variable.wait(lock); //ȴ֪ͨ
+ }
+
+ Data popped_value = the_queue.front(); //ȡеһ
+ the_queue.pop(); //ɾ
+ return popped_value; //ظ
+ }
+
+};
+
+
+//ֵлȡijֵӦֵṹֵ
+void getInt(dict d, string key, int* value);
+
+
+//ֵлȡijֵӦĸֵṹֵ
+void getDouble(dict d, string key, double* value);
+
+
+//ֵлȡijֵӦֵַṹֵ
+void getChar(dict d, string key, char* value);
+
+
+//ֵлȡijֵӦֵַṹֵ
+void getStr(dict d, string key, char* value);
+
+
+///-------------------------------------------------------------------------------------
+///C++ SPIĻصʵ
+///-------------------------------------------------------------------------------------
+
+//APIļ̳ʵ
+class TdApi : public CThostFtdcTraderSpi
+{
+private:
+ CThostFtdcTraderApi* api; //API
+ thread *task_thread; //ָ߳루pythonݣ
+ ConcurrentQueue task_queue; //
+
+public:
+ TdApi()
+ {
+ function0 f = boost::bind(&TdApi::processTask, this);
+ thread t(f);
+ this->task_thread = &t;
+ };
+
+ ~TdApi()
+ {
+ };
+
+ //-------------------------------------------------------------------------------------
+ //APIص
+ //-------------------------------------------------------------------------------------
+
+ ///ͻ뽻̨ͨʱδ¼ǰ÷á
+ virtual void OnFrontConnected();
+
+ ///ͻ뽻̨ͨӶϿʱ÷áAPIԶӣͻ˿ɲ
+ ///@param nReason ԭ
+ /// 0x1001 ʧ
+ /// 0x1002 дʧ
+ /// 0x2001 ʱ
+ /// 0x2002 ʧ
+ /// 0x2003 յ
+ virtual void OnFrontDisconnected(int nReason);
+
+ ///ʱ档ʱδյʱ÷á
+ ///@param nTimeLapse ϴνձĵʱ
+ virtual void OnHeartBeatWarning(int nTimeLapse);
+
+ ///ͻ֤Ӧ
+ virtual void OnRspAuthenticate(CThostFtdcRspAuthenticateField *pRspAuthenticateField, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+
+ ///¼Ӧ
+ virtual void OnRspUserLogin(CThostFtdcRspUserLoginField *pRspUserLogin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///dzӦ
+ virtual void OnRspUserLogout(CThostFtdcUserLogoutField *pUserLogout, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ûӦ
+ virtual void OnRspUserPasswordUpdate(CThostFtdcUserPasswordUpdateField *pUserPasswordUpdate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ʽ˻Ӧ
+ virtual void OnRspTradingAccountPasswordUpdate(CThostFtdcTradingAccountPasswordUpdateField *pTradingAccountPasswordUpdate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///¼Ӧ
+ virtual void OnRspOrderInsert(CThostFtdcInputOrderField *pInputOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///Ԥ¼Ӧ
+ virtual void OnRspParkedOrderInsert(CThostFtdcParkedOrderField *pParkedOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///Ԥ¼Ӧ
+ virtual void OnRspParkedOrderAction(CThostFtdcParkedOrderActionField *pParkedOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///Ӧ
+ virtual void OnRspOrderAction(CThostFtdcInputOrderActionField *pInputOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯӦ
+ virtual void OnRspQueryMaxOrderVolume(CThostFtdcQueryMaxOrderVolumeField *pQueryMaxOrderVolume, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///Ͷ߽ȷӦ
+ virtual void OnRspSettlementInfoConfirm(CThostFtdcSettlementInfoConfirmField *pSettlementInfoConfirm, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ɾԤӦ
+ virtual void OnRspRemoveParkedOrder(CThostFtdcRemoveParkedOrderField *pRemoveParkedOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ɾԤӦ
+ virtual void OnRspRemoveParkedOrderAction(CThostFtdcRemoveParkedOrderActionField *pRemoveParkedOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ִ¼Ӧ
+ virtual void OnRspExecOrderInsert(CThostFtdcInputExecOrderField *pInputExecOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ִӦ
+ virtual void OnRspExecOrderAction(CThostFtdcInputExecOrderActionField *pInputExecOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯ¼Ӧ
+ virtual void OnRspForQuoteInsert(CThostFtdcInputForQuoteField *pInputForQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///¼Ӧ
+ virtual void OnRspQuoteInsert(CThostFtdcInputQuoteField *pInputQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///۲Ӧ
+ virtual void OnRspQuoteAction(CThostFtdcInputQuoteActionField *pInputQuoteAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///Ӧ
+ virtual void OnRspLockInsert(CThostFtdcInputLockField *pInputLock, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///¼Ӧ
+ virtual void OnRspCombActionInsert(CThostFtdcInputCombActionField *pInputCombAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯӦ
+ virtual void OnRspQryOrder(CThostFtdcOrderField *pOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯɽӦ
+ virtual void OnRspQryTrade(CThostFtdcTradeField *pTrade, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯͶֲ߳Ӧ
+ virtual void OnRspQryInvestorPosition(CThostFtdcInvestorPositionField *pInvestorPosition, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯʽ˻Ӧ
+ virtual void OnRspQryTradingAccount(CThostFtdcTradingAccountField *pTradingAccount, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯͶӦ
+ virtual void OnRspQryInvestor(CThostFtdcInvestorField *pInvestor, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯױӦ
+ virtual void OnRspQryTradingCode(CThostFtdcTradingCodeField *pTradingCode, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯԼ֤Ӧ
+ virtual void OnRspQryInstrumentMarginRate(CThostFtdcInstrumentMarginRateField *pInstrumentMarginRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯԼӦ
+ virtual void OnRspQryInstrumentCommissionRate(CThostFtdcInstrumentCommissionRateField *pInstrumentCommissionRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯӦ
+ virtual void OnRspQryExchange(CThostFtdcExchangeField *pExchange, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯƷӦ
+ virtual void OnRspQryProduct(CThostFtdcProductField *pProduct, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯԼӦ
+ virtual void OnRspQryInstrument(CThostFtdcInstrumentField *pInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯӦ
+ virtual void OnRspQryDepthMarketData(CThostFtdcDepthMarketDataField *pDepthMarketData, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯͶ߽Ӧ
+ virtual void OnRspQrySettlementInfo(CThostFtdcSettlementInfoField *pSettlementInfo, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯתӦ
+ virtual void OnRspQryTransferBank(CThostFtdcTransferBankField *pTransferBank, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯͶֲ߳ϸӦ
+ virtual void OnRspQryInvestorPositionDetail(CThostFtdcInvestorPositionDetailField *pInvestorPositionDetail, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯͻ֪ͨӦ
+ virtual void OnRspQryNotice(CThostFtdcNoticeField *pNotice, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯϢȷӦ
+ virtual void OnRspQrySettlementInfoConfirm(CThostFtdcSettlementInfoConfirmField *pSettlementInfoConfirm, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯͶֲ߳ϸӦ
+ virtual void OnRspQryInvestorPositionCombineDetail(CThostFtdcInvestorPositionCombineDetailField *pInvestorPositionCombineDetail, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯ֤ϵͳ˾ʽ˻ԿӦ
+ virtual void OnRspQryCFMMCTradingAccountKey(CThostFtdcCFMMCTradingAccountKeyField *pCFMMCTradingAccountKey, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯֵ۵ϢӦ
+ virtual void OnRspQryEWarrantOffset(CThostFtdcEWarrantOffsetField *pEWarrantOffset, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯͶƷ/Ʒֱ֤Ӧ
+ virtual void OnRspQryInvestorProductGroupMargin(CThostFtdcInvestorProductGroupMarginField *pInvestorProductGroupMargin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯ֤Ӧ
+ virtual void OnRspQryExchangeMarginRate(CThostFtdcExchangeMarginRateField *pExchangeMarginRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯ֤Ӧ
+ virtual void OnRspQryExchangeMarginRateAdjust(CThostFtdcExchangeMarginRateAdjustField *pExchangeMarginRateAdjust, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯӦ
+ virtual void OnRspQryExchangeRate(CThostFtdcExchangeRateField *pExchangeRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯԱȨӦ
+ virtual void OnRspQrySecAgentACIDMap(CThostFtdcSecAgentACIDMapField *pSecAgentACIDMap, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯƷۻ
+ virtual void OnRspQryProductExchRate(CThostFtdcProductExchRateField *pProductExchRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯƷ
+ virtual void OnRspQryProductGroup(CThostFtdcProductGroupField *pProductGroup, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯȨ׳ɱӦ
+ virtual void OnRspQryOptionInstrTradeCost(CThostFtdcOptionInstrTradeCostField *pOptionInstrTradeCost, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯȨԼӦ
+ virtual void OnRspQryOptionInstrCommRate(CThostFtdcOptionInstrCommRateField *pOptionInstrCommRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯִӦ
+ virtual void OnRspQryExecOrder(CThostFtdcExecOrderField *pExecOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯѯӦ
+ virtual void OnRspQryForQuote(CThostFtdcForQuoteField *pForQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯӦ
+ virtual void OnRspQryQuote(CThostFtdcQuoteField *pQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯӦ
+ virtual void OnRspQryLock(CThostFtdcLockField *pLock, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯ֤ȯλӦ
+ virtual void OnRspQryLockPosition(CThostFtdcLockPositionField *pLockPosition, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯͶ߷ּ
+ virtual void OnRspQryInvestorLevel(CThostFtdcInvestorLevelField *pInvestorLevel, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯE+1ȨӦ
+ virtual void OnRspQryExecFreeze(CThostFtdcExecFreezeField *pExecFreeze, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯϺԼȫϵӦ
+ virtual void OnRspQryCombInstrumentGuard(CThostFtdcCombInstrumentGuardField *pCombInstrumentGuard, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯӦ
+ virtual void OnRspQryCombAction(CThostFtdcCombActionField *pCombAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯתˮӦ
+ virtual void OnRspQryTransferSerial(CThostFtdcTransferSerialField *pTransferSerial, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯǩԼϵӦ
+ virtual void OnRspQryAccountregister(CThostFtdcAccountregisterField *pAccountregister, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///Ӧ
+ virtual void OnRspError(CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///֪ͨ
+ virtual void OnRtnOrder(CThostFtdcOrderField *pOrder) ;
+
+ ///ɽ֪ͨ
+ virtual void OnRtnTrade(CThostFtdcTradeField *pTrade) ;
+
+ ///¼ر
+ virtual void OnErrRtnOrderInsert(CThostFtdcInputOrderField *pInputOrder, CThostFtdcRspInfoField *pRspInfo) ;
+
+ ///ر
+ virtual void OnErrRtnOrderAction(CThostFtdcOrderActionField *pOrderAction, CThostFtdcRspInfoField *pRspInfo) ;
+
+ ///Լ״̬֪ͨ
+ virtual void OnRtnInstrumentStatus(CThostFtdcInstrumentStatusField *pInstrumentStatus) ;
+
+ ///֪ͨ
+ virtual void OnRtnTradingNotice(CThostFtdcTradingNoticeInfoField *pTradingNoticeInfo) ;
+
+ ///ʾУ
+ virtual void OnRtnErrorConditionalOrder(CThostFtdcErrorConditionalOrderField *pErrorConditionalOrder) ;
+
+ ///ִ֪ͨ
+ virtual void OnRtnExecOrder(CThostFtdcExecOrderField *pExecOrder) ;
+
+ ///ִ¼ر
+ virtual void OnErrRtnExecOrderInsert(CThostFtdcInputExecOrderField *pInputExecOrder, CThostFtdcRspInfoField *pRspInfo) ;
+
+ ///ִر
+ virtual void OnErrRtnExecOrderAction(CThostFtdcExecOrderActionField *pExecOrderAction, CThostFtdcRspInfoField *pRspInfo) ;
+
+ ///ѯ¼ر
+ virtual void OnErrRtnForQuoteInsert(CThostFtdcInputForQuoteField *pInputForQuote, CThostFtdcRspInfoField *pRspInfo) ;
+
+ ///֪ͨ
+ virtual void OnRtnQuote(CThostFtdcQuoteField *pQuote) ;
+
+ ///¼ر
+ virtual void OnErrRtnQuoteInsert(CThostFtdcInputQuoteField *pInputQuote, CThostFtdcRspInfoField *pRspInfo) ;
+
+ ///۲ر
+ virtual void OnErrRtnQuoteAction(CThostFtdcQuoteActionField *pQuoteAction, CThostFtdcRspInfoField *pRspInfo) ;
+
+ ///ѯ֪ͨ
+ virtual void OnRtnForQuoteRsp(CThostFtdcForQuoteRspField *pForQuoteRsp) ;
+
+ ///֤û
+ virtual void OnRtnCFMMCTradingAccountToken(CThostFtdcCFMMCTradingAccountTokenField *pCFMMCTradingAccountToken) ;
+
+ ///֪ͨ
+ virtual void OnRtnLock(CThostFtdcLockField *pLock) ;
+
+ ///֪ͨ
+ virtual void OnErrRtnLockInsert(CThostFtdcInputLockField *pInputLock, CThostFtdcRspInfoField *pRspInfo) ;
+
+ ///֪ͨ
+ virtual void OnRtnCombAction(CThostFtdcCombActionField *pCombAction) ;
+
+ ///¼ر
+ virtual void OnErrRtnCombActionInsert(CThostFtdcInputCombActionField *pInputCombAction, CThostFtdcRspInfoField *pRspInfo) ;
+
+ ///ѯǩԼӦ
+ virtual void OnRspQryContractBank(CThostFtdcContractBankField *pContractBank, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯԤӦ
+ virtual void OnRspQryParkedOrder(CThostFtdcParkedOrderField *pParkedOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯԤӦ
+ virtual void OnRspQryParkedOrderAction(CThostFtdcParkedOrderActionField *pParkedOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯ֪ͨӦ
+ virtual void OnRspQryTradingNotice(CThostFtdcTradingNoticeField *pTradingNotice, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯ˾ײӦ
+ virtual void OnRspQryBrokerTradingParams(CThostFtdcBrokerTradingParamsField *pBrokerTradingParams, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯ˾㷨Ӧ
+ virtual void OnRspQryBrokerTradingAlgos(CThostFtdcBrokerTradingAlgosField *pBrokerTradingAlgos, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ѯû
+ virtual void OnRspQueryCFMMCTradingAccountToken(CThostFtdcQueryCFMMCTradingAccountTokenField *pQueryCFMMCTradingAccountToken, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///зʽתڻ֪ͨ
+ virtual void OnRtnFromBankToFutureByBank(CThostFtdcRspTransferField *pRspTransfer) ;
+
+ ///зڻʽת֪ͨ
+ virtual void OnRtnFromFutureToBankByBank(CThostFtdcRspTransferField *pRspTransfer) ;
+
+ ///зתڻ֪ͨ
+ virtual void OnRtnRepealFromBankToFutureByBank(CThostFtdcRspRepealField *pRspRepeal) ;
+
+ ///зڻת֪ͨ
+ virtual void OnRtnRepealFromFutureToBankByBank(CThostFtdcRspRepealField *pRspRepeal) ;
+
+ ///ڻʽתڻ֪ͨ
+ virtual void OnRtnFromBankToFutureByFuture(CThostFtdcRspTransferField *pRspTransfer) ;
+
+ ///ڻڻʽת֪ͨ
+ virtual void OnRtnFromFutureToBankByFuture(CThostFtdcRspTransferField *pRspTransfer) ;
+
+ ///ϵͳʱڻֹתڻдϺ̷ص֪ͨ
+ virtual void OnRtnRepealFromBankToFutureByFutureManual(CThostFtdcRspRepealField *pRspRepeal) ;
+
+ ///ϵͳʱڻֹڻתдϺ̷ص֪ͨ
+ virtual void OnRtnRepealFromFutureToBankByFutureManual(CThostFtdcRspRepealField *pRspRepeal) ;
+
+ ///ڻѯ֪ͨ
+ virtual void OnRtnQueryBankBalanceByFuture(CThostFtdcNotifyQueryAccountField *pNotifyQueryAccount) ;
+
+ ///ڻʽתڻر
+ virtual void OnErrRtnBankToFutureByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo) ;
+
+ ///ڻڻʽתдر
+ virtual void OnErrRtnFutureToBankByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo) ;
+
+ ///ϵͳʱڻֹתڻر
+ virtual void OnErrRtnRepealBankToFutureByFutureManual(CThostFtdcReqRepealField *pReqRepeal, CThostFtdcRspInfoField *pRspInfo) ;
+
+ ///ϵͳʱڻֹڻתдر
+ virtual void OnErrRtnRepealFutureToBankByFutureManual(CThostFtdcReqRepealField *pReqRepeal, CThostFtdcRspInfoField *pRspInfo) ;
+
+ ///ڻѯر
+ virtual void OnErrRtnQueryBankBalanceByFuture(CThostFtdcReqQueryAccountField *pReqQueryAccount, CThostFtdcRspInfoField *pRspInfo) ;
+
+ ///ڻתڻдϺ̷ص֪ͨ
+ virtual void OnRtnRepealFromBankToFutureByFuture(CThostFtdcRspRepealField *pRspRepeal) ;
+
+ ///ڻڻתдϺ̷ص֪ͨ
+ virtual void OnRtnRepealFromFutureToBankByFuture(CThostFtdcRspRepealField *pRspRepeal) ;
+
+ ///ڻʽתڻӦ
+ virtual void OnRspFromBankToFutureByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ڻڻʽתӦ
+ virtual void OnRspFromFutureToBankByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///ڻѯӦ
+ virtual void OnRspQueryBankAccountMoneyByFuture(CThostFtdcReqQueryAccountField *pReqQueryAccount, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
+
+ ///зڿ֪ͨ
+ virtual void OnRtnOpenAccountByBank(CThostFtdcOpenAccountField *pOpenAccount) ;
+
+ ///з֪ͨ
+ virtual void OnRtnCancelAccountByBank(CThostFtdcCancelAccountField *pCancelAccount) ;
+
+ ///з˺֪ͨ
+ virtual void OnRtnChangeAccountByBank(CThostFtdcChangeAccountField *pChangeAccount) ;
+
+ //-------------------------------------------------------------------------------------
+ //task
+ //-------------------------------------------------------------------------------------
+
+ void processTask();
+
+ void processFrontConnected(Task task);
+
+ void processFrontDisconnected(Task task);
+
+ void processHeartBeatWarning(Task task);
+
+ void processRspAuthenticate(Task task);
+
+ void processRspUserLogin(Task task);
+
+ void processRspUserLogout(Task task);
+
+ void processRspUserPasswordUpdate(Task task);
+
+ void processRspTradingAccountPasswordUpdate(Task task);
+
+ void processRspOrderInsert(Task task);
+
+ void processRspParkedOrderInsert(Task task);
+
+ void processRspParkedOrderAction(Task task);
+
+ void processRspOrderAction(Task task);
+
+ void processRspQueryMaxOrderVolume(Task task);
+
+ void processRspSettlementInfoConfirm(Task task);
+
+ void processRspRemoveParkedOrder(Task task);
+
+ void processRspRemoveParkedOrderAction(Task task);
+
+ void processRspExecOrderInsert(Task task);
+
+ void processRspExecOrderAction(Task task);
+
+ void processRspForQuoteInsert(Task task);
+
+ void processRspQuoteInsert(Task task);
+
+ void processRspQuoteAction(Task task);
+
+ void processRspLockInsert(Task task);
+
+ void processRspCombActionInsert(Task task);
+
+ void processRspQryOrder(Task task);
+
+ void processRspQryTrade(Task task);
+
+ void processRspQryInvestorPosition(Task task);
+
+ void processRspQryTradingAccount(Task task);
+
+ void processRspQryInvestor(Task task);
+
+ void processRspQryTradingCode(Task task);
+
+ void processRspQryInstrumentMarginRate(Task task);
+
+ void processRspQryInstrumentCommissionRate(Task task);
+
+ void processRspQryExchange(Task task);
+
+ void processRspQryProduct(Task task);
+
+ void processRspQryInstrument(Task task);
+
+ void processRspQryDepthMarketData(Task task);
+
+ void processRspQrySettlementInfo(Task task);
+
+ void processRspQryTransferBank(Task task);
+
+ void processRspQryInvestorPositionDetail(Task task);
+
+ void processRspQryNotice(Task task);
+
+ void processRspQrySettlementInfoConfirm(Task task);
+
+ void processRspQryInvestorPositionCombineDetail(Task task);
+
+ void processRspQryCFMMCTradingAccountKey(Task task);
+
+ void processRspQryEWarrantOffset(Task task);
+
+ void processRspQryInvestorProductGroupMargin(Task task);
+
+ void processRspQryExchangeMarginRate(Task task);
+
+ void processRspQryExchangeMarginRateAdjust(Task task);
+
+ void processRspQryExchangeRate(Task task);
+
+ void processRspQrySecAgentACIDMap(Task task);
+
+ void processRspQryProductExchRate(Task task);
+
+ void processRspQryProductGroup(Task task);
+
+ void processRspQryOptionInstrTradeCost(Task task);
+
+ void processRspQryOptionInstrCommRate(Task task);
+
+ void processRspQryExecOrder(Task task);
+
+ void processRspQryForQuote(Task task);
+
+ void processRspQryQuote(Task task);
+
+ void processRspQryLock(Task task);
+
+ void processRspQryLockPosition(Task task);
+
+ void processRspQryInvestorLevel(Task task);
+
+ void processRspQryExecFreeze(Task task);
+
+ void processRspQryCombInstrumentGuard(Task task);
+
+ void processRspQryCombAction(Task task);
+
+ void processRspQryTransferSerial(Task task);
+
+ void processRspQryAccountregister(Task task);
+
+ void processRspError(Task task);
+
+ void processRtnOrder(Task task);
+
+ void processRtnTrade(Task task);
+
+ void processErrRtnOrderInsert(Task task);
+
+ void processErrRtnOrderAction(Task task);
+
+ void processRtnInstrumentStatus(Task task);
+
+ void processRtnTradingNotice(Task task);
+
+ void processRtnErrorConditionalOrder(Task task);
+
+ void processRtnExecOrder(Task task);
+
+ void processErrRtnExecOrderInsert(Task task);
+
+ void processErrRtnExecOrderAction(Task task);
+
+ void processErrRtnForQuoteInsert(Task task);
+
+ void processRtnQuote(Task task);
+
+ void processErrRtnQuoteInsert(Task task);
+
+ void processErrRtnQuoteAction(Task task);
+
+ void processRtnForQuoteRsp(Task task);
+
+ void processRtnCFMMCTradingAccountToken(Task task);
+
+ void processRtnLock(Task task);
+
+ void processErrRtnLockInsert(Task task);
+
+ void processRtnCombAction(Task task);
+
+ void processErrRtnCombActionInsert(Task task);
+
+ void processRspQryContractBank(Task task);
+
+ void processRspQryParkedOrder(Task task);
+
+ void processRspQryParkedOrderAction(Task task);
+
+ void processRspQryTradingNotice(Task task);
+
+ void processRspQryBrokerTradingParams(Task task);
+
+ void processRspQryBrokerTradingAlgos(Task task);
+
+ void processRspQueryCFMMCTradingAccountToken(Task task);
+
+ void processRtnFromBankToFutureByBank(Task task);
+
+ void processRtnFromFutureToBankByBank(Task task);
+
+ void processRtnRepealFromBankToFutureByBank(Task task);
+
+ void processRtnRepealFromFutureToBankByBank(Task task);
+
+ void processRtnFromBankToFutureByFuture(Task task);
+
+ void processRtnFromFutureToBankByFuture(Task task);
+
+ void processRtnRepealFromBankToFutureByFutureManual(Task task);
+
+ void processRtnRepealFromFutureToBankByFutureManual(Task task);
+
+ void processRtnQueryBankBalanceByFuture(Task task);
+
+ void processErrRtnBankToFutureByFuture(Task task);
+
+ void processErrRtnFutureToBankByFuture(Task task);
+
+ void processErrRtnRepealBankToFutureByFutureManual(Task task);
+
+ void processErrRtnRepealFutureToBankByFutureManual(Task task);
+
+ void processErrRtnQueryBankBalanceByFuture(Task task);
+
+ void processRtnRepealFromBankToFutureByFuture(Task task);
+
+ void processRtnRepealFromFutureToBankByFuture(Task task);
+
+ void processRspFromBankToFutureByFuture(Task task);
+
+ void processRspFromFutureToBankByFuture(Task task);
+
+ void processRspQueryBankAccountMoneyByFuture(Task task);
+
+ void processRtnOpenAccountByBank(Task task);
+
+ void processRtnCancelAccountByBank(Task task);
+
+ void processRtnChangeAccountByBank(Task task);
+
+ //-------------------------------------------------------------------------------------
+ //dataصֵ
+ //errorصĴֵ
+ //idid
+ //lastǷΪ
+ //i
+ //-------------------------------------------------------------------------------------
+
+ virtual void onFrontConnected(){};
+
+ virtual void onFrontDisconnected(int i){};
+
+ virtual void onHeartBeatWarning(int i){};
+
+ virtual void onRspAuthenticate(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspUserLogin(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspUserLogout(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspUserPasswordUpdate(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspTradingAccountPasswordUpdate(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspOrderInsert(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspParkedOrderInsert(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspParkedOrderAction(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspOrderAction(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQueryMaxOrderVolume(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspSettlementInfoConfirm(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspRemoveParkedOrder(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspRemoveParkedOrderAction(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspExecOrderInsert(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspExecOrderAction(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspForQuoteInsert(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQuoteInsert(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQuoteAction(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspLockInsert(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspCombActionInsert(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQryOrder(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQryTrade(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQryInvestorPosition(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQryTradingAccount(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQryInvestor(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQryTradingCode(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQryInstrumentMarginRate(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQryInstrumentCommissionRate(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQryExchange(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQryProduct(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQryInstrument(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQryDepthMarketData(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQrySettlementInfo(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQryTransferBank(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQryInvestorPositionDetail(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQryNotice(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQrySettlementInfoConfirm(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQryInvestorPositionCombineDetail(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQryCFMMCTradingAccountKey(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQryEWarrantOffset(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQryInvestorProductGroupMargin(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQryExchangeMarginRate(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQryExchangeMarginRateAdjust(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQryExchangeRate(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQrySecAgentACIDMap(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQryProductExchRate(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQryProductGroup(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQryOptionInstrTradeCost(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQryOptionInstrCommRate(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQryExecOrder(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQryForQuote(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQryQuote(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQryLock(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQryLockPosition(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQryInvestorLevel(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQryExecFreeze(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQryCombInstrumentGuard(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQryCombAction(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQryTransferSerial(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQryAccountregister(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspError(dict error, int id, bool last) {};
+
+ virtual void onRtnOrder(dict data) {};
+
+ virtual void onRtnTrade(dict data) {};
+
+ virtual void onErrRtnOrderInsert(dict data, dict error) {};
+
+ virtual void onErrRtnOrderAction(dict data, dict error) {};
+
+ virtual void onRtnInstrumentStatus(dict data) {};
+
+ virtual void onRtnTradingNotice(dict data) {};
+
+ virtual void onRtnErrorConditionalOrder(dict data) {};
+
+ virtual void onRtnExecOrder(dict data) {};
+
+ virtual void onErrRtnExecOrderInsert(dict data, dict error) {};
+
+ virtual void onErrRtnExecOrderAction(dict data, dict error) {};
+
+ virtual void onErrRtnForQuoteInsert(dict data, dict error) {};
+
+ virtual void onRtnQuote(dict data) {};
+
+ virtual void onErrRtnQuoteInsert(dict data, dict error) {};
+
+ virtual void onErrRtnQuoteAction(dict data, dict error) {};
+
+ virtual void onRtnForQuoteRsp(dict data) {};
+
+ virtual void onRtnCFMMCTradingAccountToken(dict data) {};
+
+ virtual void onRtnLock(dict data) {};
+
+ virtual void onErrRtnLockInsert(dict data, dict error) {};
+
+ virtual void onRtnCombAction(dict data) {};
+
+ virtual void onErrRtnCombActionInsert(dict data, dict error) {};
+
+ virtual void onRspQryContractBank(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQryParkedOrder(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQryParkedOrderAction(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQryTradingNotice(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQryBrokerTradingParams(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQryBrokerTradingAlgos(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQueryCFMMCTradingAccountToken(dict data, dict error, int id, bool last) {};
+
+ virtual void onRtnFromBankToFutureByBank(dict data) {};
+
+ virtual void onRtnFromFutureToBankByBank(dict data) {};
+
+ virtual void onRtnRepealFromBankToFutureByBank(dict data) {};
+
+ virtual void onRtnRepealFromFutureToBankByBank(dict data) {};
+
+ virtual void onRtnFromBankToFutureByFuture(dict data) {};
+
+ virtual void onRtnFromFutureToBankByFuture(dict data) {};
+
+ virtual void onRtnRepealFromBankToFutureByFutureManual(dict data) {};
+
+ virtual void onRtnRepealFromFutureToBankByFutureManual(dict data) {};
+
+ virtual void onRtnQueryBankBalanceByFuture(dict data) {};
+
+ virtual void onErrRtnBankToFutureByFuture(dict data, dict error) {};
+
+ virtual void onErrRtnFutureToBankByFuture(dict data, dict error) {};
+
+ virtual void onErrRtnRepealBankToFutureByFutureManual(dict data, dict error) {};
+
+ virtual void onErrRtnRepealFutureToBankByFutureManual(dict data, dict error) {};
+
+ virtual void onErrRtnQueryBankBalanceByFuture(dict data, dict error) {};
+
+ virtual void onRtnRepealFromBankToFutureByFuture(dict data) {};
+
+ virtual void onRtnRepealFromFutureToBankByFuture(dict data) {};
+
+ virtual void onRspFromBankToFutureByFuture(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspFromFutureToBankByFuture(dict data, dict error, int id, bool last) {};
+
+ virtual void onRspQueryBankAccountMoneyByFuture(dict data, dict error, int id, bool last) {};
+
+ virtual void onRtnOpenAccountByBank(dict data) {};
+
+ virtual void onRtnCancelAccountByBank(dict data) {};
+
+ virtual void onRtnChangeAccountByBank(dict data) {};
+
+
+ //-------------------------------------------------------------------------------------
+ //req:ֵ
+ //-------------------------------------------------------------------------------------
+
+ void createFtdcTraderApi(string pszFlowPath = "");
+
+ void release();
+
+ void init();
+
+ int join();
+
+ int exit();
+
+ string getTradingDay();
+
+ void registerFront(string pszFrontAddress);
+
+ void subscribePrivateTopic(int nType);
+
+ void subscribePublicTopic(int nType);
+
+ int reqAuthenticate(dict req, int nRequestID);
+
+ int reqUserLogin(dict req, int nRequestID);
+
+ int reqUserLogout(dict req, int nRequestID);
+
+ int reqUserPasswordUpdate(dict req, int nRequestID);
+
+ int reqTradingAccountPasswordUpdate(dict req, int nRequestID);
+
+ LONGLONG reqOrderInsert(dict req, int nRequestID);
+
+ int reqParkedOrderInsert(dict req, int nRequestID);
+
+ int reqParkedOrderAction(dict req, int nRequestID);
+
+ int reqOrderAction(dict req, int nRequestID);
+
+ int reqQueryMaxOrderVolume(dict req, int nRequestID);
+
+ int reqSettlementInfoConfirm(dict req, int nRequestID);
+
+ int reqRemoveParkedOrder(dict req, int nRequestID);
+
+ int reqRemoveParkedOrderAction(dict req, int nRequestID);
+
+ int reqExecOrderInsert(dict req, int nRequestID);
+
+ int reqExecOrderAction(dict req, int nRequestID);
+
+ int reqForQuoteInsert(dict req, int nRequestID);
+
+ int reqQuoteInsert(dict req, int nRequestID);
+
+ int reqQuoteAction(dict req, int nRequestID);
+
+ int reqLockInsert(dict req, int nRequestID);
+
+ int reqCombActionInsert(dict req, int nRequestID);
+
+ int reqQryOrder(dict req, int nRequestID);
+
+ int reqQryTrade(dict req, int nRequestID);
+
+ int reqQryInvestorPosition(dict req, int nRequestID);
+
+ int reqQryTradingAccount(dict req, int nRequestID);
+
+ int reqQryInvestor(dict req, int nRequestID);
+
+ int reqQryTradingCode(dict req, int nRequestID);
+
+ int reqQryInstrumentMarginRate(dict req, int nRequestID);
+
+ int reqQryInstrumentCommissionRate(dict req, int nRequestID);
+
+ int reqQryExchange(dict req, int nRequestID);
+
+ int reqQryProduct(dict req, int nRequestID);
+
+ int reqQryInstrument(dict req, int nRequestID);
+
+ int reqQryDepthMarketData(dict req, int nRequestID);
+
+ int reqQrySettlementInfo(dict req, int nRequestID);
+
+ int reqQryTransferBank(dict req, int nRequestID);
+
+ int reqQryInvestorPositionDetail(dict req, int nRequestID);
+
+ int reqQryNotice(dict req, int nRequestID);
+
+ int reqQrySettlementInfoConfirm(dict req, int nRequestID);
+
+ int reqQryInvestorPositionCombineDetail(dict req, int nRequestID);
+
+ int reqQryCFMMCTradingAccountKey(dict req, int nRequestID);
+
+ int reqQryEWarrantOffset(dict req, int nRequestID);
+
+ int reqQryInvestorProductGroupMargin(dict req, int nRequestID);
+
+ int reqQryExchangeMarginRate(dict req, int nRequestID);
+
+ int reqQryExchangeMarginRateAdjust(dict req, int nRequestID);
+
+ int reqQryExchangeRate(dict req, int nRequestID);
+
+ int reqQrySecAgentACIDMap(dict req, int nRequestID);
+
+ int reqQryProductExchRate(dict req, int nRequestID);
+
+ int reqQryProductGroup(dict req, int nRequestID);
+
+ int reqQryOptionInstrTradeCost(dict req, int nRequestID);
+
+ int reqQryOptionInstrCommRate(dict req, int nRequestID);
+
+ int reqQryExecOrder(dict req, int nRequestID);
+
+ int reqQryForQuote(dict req, int nRequestID);
+
+ int reqQryQuote(dict req, int nRequestID);
+
+ int reqQryLock(dict req, int nRequestID);
+
+ int reqQryLockPosition(dict req, int nRequestID);
+
+ int reqQryInvestorLevel(dict req, int nRequestID);
+
+ int reqQryExecFreeze(dict req, int nRequestID);
+
+ int reqQryCombInstrumentGuard(dict req, int nRequestID);
+
+ int reqQryCombAction(dict req, int nRequestID);
+
+ int reqQryTransferSerial(dict req, int nRequestID);
+
+ int reqQryAccountregister(dict req, int nRequestID);
+
+ int reqQryContractBank(dict req, int nRequestID);
+
+ int reqQryParkedOrder(dict req, int nRequestID);
+
+ int reqQryParkedOrderAction(dict req, int nRequestID);
+
+ int reqQryTradingNotice(dict req, int nRequestID);
+
+ int reqQryBrokerTradingParams(dict req, int nRequestID);
+
+ int reqQryBrokerTradingAlgos(dict req, int nRequestID);
+
+ int reqQueryCFMMCTradingAccountToken(dict req, int nRequestID);
+
+ int reqFromBankToFutureByFuture(dict req, int nRequestID);
+
+ int reqFromFutureToBankByFuture(dict req, int nRequestID);
+
+ int reqQueryBankAccountMoneyByFuture(dict req, int nRequestID);
+};
+
diff --git a/vn.how/tick2trade/vn.ctp_t2t/vnctptd/vnctptd/vnctptd.vcxproj b/vn.how/tick2trade/vn.ctp_t2t/vnctptd/vnctptd/vnctptd.vcxproj
new file mode 100644
index 0000000000..7c6971e689
--- /dev/null
+++ b/vn.how/tick2trade/vn.ctp_t2t/vnctptd/vnctptd/vnctptd.vcxproj
@@ -0,0 +1,120 @@
+
+
+
+