vnpy/vn.sgit/vnsgittd/vnsgittd/vnsgittd.h

1215 lines
42 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//说明部分
//系统
#include "stdafx.h"
#include <string>
#include <queue>
//Boost
#define BOOST_PYTHON_STATIC_LIB
#include <boost/python/module.hpp> //python封装
#include <boost/python/def.hpp> //python封装
#include <boost/python/dict.hpp> //python封装
#include <boost/python/object.hpp> //python封装
#include <boost/python.hpp> //python封装
#include <boost/thread.hpp> //任务队列的线程功能
#include <boost/bind.hpp> //任务队列的线程功能
#include <boost/any.hpp> //任务队列的任务实现
//API
#include "SgitFtdcTraderApi.h"
//命名空间
using namespace std;
using namespace boost::python;
using namespace boost;
using namespace fstech;
//常量
#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 ONRSPBATCHORDERACTION 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 ONRSPQRYCOMBINSTRUMENTGUARD 56
#define ONRSPQRYCOMBACTION 57
#define ONRSPQRYTRANSFERSERIAL 58
#define ONRSPQRYACCOUNTREGISTER 59
#define ONRSPERROR 60
#define ONRTNORDER 61
#define ONRTNTRADE 62
#define ONERRRTNORDERINSERT 63
#define ONERRRTNORDERACTION 64
#define ONRTNINSTRUMENTSTATUS 65
#define ONRTNTRADINGNOTICE 66
#define ONRTNERRORCONDITIONALORDER 67
#define ONRTNEXECORDER 68
#define ONERRRTNEXECORDERINSERT 69
#define ONERRRTNEXECORDERACTION 70
#define ONERRRTNFORQUOTEINSERT 71
#define ONRTNQUOTE 72
#define ONERRRTNQUOTEINSERT 73
#define ONERRRTNQUOTEACTION 74
#define ONRTNFORQUOTERSP 75
#define ONRTNCFMMCTRADINGACCOUNTTOKEN 76
#define ONERRRTNBATCHORDERACTION 77
#define ONRTNCOMBACTION 78
#define ONERRRTNCOMBACTIONINSERT 79
#define ONRSPQRYCONTRACTBANK 80
#define ONRSPQRYPARKEDORDER 81
#define ONRSPQRYPARKEDORDERACTION 82
#define ONRSPQRYTRADINGNOTICE 83
#define ONRSPQRYBROKERTRADINGPARAMS 84
#define ONRSPQRYBROKERTRADINGALGOS 85
#define ONRSPQUERYCFMMCTRADINGACCOUNTTOKEN 86
#define ONRTNFROMBANKTOFUTUREBYBANK 87
#define ONRTNFROMFUTURETOBANKBYBANK 88
#define ONRTNREPEALFROMBANKTOFUTUREBYBANK 89
#define ONRTNREPEALFROMFUTURETOBANKBYBANK 90
#define ONRTNFROMBANKTOFUTUREBYFUTURE 91
#define ONRTNFROMFUTURETOBANKBYFUTURE 92
#define ONRTNREPEALFROMBANKTOFUTUREBYFUTUREMANUAL 93
#define ONRTNREPEALFROMFUTURETOBANKBYFUTUREMANUAL 94
#define ONRTNQUERYBANKBALANCEBYFUTURE 95
#define ONERRRTNBANKTOFUTUREBYFUTURE 96
#define ONERRRTNFUTURETOBANKBYFUTURE 97
#define ONERRRTNREPEALBANKTOFUTUREBYFUTUREMANUAL 98
#define ONERRRTNREPEALFUTURETOBANKBYFUTUREMANUAL 99
#define ONERRRTNQUERYBANKBALANCEBYFUTURE 100
#define ONRTNREPEALFROMBANKTOFUTUREBYFUTURE 101
#define ONRTNREPEALFROMFUTURETOBANKBYFUTURE 102
#define ONRSPFROMBANKTOFUTUREBYFUTURE 103
#define ONRSPFROMFUTURETOBANKBYFUTURE 104
#define ONRSPQUERYBANKACCOUNTMONEYBYFUTURE 105
#define ONRTNOPENACCOUNTBYBANK 106
#define ONRTNCANCELACCOUNTBYBANK 107
#define ONRTNCHANGEACCOUNTBYBANK 108
///-------------------------------------------------------------------------------------
///API中的部分组件
///-------------------------------------------------------------------------------------
//GIL全局锁简化获取用
//用于帮助C++线程获得GIL锁从而防止python崩溃
class PyLock
{
private:
PyGILState_STATE gil_state;
public:
//在某个函数方法中创建该对象时获得GIL锁
PyLock()
{
gil_state = PyGILState_Ensure();
}
//在某个函数完成后销毁该对象时解放GIL锁
~PyLock()
{
PyGILState_Release(gil_state);
}
};
//任务结构体
struct Task
{
int task_name; //回调函数名称对应的常量
any task_data; //数据结构体
any task_error; //错误结构体
int task_id; //请求id
bool task_last; //是否为最后返回
};
///线程安全的队列
template<typename Data>
class ConcurrentQueue
{
private:
queue<Data> the_queue; //标准库队列
mutable mutex the_mutex; //boost互斥锁
condition_variable the_condition_variable; //boost条件变量
public:
//存入新的任务
void push(Data const& data)
{
mutex::scoped_lock lock(the_mutex); //获取互斥锁
the_queue.push(data); //向队列中存入数据
lock.unlock(); //释放锁
the_condition_variable.notify_one(); //通知正在阻塞等待的线程
}
//检查队列是否为空
bool empty() const
{
mutex::scoped_lock lock(the_mutex);
return the_queue.empty();
}
//取出
Data wait_and_pop()
{
mutex::scoped_lock lock(the_mutex);
while (the_queue.empty()) //当队列为空时
{
the_condition_variable.wait(lock); //等待条件变量通知
}
Data popped_value = the_queue.front(); //获取队列中的最后一个任务
the_queue.pop(); //删除该任务
return popped_value; //返回该任务
}
};
//从字典中获取某个建值对应的整数,并赋值到请求结构体对象的值上
void getInt(dict d, string key, int* value);
//从字典中获取某个建值对应的长整数,并赋值到请求结构体对象的值上
void getLong(dict d, string key, long* value);
//从字典中获取某个建值对应的短整数,并赋值到请求结构体对象的值上
void getShort(dict d, string key, short* value);
//从字典中获取某个建值对应的浮点数,并赋值到请求结构体对象的值上
void getDouble(dict d, string key, double* value);
//从字典中获取某个建值对应的单字符,并赋值到请求结构体对象的值上
void getChar(dict d, string key, char* value);
//从字典中获取某个建值对应的字符串,并赋值到请求结构体对象的值上
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> task_queue; //任务队列
public:
TdApi()
{
function0<void> f = boost::bind(&TdApi::processTask, this);
thread t(f);
this->task_thread = &t;
};
~TdApi()
{
};
//-------------------------------------------------------------------------------------
//API回调函数
//-------------------------------------------------------------------------------------
///当客户端与交易后台建立起通信连接时(还未登录前),该方法被调用。
virtual void OnFrontConnected();
///当客户端与交易后台通信连接断开时该方法被调用。当发生这个情况后API会自动重新连接客户端可不做处理。
///@param nReason 错误原因
/// 0x1001 网络读失败
/// 0x1002 网络写失败
/// 0x2001 接收心跳超时
/// 0x2002 发送心跳失败
/// 0x2003 收到错误报文
virtual void OnFrontDisconnected(int nReason);
///心跳超时警告。当长时间未收到报文时,该方法被调用。
///@param nTimeLapse 距离上次接收报文的时间
virtual void OnHeartBeatWarning(int nTimeLapse);
///客户端认证响应
virtual void OnRspAuthenticate(CThostFtdcRspAuthenticateField *pRspAuthenticateField, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
///登录请求响应
virtual void OnRspUserLogin(CThostFtdcRspUserLoginField *pRspUserLogin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
///登出请求响应
virtual void OnRspUserLogout(CThostFtdcUserLogoutField *pUserLogout, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
///用户口令更新请求响应
virtual void OnRspUserPasswordUpdate(CThostFtdcUserPasswordUpdateField *pUserPasswordUpdate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
///资金账户口令更新请求响应
virtual void OnRspTradingAccountPasswordUpdate(CThostFtdcTradingAccountPasswordUpdateField *pTradingAccountPasswordUpdate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
///报单录入请求响应
virtual void OnRspOrderInsert(CThostFtdcInputOrderField *pInputOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
///预埋单录入请求响应
virtual void OnRspParkedOrderInsert(CThostFtdcParkedOrderField *pParkedOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
///预埋撤单录入请求响应
virtual void OnRspParkedOrderAction(CThostFtdcParkedOrderActionField *pParkedOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
///报单操作请求响应
virtual void OnRspOrderAction(CThostFtdcInputOrderActionField *pInputOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
///查询最大报单数量响应
virtual void OnRspQueryMaxOrderVolume(CThostFtdcQueryMaxOrderVolumeField *pQueryMaxOrderVolume, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
///投资者结算结果确认响应
virtual void OnRspSettlementInfoConfirm(CThostFtdcSettlementInfoConfirmField *pSettlementInfoConfirm, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
///删除预埋单响应
virtual void OnRspRemoveParkedOrder(CThostFtdcRemoveParkedOrderField *pRemoveParkedOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
///删除预埋撤单响应
virtual void OnRspRemoveParkedOrderAction(CThostFtdcRemoveParkedOrderActionField *pRemoveParkedOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
///执行宣告录入请求响应
virtual void OnRspExecOrderInsert(CThostFtdcInputExecOrderField *pInputExecOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
///执行宣告操作请求响应
virtual void OnRspExecOrderAction(CThostFtdcInputExecOrderActionField *pInputExecOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
///询价录入请求响应
virtual void OnRspForQuoteInsert(CThostFtdcInputForQuoteField *pInputForQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
///报价录入请求响应
virtual void OnRspQuoteInsert(CThostFtdcInputQuoteField *pInputQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
///报价操作请求响应
virtual void OnRspQuoteAction(CThostFtdcInputQuoteActionField *pInputQuoteAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;
///批量报单操作请求响应
virtual void OnRspBatchOrderAction(CThostFtdcInputBatchOrderActionField *pInputBatchOrderAction, 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 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 OnErrRtnBatchOrderAction(CThostFtdcBatchOrderActionField *pBatchOrderAction, 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) ;
/// 当收到合约价位查询应答时回调该函数
//virtual void onRspMBLQuot(CThostMBLQuotData *pMBLQuotData, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);
//-------------------------------------------------------------------------------------
//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 processRspBatchOrderAction(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 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 processErrRtnBatchOrderAction(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回调函数的错误字典
//id请求id
//last是否为最后返回
//i整数
//-------------------------------------------------------------------------------------
virtual void onFrontConnected(){};
virtual void onFrontDisconnected(int reason){};
virtual void onHeartBeatWarning(int timeLapse){};
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 onRspBatchOrderAction(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 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 onErrRtnBatchOrderAction(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);
string getApiVersion();
void release();
void init();
int join();
int exit();
string getTradingDay();
void registerFront(string pszFrontAddress);
void registerNameServer(string pszNsAddress);
void subscribePrivateTopic(int type);
void subscribePublicTopic(int type);
int reqAuthenticate(dict req, int nRequestID);
int reqUserLogin(dict req, int nRequestID);
int reqUserLogout(dict req, int nRequestID);
int reqUserPasswordUpdate(dict req, int nRequestID);
int reqTradingAccountPasswordUpdate(dict req, int nRequestID);
int reqOrderInsert(dict req, int nRequestID);
int reqParkedOrderInsert(dict req, int nRequestID);
int reqParkedOrderAction(dict req, int nRequestID);
int reqOrderAction(dict req, int nRequestID);
int reqQueryMaxOrderVolume(dict req, int nRequestID);
int reqSettlementInfoConfirm(dict req, int nRequestID);
int reqRemoveParkedOrder(dict req, int nRequestID);
int reqRemoveParkedOrderAction(dict req, int nRequestID);
int reqExecOrderInsert(dict req, int nRequestID);
int reqExecOrderAction(dict req, int nRequestID);
int reqForQuoteInsert(dict req, int nRequestID);
int reqQuoteInsert(dict req, int nRequestID);
int reqQuoteAction(dict req, int nRequestID);
int reqBatchOrderAction(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 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);
int reqMBLQuot(dict req, int nRequestID);
};