goctp_sopt
股票期权 ctp 接口 Golang版 (for linux64)
环境安装
go(版本 go1.15.14)
swig(版本 4.0.2)
构建
码云地址(国内的速度快)
go get -u gitee.com/mayiweb/goctp_sopt
github
go get -u github.com/mayiweb/goctp_sopt
构建过程比较慢,需要多等一会儿
通过 go get 下载会自动构建,也可以手动构建,进入 github.com/mayiweb/goctp_sopt 目录 执行 make install 即可
如 make install 提示 “go: cannot find main module; see 'go help modules'”,那就使用包管理,命令 go mod init goctp_sopt
依赖
ctp 默认使用 gbk 编码,需要用到开源库转换为 utf8
go get -u github.com/axgle/mahonia
安装 clang
apt-get install clang
export CC=clang
编译
进入 github.com/mayiweb/goctp_sopt/demo 目录,或将该目录里面的文件全部复制出来组成一个新项目
make build
编译成功后会在当前目录生成 ctp 可执行文件(可以修改 Makefile 文件改变生成的文件名)
./ctp [运行模式|默认test]
部署发布
生成 ctp 文件后,使用 ldd ctp 命令查看依赖关系,并将如下文件放在同一文件夹(注意需要有执行权限):
ctp
libruntime,sync-atomic.so
libsoptthostmduserapi_se.so
libsoptthosttraderapi_se.so
将部署目录路径写入 /etc/ld.so.conf 文件最后一行,并执行 /sbin/ldconfig 命令
如果编译出现无效的类型错误时候,tmp/go-build4079477496/b366/_goctp_sopt_swig.go:18697:52: illegal rune literal,找到以下几句,然后改成双引号,这样就不会出现类型错误了;
找到头文件对应如下几行,全部改成双引号
#define THOST_FTDC_FTC_BankLaunchBankToBroker "102001"
///期货发起银行转期货
#define THOST_FTDC_FTC_BrokerLaunchBankToBroker "202001"
///银行发起期货转银行
#define THOST_FTDC_FTC_BankLaunchBrokerToBank "102002"
///期货发起期货转银行
#define THOST_FTDC_FTC_BrokerLaunchBrokerToBank "202002"