此JAVA-CTPAPI是用swig方法在官方C++ API上编译得到,完全开源,有兴趣可以参考笔者文章《CTP JAVA API(JCTP)编译(利用Swig封装C++动态库)windows版》或文章《CTP JAVA API(JCTP) 64位 2in1及CTP JAVA订阅全市场行情DEMO》自行编译实现。此方法编译得到的API在数据结构,参数名,函数名及用法上与C++版API完全一致,可以参考官方开发文档,十分容易上手。 编译维护不易,欢迎大家star, fork鼓励。
- 6.3.13_20181119
穿透式评测版,用于正式生产接入前期货公司评测,和官方C++ API一一对应。穿透式流程详见文章《什么是穿透式监管,需要投资者做什么?》 - 6.3.13_20181119_2_in_1
官方C++ API分为行情API和交易API两个,有一些共同的头文件,单独封装后java文件有不少重复。这个版本将两个API封装到一个jar包中,去除了重复文件。
如果需要单独使用交易或者行情API,可以用上个文件夹中的单独版本。如果交易行情都需要用,可以考虑使用这个版本。 - 6.3.15_20190220 及 6.3.15_20190220_2_in_1
文件夹的区分同上面6.3.13版本。这个版本是最新的穿透式生产版本,正式接入交易使用。对接simnow也使用此版本。 - v6.6.1_P1_20210406 及 v6.6.1_P1_CP_20210406 是最新版本的生产及测试API,会比上面老版本API新增一些函数(具体见官方chm文档),当然老版本API依然兼容可以正常使用。
- demo
使用6.3.15_20190220版本,是windows下eclipse工程。
mdapi中提供了链接,登录,订阅1个合约,收取行情功能。
tradeapi中提供了链接,认证(即穿透式监管),登录,确认结算单,下单功能。 - 2in1demo
使用6.3.15_20190220_2_in_1版本,是windows下eclipse工程。
demo提供了交易api认证登录,查询全部合约,行情api订阅全部合约行情,收取行情的功能。
注意:demo使用时需要正确替换demo中userid,password等信息。
将动态库拷贝到你电脑环境变量path路径底下,如果自己不清楚,可以在Java中用如下代码获得
System.out.println(System.getProperty("java.library.path"));
windows下wrap.dll本身依赖vs再编译时的一些dll,可以使用dll依赖工具看下依赖下载,一般是缺msvcr120.dll。或者直接百度搜索"微软常用运行库合集64位"安装。
swig命令生成时指定的jar包路径要与实际使用中,java工程中jar包import路径一致。
参见《CTP程序化交易入门系列之四:行情订阅常见问题解答》。