通达信接口API是衔接通达信与交易所的重要桥梁,负责通达信的底层交易工作。通过Api.dll,可以直接对接通达信的交易服务器。
通达信的每一步操作,都离不开和驻留进程的通信。Api在进行功能性操作时(登录、交易、查询等),会首先创建一个任务,然后封装一个结构(使用TcSdk_CreateParameterSet创建),并把创建的结构的句柄和任务的句柄关联,然后将结构发送给驻留进程,接着调用ResumeTcJob恢复通达信的底层任务,通过驻留进程发送到交易服务器。
关于部分 的API 接口说明:
签名 |
int Init(); |
功能 |
API 初始化 |
参数 |
无 |
返回值 |
授权成功的交易账户数量
扫描二维码关注公众号,回复:
15511356 查看本文章
返回值 < 1 时, 无需调用 Deinit 接口, 也不能调用其它接口, 否则会出错! |
签名 |
void Deinit(); |
功能 |
API 反初始化 |
参数 |
无 |
返回值 |
无 |
签名 |
int Logon(const char* Ip, short Port, const char* Version, short Yybid, const char* Account, const char* TradeAccount, const char* JyPassword, const char* TxPassword, char* ErrorInfo); |
|
功能 |
登录交易账户 |
|
参数 |
Ip |
券商交易服务器 IP, 注意区分普通和两融 |
Port |
券商交易服务器端口, 注意区分普通和两融 |
|
Version |
客户端的版本号, 一般为空字符串 |
Yybid |
营业部代码, 一般为 0 |
|
Account |
登录账号,一般为券商的资金账号或客户号 注: 两融账号需要额外添加 .C 结尾, 如 123456 变为 123456.C |
|
TradeAccount |
交易账号, 一般与登录账号相同, 但无需额外添加 .C 结尾 可登录券商软件, 查看股东列表, 股东列表内的资金账号就是交易账号 |
|
JyPassword |
交易密码 |
|
TxPassword |
通讯密码, 一般为空字符串或与交易密码相同 |
|
ErrorInfo |
错误信息, 需要分配 256 字节的空间 |
|
返回值 |
调用成功: 客户端 Id 调用失败: 返回 <= 0 |
签名 |
void Logoff(int ClientId); |
|
功能 |
登出交易账户 |
|
参数 |
ClientId |
客户端 Id |
返回值 |
无 |
签 名 |
void QueryData(int |
ClientId, int Category, |
char* Result, char* |
ErrorInfo); |
|
功能 |
查询各类交易数据 |
||||
参数 |
ClientId |
客户端 Id |
|||
Category |
查询信息类别 0: 资金, 1: 股份, 2: 当日委托, 3: 当日成交, 4: 可撤单, 5: 股东代码, 6: 融资余额, 7: 融券余额, 8: 可融证券, 9: 各券商不同, 10-11: 无, 12: 可申购新股查询, 13: 新股申购额度查询, 14: 配号查询, 15: 中签查询 |
||||
Result |
查询结果, 需要分配 1024*1024 字节的空间 格式请参阅[Result 格式] |
||||
ErrorInfo |
错误信息, 需要分配 256 字节的空间 |
||||
返回值 |
无, 查询成功与否通过 ErrorInfo 是否为空字符串来判断 |
全面去理解通达信接口API,其实通达信接口API就是一个标记接口,只有实现这个接口后,然后在类中重写Object中的clone方法,然后通过类调用clone方法才能克隆成功,如果不实现这个接口,则会抛出CloneNotSupportedException异常。