forked from roxhf/tdxapi2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path接口文档(1).txt
122 lines (100 loc) · 8.09 KB
/
接口文档(1).txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
//开发文档
//
//1.交易API均是TdApix.dll文件的导出函数,包括以下函数:
// void OpenTdx();//打开通达信
// void CloseTdx();//关闭通达信
// int Logon(char* IP, short Port, char* Version, short YybID, int nAccountType, char* AccountNo,char* TradeAccount, char* JyPassword, char* TxPassword, char* ErrInfo);//登录帐号
// int LogonEx(const char *pszQsId, const char* pszIP, short nPort, const char* pszVersion, short nYybID, int nAccountType, const char* pszAccountNo, const char* pszTradeAccount, const char* pszJyPassword, const char* pszTxPassword, char* pszErrInfo);
// void Logoff(int ClientID);//注销
// void QueryData(int ClientID, int Category, char* Result, char* ErrInfo);//查询各类交易数据
// void QueryHisData(int ClientID, int Category, int StartDate, int EndDate, char* Result, char* ErrInfo);//查询各类交易数据
// void SendOrder(int ClientID, int Category ,int PriceType, char* Gddm, char* Zqdm , float Price, int Quantity, char* Result, char* ErrInfo);//下单
// void CancelOrder(int ClientID, char* ExchangeID, char* pszStockAccount, char* pszStockCode, char* hth, char* Result, char* ErrInfo);//撤单
///交易接口执行后,如果失败,则字符串ErrInfo保存了出错信息中文说明;
///如果成功,则字符串Result保存了结果数据,形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。
///Result是\n,\t分隔的中文字符串,比如查询股东代码时返回的结果字符串就是
///查得此数据之后,通过分割字符串, 可以恢复为几行几列的表格形式的数据
//2.API使用流程为: 应用程序先调用OpenTdx打开通达信实例,一个实例下可以同时登录多个交易账户,每个交易账户称之为ClientID.
//通过调用Logon获得ClientID,然后可以调用其他API函数向各个ClientID进行查询或下单; 应用程序退出时应调用Logoff注销ClientID, 最后调用CloseTdx关闭通达信实例.
//OpenTdx和CloseTdx在整个应用程序中只能被调用一次.API带有断线自动重连功能,应用程序只需根据API函数返回的出错信息进行适当错误处理即可。
//3. 各个函数功能说明
/// <summary>
/// 打开通达信实例
/// </summary>
///void OpenTdx();
/// <summary>
/// 关闭通达信实例
/// </summary>
///void CloseTdx();
/// <summary>
/// 交易账户登录
/// </summary>
/// <param name="pszQsId">券商Id</param> 定义见QsId.ini
/// <param name="IP">券商交易服务器IP</param>
/// <param name="Port">券商交易服务器端口</param>
/// <param name="Version">设置通达信客户端的版本号</param>
/// <param name="YybID">营业部代码</param>
/// <param name="AccountType">登录账号类型,一般情况下,8-资金账号,9-客户号</param>
/// <param name="AccountNo">完整的登录账号,券商一般使用资金帐户或客户号</param>
/// <param name="TradeAccount">交易账号,一般与登录帐号相同. 请登录券商通达信软件,查询股东列表,股东列表内的资金帐号就是交易帐号</param>
/// <param name="JyPassword">交易密码</param>
/// <param name="TxPassword">通讯密码</param>
/// <param name="ErrInfo">此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。</param>
/// <returns>客户端ID,失败时返回-1</returns>
// int LogonEx(const char *pszQsId, const char* pszIP, short nPort, const char* pszVersion, short nYybID, int nAccountType, const char* pszAccountNo, const char* pszTradeAccount, const char* pszJyPassword, const char* pszTxPassword, char* pszErrInfo);
/// <summary>
/// 交易账户注销
/// </summary>
/// <param name="ClientID">客户端ID</param>
/// void Logoff(int ClientID);
/// <summary>
/// 查询各种交易数据
/// </summary>
/// <param name="ClientID">客户端ID</param>
/// <param name="Category">表示查询信息的种类,0资金 1股份 2当日委托 3当日成交 4可撤单 5股东代码 6融资余额 7融券余额 8可融证券 9信用资产查询</param>
/// <param name="Result">此API执行返回后,Result内保存了返回的查询数据, 形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。</param>
/// <param name="ErrInfo">同Logon函数的ErrInfo说明</param>
/// void QueryData(int ClientID, int Category, char* Result, char* ErrInfo);
/// <summary>
/// 查询各种历史数据
/// </summary>
/// <param name="ClientID">客户端ID</param>
/// <param name="Category">表示查询信息的种类,0资金 1股份 2当日委托 3当日成交 4可撤单 5股东代码 6融资余额 7融券余额 8可融证券 9信用资产查询</param>
/// <param name="StartDate">表示查询起始日期 例:20180101
/// <param name="EndDate">表示查询结束日期 例:20181101
/// <param name="Result">此API执行返回后,Result内保存了返回的查询数据, 形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。</param>
/// <param name="ErrInfo">同Logon函数的ErrInfo说明</param>
/// void QueryData(int ClientID, int Category, char* Result, char* ErrInfo);
/// <summary>
/// 下委托交易证券
/// </summary>
/// <param name="ClientID">客户端ID</param>
/// <param name="Category">表示委托的种类,0买入 1卖出 2融资买入 3融券卖出 </param>
/// <param name="PriceType">表示报价方式 0上海限价委托 深圳限价委托 1(市价委托)深圳对方最优价格 2(市价委托)深圳本方最优价格 3(市价委托)深圳即时成交剩余撤销 4(市价委托)上海五档即成剩撤 深圳五档即成剩撤 5(市价委托)深圳全额成交或撤销 6(市价委托)上海五档即成转限价
/// <param name="Gddm">股东代码, 交易上海股票填上海的股东代码;交易深圳的股票填入深圳的股东代码</param>
/// <param name="Zqdm">证券代码</param>
/// <param name="Price">委托价格</param>
/// <param name="Quantity">委托数量</param>
/// <param name="Result">同上,其中含有委托编号数据</param>
/// <param name="ErrInfo">同上</param>
/// void SendOrder(int ClientID, int Category ,int PriceType, char* Gddm, char* Zqdm , float Price, int Quantity, char* Result, char* ErrInfo);
/// <summary>
/// 撤委托
/// </summary>
/// <param name="ClientID">客户端ID</param>
/// <param name="pszExchangeID">交易所ID, 上海1,深圳0(招商证券普通账户深圳是2)</param>
/// <param name="pszStockAccount"> 股东账号
/// <param name="pszStockCode"> 股票代码
/// <param name="pszhth">表示要撤的目标委托的编号</param>
/// <param name="pszResult">同上</param>
/// <param name="pszErrInfo">同上</param>
/// void CancelOrder(int ClientID, char* pszExchangeID, const char* pszStockAccount,const char* pszStockCode, char* pszhth, char* pszResult, char* pszErrInfo);
typedef void(__stdcall *OpenTdx_Api)();
typedef void(__stdcall *CloseTdx_Api)();
typedef int(__stdcall *LogonEx_Api)(const char *pszQsId, const char* pszIP, short nPort, const char* pszVersion, short nYybID, int nAccountType, const char* pszAccountNo, const char* pszTradeAccount, const char* pszJyPassword, const char* pszTxPassword, char* pszErrInfo);
typedef void(__stdcall *Logoff_Api)(int nClientID);
typedef void(_stdcall *QueryData_Api)(int ClientID, int Category, char* Result, char* ErrInfo);//查询各类交易数据
typedef void(_stdcall *QueryHisData_Api)(int ClientID, int Category, int StartDate, int EndDate, char* Result, char* ErrInfo);//查询各类历史数据
typedef void(_stdcall *SendOrder_Api)(int ClientID, int Category, int PriceType, char* Gddm, char* Zqdm, float Price, int Quantity, char* Result, char* ErrInfo);//下单
typedef void(_stdcall *CancelOrder_Api)(int ClientID, char* ExchangeID, char* pszStockAccount, char* pszStockCode, char* hth, char* Result, char* ErrInfo);//撤单
typedef void(__stdcall *Repay_Api)(int nClientID, const char* pszAmount, char* pszResult, char* pszErrInfo); //现金还款