通达信接口API是衔接通达信与交易所的重要桥梁,负责通达信的底层交易工作。通过Api.dll,可以直接对接通达信的交易服务器。

通达信的每一步操作,都离不开和驻留进程的通信。Api在进行功能性操作时(登录、交易、查询等),会首先创建一个任务,然后封装一个结构(使用TcSdk_CreateParameterSet创建),并把创建的结构的句柄和任务的句柄关联,然后将结构发送给驻留进程,接着调用ResumeTcJob恢复通达信的底层任务,通过驻留进程发送到交易服务器。

关于部分的API 接口说明:

签名

int Init();

功能

API 初始化

参数

返回值

授权成功的交易账户数量

返回值 < 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异常。